کوانتیزهسازی (Quantization) چیست؟
کوانتیزهسازی یعنی ذخیره اعداد مدل با دقت کمتر؛ همین تکنیک مدل را چند برابر کوچکتر و روی دستگاه چند برابر سریعتر میکند.
پارامترهای یک مدل زبانی، عدد هستند. این اعداد بهطور معمول با دقت ممیز شناور ۳۲ بیتی (FP32 — 32-bit Floating Point) ذخیره میشوند؛ یعنی برای هر عدد ۳۲ بیت فضا. کوانتیزهسازی (Quantization) یعنی بازنمایی همین اعداد با بیتهای کمتر — مثلاً ۸ بیت (INT8) یا ۴ بیت (INT4).
نتیجه مستقیم این کار، کوچکشدن مدل است: یک مدل میلیارد پارامتری با FP32 حدود ۴ گیگابایت فضا میگیرد؛ با INT4 به حدود ۵۰۰ مگابایت میرسد — یکهشتم حجم قبلی. مدل کوچکتر یعنی بارگذاری سریعتر، مصرف حافظه کمتر و اجرای روانتر روی پردازندههای معمولی.
طبیعی است که کاهش دقت اعداد، کمی از کیفیت خروجی کم کند. برای همین روشهای پیشرفتهتری مانند کوانتیزهسازی آگاه از آموزش (QAT — Quantization-Aware Training) ابداع شدهاند که در همان زمان آموزش، مدل را برای دقت پایینتر آماده میکنند تا افت کیفیت به حداقل برسد.
برای اجرای مدلهای زبانی فارسی روی دستگاه، کوانتیزهسازی یک ابزار کلیدی است؛ همین تکنیک است که اجازه میدهد مدلی توانمند در حافظه گوشی جا شود و بدون ابر — سریع و خصوصی — پاسخ بدهد.