مدلهای زبانی بزرگ برای اجرا با دقت کامل به صدها گیگابایت حافظه کارت گرافیک نیاز دارند. تکنیک کوانتایزیشن این چالش را برطرف کرده است. در این مقاله به زبان فنی اما شفاف بررسی میکنیم که Quantization چیست، چگونه کار میکند و چطور مصرف VRAM را تا ۷۵ درصد کاهش میدهد.
فهرست مطالب
- Quantization چیست و چرا در مدلهای هوش مصنوعی انقلابی است؟
- مفاهیم دقت عددی: مقایسه FP32، FP16، INT8 و INT4
- مقایسه فرمتهای محبوب: GGUF، AWQ، GPTQ و EXL2
- بررسی افت کیفیت و معیار ارزیابی پرپلکسیتی (Perplexity)
- جدول میزان صرفهجویی در حافظه VRAM با کوانتایزیشن
- کدام فرمت کوانتایزیشن برای پروژه شما مناسب است؟
- سوالات متداول
Quantization چیست و چرا در مدلهای هوش مصنوعی انقلابی است؟
در پردازش هوش مصنوعی، Quantization یا کوانتایزیشن فرآیندی است که طی آن وزنهای مدل (Weights) و مقادیر فعالسازی (Activations) از اعداد ممیز شناور با دقت بالا (مانند FP16 یا ۳۲ بیت) به اعداد با دقت پایینتر (مانند اعداد صحیح ۸ بیتی یا ۴ بیتی) تبدیل میشوند. بدون کوانتایزیشن، اجرای یک مدل ۷۰ میلیارد پارامتری نیازمند حداقل ۱۴۰ گیگابایت VRAM (معادل دو کارت فوق گرانقیمت A100) است، در حالی که با کوانتایزیشن ۴ بیتی، همین مدل روی یک کارت با ۴۸ گیگابایت VRAM به راحتی اجرا میشود.
مفاهیم دقت عددی: مقایسه FP32، FP16، INT8 و INT4
تفاوت فرمتها در تعداد بیتهای اختصاص یافته به هر عدد است:
- FP32 (Single Precision): ۳۲ بیت به ازای هر وزن. عمدتاً در فاز اولیه آموزش شبکهها استفاده میشود و برای استنتاج اتلاف شدید منابع است.
- FP16 / BF16 (Half Precision): ۱۶ بیت به ازای هر وزن (۲ بایت). استاندارد اصلی استنتاج بدون افت کیفیت است.
- INT8 (8-bit Quantization): کاهش وزنها به ۱ بایت؛ حجم حافظه دقیقاً نصف میشود و افت دقت تقریباً صفر درصد است.
- INT4 (4-bit Quantization): فشردهسازی تا ۰.۵ بایت برای هر پارامتر؛ حجم مدل تا ۷۵ درصد کاهش مییابد.
مقایسه فرمتهای محبوب: GGUF، AWQ، GPTQ و EXL2
| فرمت | پلتفرم بهینهسازی | ویژگی بارز | بهترین کاربرد |
|---|---|---|---|
| GGUF | llama.cpp و Ollama | امکان تقسیم وزنها بین CPU و GPU | توسعه محلی، سیستمهای خانگی و اولاما |
| AWQ (Activation-aware) | vLLM و Hugging Face | حفظ وزنهای حیاتی با کمترین افت هوش | سرورهای پرسرعت تولیدی و آنلاین |
| GPTQ | AutoGPTQ و vLLM | سرعت بالا در پردازش با کارتهای انویدیا | سرویسدهی مبتنی بر وب و API |
| EXL2 | ExLlamaV2 | سرعت توکن فوقالعاده بالا با بیتهای شناور | استنتاج اختصاصی روی کارتهای انویدیا |
بررسی افت کیفیت و معیار ارزیابی پرپلکسیتی (Perplexity)
معیار Perplexity نشاندهنده میزان سردرگمی مدل در پیشبینی کلمه بعدی است (هرچه کمتر باشد بهتر است). آزمایشها نشان میدهند که تبدیل مدل از FP16 به نسخه Q4_K_M یا AWQ 4-bit کمتر از ۱ الی ۲ درصد در بنچمارکهای استدلال افت ایجاد میکند که در کاربردهای روزمره، چت و کدنویسی برای انسان عملاً غیرقابل تشخیص است.
جدول میزان صرفهجویی در حافظه VRAM با کوانتایزیشن
برای آشنایی با فرمول دقیق محاسبه، مقاله محاسبه VRAM برای هوش مصنوعی را مطالعه کنید. در جدول زیر مقایسه حجم مدلها آمده است:
| مدل | حجم در FP16 | حجم در INT8 | حجم در INT4 (کوانتایز) |
|---|---|---|---|
| Llama 3.1 8B | ۱۶ گیگابایت | ۸.۵ گیگابایت | ۵.۲ گیگابایت |
| Qwen 2.5 14B | ۲۸ گیگابایت | ۱۵ گیگابایت | ۹ گیگابایت |
| Qwen 2.5 32B | ۶۴ گیگابایت | ۳۴ گیگابایت | ۲۰ گیگابایت |
| Llama 3.3 70B | ۱۴۰ گیگابایت | ۷۴ گیگابایت | ۴۳ گیگابایت |
کدام فرمت کوانتایزیشن برای پروژه شما مناسب است؟
اگر از ابزار اولاما استفاده میکنید، فرمت GGUF با سطح Q4_K_M یا Q5_K_M بهترین تعادل را بین سرعت و کیفیت ارائه میدهد. اما اگر در حال میزبانی سرویس تجاری با vLLM روی کارتهای انترپرایز هستید، فرمت AWQ یا FP8 بالاترین توان عملیاتی را به شما خواهد داد.
میزبانی مدلهای هوش مصنوعی روی سرورهای GPU تراست هاست
در سرورهای GPU تراست هاست با پهنای باند حافظه بالا و پردازندههای NVIDIA H100 و L40S، مدلهای کوانتایز شده خود را با سرعت خیرهکننده و بدون دغدغه محدودیت حافظه مستقر نمایید.
سوالات متداول
آیا کوانتایزیشن سرعت تولید متن را افزایش میدهد؟
بله! از آنجا که گلوگاه اصلی تولید توکن در پردازندههای گرافیکی پهنای باند حافظه (Memory Bandwidth) است، جابجایی وزنهای کوچکتر ۴ بیتی در حافظه بسیار سریعتر انجام شده و نرخ تولید توکن بر ثانیه را به طور محسوس بالا میبرد.
آیا میتوان مدل کوانتایز شده را Fine-Tune کرد؟
بله، با استفاده از تکنیک انقلابی QLoRA میتوان مدلهای کوانتایز شده ۴ بیتی را با مصرف بسیار ناچیز VRAM روی دادههای سفارشی آموزش داد.