کوانتیزاسیون مدل های زبانی بزرگ: کوچک کردن مغزهای عظیم بدون از دست دادن هوش
یک مدل زبانی ۷۰ میلیارد پارامتری با دقت ۱۶ بیتی حدود ۱۴۰ گیگابایت حافظه اشغال می کند؛ یعنی برای اجرای آن به چند کارت گرافیک پیشرفته نیاز است. اما همان مدل را می توان با تکنیک «کوانتیزاسیون» به حدود ۳۵ گیگابایت رساند و روی یک کارت گرافیک معمولی اجرا کرد، بی آنکه افت محسوس کیفیت احساس شود. پرسش علمی این است: چگونه می توان دقت نمایش اعداد را چهار برابر کاهش داد ولی «هوش» مدل را حفظ کرد؟
پاسخ در ماهیت توزیع وزن های شبکه نهفته است. وزن های مدل زبانی تقریبا توزیع نرمال دارند و به نویزهای کوچک حساس نیستند؛ پس می توان هر وزن را به جای ۱۶ بیت، با ۸ یا ۴ بیت ذخیره کرد. دشواری واقعی، «خطای گرد کردن» است: اگر گرد کردن ناشیانه باشد، خطا در لایه های عمیق انباشته می شود و کیفیت پاسخ فرو می ریزد. سه نسل از پژوهش ها نشان داده اند که این خطا قابل مهار است.
اولین نقطه عطف، روش GPTQ بود که فرانتر و همکاران در اکتبر ۲۰۲۲ معرفی کردند و در کنفرانس ICLR 2023 پذیرفته شد. GPTQ یک کوانتیزاسیون «پس آموزشی» و تک مرحله ای است: بدون نیاز به آموزش مجدد، از اطلاعات مرتبه دوم (ماتریس هسین) استفاده می کند تا بفهمد هر وزن را چگونه گرد کند که کمترین آسیب به خروجی وارد شود؛ و خطای گرد کردن یک ستون را با تنظیم هوشمندانه ستون های بعدی جبران می کند. نتیجه چشمگیر بود: کوانتیزاسیون یک مدل ۱۷۵ میلیارد پارامتری به ۳ یا ۴ بیت در حدود ۴ ساعت روی یک کارت گرافیک، با افتی ناچیز در دقت.
نسل دوم با نگاه دقیق تری به مشکل آمد. روش AWQ که لین و همکاران از گروه سانگ هان در MIT در ژوئن ۲۰۲۳ معرفی کردند و جایزه بهترین مقاله MLSys 2024 را گرفت، از یک مشاهده کلیدی استفاده کرد: همه وزن ها به یک اندازه مهم نیستند. حدود یک درصد از کانال های وزن «برجسته» هستند و محافظت از آن ها، خطای کوانتیزاسیون را به شدت کاهش می دهد. نکته ظریف AWQ این است که این کانال های برجسته را نه از روی خود وزن ها، بلکه از روی بزرگی «فعال سازی ها» پیدا می کند؛ یعنی می بیند کدام کانال ها در عمل سیگنال های بزرگ تری تولید می کنند. سپس با یک تبدیل ریاضی معادل، آن کانال ها را تقویت می کند، بدون اینکه نیاز به ذخیره سازی با دقت بالاتر یا بازآموزی داشته باشد.
نسل سوم نشان داد کوانتیزاسیون فقط برای استنتاج نیست. در روش QLoRA که دتمرز و همکاران در مه ۲۰۲۳ معرفی کردند، مدل پایه به صورت ۴ بیتی منجمد می شود و فقط آداپتورهای کوچک LoRA آموزش می بینند. نوآوری کلیدی اینجاست: نوع داده ۴ بیتی NF4 که سطوح کوانتیزاسیون را نه به صورت یکنواخت، بلکه دقیقا روی چندک های توزیع نرمال قرار می دهد؛ چون وزن ها نرمال اند، هر یک از ۱۶ سطح، تقریبا سهم یکسانی از جرم احتمال را پوشش می دهد و این از نظر نظریه اطلاعات بهینه است. به این ترتیب، برای نخستین بار یک مدل ۶۵ میلیارد پارامتری روی یک کارت گرافیک ۴۸ گیگابایتی ریزتنظیم شد، با عملکردی هم تراز با ریزتنظیم ۱۶ بیتی.
چند نکته کلیدی که از این مسیر می آموزیم:
۱. کوانتیزاسیون «فشرده سازی ساده» نیست، بلکه تصمیم گیری آماری است: کدام اطلاعات را نگه داریم و کدام را دور بریزیم. هر سه روش موفق، با مدل سازی توزیع واقعی وزن ها و فعال سازی ها به این پرسش پاسخ داده اند.
۲. بدون بازآموزی هم می شود: GPTQ و AWQ هر دو پس آموزشی اند و فقط به یک مجموعه کوچک داده کالیبراسیون نیاز دارند. این یعنی هر مدل متن باز موجود را می توان پس از انتشار، سبک کرد.
۳. کوانتیزاسیون، دموکراتیزه کننده است: از اجرای مدل ها روی لپ تاپ و گوشی با قالب هایی مثل GGUF تا ریزتنظیم مدل های عظیم روی سخت افزار خانگی، همه مدیون همین ایده اند. هوش مصنوعی مولد امروز اگر به دست میلیون ها توسعه دهنده رسیده، بخش بزرگی از آن را مدیون همین چند مقاله است.
مسیر آینده هم روشن است: کوانتیزاسیون ۲ بیتی، کوانتیزاسیون پویا که دقت را بر اساس دشواری هر توکن تنظیم می کند، و قالب های سخت افزاری جدید مثل FP8 و FP4 که روی شتاب دهنده های تازه به صورت بومی پشتیبانی می شوند. قاعده ثابت مانده است: مغز بزرگ را می توان کوچک کرد، به شرطی که بدانیم کدام نورون ها واقعا می درخشند.
بهزاد حسین عباسی، بنیانگذار اپراتوری هوش مصنوعی و اپراتوری ابرهوش