کوانتیزیشن به زبان ساده؛ Q4 و Q8 یعنی چه

⏱ زمان مطالعه: حدود ۶ دقیقه

اگر تا حالا اسم مدل‌هایی مثل llama3:8b-q4 یا mistral-q8 را دیده‌اید و نمی‌دانید آن حرف Q و عدد کنارش چه معنایی دارد، این مقاله دقیقاً برای شماست. کوانتیزیشن (quantization) یکی از مهم‌ترین مفاهیمی است که هر کسی که می‌خواهد مدل زبانی را روی سخت‌افزار خودش اجرا کند باید بفهمد، چون مستقیم روی حجم فایل، سرعت اجرا و کیفیت پاسخ‌ها اثر می‌گذارد. خبر خوب این‌ست که فهمیدن آن نیازی به فرمول ریاضی ندارد.

کوانتیزیشن چیست؛ یک قیاس ساده

یک مدل زبانی از میلیون‌ها یا میلیاردها عدد تشکیل شده که به آن‌ها «وزن» (weight) می‌گویند؛ همین اعداد هستند که دانش و توانایی مدل را در خود نگه می‌دارند. در حالت اصلی، این اعداد با دقت بسیار بالا (مثلاً با ۱۶ یا ۳۲ بیت) ذخیره می‌شوند که هم حجم فایل را بسیار بزرگ می‌کند و هم برای پردازش هر عدد، منابع محاسباتی بیشتری لازم است. کوانتیزیشن یعنی کاهش دقت عددی این وزن‌ها؛ عملاً هر عدد را با یک نسخهٔ ساده‌تر و کم‌حجم‌تر جایگزین می‌کنیم.

قیاسی که این مفهوم را ساده می‌کند، فشرده‌سازی عکس است. یک عکس با کیفیت خام (RAW) حجم بسیار زیادی دارد؛ وقتی آن را به JPEG با فشرده‌سازی متوسط تبدیل می‌کنید، حجم فایل به‌شدت کم می‌شود و تفاوت کیفیت تقریباً برای چشم عادی قابل‌تشخیص نیست. اما اگر فشرده‌سازی را خیلی زیاد کنید، جزئیات تصویر از بین می‌رود و افت کیفیت واضح می‌شود. کوانتیزیشن مدل زبانی هم دقیقاً همین منطق را دارد: هرچه دقت عددی را بیشتر کاهش دهید، فایل کوچک‌تر و اجرا سریع‌تر می‌شود، اما در نقطه‌ای کیفیت پاسخ‌ها هم افت می‌کند.

کوانتیزیشن به زبان ساده؛ Q4 و Q8 یعنی چه

چرا اصلاً به کوانتیزیشن نیاز داریم

مدل‌های زبانی بزرگ در حالت اصلی و بدون کوانتیزیشن، برای اجرا به حافظه و کارت گرافیک بسیار قدرتمندی نیاز دارند که در دسترس اغلب کاربران عادی و حتی بسیاری از تیم‌های کوچک نیست. کوانتیزیشن این نیاز را به‌طور محسوسی پایین می‌آورد و اجرای مدل روی یک لپ‌تاپ معمولی یا حتی گوشی را ممکن می‌کند. بدون کوانتیزیشن، عملاً بخش بزرگی از حرکت اجرای محلی مدل‌های زبانی روی سخت‌افزار مصرفی اصلاً امکان‌پذیر نبود.

Q4 در برابر Q8؛ تفاوت در عمل

در نام‌گذاری رایج، حرف Q به کوانتیزیشن اشاره دارد و عدد کنار آن سطح دقت باقی‌مانده را نشان می‌دهد. Q8 یعنی دقت عددی بیشتری نسبت به وزن‌های اصلی حفظ شده؛ فایل بزرگ‌تر است، اجرا کمی کندتر و به حافظهٔ بیشتری نیاز دارد، اما نتیجه به مدل اصلی نزدیک‌تر است و افت کیفیت تقریباً نامحسوس است. Q4 در سمت مقابل قرار دارد: دقت عددی بسیار بیشتری فدا شده، فایل کوچک‌تر و اجرا سریع‌تر است، اما افت کیفیت محسوس‌تری هم دارد، به‌خصوص در وظایفی که به دقت بالا نیاز دارند، مثل استدلال چندمرحله‌ای یا محاسبات دقیق.

برای اکثر کاربردهای روزمره — گفت‌وگوی عمومی، خلاصه‌سازی، نوشتن متن ساده — تفاوت بین Q4 و Q8 معمولاً برای کاربر عادی به‌سختی قابل‌تشخیص است، در حالی‌که تفاوت سرعت و حجم بین این دو می‌تواند چشمگیر باشد. به همین دلیل، Q4 برای اجرا روی سخت‌افزار محدود، انتخاب پیش‌فرض بسیاری از کاربران است.

کدام سطح کوانتیزیشن را انتخاب کنیم

قاعدهٔ عملی ساده این است: اگر سخت‌افزار شما محدود است یا سرعت پاسخ‌دهی اولویت دارد، از Q4 شروع کنید. اگر حافظه و قدرت پردازشی کافی دارید و کیفیت پاسخ برایتان اولویت اول است — مثلاً در وظایف حساس‌تر مثل کدنویسی یا تحلیل متن پیچیده — سراغ Q8 یا نزدیک به آن بروید. بین این دو حد، سطح‌های میانی مثل Q5 و Q6 وجود دارند که تلاش می‌کنند تعادلی بین حجم و کیفیت برقرار کنند و برای بسیاری از کاربران انتخاب معقولی هستند.

سطح حجم فایل سرعت اجرا افت کیفیت نسبت به مدل اصلی
Q8 بزرگ‌تر نسبتاً کندتر جزئی، تقریباً نامحسوس
Q6 متوسط متوسط کم
Q5 کمی کوچک‌تر سریع‌تر کم تا متوسط
Q4 کوچک سریع محسوس‌تر، به‌خصوص در استدلال دقیق
Q2 / Q3 خیلی کوچک خیلی سریع شدید؛ معمولاً برای استفادهٔ جدی توصیه نمی‌شود

یک باور غلط رایج: کوانتیزیشن مثل فشرده‌سازی zip نیست

یک اشتباه رایج این است که کوانتیزیشن را با فشرده‌سازی معمولی فایل (مثل zip) یکی بدانیم که در آن، فایل فشرده را می‌توان دوباره دقیقاً به حالت اول بازگرداند. کوانتیزیشن این‌طور نیست؛ وقتی دقت عددی یک وزن کاهش می‌یابد، بخشی از اطلاعات آن برای همیشه از دست می‌رود و قابل بازیابی نیست. به همین دلیل، یک مدل با کوانتیزیشن Q4 را نمی‌توان دوباره به کیفیت اصلی بازگرداند؛ تنها راه، دانلود دوبارهٔ نسخهٔ با دقت بالاتر از منبع اصلی است. این تفاوت مهمی است چون یعنی انتخاب سطح کوانتیزیشن یک تصمیم یک‌طرفه است، نه یک تنظیم قابل‌بازگشت.

یک نکتهٔ مهم دربارهٔ نام‌گذاری مدل‌ها

وقتی در ابزارهایی مثل Ollama یا LM Studio دنبال یک مدل می‌گردید، معمولاً چند نسخهٔ کوانتیزه‌شدهٔ مختلف از همان مدل پیشنهاد می‌شود. اسم فایل معمولاً سطح کوانتیزیشن را در خود دارد، مثل q4_0 یا q8_0 که اعداد و حروف بعد از Q جزئیات فنی‌تری دربارهٔ روش کوانتیزیشن نشان می‌دهند، اما برای تصمیم‌گیری روزمره، همان عدد اصلی (۴ یا ۸) کافی است. اگر مطمئن نیستید کدام نسخه را انتخاب کنید، شروع با نسخهٔ میانی مثل q5 یا q6 معمولاً انتخاب امنی است. برای فهم بهتر این‌که کدام مدل و کدام سطح کوانتیزیشن برای پروژهٔ شما مناسب‌تر است، نقشهٔ راه مدل‌های متن‌باز و اجرای محلی راهنمای کامل‌تری در این مسیر ارائه می‌دهد.

چطور خودتان افت کیفیت را بسنجید

به‌جای اعتماد کورکورانه به توصیه‌های عمومی، بهترین راه این است که برای وظیفهٔ واقعی خودتان، دو یا سه سطح کوانتیزیشن مختلف از یک مدل را دانلود و مقایسه کنید. چند پرسش نمونه که شبیه کاربرد واقعی شما هستند را روی هر نسخه اجرا کنید و پاسخ‌ها را کنار هم بگذارید. اگر تفاوت پاسخ Q4 و Q8 برای وظیفهٔ شما ناچیز است، Q4 را نگه دارید و از سرعت و فضای اضافه بهره ببرید؛ اگر تفاوت محسوس و مهم است، سراغ سطح بالاتر بروید. این آزمایش کوچک، چند دقیقه بیشتر وقت نمی‌گیرد اما تصمیم شما را به‌جای حدس، بر پایهٔ مشاهدهٔ واقعی می‌گذارد.

جمع‌بندی

  • وقتی نام یک مدل را با Q4 یا Q8 می‌بینید، بدانید عدد کنار Q سطح دقت عددی باقی‌ماندهٔ وزن‌هاست، نه یک برند یا نسخهٔ متفاوت از مدل.
  • برای سخت‌افزار محدود یا نیاز به سرعت بالا، با Q4 شروع کنید و فقط در صورت نارضایتی از کیفیت، سراغ سطح بالاتر بروید.
  • برای وظایف حساس مثل کدنویسی یا استدلال دقیق، از همان ابتدا Q8 یا نزدیک به آن را انتخاب کنید.
  • اگر مطمئن نیستید کدام سطح مناسب‌تان است، با Q5 یا Q6 شروع کنید؛ این‌ها تعادل معقولی بین حجم، سرعت و کیفیت می‌دهند.
  • پیش از قطعی کردن انتخاب، دو سطح کوانتیزیشن را با نمونه‌های واقعی خودتان مقایسه کنید تا تصمیم را بر پایهٔ مشاهده بگیرید، نه فقط حدس.
(0 رأی)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *