হাইপ ছাড়াই AI: একজন কাজের ইঞ্জিনিয়ারের গাইড
বাস্তব প্রকল্পে LLM এবং ML টুলস ব্যবহারের একটি ভিত্তিপ্রাপ্ত, ব্যবহারিক পরিচয়, buzzword বা জাদুকরী চিন্তাভাবনা ছাড়াই।
অনলাইনে বেশিরভাগ AI কন্টেন্ট দুটি ক্যাম্পে পড়ে: superintelligence নিয়ে দুর্ভাবনা, অথবা একটি চ্যাটবট মঙ্গলবার তোমার চাকরি প্রতিস্থাপন করবে এমন উত্সাহী দাবি। কোনোটাই তোমাকে কিছু শিপ করতে সাহায্য করে না। এই গাইড উভয়ই এড়িয়ে যায় এবং বাস্তব প্রকল্পে বর্তমান প্রজন্মের AI টুলস কীভাবে আসলে ব্যবহার করতে হয় তার মধ্য দিয়ে যায়, সীমাবদ্ধতা স্পষ্ট করে।
একটি LLM আসলে কী করে
GPT-4 বা Llama 3 এর মতো একটি বড় ভাষা মডেল একটি ক্রম তে পরবর্তী টোকেন পূর্বাভাস দেয়, বিশাল পরিমাণ পাঠের উপর প্রশিক্ষিত। এটাই। কোনো অভ্যন্তরীণ fact-checker নেই, সেশনের মধ্যে কোনো স্থায়ী মেমরি নেই (যদি না তুমি একটি তৈরি করো), এবং কোনো বোঝাপড়া নেই যেভাবে একজন ব্যক্তি বোঝে। যখন তুমি এটিকে একটি প্রশ্ন জিজ্ঞাসা করো, এটি তোমার প্রম্পটের একটি পরিসংখ্যানগতভাবে প্লসিবল ধারাবাহিকতা তৈরি করছে।
এটি ব্যবহারিকভাবে গুরুত্বপূর্ণ: মডেলটি আত্মবিশ্বাসের সাথে একটি Python ফাংশন তৈরি করবে যা একটি লাইব্রেরি মেথড কল করে যা বিদ্যমান নেই, কারণ সেই মেথডটি এমন কিছুর মতো শোনায় যা লাইব্রেরিটির থাকা উচিত। সবসময় কোড চালাও। সবসময় API রেফারেন্স চেক করো। মডেল আউটপুটকে একজন দ্রুত, ভালো-পঠিত ইন্টার্ন থেকে একটি প্রথম ড্রাফট হিসেবে বিবেচনা করো যে কখনো কখনো এটি না জেনে মিথ্যা বলে।
একটি বাস্তব workflow: কোডের জন্য একটি LLM ব্যবহার করা
এখানে একটি প্যাটার্ন রয়েছে যা শুধু ChatGPT-কে "আমার জন্য একটি অ্যাপ তৈরি করো" জিজ্ঞাসা করার পরিবর্তে কাজ করে:
- ফাংশন সিগনেচার এবং docstring নিজে লেখো, types এবং edge cases নির্দিষ্ট করে।
- মডেলকে সেই সঠিক spec এর বিরুদ্ধে এটি প্রয়োগ করতে বলো।
- আলাদাভাবে তোমার নিজের পরীক্ষা লেখো — মডেলকে সেই কোডের জন্য পরীক্ষা লিখতে বলো না যা এটি সবে লিখেছে, এটি trivially পাস করার এমন পরীক্ষা লেখার প্রবণতা রাখে।
- পরীক্ষা চালাও। ব্যর্থতাগুলি নতুন prompts হিসেবে ফিডব্যাক দাও, vague "এটি কাজ করে না" বক্তব্য নয়।
def parse_duration(text: str) -> int:
"""
'1h30m', '45s', '2d' এর মতো স্ট্রিং parse করো মোট সেকেন্ডে।
অবৈধ ইনপুটে ValueError raise করো।
"""
মডেলকে এই সঠিক contract দেওয়া একটি loose description এর চেয়ে অনেক ভালো আউটপুট তৈরি করে, এবং এটি তোমাকে পরীক্ষা করার জন্য কিছু concrete দেয়।
Retrieval-augmented generation, সাধারণ শব্দে
RAG একটি buzzword হিসেবে চারপাশে ছুড়ে ফেলা হয় কিন্তু mechanism সহজ: প্রশিক্ষণের সময় মডেল যা মনে রেখেছে তার উপর নির্ভর করার পরিবর্তে, তুমি query সময়ে প্রাসঙ্গিক ডকুমেন্ট fetch করো এবং সেগুলি prompt এ stuffড়াও।
একটি মৌলিক setup:
- তোমার ডকুমেন্ট chunk করো (500-1000 tokens প্রতিটি একটি সাধারণ শুরুর পয়েন্ট)।
- প্রতিটি chunk embed করো একটি মডেল যেমন
text-embedding-3-smallবা একটি open মডেল যেমনbge-small-enদিয়ে। - vectors store করো
pgvectorসহ Postgres তে, অথবা Qdrant এর মতো একটি dedicated store এ। - Query সময়ে, user এর প্রশ্ন embed করো, একটি similarity search চালাও (cosine distance স্ট্যান্ডার্ড), এবং top-k chunks প্রশ্নের পাশাপাশি prompt এ pull করো।
SELECT content FROM docs
ORDER BY embedding <=> '[0.012, -0.045, ...]'
LIMIT 5;
এটাই কেন একটি চ্যাটবট যা একটি cutoff date পর্যন্ত ডেটায় প্রশিক্ষিত হয়েছে তবু গত সপ্তাহে তোমার internal wiki সম্পর্কে প্রশ্নের উত্তর দিতে পারে। এটি তোমার কোম্পানি সম্পর্কে reasoning করছে না — এটি তোমার ডকুমেন্ট পড়ছে এবং সেগুলি সংক্ষিপ্ত করছে।
যেখানে classic ML এখনও জয়ী হয়
প্রতিটি সমস্যার জন্য একটি transformer প্রয়োজন নেই। যদি তুমি structured tabular ডেটা থেকে churn পূর্বাভাস দিচ্ছো — account age, usage frequency, support tickets — একটি gradient-boosted tree মডেল যেমন XGBoost বা LightGBM সাধারণত একটি LLM-ভিত্তিক পদ্ধতিকে ছাড়িয়ে যাবে, মিনিটে প্রশিক্ষণ দেয় ঘণ্টার পরিবর্তে, এবং চালাতে ভগ্নাংশ খরচ করে। একটি API কল করার আগে scikit-learn এর RandomForestClassifier বা XGBoost-এ পৌঁছাও, বিশেষত যখন তোমার ডেটা একটি স্প্রেডশিট এ ফিট করে এবং তোমার target variable একটি পরিষ্কার সংখ্যা বা category।
Cost এবং latency ডিজাইন constraints, পরবর্তীকল্পনা নয়
GPT-4-class কল token প্রতি real money খরচ করে এবং return করতে real সেকেন্ড নেয়। যদি তুমি প্রতিটি user এর জন্য প্রতিটি page load এ চলে এমন একটি feature তৈরি করছো, এটি দ্রুত যোগ হয় এবং latency দৃশ্যমান হবে। aggressively cache করো, একটি ছোটো মডেল যেমন GPT-4o-mini বা একটি local Llama 3 8B ব্যবহার করো যেকোনো জিনিসের জন্য যার top-tier reasoning প্রয়োজন নেই, এবং expensive মডেল কল reserve করো তোমার pipeline এর সেই অংশের জন্য যেখানে quality সত্যিই গুরুত্বপূর্ণ।
সেই failure mode কেউ সতর্ক করে না
মডেলগুলি বেশি, কম নয়, hallucinate করে যখন তুমি তাদের কাছ থেকে তাদের প্রশিক্ষণ distribution এর বাইরে জিনিসের জন্য জিজ্ঞাসা করো — obscure লাইব্রেরি সংস্করণ, internal কোম্পানি jargon, recent CVE নম্বর। যদি উত্তরটি সঠিক হতে হবে (একটি security advisory, একটি legal citation, একটি medical dose), generation একা বিশ্বাস করো না। একটি primary source এর বিরুদ্ধে প্রতিবার verify করো, এবং সেই verification step আপনার pipeline এ তৈরি করো মানুষের review এর পরে বিশ্বাস করার পরিবর্তে।
AI tooling সত্যিই উপকারী একবার তুমি এটিকে think করার আশা করা বন্ধ করো এবং এটিকে একটি দ্রুত pattern-matcher হিসেবে বিবেচনা করা শুরু করো যা তোমাকে check করতে হবে। প্রথম দিন থেকে verification step তৈরি করো এবং তুমি এর থেকে confident nonsense এর ধারার পরিবর্তে real value পাবে।
তুমি যদি আরও এগিয়ে যেতে চাও, এই tools এর সাথে কাজ করাকে আসলে productive করে এমন fundamentals এর জন্য Korra Studio এর Python এবং Data Science tracks check করো।
AI সহায়তায় লেখা, পর্যালোচনা ও প্রকাশ করেছেন Michal Pilch (CISSP), Korra Studio।
এটি Korra Studio-র নলেজ বেস থেকে একটি নোট — প্ল্যাটফর্মটি প্রতিটি বিষয়কে ১-এর-সাথে-১ মেন্টরিংয়ের সাথে জুড়ে দেয়।
বিনামূল্যে শুরু করুনarrow_forward