تصور کنید مدل شما در محیط عملیاتی ناگهان شروع به تولید پاسخهایی با فرمت اشتباه میکند، در حالی که در زمان تست عالی بود. این شکست معمولاً نتیجهی یک اشتباه استراتژیک در انتخاب دادههای کالیبراسیون (Calibration) است.
به نقل از تحلیل فنی منتشر شده در ۱۵ اوت ۲۰۲۶ در وبسایت dev.to، باید به متنهای مورد استفاده در زمان کوانتش (Quantization) — یعنی فرآیند کاهش دقت اعداد برای اشغال حافظه کمتر — نه بهعنوان دادههای آموزشی، بلکه بهعنوان یک «کاوشگر» (Probe) نگاه کرد. نویسنده در این تحلیل تصریح میکند که این دادهها پارامترها را بهروز نمیکنند و گرادیانها را محاسبه نمیکنند. در عوض، این دادهها برای این استفاده میشوند تا لایه به لایه و وزن به وزن تصمیم گرفته شود که مدل برای حفظ کیفیت، کجا میتواند خطای گرد کردن را تحمل کند و کجا نباید.
سازوکار کالیبراسیون
برای درک این موضوع، باید سازوکار کالیبراسیون را بشناسیم. در این مرحله، مجموعه دادههای کالیبراسیون (Calibration Corpus) دقیقاً یک بار در هر لایه بهصورت Forward Pass از مدل عبور میکنند. این فرآیند ردیابی نمیکند که پیشبینیهای مدل خوب هستند یا بد. در عوض، آماری از فعالسازها (Activations) که به هر لایه خطی (Linear Layer) میرسند، استخراج و ذخیره میکند.
از آنجایی که هیچ گرادیانی محاسبه نمیشود و هیچ پارامتری در جهت کاهش تابع زیان (Loss) بهروز نمیشود، این متنها اطلاعات جدیدی به مدل نمیآموزند. هدف صرفاً شناسایی این است که کدام کانالهای فعالساز برای توزیع دادههای ورودی مورد نظر، حیاتیتر هستند.
همانطور که در تحلیل قبلی ما دربارهی مدیریت حافظه در GPTQ و AWQ از طریق اندازه گروهها (Group Size) اشاره کردیم، درک این نکته حیاتی است که مجموعه کالیبراسیون تنها بر دقت مدل روی ورودیهایی اثر میگذارد که شبیه به آن مجموعه باشند. اگر شما مدلی را با متون انگلیسی کالیبره کنید اما برای کدنویسی پایتون به کار ببرید، مدل پایتون «یاد نگرفته است»؛ بلکه وزنهایش را بهگونهای گرد کرده که الگوهای فعالساز ضروری برای ساختار کد را نادیده گرفته است. در واقع، کالیبراسیون روی دادههای تخصصی، مدل را در آن حوزه باهوشتر نمیکند، بلکه فقط خطای کوانتش را برای ورودیهایی که شبیه به آن دامنه هستند، کاهش میدهد.
روشهای مختلف استفاده از دادهها
خانوادههای مختلف کوانتش، دادههای کالیبراسیون را به روشهای بنیادین متفاوتی مصرف میکنند که منجر به سطوح مختلفی از ریسک میشود:
- GPTQ: این روش یک ماتریس هسین (Hessian) از دادهها میسازد. آمار خاصی که استخراج میشود، $XX^T$ است که ماتریس گشتاور دوم فعالسازهای ورودی به لایه است. این ماتریس نه تنها نشان میدهد کدام کانالها بزرگ هستند، بلکه همبستگی بین آنها را نیز ثبت میکند. GPTQ از این اطلاعات استفاده میکند تا تصمیم بگیرد وزنهای باقیمانده (که هنوز کوانتیده نشدهاند) را چقدر جابهجا کند تا خطاهای گرد کردن جبران شوند. این غنیترین شکل استفاده از داده است و در عین حال بیشترین احتمال بیشبرازش (Overfitting) را دارد.
- AWQ: این روش از بزرگیهای هر کانال (Per-channel magnitudes) استفاده میکند. آمار استخراج شده، برداری است که میانگین مطلق فعالسازها برای هر کانال ورودی را نشان میدهد. از این بردار برای انتخاب مقیاسبندی هر کانال جهت محافظت از کانالهای برجسته (Salient Channels) استفاده میشود و یک توان (Exponent) برای هر لایه از طریق جستجوی شبکهای (Grid-search) بهینه میشود. مقاله AWQ صراحتاً ذکر میکند که کاهش ظرفیت برای بیشبرازش، یکی از انگیزههای طراحی این روش بوده است.
- کوانتش فعالساز استاتیک (W8A8): این روش محدودههای عددی (Ranges) را از دادهها میگیرد. وقتی فعالسازها با مقیاسهای ثابت کوانتیده میشوند، مجموعه کالیبراسیون تعیین میکند که هر تنسور فعالساز در زمان اجرا چه محدوده عددی را اشغال میکند. این روش شدیدترین حالت شکست را دارد: اگر یک ورودی در دنیای واقعی از محدوده کالیبره شده فراتر رود، ویژگیها «برش» (Clip) میخورند که اغلب کیفیت خروجی را بهطور کامل نابود میکند.
به دلیل این ریسکها، روشهای «فقط وزن» (Weight-only) برای استنتاج محلی پیشفرض هستند، زیرا در برابر مجموعههای داده ناقص، منعطفترند. کوانتش پویا (Dynamic Quantization) نیز با محاسبه محدوده در زمان اجرا، مشکل برش (Clipping) روشهای استاتیک را حل میکند.
خطر عدم تطابق توزیع (Distribution Mismatch)
وقتی توزیع دادههای کالیبراسیون با توزیع دادههای استقرار (Deployment) متفاوت باشد، «بودجهی جبران خطا» در جای اشتباه هزینه میشود. در حلقه GPTQ، جبران خطایی که پس از گرد کردن ستون $j$ اعمال میشود، توسط درایههای ماتریس هسین برای آن ستون مقیاسبندی میشود.
ستونهایی که کانالهای ورودی آنها توسط متن کالیبراسیون بهشدت تحریک شدهاند، اصلاحات بزرگ و دقیق دریافت میکنند. در مقابل، ستونهایی که کانالهایشان در آن متن تقریباً خفته بودهاند، تقریباً هیچ جبرانی دریافت نمیکنند. از دیدگاه الگوریتم، هیچ مشکلی وجود ندارد؛ زیرا هدف را روی توزیعی که به آن داده شده بود، بهینه کرده است. اما اگر آن توزیع، همان توزیعی نباشد که در محیط عملیاتی استفاده میشود، مدل شکست میخورد.
یک مثال رایج، مدلهایی است که روی متن خام وب کالیبره شدهاند اما بهعنوان مدل چت (Instruction-tuned) استفاده میشوند. توکنهای خاصی که در قالبهای چت (Chat Templates) برای جداسازی نوبتهای گفتگو استفاده میشوند، در زمان عبور دادههای کالیبراسیون نامرئی هستند. در نتیجه، کانالهایی که این توکنها فعال میکنند، بهصورت تصادفی گرد میشوند و باعث میشوند مدل از فرمت پاسخدهی خود خارج شود (Drift). این مورد بهعنوان رایجترین اشتباه عملی در کالیبراسیون ذکر شده است.
بهترین روشها برای انتخاب مجموعه داده (Corpus Selection)
برای جلوگیری از این تلهها، نویسنده چندین استراتژی عملی برای انتخاب دادههای کالیبراسیون پیشنهاد میکند:
- تطبیق کامل ورودی: از آنچه مدل در واقعیت خواهد دید شروع کنید. اگر مدل قرار است کد منبع بخواند، فایلهای کد را بگنجانید. اگر هر درخواست در یک قالب چت قرار میگیرد، آن قالب را به نمونههای کالیبراسیون اعمال کنید، از جمله تمام توکنهای خاص.
- تضمین تنوع: مجموعهای شامل ۱۰۰ پرامپت تقریباً یکسان، تنها بخش کوچکی از فضای فعالساز را میپیماید و بقیه مدل را بدون هیچ اطلاعاتی گرد میکند. ترکیب یک مجموعه داده عمومی با متون تخصصی، یک راهکار حفاظتی استاندارد است.
- همراستایی طول توالی: طول توالی را با محیط استقرار مطابقت دهید. آمارهای فعالساز حاصل از نمونههای ۲۵۶ توکنی، اطلاعات کمی درباره یک درخواست ۱۶ هزار توکنی در لایههایی که ساختارهای بلندمدت را پردازش میکنند، ارائه میدهند.
- استفاده از پیشفرضهای مرجع: در صورت تردید، از پیشفرضهای منتشر شده استفاده کنید. مقاله GPTQ از ۱۲۸ قطعه تصادفی ۲۰۴۸ توکنی از مجموعه C4 استفاده کرد. ابزار GPTQConfig هنوز نامهای "c4"، "c4-new" و "wikitext2" را میپذیرد. یک مجموعه داده عمومی، پیشفرضی قابل دفاع است؛ اما یک مجموعه تخصصی که بد انتخاب شده باشد، بدتر است.
- ارزیابی درست: نتیجه را روی تسک واقعی خود بسنجید، نه روی مجموعه کالیبراسیون. خطای بازسازی (Reconstruction Error) در برابر دادههای کالیبراسیون، همان هدفی است که الگوریتم همین حالا بهینه کرده است؛ بنابراین تضمین شده است که خوب به نظر برسد و هیچ اطلاعاتی درباره عملکرد واقعی در دنیای واقعی نمیدهد. برای دستیابی به چنین ارزیابیهای دقیقی، میتوان از روشهای سنجش بدون نیاز به اسکریپتهای پیچیده پایتونی بهره برد تا نقاط ضعف مدل در دنیای واقعی سریعتر شناسایی شوند.
هزینه مقیاس
افزایش اندازه مجموعه کالیبراسیون بازدهی نزولی دارد. هدف، یک بازسازی کمترین مربعات (Least-squares reconstruction) برای هر لایه روی کانالهای ورودی است. دادهها فقط باید به اندازهای باشند که ماتریس $XX^T$ را «خوبشرط» (Well-conditioned) کنند؛ یعنی نمونههای مستقل کافی برای تخمین ماتریسی فراهم کنند که طول ضلع آن برابر با بعد ورودی لایه است.
معمولاً چند صد هزار توکن برای دستیابی به این هدف کافی است. افزودن میلیونها توکن دیگر، زمان اجرا را بهصورت خطی افزایش میدهد بدون اینکه بهبود متناسبی در تخمین ایجاد کند. پیکربندی مقاله GPTQ — شامل ۱۲۸ نمونه ۲۰۴۸ توکنی، در مجموع حدود ۲۶۲,۰۰۰ توکن — همچنان نقطه مرجع است و اکثر ابزارها بهطور پیشفرض حجمی در محدوده دو برابر این مقدار را در نظر میگیرند.
یک هشدار نهایی: آمارهای کالیبراسیون در وزنهای منتشر شده حک میشوند. از آنجایی که دادهها برای ایجاد این وزنها از مدل عبور میکنند، کاربران هرگز نباید مدلی را که قصد انتشار عمومی آن را دارند، با استفاده از متون خصوصی مشتریان یا دادههایی که اجازه بازنشر آنها را ندارند، کالیبره کنند.
این تغییر در دیدگاه، کوانتش را از یک مرحله «تنظیم و فراموشی» به یک وظیفه استراتژیک در انتخاب داده تبدیل میکند. برای توسعهدهندگان، این بدان معناست که کیفیت یک مدل کوانتیده، کمتر به الگوریتم و بیشتر به این بستگی دارد که مجموعه کالیبراسیون تا چه حد محیط تولید (Production) را منعکس میکند. برای تضمین اینکه این تغییرات در کالیبراسیون باعث پسرفت در عملکرد مدل نمیشود، پیادهسازی یک پروتکل بازپخش (Replay Protocol) به جای تکیه بر بنچمارکهای ایستا، توصیه میشود.
گام بعدی شما
- اگر مدل کوانتیده شما در رعایت فرمت (مثلاً JSON) مشکل دارد، مجموعه کالیبراسیون را با نمونههای دقیقاً مشابه فرمت خروجی بازبینی کنید.
- در هنگام استفاده از ابزارهایی مثل AutoGPTQ، بررسی کنید که آیا توکنهای سیستمی شما در دادههای کالیبراسیون حضور دارند یا خیر.
- برای مدلهای تخصصی، ترکیبی از ۲۰٪ دادههای دامنه و ۸۰٪ دادههای عمومی (مثل C4) را برای کالیبراسیون امتحان کنید.
اما تأثیر این دقت در انتخاب دادهها بر هزینه استنتاج در مقیاس صنعتی حتی حیاتیتر است — به تحلیل ما دربارهی بهینهسازی VRAM در مدلهای بزرگ مراجعه کنید.




گفتگو