۲۷ میلیارد پارامتر توی ۳.۹ گیگابایت
خلاصهٔ کاملتر
یه مدل ۲۷ میلیارد پارامتری معمولاً برای اجرا رک سرور میخواد، ولی تو این مقاله اومده که Cactus Bonsai همون مدل رو با کوانتیزیشن ۱ بیتی توی ۳.۹ گیگابایت جا داده؛ اندازهای که راحت تو رم یه گوشی امروزی سوار میشه. نویسنده میگه نکتهٔ اصلی فقط فشردهسازی نیست، بلکه روش آموزشیه که مدل رو از اول با همین محدودیت بار میاره.
کوانتیزیشن یعنی کم کردن دقت عددی وزنهای مدل. تو حالت استاندارد هر وزن یه عدد اعشاری ۳۲ بیتی (FP32) هست و ۴ بایت جا میگیره؛ با این حساب یه مدل ۲۷ میلیاردی حدود ۱۰۸ گیگابایت رم لازم داره. هر پله که پایینتر بری حافظه تقریباً نصف میشه: حدود ۲۷ گیگ با INT8، حدود ۱۳.۵ گیگ با INT4 و حدود ۳.۴ گیگابایت با ۱ بیت.
تو مدل ۱ بیتی هر وزن فقط میتونه یکی از دو مقدار ۱- یا ۱+ باشه. برای اینکه این باینریشدن همهچی رو خراب نکنه، کنار وزنها یه سری ضریب مقیاس با دقت بالاتر مثل FP16 هم ذخیره میشه که به مدل میگه وزنهای هر لایه رو با چه بزرگیای تفسیر کنه. سود جانبیش اینه که ضربهای اعشاری سنگین تبدیل به جمع و تفریق ساده میشن.
یه نسخهٔ معروفترش کوانتیزیشن سهحالتیه که بهش ۱.۵۸ بیت هم میگن، چون لگاریتم ۳ در مبنای ۲ حدود ۱.۵۸ میشه: هر وزن میتونه ۱-، ۰ یا ۱+ باشه. تحقیق BitNet b1.58 مایکروسافت نشون داده اضافه شدن صفر کیفیت رو خیلی بهتر از حالت کاملاً باینری حفظ میکنه، چون مدل میتونه اتصالهای بیفایده رو عملاً خاموش کنه.
مهمترین بخش ماجرا از نگاه نویسنده همینجاست: کوانتیزیشن بعد از آموزش (PTQ) تا INT4 قابل قبوله ولی تو ۱ بیت بدجوری شکست میخوره، چون گرد کردن هر وزن به نزدیکترین مقدار باینری کلی اطلاعات رو از بین میبره. راهحل، آموزش آگاه از کوانتیزیشن (QAT) هست: موقع گذر رو به جلو وزنها ۱ بیتی میشن ولی گرادیانها موقع برگشت جوری عبور میکنن که انگار وزنها هنوز پیوستهان.
نتیجهش مدلیه که واقعاً توی قالب ۱ بیتی جا میشه، نه مدلی که به زور توش چپونده شده. البته این کار ارزون نیست و عملاً یعنی دوباره آموزش دادن مدل تو مقیاس ۲۷ میلیارد پارامتر. اختلاف ۳.۹ گیگابایت واقعی با ۳.۴ گیگابایت تئوری هم برمیگرده به همون ضریبهای مقیاس، بعضی وزنهای لایهٔ توجه با دقت بالاتر و سربار فرمت.
۳.۹ گیگابایت یعنی مدل تو رم گوشیهای امروزی (پرچمدارها ۸ تا ۱۲ گیگ، میانردهها ۶ تا ۸ گیگ) جا میشه. تازه وزنهای باینری با سختافزارهایی مثل Neural Engine اپل و Hexagon کوالکام که برای عملیات صحیح کمدقت ساخته شدن بهتر جور در میان. با این حال نویسنده تعارف نمیکنه: افت کیفیت واقعیه، مخصوصاً تو استدلال عددی دقیق و مسئلههای چندمرحلهای.
به گفتهٔ نویسنده جذابیت اصلی اجرای محلیه: حریم خصوصی چون داده از گوشی بیرون نمیره، تأخیر کمتر چون رفتوبرگشت شبکه حذف میشه، کارکرد آفلاین، هزینهٔ کمتر چون استنتاج روی سختافزار خود کاربر انجام میشه، و انطباق راحتتر با قوانین سختگیرانهٔ نگهداری داده تو حوزههایی مثل سلامت و مالی.
نکات کلیدی:
- کوانتیزیشن ۱ بیتی هر وزن رو به ۱- یا ۱+ خلاصه میکنه و مدل ۲۷ میلیاردی رو از بالای ۵۰ گیگ به ۳.۹ گیگابایت میرسونه.
- ضریبهای مقیاس هر لایه با دقت بالاتر ذخیره میشن و بخشی از دامنهٔ بیانی مدل رو برمیگردونن.
- نسخهٔ سهحالتی (۱.۵۸ بیت) با اضافه کردن صفر کیفیت بیشتری نسبت به باینری خالص نگه میداره.
- فشردهسازی بعد از آموزش تو ۱ بیت جواب نمیده؛ QAT چیزیه که این روش رو عملی میکنه.
- افت کیفیت تو کارهای پیچیده واقعیه، ولی برای خلاصهسازی، پرسشوپاسخ و طبقهبندی کاملاً قابل استفادهست.




