حذف زبان آلمانی از یه مدل زبانی فقط با ۴ توکن
خلاصهٔ کاملتر
گودفایر توی یه هکاتونِ یکروزه با محصولش Silico نشون داد که میشه یه قابلیتِ مشخص رو از یه مدل زبانی برداشت، بدون اینکه بقیهٔ مدل بههم بریزه. به گفتهٔ اونها، یه مدل ۶۷ میلیونپارامتری رو برداشتن و تواناییش در پیشبینی متن آلمانی رو از کار انداختن؛ آلمانی رو هم انتخاب کردن چون قویترین زبون غیرانگلیسیِ مدل بود. کل کاری که کردن این بود که فقط یه ضریب اسکالر روی یکی از زیرمؤلفههای ماتریسِ وزن رو تنظیم کنن. پشتِ این کار روشیه به اسم تجزیهٔ پارامتری (parameter decomposition) که ماتریسهای وزنِ مدل رو به مؤلفههای قابلتفسیر و «کمفعال» تقسیم میکنه. همین باعث میشه بشه دقیقاً سراغِ همون بخشی رفت که مسئولِ یه رفتارِ خاصه. اونها این ویرایش رو با فاینتیونِ LoRA مقایسه کردن. ویرایششون با توکنِ خیلی کمتری همون حذفِ آلمانی رو انجام داد و نکتهٔ جالب اینکه بقیهٔ زبونها رو تقریباً دستنخورده گذاشت. در مقابل، LoRAها اغلب فرانسوی، اسپانیایی و ایتالیایی و گاهی حتی انگلیسی رو خراب میکردن. خودِ تیم اذعان میکنه که این یهجورایی «تقلبه»، چون داره غیرمستقیم از همون توکنهایی استفاده میکنه که موقعِ تجزیهٔ پارامتری و تفسیرِ مؤلفهها خرج شده. ولی به گفتهٔ اونها اگه تجزیه خوب باشه، این هزینه رو میشه بینِ کلی وظیفه و ویرایشِ مختلف سرشکن کرد. همین تفسیرپذیری کمک کرد اشکالها رو زودتر ببینن؛ مثلاً اولش ۱۶ مؤلفهٔ مرتبط با آلمانی رو تنظیم کردن، ولی برچسبهاشون نشون داد بیشترشون کلاً دربارهٔ زبونهای خارجیان، برای همین محدود شدن به همون تکمؤلفهٔ مخصوصِ آلمانی تا دقت بالاتر بره. نویسنده این رو یه نمونهٔ اولیه از ویرایشِ هدفمند و قابلپیشبینیِ مدل میدونه. نکات کلیدی:
- حذفِ قابلیتِ تولید آلمانی از یه مدل ۶۷ میلیونی فقط با تنظیمِ یه ضریب و ۴ توکن
- روشِ تجزیهٔ پارامتری، وزنها رو به مؤلفههای قابلتفسیر تقسیم میکنه
- برخلاف LoRA، زبونهای دیگه تقریباً بدون آسیب موندن
- تفسیرپذیریِ مؤلفهها اجازه داد خطای اولیه دیده و اصلاح بشه




