آموزشمدل‌های زبانی بزرگ (LLM)

درس ۷۶ از ۸۵، هوش مصنوعی، حدود ۱۲ دقیقه خواندن

آلودگی داده‌ی آزمون

جواب کوتاه

آلودگی داده‌ی آزمون یعنی سوال‌های یه آزمون، یا متنی خیلی شبیهشون، از قبل توی داده‌ی آموزش مدل بوده. اون وقت نمره‌ی بالا شاید یعنی مدل جواب رو حفظ کرده، نه اینکه واقعا بلده؛ مثل امتحانی که سوال‌هاش شب قبل لو رفته. چون مدل‌ها روی حجم بزرگی متن اینترنت آموزش می‌بینن و آزمون‌ها هم عمومی‌ان، این خیلی راحت پیش میاد. دو راه پیدا کردنش: گشتن دنبال تکه‌های مشترک، مثلا ۱۳ کلمه‌ی پشت هم، بین آزمون و داده‌ی آموزش؛ و ساختن یه آزمون دوقلوی تازه که مدل هیچ‌وقت ندیده. یه پژوهش ۲۰۲۴ با همین آزمون دوقلو دید بعضی مدل‌ها تا ۸ درصد افت کردن، ولی قوی‌ترین‌ها کم.

یعنی چی

سوال‌های امتحان شب قبل لو رفته: نمره بالاست، ولی معلوم نیست بلده یا حفظ کرده.

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

چطور پیش میاد

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

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

۱۳ کلمه‌ی مشترک

راه اول پیدا کردنش اینه که دنبال تکه‌های مشترک بگردیم. یه پژوهش ۲۰۲۰، درباره‌ی یه مدل ۱۷۵ میلیاردی، این کار رو کرد.

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

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

آزمون دوقلو

راه دوم اینه که یه آزمون تازه بسازیم که مطمئنیم مدل ندیده، ولی دقیقا هم‌سختی آزمون قدیمیه. اگه مدل روی قدیمی خیلی بهتر از تازه بگیره، احتمالا قدیمی رو حفظ کرده.

یه پژوهش ۲۰۲۴ دقیقا همین کار رو برای همون آزمون ریاضی دبستان کرد. ۱۲۰۵ مسئله‌ی تازه، هم‌سبک و هم‌سختی، فقط با آدم‌ها ساخت، بی اینکه هیچ مدل زبانی توی ساختنش کمک کنه. خیلی هم شبیه درومدن: وقتی یه مسئله‌ی تازه رو بین چهار تا مسئله‌ی قدیمی می‌ذاشتن، آدم‌ها فقط ۲۱٫۸۳ درصد وقت‌ها پیداش می‌کردن، تقریبا همون ۲۰ درصد شانس خالی.

سوال‌های بعد از تاریخ

یه راه سوم، که خیلی ساده‌ست: از تاریخ استفاده کنیم. هر مدل یه تاریخ برش دانش داره؛ سوالی که بعد از اون تاریخ منتشر شده، نمی‌تونسته توی داده‌ی آموزشش باشه.

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

گزینه‌ی پنهان

وقتی داده‌ی آموزش یه مدل در دسترس نیست، نمی‌شه دنبال ۱۳ کلمه‌ی مشترک گشت. یه پژوهش ۲۰۲۳ یه راه زیرکانه پیدا کرد که فقط با پرسیدن از خود مدل کار می‌کنه.

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

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

چی پیدا کردن

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

پژوهش ۲۰۲۴ دید بعضی مدل‌ها روی آزمون دوقلو تا ۸ درصد افت کردن، و چند خانواده‌ی مدل تقریبا توی همه‌ی اندازه‌هاشون این افت رو داشتن. یه نشونه‌ی دیگه هم پیدا کردن: هر چی مدل به خود مسئله‌های قدیمی احتمال بیشتری می‌داد، یعنی انگار بیشتر «می‌شناختشون»، افتش هم بیشتر بود. همون احتمالی که توی درس سرگشتگی دیدیم، این بار برای پیدا کردن حفظ کردن. ولی خبر خوب هم داشت: خیلی از مدل‌ها، به‌خصوص قوی‌ترین‌ها، نشونه‌ی کمی داشتن و همه روی مسئله‌های تازه هم خوب کار کردن.

رشته‌ی نشونه

یه آزمون بزرگ ۲۰۲۲، که صدها کار رو کنار هم گذاشته بود، یه حقه‌ی قشنگ زد: توی همه‌ی فایل‌هاش یه رشته‌ی عجیب و یکتا گذاشت که بهش می‌گن «قناری».

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

پیشگیری

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

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

چند نکته

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

با این درس ایستگاه «سنجش مدل» تموم شد. ایستگاه بعد می‌ره سراغ اجرای مدل روی کامپیوتر خودتون، و اولش: مدل وزن‌باز و متن‌باز.

جمع‌بندی. آنچه از این درس با خودتان می‌برید.

  • سوال لو رفته، نمره‌ی الکی.
  • اینترنت عمومیه، آزمون‌ها هم.
  • ۱۳ کلمه‌ی مشترک، علامت لو رفتن.
  • آزمون دوقلو: افت یعنی شاید حفظ کرده.
  • آزمون خودتون رو منتشر نکنید.

خودتون رو بسنجید

۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو می‌بینید: چند تا درست، چند تا نادرست.

خودتون رو بسنجید

۱۵ پرسش

  • هر بار پرسش‌ها و ترتیب گزینه‌ها عوض می‌شه.
  • تا آخر نمی‌گیم کدوم جواب درست بوده؛ می‌تونید برگردید و جوابتون رو عوض کنید.
  • آخرش کارنامه می‌گیرید: چند تا درست، چند تا نادرست.
  • اگه وسطش بستید، دوباره که باز کنید از همون‌جا ادامه می‌دید.

فصل‌های این درس

درس بعد