𝗬𝗼𝘂𝗿 𝗔𝗜 𝗜𝘀𝗻'𝘁 𝗛𝗮𝗹𝗹𝘂𝗰𝗶𝗻𝗮𝘁𝗶𝗻𝗴. 𝗜𝘁'𝘀 𝗚𝘂𝗲𝘀𝘀𝗶𝗻𝗴.
AI মডেলগুলো জানে না কখন তারা ভুল করছে। অনিশ্চয়তা চিহ্নিত করার মতো কোনো সংকেত তাদের নেই। আপনার ইনপুটের ওপর ভিত্তি করে তারা পরবর্তী সম্ভাব্য শব্দটি তৈরি করে। তারা সঠিক হওয়ার সময় যেমন আত্মবিশ্বাসী থাকে, ভুল হওয়ার সময়ও ঠিক তেমনই আত্মবিশ্বাসী দেখায়।
এটি সিস্টেমের কোনো ত্রুটি নয়। আর্কিটেকচার এভাবেই কাজ করে।
LLM হলো নেক্সট-টোকেন প্রেডিক্টর (next-token predictors)। তারা তথ্যের কোনো ডেটাবেস যাচাই করে না। তারা বড় পরিসরে প্যাটার্ন কমপ্লিশন (pattern completion) সম্পন্ন করে। যদি মডেলটি ভুল উত্তর দেয়, তবে তার কারণ হলো আপনার প্রম্পটটি সম্ভাব্যতাকে সেই ফলাফলের দিকে নিয়ে গেছে।
এই পার্থক্যটি সমস্যা সমাধানের পদ্ধতি বদলে দেয়। যদি মডেলটি হ্যালুসিনেশন করে, তবে আপনি তা ঠিক করতে পারবেন না। কিন্তু যদি আপনার প্রম্পট অস্পষ্ট হওয়ার কারণে মডেলটি অনুমান করে, তবে আপনি এখনই তা ঠিক করতে পারেন।
Datawise-এ আমরা AI মডেলগুলোর বেঞ্চমার্কিং করি। আমরা একটি অবিরাম প্যাটার্ন দেখতে পাই। ইনপুটে বিস্তারিত তথ্যের অভাব থাকলে মডেলগুলো ভুল উত্তর দেয়। মডেলটি আসলে আপনার করা প্রশ্নের উত্তর দেয়, আপনি যা জিজ্ঞাসা করতে চেয়েছিলেন তার উত্তর নয়।
এই দুটি প্রম্পটের তুলনা করুন:
- "Python-এ কীভাবে Postgres-এর সাথে কানেক্ট করব?"
- "Ubuntu 24.04-এ, একটি Cloudflare Tunnel-এর মাধ্যমে, psycopg3 ব্যবহার করে, ১০টি কানেকশন পুল এবং ৩০ সেকেন্ডের টাইমআউট সহ Python-এ কীভাবে Postgres-এর সাথে কানেক্ট করব?"
প্রথম প্রম্পটটি মডেলটিকে ছয়টি অনুমান করতে বাধ্য করে। দ্বিতীয় প্রম্পটটি নির্দিষ্ট সীমাবদ্ধতা (constraints) প্রদান করে।
একটি সুনির্দিষ্ট প্রম্পট লেখার অসুবিধা হলো নিজের প্রয়োজন সম্পর্কে স্পষ্ট ধারণা না থাকা। আপনি যদি একটি সুনির্দিষ্ট প্রম্পট লিখতে না পারেন, তার মানে আপনি এখনও জানেন না আপনার কী প্রয়োজন। প্রম্পট দেওয়া বন্ধ করুন এবং চিন্তা করা শুরু করুন।
AI সঠিক উত্তরের মতোই সাবলীলভাবে ভুল আউটপুট তৈরি করে। এর বর্ণনা শুনতে অত্যন্ত আত্মবিশ্বাসী মনে হয়। কোড দেখতে একদম পরিষ্কার মনে হয়। মডেলটি কোনো শূন্যস্থান পূরণ করছে কিনা, তার কোনো সংকেত পাওয়া যায় না।
সিনিয়র ইঞ্জিনিয়াররা শুধু আউটপুটের ওপর ভরসা করেন না। তারা প্রশ্ন করেন: আমি কোথায় ব্যাখ্যার সুযোগ রেখে দিয়েছি? প্রতিটি অস্পষ্ট শব্দ হলো একটি সিদ্ধান্ত যা মডেলটি আপনার হয়ে নিয়েছে।
সামান্য শব্দ পরিবর্তন করে কেবল পুনরায় প্রম্পট সাবমিট করবেন না। এটি লগ (logs) চেক না করেই একটি সার্ভিস রিস্টার্ট করার মতো। আপনি মূল সমস্যার সমাধান করছেন না।
যখন কোনো আউটপুট ভুল হয়, তখন প্রথমে আপনার প্রম্পটটি পড়ুন। দেখুন কোথায় আপনি ব্যাখ্যার সুযোগ রেখে দিয়েছেন। নিচের বিষয়গুলোর জন্য সীমাবদ্ধতা (constraints) যোগ করুন:
- ইনপুট এবং আউটপুট
- এরর হ্যান্ডলিং (Error handling)
- ডিপেন্ডেন্সি (Dependencies)
- এজ কেস (Edge cases)
এন্টার (enter) চাপার আগে, আপনার প্রম্পটটি এমনভাবে পড়ুন যেন আপনি কোনো প্রেক্ষাপটহীন একজন নতুন ইঞ্জিনিয়ার। আপনার যে বিষয়গুলো অনুমান করতে হচ্ছে, মডেলটিও ঠিক সেই জায়গাগুলোই অনুমান করবে।
মডেলটি আপনার নির্দেশনার ঘাটতিগুলো আপনাকে দেখিয়ে দেয়। সেই ঘাটতিগুলো সংশোধন করুন। আরও সুনির্দিষ্ট প্রম্পট লিখুন।
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi