شیدهوش
فصل ۴ · درس ۹ از ۱۳

۹. آلودگی داده

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

زمان مطالعه: ۱۵ دقیقهمرجع در کتاب: فصل ۴، بخش Data contamination with public benchmarks — صفحهٔ ۳۸۹

آلودگی داده

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

آلودگی از کجا می‌آید؟

  • ناخواسته، از اینترنت: مدل‌ها روی دادهٔ جمع‌شده از اینترنت آموزش می‌بینند و آزمون‌های عمومی هم در اینترنت‌اند. آزمونی که پیش از آموزش مدل منتشر شده، احتمالاً در داده‌اش هست — یکی از دلیل‌های اشباع سریع آزمون‌ها.
  • غیرمستقیم، از منبع مشترک: شما کتاب‌های درسی ریاضی را به دادهٔ آموزشی اضافه می‌کنید و کس دیگری از همان کتاب‌ها سؤال آزمون می‌سازد.
  • عمدی، با دلیل خوب: اول بدون دادهٔ آزمون آموزش می‌دهید و با آزمون بهترین مدل را انتخاب می‌کنید؛ بعد چون دادهٔ آزمون باکیفیت است، مدل نهایی را روی آن هم آموزش می‌دهید تا برای کاربر بهتر شود. مدل منتشرشده آلوده است — ولی شاید کار درستی بوده.

تشخیص آلودگی

روشچطورخوبیبدی
هم‌پوشانی n-gramاگر یک رشتهٔ ۱۳ توکنی از یک سؤال آزمون عیناً در دادهٔ آموزشی باشد، آن سؤال «کثیف» استدقیق‌ترکند و گران؛ و بدون دسترسی به دادهٔ آموزشی ناممکن
سرگشتگیاگر سرگشتگی مدل روی دادهٔ آزمون به‌طور عجیبی پایین باشد، احتمالاً آن را دیدهارزان، فقط خود مدل لازم استدقت کمتر

روش دوم را در فصل ۳ (درس ۳) دیدید: جمله‌ای که عیناً در درس‌ها آمده بود، کمترین سرگشتگی را داشت. در پروژهٔ این فصل هر دو روش را روی دیتاست طلایی ذهن‌یار اجرا می‌کنیم. فعلاً در این آزمایشگاه امتحانشان کنید:

با آلودگی چه کنیم؟

کتاب‌های قدیمی یادگیری ماشین توصیه می‌کردند نمونه‌های ارزیابی را از دادهٔ آموزشی حذف کنید تا آزمون‌ها استاندارد بمانند. با مدل‌های پایه، بیشتر ما اصلاً روی دادهٔ آموزشی کنترل نداریم؛ اگر هم داشته باشیم، شاید نخواهیم همهٔ دادهٔ آزمون را حذف کنیم چون باکیفیت است؛ و همیشه آزمون‌هایی هستند که بعد از آموزش مدل ساخته شده‌اند. سازنده‌ها معمولاً آزمون‌های مهم برایشان را پیش از آموزش از داده حذف می‌کنند. در حالت ایده‌آل، وقتی نمرهٔ مدلی را گزارش می‌کنید، بگویید چند درصد آزمون در دادهٔ آموزشی بوده و نمره روی بخش تمیز چقدر است. وقتی OpenAI آلودگی GPT-3 را بررسی کرد، ۱۳ آزمون پیدا کرد که دست‌کم ۴۰٪شان در دادهٔ آموزشی بود.

برای مقابله، میزبان‌های جدول‌ها مثل Hugging Face انحراف معیار نمره‌ها را رسم می‌کنند تا نمره‌های عجیب دیده شوند. آزمون‌های عمومی هم بهتر است بخشی از داده‌شان را خصوصی نگه دارند و ابزاری بدهند که مدل‌ها خودکار روی آن سنجیده شوند. به قول دوستِ نویسندهٔ کتاب: «آزمون از همان لحظه‌ای که عمومی می‌شود، دیگر به درد نمی‌خورد.»

خودآزمایی

سرگشتگی مدلی روی سؤال‌های یک آزمون عمومی خیلی پایین‌تر از متن‌های مشابهِ تازه است. محتمل‌ترین توضیح؟
کدام روش تشخیص آلودگی بدون دسترسی به دادهٔ آموزشی ممکن است؟
چرا شاید نخواهیم همهٔ دادهٔ آزمون را از آموزش حذف کنیم؟

مرور فلش‌کارت‌های این درس

تعریف

آلودگی داده یعنی چه؟

برای دیدن پاسخ کلیک کنید یا Space بزنید

کارت ۱ از ۴

آکادمی هوش مصنوعی شیدهوش — بخشی از shidhoosh.com