امروزه اجرای مدلهای میلیاردپارامتری صرفاً محدود به سرورهای بزرگ نیست. برای موبایل، دستگاههای توکار و شتابدهندههای لبه لازم است قابلیتهای مدلهای بزرگ با مصرف حافظه، توان و تأخیر بسیار کمتر فراهم شوند. ترکیب کوانتیزهسازی مدل با روشهای فشردهسازی (از جمله هرس ساختاری و غیرساختاری) و تقطیر دانش راهحل عملی این چالش است؛ این سه تکنیک در کنار هم امکان اجرای مدلهای پیچیده را روی سختافزارهای محدود بدون افت فاحش کیفیت فراهم میکنند.
کوانتیزهسازی مدل چیست و چرا کلیدی است
کوانتیزهسازی نگاشت مقادیر ممیزشناور با دقت بالا به مجموعهای کوچکتر از اعداد گسسته است. در عمل وزنها و فعالسازیها از فرمتهایی مانند FP32 یا FP16 به قالبهایی کمعرض مثل INT8، INT4 یا فرمتهای ۸ بیتی مانند FP8 یا bfloat16 تبدیل میشوند. اثر مستقیم این تبدیل کاهش حجم مدل، پهنای باند حافظه و مصرف انرژی است و پردازش ماتریسی را با سختافزارهایی که محاسبات کمدقت را شتاب میدهند سازگارتر میکند.
روشهای مرسوم کوانتیزهسازی مدل
- کوانتیزهسازی پس از آموزش (PTQ): کوانتیزهسازی مدل آموزشدیده بدون بازآموزی؛ میتوان از کالیبراسیون ایستا با دادهٔ نماینده یا کوانتیزهسازی پویا در زمان اجرا بهره برد.
- آموزش آگاه از کوانتیزهسازی (QAT): کمدقتسازی در فاز آموزش شبیهسازی میشود تا مدل وزنهای خود را برای سازگاری با دقت پایینتر تعدیل کند؛ معمولاً دقت نهایی بهتر از PTQ است اما هزینهٔ آموزش بالاتر میرود.
- کوانتیزهسازی متقارن و نامتقارن: در متقارن نقطهٔ صفر همان صفرِ عددی در نظر گرفته میشود که محاسبات را سادهتر میکند؛ در نامتقارن از آفست (zero-point) برای پوشش دامنههای نامتقارن بهره میگیرند.
ملاحظات فنی: مقیاس، نقطهٔ صفر و انباشت
در عمل معمولاً از نگاشت آفاین استفاده میشود: x_q = clip(round(x/S + Z), min, max) و دیکوانتیزهسازی با x ≈ S × (x_q − Z) انجام میگیرد. هنگام ضرب–جمع ماتریسی با مقادیر کمدقت، حاصل انباشت اغلب به نوع دادهٔ با دقت بالاتر (مثلاً INT32 یا FLOAT32) نیاز دارد تا خطاهای تجمعی کنترل شوند.
هرس، فشردهسازی و تقطیر دانش — تکمیل زنجیرهٔ بهینهسازی
کوانتیزهسازی مدل معمولاً بهتنهایی کافی نیست؛ ترکیب آن با هرس و تقطیر کیفیت و کارایی را بهطرز محسوسی افزایش میدهد.
هرس و فشردهسازی
- هرس غیرساختاری: حذف وزنهای کماهمیت که منجر به مدلهای پراکنده میشود؛ پس از آن از فشردهسازی و رمزگذاری برای نگهداری فقط ضرایب غیرصفر استفاده میشود.
- هرس ساختاری: حذف واحدهای کامل (نورون، فیلتر یا بلوک) که اجرای سریعتر و پیادهسازی سادهتری روی شتابدهندهها امکانپذیر میسازد.
تقطیر دانش (Knowledge Distillation)
در تقطیر، یک مدل بزرگِ معلم رفتار خود را به یک مدل کوچکتر شاگرد منتقل میکند؛ این فرایند میتواند افت دقت ناشی از کوانتیزهسازی یا هرس را تا حد زیادی جبران کند. برای مرور پژوهشی به مقالهٔ کلاسیک Hinton و همکاران مراجعه کنید: Distilling the Knowledge و برای توضیح عمومی: Knowledge distillation.
کوانتیزهسازی KV cache در مدلهای خودبازگشتی
در دیکودرهای مبتنی بر ترنسفورمر، هنگام تولید توکنها کش کلید–مقدار (KV) برای هر لایه و موقعیت نگهداری میشود؛ این ساختار برای پنجرههای طولانی میتواند چندین گیگابایت حافظه مصرف کند. کوانتیزهسازی KV cache یکی از مؤثرترین راهها برای کاهش بار حافظه و امکانپذیر ساختن استنتاج با زمینهٔ متنی بلند است.
ملاحظات سختافزاری و ابزارهای عملیاتی
پشتیبانی سختافزار از فرمتهای کمدقت و توانایی انجام انباشت با دقت بالاتر نقش کلیدی دارد. اکوسیستم ابزارها شامل NVIDIA TensorRT، ONNX و پلتفرمهایی مانند Hugging Face است که تبدیل و استقرار مدلهای کوانتیزهشده را تسهیل میکنند. کتابخانههایی مثل bitsandbytes، فریمورکهای تبدیل مانند TVM و OpenVINO و ابزارهای کالیبراسیون نیز در جریان کاری مهندسان مفیدند.
راهنمای عملی گامبهگام برای مهندسان
- هدف عملکرد را تعریف کنید: حجم مدل، تأخیر مجاز، مصرف انرژی و محدودیتهای حافظه.
- با PTQ و کالیبراسیون ایستا آغاز کنید؛ اگر افت دقت نامطلوب بود، به QAT روی بیاورید.
- براساس سختافزار هدف انتخاب کنید از INT8، FP8 یا ترکیب دقتها استفاده شود؛ در برخی شتابدهندهها کوانتیزهسازی کانالی (per-channel) عملکرد بهتری میدهد.
- ترکیب هرس ساختاری و تقطیر دانش معمولاً نسبت دقت به حجم را بهینه میکند.
- در مدلهایی با پنجرهٔ متنی بلند، حتماً KV cache را کوانتیزه کنید تا حافظهٔ مصرفی کاهش یابد.
چشمانداز
ترکیب بهینهسازیهای نرمافزاری مانند QAT و تقطیر با پیشرفتهای سختافزاری در پشتیبانی از فرمتهای کمعرض، مسیر ورود مدلهای قدرتمند به دستگاههای لبه را هموار میکند. انتظار میرود استانداردهای جدید ممیز کمعرض و بهینهسازیهای مبتنی بر سختافزار، هزینهٔ استنتاج را کاهش دهند و کاربردهای بلادرنگ و خصوصیمحور را تسهیل کنند.





