একজন ডেভেলপারের RAG প্রোটোটাইপ ০.৫০-এর নিচে কোনো কোসাইন সিমিলারিটি (cosine similarity) থাকা কুয়েরির উত্তর দিতে অস্বীকার করত। এটি নিখুঁতভাবে কাজ করছিল—যতক্ষণ না এমবেডিং মডেলটি পরিবর্তন করা হলো। এরপর সেই গার্ডটি নিঃশব্দে ভুল উত্তরগুলোকেও যেতে দিচ্ছিল। এই ঘটনাটি প্রমাণ করে যে, একটি হার্ড-কোডেড সিমিলারিটি থ্রেশহোল্ড (similarity threshold) বিভিন্ন মডেলের ক্ষেত্রে অকার্যকর হয়ে পড়তে পারে, যা এমন যেকোনো সিস্টেমের জন্য ঝুঁকি তৈরি করে যা সেফটি চেকের জন্য এমবেডিং সিমিলারিটির ওপর নির্ভর করে।
কেন থ্রেশহোল্ডটি গুরুত্বপূর্ণ ছিল
Retrieval-augmented generation (RAG) পাইপলাইনগুলো প্রায়ই একটি সিমিলারিটি গার্ড (similarity guard) ব্যবহার করে: যদি একটি কুয়েরি এবং তার নিকটতম ডকুমেন্টের মধ্যে কোসাইন সিমিলারিটি একটি পূর্বনির্ধারিত সংখ্যার নিচে নেমে যায়, তবে সিস্টেমটি উত্তর দেওয়া বন্ধ করে দেয়। যখন রিট্রিভ করা কনটেক্সট বা প্রেক্ষাপট দুর্বল থাকে, তখন এই গার্ড মডেলটিকে হ্যালুসিনেশন (hallucination) করা থেকে বিরত রাখে। মূল সেটআপে, ০.৫০ থ্রেশহোল্ড সিস্টেমটিকে সঠিক রাখতে সাহায্য করত—উত্তর দেওয়া সম্ভব নয় এমন কুয়েরিগুলোর স্কোর লাইনের নিচে থাকত এবং উত্তরযোগ্য কুয়েরিগুলোর স্কোর লাইনের উপরে থাকত।
যখন এমবেডিং ব্যাকএন্ড পরিবর্তন করা হলো, তখন একই ০.৫০ কাট-অফ আর দুটি গ্রুপকে আলাদা করতে পারল না। পাইপলাইনটি কোনো ক্র্যাশ বা স্পষ্ট ত্রুটি ছাড়াই আত্মবিশ্বাসের সাথে কিন্তু ভুল উত্তর দিতে শুরু করল। এই ব্যর্থতাটি স্ট্যান্ডার্ড র্যাঙ্কিং মেট্রিক্সের ধরাছোঁয়ার বাইরে ছিল এবং কেবল একজন মানুষ যখন ডেটার এই পরিবর্তন (drift) লক্ষ্য করলেন, তখনই এটি ধরা পড়ল।
জ্যামিতি সার্বজনীন নয়
প্রতিটি এমবেডিং মডেল তার নিজস্ব জ্যামিতি অনুযায়ী ভাষাকে একটি উচ্চ-মাত্রিক স্পেসে (high-dimensional space) ম্যাপ করে। তাই কোসাইন সিমিলারিটির মান এক মডেল থেকে অন্য মডেলে ভিন্ন ভিন্ন অর্থ বহন করে। ০.৫০ স্কোর একটি মডেলের জন্য একটি স্পষ্ট ব্যবধানের প্রান্তে থাকতে পারে, আবার অন্য একটি মডেলের জন্য এটি ওভারল্যাপের গভীরে থাকতে পারে।
- Voyage-3 – ০.৫০ লাইনটি কম স্কোরের উত্তরহীন কুয়েরি এবং উচ্চ স্কোরের উত্তরযোগ্য কুয়েরিগুলোর মাঝে অবস্থান করে। গার্ডটি প্রত্যাশা অনুযায়ী কাজ করে।
- BGE-Small – অনেক উত্তরহীন কুয়েরির স্কোর ০.৫০-এর উপরে চলে যায়, ফলে গার্ডটি কখনোই সক্রিয় হয় না। কাট-অফ ০.৭০-এ উন্নীত করলে সেফটি মার্জিন ফিরে পাওয়া যায়।
- Hashing-64 – উত্তরযোগ্য এবং উত্তরহীন কুয়েরিগুলোর স্কোর এত ঘনিষ্ঠভাবে মিশে থাকে যে কোনো একক থ্রেশহোল্ড দিয়ে তাদের আলাদা করা সম্ভব নয়; মডেলটি সিমিলারিটি গার্ড ব্যবহারের জন্য অত্যন্ত দুর্বল।
এই উদাহরণগুলো একটি বৃহত্তর সত্য প্রকাশ করে: একটি থ্রেশহোল্ড একটি নির্দিষ্ট মডেল-ডেটা জোড়ার জন্য প্রযোজ্য, এটি কোনো সার্বজনীন নিয়ম নয়।
একটি ধ্রুবকের (constant) লুকানো খরচ
সিমিলারিটি থ্রেশহোল্ড অনেক ডাউনস্ট্রিম টাস্কে ব্যবহৃত হয়:
- semantic caching
- duplicate detection
- document relevance checks
- entity matching
একটি ধ্রুবক মান ব্যবহার করার অর্থ হলো ধরে নেওয়া যে সমস্ত এমবেডিং মডেল একই স্কোর ডিস্ট্রিবিউশন শেয়ার করে—যা একটি বিপজ্জনক ধারণা। যখন এই ধারণাটি ভুল প্রমাণিত হয়, সিস্টেমগুলো নিঃশব্দে ভুল অথচ আত্মবিশ্বাসী আউটপুট তৈরি করে, যা ব্যবহারকারীর আস্থা কমিয়ে দেয় এবং ডাউনস্ট্রিম সিদ্ধান্তগুলোতে ভুল ডেটা সরবরাহ করে।
মডেল অনুযায়ী গার্ড ক্যালিব্রেট করা
এর সমাধান সহজ: কখনোই একটি হার্ড-কোডেড কনস্ট্যান্ট ব্যবহার করবেন না। থ্রেশহোল্ডকে একটি হাইপার-প্যারামিটার (hyper-parameter) হিসেবে বিবেচনা করুন যা প্রতিটি নতুন এমবেডিং মডেলের জন্য টিউন করতে হবে।
১. উত্তরযোগ্য এবং উত্তরহীন—উভয় ধরনের কুয়েরি কভার করে এমন একটি ছোট, লেবেলযুক্ত ভ্যালিডেশন সেট তৈরি করুন। ২. টার্গেট মডেল ব্যবহার করে প্রতিটি কুয়েরি-ডকুমেন্ট জোড়ার জন্য কোসাইন সিমিলারিটি গণনা করুন। ৩. দুটি ডিস্ট্রিবিউশন প্লট করুন অথবা 'ফলস-কনফিডেন্ট রেট' (false-confident rate) গণনা করুন—অর্থাৎ উত্তরহীন কুয়েরির কত শতাংশ সম্ভাব্য থ্রেশহোল্ড অতিক্রম করছে। ৪. সর্বনিম্ন যে সিমিলারিটি ভ্যালুটি ফলস-কনফিডেন্ট রেটকে একটি গ্রহণযোগ্য ঝুঁকির সীমার নিচে রাখে, সেটি নির্বাচন করুন।
যেহেতু লক্ষ্য হলো অতিরিক্ত আত্মবিশ্বাস (over-confidence) রোধ করা, তাই mean reciprocal rank (MRR)-এর মতো প্রথাগত র্যাঙ্কিং মেট্রিক্স যথেষ্ট নয়। ফলস-কনফিডেন্ট রেট সরাসরি গার্ডের ব্যর্থতার ধরনটি পরিমাপ করে।
পাল্টা যুক্তি: “কিছু মডেল সরাসরি ব্যবহারযোগ্য”
এটি সত্য যে কিছু সুশৃঙ্খল মডেল, যেমন উদাহরণের Voyage-3, কাকতালীয়ভাবে ০.৫০ গার্ডের সাথে মিলে যায়। কিন্তু এটি ভবিষ্যতের স্থিতিশীলতার নিশ্চয়তা দেয় না। মডেল আপডেট, ফাইন-টিউনিং, এমনকি মূল কর্পাস বা ডেটাসেটের পরিবর্তন সিমিলারিটি ডিস্ট্রিবিউশন বদলে দিতে পারে, যা গার্ডটিকে আবারও অকার্যকর করে তুলতে পারে। একটি একক ভাগ্যের ওপর নির্ভর করা আত্মতুষ্টির কারণ হতে পারে।
পরবর্তীতে যা খেয়াল রাখতে হবে
-
-
-
সারসংক্ষেপ
সিমিলারিটি থ্রেশহোল্ড কোনো সার্বজনীন সেফটি সুইচ নয়; এটি একটি মডেল-নির্দিষ্ট গার্ড যা প্রতিবার এমবেডিং ব্যাকএন্ড বা ডেটা পরিবর্তন করার সময় ক্যালিব্রেট করতে হয়। এই বিষয়টি অবহেলা করলে RAG সিস্টেমগুলো নিঃশব্দ হ্যালুসিনেশনের দিকে ধাবিত হতে পারে, যা গার্ডের মূল উদ্দেশ্যকেই নষ্ট করে দেয়। একমাত্র নির্ভরযোগ্য পথ হলো প্রতিটি মডেলের জন্য পদ্ধতিগত ক্যালিব্রেশন এবং ফলস-কনফিডেন্ট রেটের ক্রমাগত পর্যবেক্ষণ।
