প্রতি সপ্তাহে নতুন কোনো AI টুল শিরোনামে জায়গা করে নেয়। শিক্ষার্থীরা যখন কনভারসেশনাল এজেন্ট, স্বয়ংচালিত যানবাহন এবং জেনারেটিভ আর্টের ডেমো দেখে, তখন তারা সাথে সাথে এতে যুক্ত হতে চায়। এই আকাঙ্ক্ষাটি বোধগম্য। যখন আপনি ড্র্যাগ, ড্রপ এবং প্রম্পট ব্যবহার করে একটি কার্যকর চ্যাটবট তৈরি করতে পারেন, তখন লুপ এবং ভেরিয়েবল শেখার জন্য কেন মাসের পর মাস সময় ব্যয় করবেন? কিন্তু প্রোগ্রামিংয়ের মৌলিক বিষয়গুলোকে এড়িয়ে দ্রুত এগিয়ে যাওয়ার চেষ্টা এমন একটি সীমাবদ্ধতা তৈরি করে, যা আপনি ভাবার চেয়েও দ্রুত অনুভব করবেন।

কেন এই শর্টকাটটি এত প্রলুব্ধকর মনে হয়

AI মার্কেটিংয়ের বর্তমান ঢেউটি গতির ওপর জোর দেয়। লো-কোড প্ল্যাটফর্ম এবং API র‍্যাপার আপনাকে মাত্র এক বিকেলে একটি কনভারসেশনাল ইন্টারফেস তৈরি করে নিতে সাহায্য করে। এই দ্রুত সাফল্যটি প্রকৃত অগ্রগতি বলে মনে হয়। অথচ সেই ইন্টারফেসগুলো এমন একটি অবকাঠামোর ওপর দাঁড়িয়ে আছে যা আপনি নিজে লেখেননি এবং যার অভ্যন্তরীণ কার্যপদ্ধতি আপনি দেখতেও পান না। যখন API আপনার ব্যবহারকারীদের জন্য রেট-লিমিট আরোপ করে, যখন প্রোডাকশনে মডেলটি হ্যালুসিনেশন (ভুল তথ্য প্রদান) করে, অথবা যখন একটি মোবাইল অ্যাপের রেসপন্সিভনেস বজায় রাখতে আপনার ইনফারেন্স ল্যাটেন্সি কমাতে হয়, তখন ভাসাভাসা জ্ঞান আপনাকে অসহায় করে তুলবে। আপনি অন্যের তৈরি করা টুলের ওপর নির্ভরশীল হয়ে পড়বেন, যা মেরামত বা নতুন করে সাজানোর ক্ষমতা আপনার থাকবে না।

প্রোগ্রামিং আসলে আপনাকে কী দেয়

প্রোগ্রামিং হলো কম্পিউটারের জন্য সুনির্দিষ্ট নির্দেশাবলী লেখার প্রক্রিয়া। ওয়েবসাইট কীভাবে কনকারেন্ট ট্রাফিক সামলায়, মোবাইল অ্যাপ কীভাবে বিভিন্ন ডিভাইসে ডেটা সিঙ্ক করে, ডেটাবেস কীভাবে কোনো ডেটা নষ্ট না করে লক্ষ লক্ষ রেকর্ড সংরক্ষণ করে এবং হার্ডওয়্যার বিকল হওয়ার পরেও ক্লাউড সফটওয়্যার কীভাবে সচল থাকে—এসবই প্রোগ্রামিংয়ের মাধ্যমে হয়। এছাড়া, অত্যন্ত গুরুত্বপূর্ণ বিষয় হলো, প্রতিটি AI সিস্টেম কীভাবে তৈরি, প্রশিক্ষণ এবং মোতায়েন করা হয়, তাও প্রোগ্রামিংয়ের মাধ্যমেই সম্ভব। এটি ছাড়া আপনি ইঞ্জিনিয়ার নন; আপনি কেবল অন্যের কাজের একজন ভোক্তা।

অন্যদিকে, আর্টিফিশিয়াল ইন্টেলিজেন্স হলো কম্পিউটার বিজ্ঞানের একটি শাখা যা এমন সব কাজ করার জন্য মেশিনকে সক্ষম করতে মনোনিবেশ করে যেগুলোর জন্য সাধারণত মানুষের বিচারবুদ্ধির প্রয়োজন হয়। এটি কোড, গণিত এবং ডেটার সমন্বয়ে গঠিত। এর পেছনের "জাদু" আসলে কোনো জাদু নয়। এটি হলো পাইথনে মোড়ানো পরিসংখ্যান, বিশেষায়িত চিপে চলা ম্যাট্রিক্স মাল্টিপ্লিকেশন এবং যত্ন সহকারে কিউরেট করা ট্রেনিং সেট। অতিরিক্ত হাইপ সরিয়ে ফেললে আপনি এর নিচে সফটওয়্যার ইঞ্জিনিয়ারিংকেই খুঁজে পাবেন।

এই দুটির মধ্যে আসল পার্থক্য

প্রোগ্রামিং আপনাকে শূন্য থেকে কিছু তৈরি করার ক্ষমতা দেয়। AI আপনাকে সেই সৃষ্টিতে প্যাটার্ন রিকগনিশন, প্রেডিকশন বা জেনারেশন যুক্ত করার জন্য বিশেষায়িত কৌশল প্রদান করে। একটি হলো ভিত্তি, অন্যটি হলো তার ওপর নির্মিত একটি তলা। কংক্রিট ঢালাই করার আগে আপনি ওপরের তলা তৈরি করতে পারবেন না।

যখন আপনি প্রোগ্রামিং জানেন, তখন আপনি একটি ওপেন-সোর্স লার্জ ল্যাঙ্গুয়েজ মডেল বা ডিফিউশন মডেলের পেছনের সোর্স কোড পড়তে পারেন। একটি ব্লগ পোস্টে কী বলা হয়েছে তা কেবল না পড়ে, আপনি ঠিক দেখতে পাবেন কীভাবে অ্যাটেনশন মেকানিজমগুলো ইমপ্লিমেন্ট করা হয়েছে। আপনার নির্দিষ্ট ডেটাসেটের জন্য যখন লস ফাংশন পরিবর্তন বা লার্নিং রেট অ্যাডজাস্ট করার প্রয়োজন হবে, তখন আপনি AI কোড এডিট করতে পারবেন। অনিবার্যভাবে আসা ত্রুটিগুলো আপনি নিজেই ঠিক করতে পারবেন। টেন্সরগুলোর শেপ মিসম্যাচ, একটি CUDA আউট-অফ-মেমরি ক্র্যাশ বা আপনার ডেটা প্রিপ্রসেসিং পাইপলাইনে থাকা কোনো নীরব বাগ—এসব কোনো চ্যাটবটকে প্রম্পট দিয়ে সমাধান করা সম্ভব নয়। এর জন্য আপনাকে ভেরিয়েবল ট্রেস করতে হবে, গ্রেডিয়েন্ট পরিদর্শন করতে হবে এবং মেমরি অ্যালোকেশন নিয়ে কাজ করতে হবে।

অধিকাংশ ব্যবসার জন্য কোনো পাবলিক API-এর ওপর সাধারণ কোনো র‍্যাপার প্রয়োজন হয় না। তাদের প্রয়োজন ডোমেইন-স্পেসিফিক টুলস যা বিদ্যমান রোগীর রেকর্ড, আর্থিক লেজার বা ম্যানুফ্যাকচারিং সেন্সরের সাথে ইন্টিগ্রেট করা যায়। তাদের এমন সিস্টেম প্রয়োজন যা কঠোর গোপনীয়তার নিয়ম মেনে চলে এবং এমন বাজেটে চলে যেখানে প্রতিদিন লক্ষ লক্ষ বার পেইড এন্ডপয়েন্ট কল করা সম্ভব নয়। এগুলো তৈরির জন্য মৌলিক কোড লেখার প্রয়োজন হয়।

Python দিয়ে শুরু করুন

আপনি যদি AI নিয়ে কাজ করতে চান, তবে Python দিয়ে শুরু করুন। এর সিনট্যাক্স প্রায় সাধারণ ইংরেজি পড়ার মতো, যা নতুনদের জন্য শেখার বাধা কমিয়ে দেয়। এই সরলতাকে দুর্বলতা হিসেবে ভুল করবেন না। আধুনিক মেশিন লার্নিংয়ের বিশাল সব যন্ত্রপাতি Python-এর ওপর ভিত্তি করেই চলে। TensorFlow, PyTorch, scikit-learn এবং Hugging Face Transformers—সবই এর ওপর দাঁড়িয়ে আছে। যখন আপনি Python শিখছেন, তখন আপনি কোনো খেলনা ভাষা শিখছেন না; বরং আপনি সেই একই টুল শিখছেন যা AI গবেষকরা এই ক্ষেত্রটিকে এগিয়ে নিতে ব্যবহার করেন।

একটি ব্যবহারিক রোডম্যাপ

আপনার শেখার প্রক্রিয়াটিকে একটি এলোমেলো সংগ্রহ হিসেবে না দেখে একটি ধারাবাহিকতা হিসেবে বিবেচনা করুন। নিচে একটি ক্রম দেওয়া হলো যা আপনার শেখার গতি বজায় রাখতে সাহায্য করবে:

Python প্রোগ্রামিং। ভেরিয়েবল, লুপ, ফাংশন, ক্লাস এবং ফাইল হ্যান্ডলিংয়ে দক্ষতা অর্জন করুন। এমন স্ক্রিপ্ট লিখুন যা JSON লগ পার্স করতে পারে বা সাধারণ ওয়েব পেজ স্ক্র্যাপ করতে পারে। আপনি যদি একটি লিস্ট সর্ট করতে বা সুন্দরভাবে এক্সেপশন হ্যান্ডেল করতে না পারেন, তবে আপনি গ্রেডিয়েন্ট ডিসেন্টের জন্য প্রস্তুত নন।

ডেটা স্ট্রাকচার এবং অ্যালগরিদম। অ্যারে, হ্যাশ ম্যাপ, ট্রি এবং গ্রাফ কেবল ইন্টারভিউয়ের সাধারণ প্রশ্ন নয়। এগুলো হলো ডেটার মধ্যকার সম্পর্ক সংরক্ষণ এবং দক্ষতার সাথে সেগুলো অনুসন্ধান করার মাধ্যম। একটি আধুনিক রিকমেন্ডেশন ইঞ্জিন মূলত একটি চতুর গ্রাফ ট্রাভার্সাল সমস্যা।

SQL এবং ডাটাবেস। মডেলগুলোর জন্য পরিচ্ছন্ন ডাটা প্রয়োজন। আপনি PostgreSQL ডাটাবেস থেকে ট্রেনিং সেট সংগ্রহ করবেন, ফিচারগুলো একত্রিত করতে টেবিলগুলো জয়েন করবেন এবং পরবর্তীতে ফাইন-টিউনিংয়ের জন্য ইউজার ইন্টারঅ্যাকশনগুলো সংরক্ষণ করবেন। এই ধাপটি অবহেলা করার অর্থ হলো ডাটাকে আপনার নিয়ন্ত্রণে থাকা একটি সুসংগঠিত সম্পদ হিসেবে না দেখে জাদুর ধুলোর মতো বিবেচনা করা।

গণিত: পরিসংখ্যান এবং সম্ভাবনা। AI অনিশ্চয়তার মধ্যে ভবিষ্যদ্বাণী করে। আপনাকে ডিস্ট্রিবিউশন, কন্ডিশনাল প্রোবাবিলিটি এবং হাইপোথিসিস টেস্টিং বুঝতে হবে। এটি ছাড়া আপনি মূল্যায়ন করতে পারবেন না যে আপনার মডেলটি প্রকৃতপক্ষে শিখছে নাকি কেবল নয়েজ (noise) মুখস্থ করছে।

মেশিন লার্নিংয়ের মৌলিক বিষয়সমূহ। সুপারভাইজড এবং আনসুপারভাইজড লার্নিং নিয়ে পড়াশোনা করুন। কোনো প্রি-বিল্ট লাইব্রেরি ব্যবহার করার আগে শুধুমাত্র NumPy ব্যবহার করে একদম শুরু থেকে একটি লিনিয়ার রিগ্রেশন মডেল তৈরি করুন। কোডের মাধ্যমে গণিতকে অনুভব করুন।

ডিপ লার্নিং। নিউরাল নেটওয়ার্কে চলে যান। PyTorch-কে অটোমেটিক ডিফারেনশিয়েশন করার সুযোগ দেওয়ার আগে ম্যানুয়ালি ব্যাকপ্রোপাগেশন বুঝুন। পর্দার আড়ালে আসলে কী ঘটছে তা জানুন।

জেনারেটিভ AI। ট্রান্সফরমার, অ্যাটেনশন মেকানিজম এবং লার্জ ল্যাঙ্গুয়েজ মডেল আর্কিটেকচার নিয়ে পড়াশোনা করুন। এখন এই চাকচিক্যময় টুলগুলো আপনার কাছে অর্থবহ মনে হবে কারণ আপনি এর ভেতরের কার্যপদ্ধতি দেখতে পাবেন।

AI প্রজেক্ট। একটি এন্ড-টু-এন্ড পাইপলাইন তৈরি করুন। ডাটা সংগ্রহ করুন, তা পরিষ্কার করুন, একটি মডেল ট্রেন করুন, একটি REST API-এর মাধ্যমে তা প্রকাশ করুন এবং অন্যদের ব্যবহারের জন্য ডেপ্লয় করুন। এখানেই তত্ত্ব প্রকৌশল বা ইঞ্জিনিয়ারিংয়ে রূপান্তরিত হয়।

প্রোগ্রামিং এবং AI হলো অংশীদার

প্রোগ্রামিং এবং AI প্রতিদ্বন্দ্বী নয়। প্রোগ্রামিং হলো একটি যান বা নৌযান তৈরি করা। AI হলো তার নেভিগেশন সিস্টেম। একজন প্রোগ্রামার এমন একটি মোবাইল অ্যাপ তৈরি করতে পারেন যা ছবি তুলতে পারে। এতে AI যোগ করলে এটি উদ্ভিদের প্রজাতি চিনতে পারবে। একজন প্রোগ্রামার লেনদেনের একটি ডাটাবেস তৈরি করতে পারেন। এতে AI যোগ করলে এটি রিয়েল-টাইমে জালিয়াতি শনাক্ত করতে পারবে। ক্রমটি গুরুত্বপূর্ণ। আগে যানটি তৈরি করুন।

যে ভুলগুলো আপনার মাসব্যাপী সময় নষ্ট করবে

মৌলিক বিষয়গুলো এড়িয়ে যাওয়া মানে হলো কপি-পেস্ট ডেভেলপমেন্ট। আপনি অনলাইন ফোরাম থেকে একটি স্ক্রিপ্ট কপি করবেন, ফাইলের পাথ পরিবর্তন করবেন এবং আশাবাদী হয়ে বসে থাকবেন। যখন এটি কাজ করা বন্ধ করে দেবে, তখন কেন এমন হলো তার কোনো ধারণা আপনার থাকবে না। শুধুমাত্র AI টুলের ওপর নির্ভর করা আপনাকে একজন নির্মাতা নয় বরং একজন অপারেটরে পরিণত করবে। আপনি সারসংক্ষেপ বা ছবি চাইতে পারেন, কিন্তু আপনি এমন কোনো পণ্য তৈরি করতে পারবেন না যা সম্পূর্ণভাবে অন্য একটি কোম্পানি নিয়ন্ত্রণ করে। গণিতকে অবহেলা করা আপনাকে অন্ধ করে রাখবে। আপনি কেবল ভাগ্যের ওপর নির্ভর করে এলোপাথাড়ি হাইপারপ্যারামিটার পরিবর্তন করতে থাকবেন এবং কেন আপনার ক্লাসিফায়ার এজ কেসগুলোতে (edge cases) ব্যর্থ হচ্ছে তা বুঝতে পারবেন না। একসাথে সবকিছু শেখার চেষ্টা করলে আপনার মনোযোগ বিক্ষিপ্ত হবে। শুরুতে ব্যাপকতা বা ব্রডনেসের চেয়ে গভীরতা বেশি গুরুত্বপূর্ণ। একটি ধারণা বেছে নিন এবং সেটি পুরোপুরি না বোঝা পর্যন্ত তা নিয়ে লেগে থাকুন।

সঠিক ক্রমে প্রজেক্ট তৈরি করুন

ছোট এবং বাস্তবসম্মত অ্যাপ্লিকেশন দিয়ে শুরু করুন। একটি গ্রাফিক্যাল ইন্টারফেসসহ ক্যালকুলেটর তৈরি করুন। একটি টু-ডু (to-do) অ্যাপ তৈরি করুন যা লোকাল ফাইলে ডাটা সংরক্ষণ করে। হাজার হাজার ছবি তাদের তৈরির তারিখ অনুযায়ী রিনেম (rename) করার একটি স্ক্রিপ্ট লিখুন। এই অনুশীলনগুলো আপনাকে স্টেট ম্যানেজ করা, ইউজার ইনপুট হ্যান্ডেল করা এবং লজিক ডিবাগ করা শেখাবে।

এর পরেই কেবল AI-সম্পর্কিত কাজের চেষ্টা করা উচিত। একটি Convolutional Neural Network ব্যবহার করে বিড়াল ও কুকুরের ছবি আলাদা করার জন্য একটি ইমেজ ক্লাসিফায়ার ট্রেন করুন। একটি সাধারণ চ্যাটবট তৈরি করুন যা মেমরি বাফারসহ সরাসরি API কল ব্যবহার করে, যাতে কথোপকথনটি সামঞ্জস্যপূর্ণ থাকে। এই পরিবর্তনটি আপনার কাছে স্বাভাবিক মনে হবে কারণ আপনি ইতিমধ্যে জানেন কীভাবে কোড স্ট্রাকচার করতে হয়, এরর হ্যান্ডেল করতে হয় এবং ডকুমেন্টেশন পড়তে হয়।

আসল শিক্ষা

প্রথমে লজিক বা যুক্তি আয়ত্ত করুন। কম্পিউটারকে মানুষের মতো চিন্তা করতে শেখানোর আগে শিখুন কম্পিউটার কীভাবে চিন্তা করে। প্রোগ্রামিংয়ে একটি মজবুত ভিত্তি AI-কে একটি 'ব্ল্যাক বক্স' থেকে এমন একটি টুলে পরিণত করে যাকে আপনি গঠন করতে, সমালোচনা করতে এবং উন্নত করতে পারেন। এখানেই টেকসই ক্যারিয়ার গড়ে ওঠে। যারা ফুল স্ট্যাক (full stack) বোঝেন সেই নির্মাতারা সবসময় সেই অপারেটরদের চেয়ে বেশি টিকে থাকবেন যারা কেবল প্রম্পট দিতে জানে।

উৎস: Programming vs AI: Which Skill Should You Learn First?

কমিউনিটিতে যোগ দিন: GyaanSetu AI on Telegram