هالوسینیشن جوابی روان و قطعی است که سند یا واقعیت پشتیبان ندارد. این مقاله توضیح می‌دهد چرا مدل همان جواب غلط را مطمئن می‌گوید و چطور می‌شود آن را محدود کرد.

از یک مدل زبانی درباره یک کتاب می‌پرسی. جواب می‌آید: اسم نویسنده، سال انتشار، حتی خلاصه‌ای از فصل دوم. همه‌چیز منطقی به نظر می‌رسد. بعد سراغ گوگل می‌روی و می‌بینی چنین کتابی هیچ‌وقت چاپ نشده است. این اتفاق در هوش مصنوعی اسم دارد: هالوسینیشن.

در این مقاله می‌گوییم هالوسینیشن دقیقاً چیست، چرا مدل‌ها غلط را هم با همان اطمینانِ جواب درست می‌نویسند، و چه کارهایی کمک می‌کند کمتر گرفتارش شوی.

هالوسینیشن در هوش مصنوعی یعنی چه؟

هالوسینیشن (در فارسی گاهی «توهم» هم می‌گویند) وقتی پیش می‌آید که مدل جمله‌ای بسازد که روان و مطمئن است، اما نه در واقعیت پشتوانه دارد و نه در متنی که خودت به مدل داده‌ای. مدل چیزی «نمی‌بیند» که خیالی باشد. فقط جمله‌ای را ادامه می‌دهد که به نظرش جور است.

این خطا معمولاً به یکی از سه شکل زیر پیش می‌آید:

  • ساختن واقعیت. مدل اسم مقاله، نویسنده، شماره ماده قانون، قیمت یا آدرس صفحه‌ای را می‌نویسد که وجود ندارد. شکل این اطلاعات را در متن‌های زیادی دیده و می‌تواند نمونه‌ای شبیه آن‌ها بسازد. اما شبیه بودن یعنی وجود داشتن نیست.
  • اضافه کردن به سند. سندی به مدل داده‌ای و خلاصه خواسته‌ای. خلاصه خوب و روان است، ولی چند جزئیات در آن هست که در سند اصلی نیست.
  • استدلال مرتب، نتیجه غلط. مرحله‌ها پشت سر هم و تمیز نوشته شده‌اند، ولی جواب نهایی اشتباه است. مرتب بودن مراحل ضمانت درستی نیست.

یک مثال ساده: از مدل می‌پرسی فلان فونت فارسی برای کار تجاری آزاد است یا نه. ممکن است جواب بدهد «بله، برای استفاده تجاری آزاد است» و حتی توضیح اضافه هم بدهد. این جواب از الگوی کلی توضیح مجوزها ساخته شده، نه از صفحه مجوز همان فونت. وضعیت واقعی فقط در صفحه خود فونت نوشته شده و تا آن را باز نکنی، جواب مدل چیزی را ثابت نمی‌کند.

چرا مدل‌ها غلط را هم با اطمینان می‌گویند؟

مدل زبانی پیش از نوشتن، مرحله‌ای برای راستی‌آزمایی ندارد. کارش این است که کلمه بعدی را بر اساس الگوهایی که یاد گرفته انتخاب کند. اگر محتمل‌ترین ادامه غلط باشد، همان را می‌نویسد و از بیرون هیچ فرقی با جواب درست ندارد.

سه چیز این مشکل را بدتر می‌کند:

  • موضوع کم‌تکرار. درباره چیزهای پرتکرار، مثل پایتخت کشورها، الگوی قوی است و ادامه معمولاً درست درمی‌آید. درباره یک عدد دقیق، یک نقل‌قول یا اتفاقی که بعد از آموزش مدل افتاده، الگو ضعیف است، اما مدل باز هم جمله را کامل می‌کند.
  • «نمی‌دانم» هم یک ادامه است. مدل وقتی این جمله را می‌نویسد که از جواب مشخص محتمل‌تر باشد. در خیلی از سؤال‌ها، جواب مشخص حتی با الگوی ضعیف هم محتمل‌تر است. روش‌های آموزش و ارزیابی هم گاهی حدس زدن را بیشتر از اعتراف به ندانستن تشویق می‌کنند.
  • لحن اطمینان‌بخش. مدل درصد اطمینانش را به تو نشان نمی‌دهد. کلماتی مثل «قطعاً» و «دقیقاً» هم مثل بقیه کلمه‌ها انتخاب می‌شوند. جواب مردد هم ممکن است غلط باشد و جواب قاطع ممکن است درست. لحن نشانه خوبی برای درستی نیست.

ارجاع‌ها هم همین‌طور ساخته می‌شوند. مدل بارها دیده که جواب تخصصی با نام نویسنده و سال تمام می‌شود، پس ساختن یک ردیف منبع برایش آسان است. تا وقتی آن لینک یا مقاله را باز نکرده‌ای، آن ردیف فقط شکل یک منبع را دارد.

سه نوع هالوسینیشن و راه بررسی هرکدام

واقعیت ساخته‌شده
نمونه: مجوز، قیمت یا مقاله‌ای که وجود ندارد
بررسی: باز کردن همان صفحه یا منبع عدد
افزودن به سند
نمونه: خلاصه‌ای که جزئیات متن اصلی را ندارد
بررسی: مقابله جمله جواب با جمله سند
حساب مرتب و غلط
نمونه: فرمول یا کدی که توضیحش قانع‌کننده است
بررسی: اجرای محاسبه یا اجرای کد
شکل نمونه بررسی
واقعیت ساخته‌شده مجوز، قیمت یا مقاله‌ای که وجود ندارد باز کردن همان صفحه یا منبع عدد
افزودن به سند خلاصه‌ای که جزئیات متن اصلی را ندارد مقابله جمله جواب با جمله سند
حساب مرتب و غلط فرمول یا کدی که توضیحش قانع‌کننده است اجرای محاسبه یا اجرای کد

فرق هالوسینیشن با محدودیت پنجره زمینه

این دو را زیاد با هم اشتباه می‌گیرند. پنجره زمینه حداکثر متنی است که مدل در یک نوبت می‌تواند ببیند. اگر نکته‌ای که لازم داری از آن حد بیرون افتاده یا وسط یک متن خیلی بلند گم شده باشد، مدل آن را در اختیار ندارد. در این حالت یکی از دو اتفاق می‌افتد: یا آن نکته را در جواب نمی‌آورد، یا چیزی جایش می‌نویسد که در متن نبوده.

حالت اول فقط یک نقص است. حالت دوم هالوسینیشن است، چون جای خالی با اطلاعات تازه پر شده. راه تشخیصش هم ساده است: هر جزئیات تازه‌ای که در خلاصه می‌بینی، با خود سند مقابله کن.

مدل‌های استدلالی چقدر کمک می‌کنند؟

بعضی مدل‌ها قبل از نوشتن جواب نهایی چند مرحله فکر می‌کنند و حرف‌های میانی خودشان را بررسی می‌کنند. این کار برای حساب چندمرحله‌ای، تناقض‌های درونی و مسائلی که مسیر حلشان به بن‌بست می‌خورد مفید است. اگر می‌خواهی تفاوتشان را با مدل‌های سریع بدانی، مقاله مدل‌های استدلالی را بخوان.

اما این مرحله‌ها واقعیت تازه‌ای به مدل اضافه نمی‌کنند. اگر اسم یک مقاله از همان اول ساخته شده باشد، بقیه استدلال روی همان اسم سوار می‌شود و همه‌چیز از درون سازگار می‌ماند. نتیجه این می‌شود که جواب غلط حتی ممکن است طولانی‌تر و مرتب‌تر از قبل شود. پس برای اسم، عدد، مجوز و نقل‌قول، مدل استدلالی هم جایگزین بررسی منبع نیست.

کجاها حتماً باید جواب را چک کرد؟

هر جا غلط بودن یک جزئیات کوچک می‌تواند به کارت ضربه بزند، جواب مدل فقط پیش‌نویس است و منبع اصلی ملاک:

  • قیمت، تخفیف و موجودی. مدل عدد را از الگوی متن‌های مشابه می‌سازد و از موجودی همین الان خبر ندارد.
  • مجوز فونت، عکس و فایل آماده. جمله «برای استفاده تجاری آزاد است» در متن‌ها زیاد دیده می‌شود، اما مجوز هر فایل را باید از صفحه همان فایل خواند.
  • مسیر منوها و قابلیت‌های یک نرم‌افزار. اسم گزینه‌ها بین نسخه‌ها عوض می‌شود و ممکن است با نسخه نصب‌شده روی سیستم تو فرق داشته باشد.
  • نقل‌قول، شماره ماده، اسم کتاب و لینک. شکل این جمله‌ها آموخته شده، ولی وجود منبعشان از شکل جمله معلوم نمی‌شود.
  • هر چیزی که به نام خودت یا برندت منتشر می‌شود. خواننده جمله را از مدل جدا نمی‌کند و اگر غلط باشد، اعتبارش از تو کم می‌شود.

برای ایده‌پردازی، پیشنهاد تیتر یا چیدمان، ساختن جمله خودش بخشی از کار است و مشکلی ندارد. فقط آن را به مشتری، چاپخانه یا صفحه مجوز نسبت نده.

چطور جلوی هالوسینیشن را بگیریم؟

راه صددرصدی وجود ندارد، ولی این عادت‌ها احتمال گرفتار شدن را خیلی پایین می‌آورند:

  1. منبع را کنار سؤال بگذار. متن یا بخش لازم از سند را همراه درخواست بده و بنویس «فقط از همین متن جواب بده». اگر نکته در متن نبود، بگو بنویسد که در متن نیست. بدون این قید، مدل جای خالی را خودش پر می‌کند.
  2. اجازه «نمی‌دانم» بده. صریح بنویس اگر مطمئن نیستی یا اطلاعات کافی نداری، همین را بگو. این جمله ساده تعداد جواب‌های ساختگی را کم می‌کند.
  3. برای هر ادعا، عبارت خود سند را بخواه. اگر مدل به‌جای نقل از سند، فهرست منبع تازه ساخت، تک‌تک ردیف‌ها را باز کن.
  4. استخراج و برداشت را جدا کن. اول فقط جمله‌های خود سند را بخواه. بعد در یک نوبت دیگر از مدل بخواه برداشتش را بنویسد. اگر هر دو یکجا باشند، جزئیات ساخته‌شده لای خلاصه گم می‌شود.
  5. نام، عدد، تاریخ، قیمت و مجوز را بیرون از مدل چک کن. لینک را باز کن، منو را در همان نسخه نرم‌افزار پیدا کن و صفحه مجوز فونت را بخوان.
  6. حساب و کد را اجرا کن. توضیح مرتب فقط نشان می‌دهد جمله‌ها به هم وصل‌اند. درستی نتیجه وقتی معلوم می‌شود که محاسبه را انجام بدهی یا کد را اجرا کنی.
  7. از ابزار جستجو یا اتصال به منبع استفاده کن، ولی صفحه را هم بخوان. مدلی که به وب وصل است معمولاً کمتر چیز می‌سازد، اما ممکن است صفحه درست را بد برداشت کند. نشانی داده‌شده را باز کن و ببین چیزی که نوشته در صفحه هست یا نه.

اشتباه‌هایی که زیاد تکرار می‌شود

  • اعتماد به لحن. جواب قاطع یا محتاط هیچ‌کدام نشان نمی‌دهد منبع درستی پشتش هست.
  • قبول کردن فهرست منابعی که مدل ته جواب گذاشته، بدون باز کردن حتی یکی از آن‌ها.
  • فرض کردن این‌که مدل کل یک فایل بلند را خوانده. وسط متن ممکن است در جواب نیامده باشد.
  • جایگزین کردن مدل استدلالی با بررسی منبع. مرحله‌های بیشتر وجود یک صفحه یا یک عدد را آزمایش نمی‌کنند.
  • پرسیدن «مطمئنی؟». این سؤال فقط یک جواب دوم می‌سازد. مدل ممکن است همان ادعا را با کلمات دیگر تکرار کند یا یکباره عقب‌نشینی کند. در هر دو حالت هنوز منبعی را باز نکرده‌ای.
  • پرسیدن از یک مدل دیگر به‌عنوان داور. دو مدل ممکن است یک الگوی مشهور را با دو لحن تکرار کنند. توافقشان درستی را ثابت نمی‌کند.

جمع‌بندی

هالوسینیشن یعنی مدل جمله‌ای نوشته که نه در واقعیت پشتوانه دارد و نه در متنی که به او داده شده. لحن جواب هیچ کمکی به تشخیصش نمی‌کند، چون لحن هم با انتخاب کلمه ساخته می‌شود. مدل استدلالی تناقض‌های داخل جواب را بهتر پیدا می‌کند، اما وجود یک منبع بیرونی را نمی‌تواند آزمایش کند.

قاعده ساده‌ای که می‌شود به آن تکیه کرد: هر چیزی که قرار است به کار واقعی راه پیدا کند، یعنی اسم، عدد، مجوز، نقل‌قول و لینک، اول باید با منبع اصلی مقابله شود.