میں نے ہالوسینیشنز (hallucinations) کو پکڑنے کے لیے اپنے لوکل RAG میں ایک ویریفائی لیئر (verify layer) شامل کی
میں نے Ollama کا استعمال کرتے ہوئے ایک لوکل ریسرچ اسسٹنٹ بنایا ہے۔ یہ میرے اپنے پیپرز پر چلتا ہے۔ میری مشین سے کچھ بھی باہر نہیں جاتا۔
میں ہالوسینیشنز (hallucinations) کو روکنا چاہتا تھا۔ ایک ایسا ٹول جو یقین کے ساتھ غلط نمبر کا حوالہ دے، وہ خطرناک ہوتا ہے۔
میں نے ایک ویریفیکیشن لیئر (verification layer) شامل کی۔ یہ تین مراحل میں کام کرتی ہے:
- جواب کو چھوٹے دعووں (claims) میں تقسیم کریں۔
- ہر دعوے کو سورس (source) کے ساتھ چیک کرنے کے لیے LLM کا استعمال کریں۔
- ان دعووں کو فلیگ (flag) کریں جن کی سورس حمایت نہیں کرتا۔
نتائج نے مجھے ایک سخت سبق سکھایا۔ میں اپنے ہی ڈیٹا کے بارے میں دو بار غلط تھا۔
پہلا، ماڈل نے ایک حقیقی نمبر دیا لیکن غلط سیاق و سباق (context) استعمال کیا۔ اس نے ایک ایسے ٹیسٹ سیٹ کے لیے 0.804 کا AUROC بتایا جو موجود ہی نہیں تھا۔ نمبر حقیقی تھا، لیکن سیاق و سباق جھوٹ تھا۔ میرے ویری فائر نے اسے پاس کر دیا کیونکہ ہندسے میچ کر رہے تھے۔
دوسرا، ماڈل نے پیپر کے کسی دوسرے حصے سے نمبر اٹھایا۔ اس نے ایک ویلیو کو غلط تجربے (experiment) سے منسوب کر دیا۔
اس کی ٹیسٹنگ سے میں نے جو سیکھا وہ یہ ہے:
ویریفیکیشن صرف غائب ویلیوز کو پکڑتی ہے۔ اگر کوئی نمبر متن میں بالکل موجود نہ ہو، تو ویری فائر اسے پکڑ لیتا ہے۔ اگر نمبر حقیقی ہو لیکن غلط حقیقت کے ساتھ جڑا ہو، تو یہ اکثر ناکام ہو جاتا ہے۔
ایک ہی ماڈل کے ججز کے اندھے دھبے (blind spots) ہوتے ہیں۔ اگر وہی ماڈل جواب لکھتا ہے اور وہی جواب کا فیصلہ بھی کرتا ہے، تو وہ اپنی غلطیوں کو ہی درست قرار دے دیتا ہے۔ فیصلہ کرنے کے لیے مختلف ماڈل کا استعمال غلط منسوب نمبروں کو پکڑنے میں مدد دیتا ہے۔
فلیگ کا مطلب ہمیشہ جھوٹ نہیں ہوتا۔ ایک فلیگ کے تین مطلب ہو سکتے ہیں:
- ایک حقیقی ہالوسینیشن (hallucination)۔
- ریٹریول ایرر (retrieval error) جہاں سورس نہیں مل سکا۔
- ایک سچی حقیقت جو ریٹریوز کیے گئے متن میں موجود نہ ہو۔ جب آپ کو فلیگ نظر آئے، تو دعوے کو صرف حذف کرنے کے بجائے ڈیٹا کو دوبارہ ریٹریو (re-retrieve) کرنے کی کوشش کریں۔
- آپ کو گراؤنڈ ٹرتھ (ground truth) کی ضرورت ہے۔ حقیقی جوابات جانے بغیر آپ ہالوسینیشنز کی پیمائش نہیں کر سکتے۔ میں نے اپنے ہی کام کے بارے میں تقریباً دو غلط نتائج شائع کر دیے تھے۔ میری فائلوں میں ایک سادہ سی تلاش نے دونوں غلطیوں کو درست کر دیا۔
آپ کے RAG کے لیے عملی مشورے:
- جواب دینے والے ماڈل کے بجائے فیصلہ کرنے کے لیے ایک مختلف ماڈل استعمال کریں۔
- بہتر ریٹریول (retrieval) پر توجہ دیں۔ زیادہ تر "ہالوسینیشنز" محض ریٹریول کی ناکامیاں ہوتی ہیں۔
- فلیگز کو صرف غلطی کی علامت کے طور پر نہیں، بلکہ گہرائی میں دیکھنے کے اشارے کے طور پر لیں۔
Optional learning community: https://t.me/GyaanSetuAi