یه نقشه کامل از داده‌ها: چطور بفهمیم مدل‌های زایشی چی رو حفظ کردن و چجوری جلوشو بگیریم!

Fall Back

خب، بذار اول داستان رو روشن کنم: مدل‌های زایشی (Generative Models)، یعنی هوش مصنوعی‌هایی که خودشون می‌تونن چیزهای جدید مثل متن یا تصویر تولید کنن، خیلی باحالن ولی گاهی یواشکی یه مشکل بزرگ دارن! اینا ممکنه اطلاعات کمیابی که توی دیتای آموزشی‌شون داشتن رو قشنگ حفظ کنن و حتی لو بدن. مثلاً مدل به‌جای اینکه کلیات رو یاد بگیره، دقیقاً همون جمله‌ای که فقط توی آموزش بوده رو با یه اشاره از کاربر پس بده! اینجوری دوتا مشکل پیش میاد: اول اینکه اگه یه آدم فضول (یا یه هکر) بیاد و مدل رو بچزونه، ممکنه اطلاعات حساسی رو بیرون بکشه. دوم، ممکنه نتایج مدل الکی خوب به نظر بیان، چون مدل صرفاً یه سری مثال خاص رو از بر کرده، نه اینکه واقعاً فهمیده باشه.

حالا راه‌حل چیه؟ توی این مقاله اومدن یه چارچوب جدید به اسم GenDataCarto ساختن، یه چیزی مثل نقشه‌برداری از داده‌ها! می‌خوای بدونی کارش چیه؟ اول میان هر نمونه‌ی آموزشی رو با دو تا عدد مشخص می‌کنن: یکی که سختی اون نمونه رو نشون می‌ده (مثلاً “early-epoch loss” یعنی چقدر مدل اول کار در یادگیریش مشکل داشته)، و دومی هم یه امتیاز به اسم “memorization score” براش در نظر می‌گیرن. این اسکور دوم یعنی چندبار مدل یادش رفته این نمونه رو و دوباره باید یاد می‌گرفته! (یا به اصطلاح “forget events” که به معنای دفعاتی هست که مدل یه چیزی رو یادش می‌ره و دوباره مجبور می‌شه یاد بگیره.)

وقتی این اطلاعاتو جمع کنن، داده‌ها رو توی چهار قسمت یا چهار تا “quadrant” دسته‌بندی می‌کنن. هیجان‌انگیزش اینجاست که حالا می‌تونن خیلی هوشمندانه تصمیم بگیرن: بعضیا رو کلاً حذف کنن (prune)، بعضیا رو سنگین‌تر یا سبک‌تر بشمرن (up-/down-weight). مثلاً اونایی که مدل فقط حفظشون می‌کنه و واقعا یاد نمی‌گیره رو کم‌رنگ‌تر میکنن تا جلوی ریسک لو رفتن داده یا “leakage” گرفته بشه.

حالا یه نکته باحال دیگه: نویسنده‌های مقاله با یه سری اثبات ریاضی (که خب اگه علاقمندی می‌تونم درباره‌شون توضیح بدم) نشون دادن که این روش ممیزسازی‌شون (memorization score) در واقع کف (lower bound) تاثیر کلاسیک داده‌ها رو توی مدل نشون می‌ده (اصطلاحاً influence). یعنی اگر فرض کنیم رفتار مدل یکم نرم و پیوسته‌ست (smoothness)، این امتیاز واقعاً یه چیز مهم رو اندازه‌گیری می‌کنه.

از اون طرف، وقتی داده‌هایی که مدل خیلی خوب حفظشون کرده رو کمتر بشمرن یا حذف کنن (down-weighting hotspots)، شکاف بین آموزش و کار واقعی مدل (generalization gap) به شکل چشم‌گیری کم می‌شه. این یعنی مدل روی داده‌های جدید هم بهتر کار می‌کنه و فقط مال دیتای آموزشیش نیست.

حالا از نظر عملی چی؟ اینا آزمایش کردن و فهمیدن که با حذف فقط ۱۰٪ از داده‌ها (اونایی که خیلی ریسک لو رفتن داشتن)، احتمال استخراج اطلاعات قلابی (canary extraction، یعنی همون دزدیدن داده خاص از مدل) بیش از ۴۰٪ کاهش پیدا می‌کنه! اونم در حالی که فقط ۰.۵٪ به سختی مدل روی داده‌های واقعی اضافه می‌شه (این سختی رو با یه معیاری به اسم “perplexity” می‌سنجن؛ تقریباً یعنی مدل چقدر سر در گم می‌شه).

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

منبع: +