লার্জ ল্যাঙ্গুয়েজ মডেলগুলো তিনটি পরিচিত মাত্রায় বিকশিত হয়েছে। আমরা আরও বেশি টেক্সট প্রদানের মাধ্যমে প্রি-ট্রেনিং (pre-training) স্কেল করি। আমরা ইন্সট্রাকশন-ফলোয়িং (instruction-following) আরও নিখুঁত করতে পোস্ট-ট্রেনিংয়ের (post-training) মাধ্যমে সেগুলোকে রিফাইন করি। উত্তরের গতি বাড়াতে আমরা টেস্ট-টাইম কম্পিউট (test-time compute) ব্যবহার করি। এগুলোর প্রতিটি মডেলকে আরও উন্নত, দ্রুত এবং আরও সুসংগত গদ্য তৈরি করতে সাহায্য করে। তবে এগুলোর কোনটিই একটি কঠিন সমস্যার সরাসরি সমাধান করে না: সেই গদ্যটি আসলে সঠিক কি না তা জানা।

এই ব্যবধানটি বিপজ্জনক হয়ে উঠছে। একটি মডেল নিখুঁত ইনডেন্টেশন এবং লজিক্যাল স্ট্রাকচারসহ একটি পাইথন (Python) স্ক্রিপ্ট তৈরি করতে পারে যা রান করার মুহূর্তেই এরর (error) দেখায়। এটি অত্যন্ত আত্মবিশ্বাসের সাথে একটি মেডিকেল সিম্পটম (medical symptom) ব্যাখ্যা করতে পারে কিন্তু রোগ নির্ণয় উল্টো করে দিতে পারে। চ্যাটবটের জন্য এগুলো লজ্জাজনক বাগ (bug)। মানুষের তদারকি ছাড়া কাজ করা অটোনোমাস এজেন্টদের (autonomous agents) জন্য এগুলো বাস্তব পরিণামসহ ব্যর্থতা। জেনারেশন (generation) এবং সত্যতা (truth) এক জিনিস নয়, এবং এই পার্থক্যটি উপলব্ধি করাই হলো নির্ভরযোগ্য সিস্টেম তৈরির প্রথম পদক্ষেপ।

জেনারেশনের ফাঁদ

তিনটি আদর্শ স্কেলিং পথ সাবলীলতা এবং টাস্ক কমপ্লিশনের (task completion) জন্য অপ্টিমাইজ করা হয়, এপিস্টেমিক নির্ভুলতার (epistemic accuracy) জন্য নয়। প্রি-ট্রেনিং ট্রিলিয়ন ট্রিলিয়ন টোকেনের মধ্যে বিস্তৃত পরিসংখ্যানগত প্যাটার্ন তৈরি করে। পোস্ট-ট্রেনিং মডেলটিকে মানুষের পছন্দের সাথে সামঞ্জস্যপূর্ণ করে তোলে, যা প্রায়শই কঠোর নির্ভুলতার চেয়ে নম্রতা এবং আত্মবিশ্বাসের ওপর বেশি গুরুত্ব দেয়। টেস্ট-টাইম কম্পিউট প্রতিটি রিকোয়েস্টের জন্য মডেলকে আরও বেশি থিংকিং টোকেন (thinking tokens) প্রদান করে, যা ফরম্যাটিং এবং ধাপে ধাপে গঠন উন্নত করে, কিন্তু তবুও চূড়ান্ত আউটপুটকে একটি যাচাইকৃত উত্তরের পরিবর্তে একটি মনোলগ (monologue) হিসেবে বিবেচনা করে।

এর ফলাফল হলো একটি সাবলীলতার ফাঁদ। কোড দেখতে পরিষ্কার মনে হয়। ব্যাখ্যাগুলো কর্তৃত্বপূর্ণ শোনায়। তথ্যগুলো সঠিক মনে হয়। কিন্তু বাহ্যিক চাকচিক্য অন্তর্নিহিত ভুলগুলোকে ঢেকে রাখে। একজন ডেভেলপার যদি কোনো যাচাই ছাড়াই জেনারেট করা কোড প্রোডাকশন পাইপলাইনে (production pipeline) পেস্ট করেন, তবে তিনি ডাউনটাইমের (downtime) ঝুঁকি নেন। একজন চিকিৎসক যদি এআই অ্যাসিস্ট্যান্ট ব্যবহার করেন এবং মডেলটি দুটি সদৃশ ওষুধের মিথস্ক্রিয়াকে (drug interactions) গুলিয়ে ফেলে, তবে তিনি গুরুতর আইনি বা পেশাগত দায়বদ্ধতার সম্মুখীন হতে পারেন। আমরা মডেলগুলোকে পারফর্ম করার জন্য প্রশিক্ষণ দিয়েছি, নিজেকে অডিট (audit) করার জন্য নয়।

স্কেলিং অ্যাক্সিস হিসেবে ভেরিফিকেশন

LLM-as-a-Verifier নামক একটি ফ্রেমওয়ার্ক সমস্যাটিকে সম্পূর্ণ নতুনভাবে সংজ্ঞায়িত করে। ভেরিফিকেশনকে কোনো afterthought বা আলাদা মানুষের রিভিউ ধাপ হিসেবে না দেখে, এটি সেলফ-ইভ্যালুয়েশনকে (self-evaluation) প্রি-ট্রেনিং, পোস্ট-ট্রেনিং এবং ইনফারেন্স অ্যাক্সিলারেশনের (inference acceleration) পাশাপাশি চতুর্থ স্কেলিং অ্যাক্সিস হিসেবে বিবেচনা করে।

ধারণাটি হলো মডেলের বিদ্যমান রিজনিং ক্যাপাসিটি (reasoning capacity) ব্যবহার করে তার নিজস্ব আউটপুট বিচার করা। একটি সম্ভাব্য উত্তর জেনারেট করার পর, সেই একই মডেলটি কিছুটা পিছিয়ে এসে সেটি মূল্যায়ন করে। এটি একটি ক্লোজড লুপ (closed loop) তৈরি করে: জেনারেট করা, স্কোর করা, সংশোধন করা এবং পুনরায় করা। মডেলটিকে নতুন ওয়েট (weights) বা ডেটাসেট দিয়ে পুনরায় প্রশিক্ষণ দেওয়া হচ্ছে না। এটি কেবল তার বিদ্যমান বুদ্ধিমত্তাকে একটি ভিন্ন প্রম্পট টেমপ্লেটে প্রয়োগ করছে—যেটি একজন লেখকের পরিবর্তে একজন সমালোচকের মতো।

এই পরিবর্তনটি গুরুত্বপূর্ণ কারণ এটি সক্ষমতা (capability) এবং নির্ভরযোগ্যতার (reliability) মধ্যে পার্থক্য তৈরি করে। একটি ছোট মডেল যা ভালোভাবে ভেরিফাই করতে পারে, সেটি একটি বড় মডেলের চেয়ে ভালো পারফর্ম করতে পারে যা তা পারে না। আপনি কেবল প্যারামিটার সংখ্যা নয়, বরং বিচারবুদ্ধিকে (judgment) স্কেল করছেন, এবং এটি সিস্টেমটি কী কী কাজ নিরাপদে করতে পারে তা বদলে দেয়।

প্রোবাবিলিস্টিক স্কোরিংয়ের শক্তি

বেশিরভাগ ভেরিফিকেশন প্রচেষ্টা ব্যর্থ হয় কারণ তারা একটি বাইনারি (binary) রায় দাবি করে। এই উত্তরটি কি সঠিক ছিল? হ্যাঁ অথবা না। এই অপরিশোধিত সংকেতটি তথ্য নষ্ট করে। একটি উত্তর বেশিরভাগ ক্ষেত্রে সঠিক হতে পারে কিন্তু তাতে একটি মারাত্মক ত্রুটি থাকতে পারে, অথবা বেশিরভাগ ক্ষেত্রে ভুল হতে পারে কিন্তু তাতে একটি মূল্যবান অন্তর্দৃষ্টি থাকতে পারে। একটি বাইনারি স্কোর এই সমস্ত সূক্ষ্ম পার্থক্যকে একটি মাত্র বিটে (bit) সংকুচিত করে ফেলে।

LLM-as-a-Verifier এটিকে প্রোবাবিলিস্টিক স্কোরিং (probabilistic scoring) দিয়ে প্রতিস্থাপন করে। থাম্বস-আপ বা থাম্বস-ডাউনের পরিবর্তে, মডেলটি ০.৯২-এর মতো একটি কন্টিনিউয়াস (continuous) সংখ্যা প্রদান করে। সেই দশমিকের একটি অর্থ আছে। এটি আপনাকে বলে যে মডেলটি প্রায় নিশ্চিত যে উত্তরটি সঠিক, অথবা ০.৩৪-এ এটি কোনো অসংগতি বুঝতে পারছে। সিস্টেমটি পরিচালনাকারী মানুষরা থ্রেশহোল্ড (threshold) সেট করতে পারেন। ০.৬০-এর নিচে যেকোনো কিছু স্বয়ংক্রিয় পুনরুৎপাদন (automatic regeneration) শুরু করতে পারে। ০.৬০ থেকে ০.৮৫-এর মধ্যে কোনো মান থাকলে তা মানুষের পর্যালোচনার জন্য ফ্ল্যাগ (flag) করতে পারে। ০.৯০-এর উপরে হলে সিস্টেমটি স্বয়ংক্রিয়ভাবে কাজ করে।

কন্টিনিউয়াস স্কোর কনফিডেন্সের ওপর গাণিতিক হিসাব করার সুযোগ দেয়। আপনি একাধিক চেক-এর গড় করতে পারেন, প্রম্পট ভ্যারিয়েশন অনুযায়ী সেগুলোকে ওয়েট (weight) করতে পারেন, অথবা সেরাটি বেছে নিতে বিভিন্ন সম্ভাব্য উত্তরের স্কোর তুলনা করতে পারেন। বাইনারি বিচার এই ধরনের সূক্ষ্ম সিদ্ধান্ত গ্রহণ সমর্থন করে না।

তিনটি ব্যবহারিক সুবিধা

এই ফ্রেমওয়ার্কটি তিনটি নির্দিষ্ট বৈশিষ্ট্য থেকে তার শক্তি অর্জন করে।

সূক্ষ্মতা। ০.৮২ স্কোরটি এমন কিছু প্রকাশ করে যা 'সঠিক' (correct) শব্দটি প্রকাশ করতে পারে না। এটি অবশিষ্ট সন্দেহসহ প্রায় নিশ্চিততার ইঙ্গিত দেয়। সফটওয়্যার ইঞ্জিনিয়ারিংয়ের ক্ষেত্রে, এর অর্থ হতে পারে যে কোডটি কম্পাইল হয়েছে এবং মূল ক্ষেত্রটি (main case) সামলেছে, কিন্তু সম্ভবত কোনো এজ কন্ডিশন (edge condition) বাদ পড়েছে। চিকিৎসা বিজ্ঞানের যুক্তিতে, এটি একটি সম্ভাব্য রোগ নির্ণয়ের ইঙ্গিত দিতে পারে যার জন্য এখনও একটি নিশ্চিতকরণ পরীক্ষার প্রয়োজন। সূক্ষ্ম স্কোরগুলো ডাউনস্ট্রিম সিস্টেমগুলোকে (downstream systems) সমস্ত সাফল্যকে সমান না ধরে বরং তাদের প্রতিক্রিয়া সামঞ্জস্য (calibrate) করতে সাহায্য করে।

পুনরাবৃত্তি। যেহেতু জেনারেশনের তুলনায় ভেরিফিকেশন বা যাচাইকরণ সাশ্রয়ী, তাই আপনি সামান্য প্রম্পট পরিবর্তন বা টেম্পারেচার সেটিংসের মাধ্যমে এটি একাধিকবার চালাতে পারেন। যদি তিনটি স্বতন্ত্র যাচাইকরণ ০.৯১, ০.৮৯ এবং ০.৯৩ ফলাফল প্রদান করে, তবে আপনি একটি ঐকমত্য (consensus) পাচ্ছেন। যদি ফলাফলগুলো ব্যাপকভাবে ভিন্ন হয়, যেমন ০.৯১, ০.৪২ এবং ০.৮৭, তবে আপনি বুঝতে পারবেন যে মডেলটি অনিশ্চিত এবং উত্তরটিতে আরও কাজ করা প্রয়োজন। বাইনারি জাজদের (binary judges) মধ্যে সংখ্যাগরিষ্ঠ ভোট প্রদান করা একটি স্থূল পদ্ধতি। কন্টিনিউয়াস স্কোরের গড় বের করা অস্পষ্টতাকে সামনে নিয়ে আসে।

বিভাজন। জটিল কাজগুলো খুব কমই একসাথে সব জায়গায় ব্যর্থ হয়। একটি রোবোটিক্স কাজ পারসেপশন (perception), প্ল্যানিং (planning) এবং মোটর এক্সিকিউশন (motor execution)-এ বিভক্ত হতে পারে। একটি সফটওয়্যার ইঞ্জিনিয়ারিং কাজ অ্যালগরিদম ডিজাইন, ইমপ্লিমেন্টেশন এবং টেস্টিং কভারেজে বিভক্ত হতে পারে। প্রবাবিলিস্টিক স্কোরিং ভেরিফায়ারকে প্রতিটি উপ-উপাদান (sub-component) আলাদাভাবে মূল্যায়ন করতে দেয়। আপনি কেবল এটিই জানতে পারেন না যে উত্তরটি দুর্বল, বরং এটিও জানতে পারেন যে কোথায় এটি দুর্বল। সেই ডায়াগনস্টিক নির্ভুলতা মেরামত বা সংশোধনের কাজকে দ্রুততর এবং আরও লক্ষ্যভিত্তিক করে তোলে।

কঠিন ডোমেইনগুলোতে ফলাফল

ফ্রেমওয়ার্কটির উপযোগিতা প্রকাশ পায়