۹. آلودگی داده
نمرهای که روی دادهای دیدهشده به دست آمده، قابلاعتماد نیست. این درس میگوید آلودگی از کجا میآید، چطور پیدایش کنیم و با آن چه کنیم.
آلودگی داده
آلودگی داده آنقدر رایج است که اسمهای زیادی دارد: نشت داده، آموزش روی مجموعهٔ آزمون، یا خیلی ساده: تقلب. یعنی مدل روی همان دادهای آموزش دیده که با آن سنجیده میشود. آنوقت ممکن است فقط جوابها را حفظ کرده باشد و نمرهای بیش از حقش بگیرد. مدلی که روی MMLU آموزش دیده، میتواند نمرهٔ بالای MMLU بگیرد بیآنکه به درد بخورد.
آلودگی از کجا میآید؟
- ناخواسته، از اینترنت: مدلها روی دادهٔ جمعشده از اینترنت آموزش میبینند و آزمونهای عمومی هم در اینترنتاند. آزمونی که پیش از آموزش مدل منتشر شده، احتمالاً در دادهاش هست — یکی از دلیلهای اشباع سریع آزمونها.
- غیرمستقیم، از منبع مشترک: شما کتابهای درسی ریاضی را به دادهٔ آموزشی اضافه میکنید و کس دیگری از همان کتابها سؤال آزمون میسازد.
- عمدی، با دلیل خوب: اول بدون دادهٔ آزمون آموزش میدهید و با آزمون بهترین مدل را انتخاب میکنید؛ بعد چون دادهٔ آزمون باکیفیت است، مدل نهایی را روی آن هم آموزش میدهید تا برای کاربر بهتر شود. مدل منتشرشده آلوده است — ولی شاید کار درستی بوده.
تشخیص آلودگی
| روش | چطور | خوبی | بدی |
|---|---|---|---|
| همپوشانی n-gram | اگر یک رشتهٔ ۱۳ توکنی از یک سؤال آزمون عیناً در دادهٔ آموزشی باشد، آن سؤال «کثیف» است | دقیقتر | کند و گران؛ و بدون دسترسی به دادهٔ آموزشی ناممکن |
| سرگشتگی | اگر سرگشتگی مدل روی دادهٔ آزمون بهطور عجیبی پایین باشد، احتمالاً آن را دیده | ارزان، فقط خود مدل لازم است | دقت کمتر |
روش دوم را در فصل ۳ (درس ۳) دیدید: جملهای که عیناً در درسها آمده بود، کمترین سرگشتگی را داشت. در پروژهٔ این فصل هر دو روش را روی دیتاست طلایی ذهنیار اجرا میکنیم. فعلاً در این آزمایشگاه امتحانشان کنید:
با آلودگی چه کنیم؟
کتابهای قدیمی یادگیری ماشین توصیه میکردند نمونههای ارزیابی را از دادهٔ آموزشی حذف کنید تا آزمونها استاندارد بمانند. با مدلهای پایه، بیشتر ما اصلاً روی دادهٔ آموزشی کنترل نداریم؛ اگر هم داشته باشیم، شاید نخواهیم همهٔ دادهٔ آزمون را حذف کنیم چون باکیفیت است؛ و همیشه آزمونهایی هستند که بعد از آموزش مدل ساخته شدهاند. سازندهها معمولاً آزمونهای مهم برایشان را پیش از آموزش از داده حذف میکنند. در حالت ایدهآل، وقتی نمرهٔ مدلی را گزارش میکنید، بگویید چند درصد آزمون در دادهٔ آموزشی بوده و نمره روی بخش تمیز چقدر است. وقتی OpenAI آلودگی GPT-3 را بررسی کرد، ۱۳ آزمون پیدا کرد که دستکم ۴۰٪شان در دادهٔ آموزشی بود.
برای مقابله، میزبانهای جدولها مثل Hugging Face انحراف معیار نمرهها را رسم میکنند تا نمرههای عجیب دیده شوند. آزمونهای عمومی هم بهتر است بخشی از دادهشان را خصوصی نگه دارند و ابزاری بدهند که مدلها خودکار روی آن سنجیده شوند. به قول دوستِ نویسندهٔ کتاب: «آزمون از همان لحظهای که عمومی میشود، دیگر به درد نمیخورد.»
خودآزمایی
مرور فلشکارتهای این درس
آلودگی داده یعنی چه؟
برای دیدن پاسخ کلیک کنید یا Space بزنید
کارت ۱ از ۴