Phase 17: Infrastructure & Production

مقدار تولید AWQ، GPTQ، GGUF K-quants، FP8, MXFP4/NVFP4

فرمت کوانتزیشن یک انتخاب جهانی نیست این یک تابع سخت افزار، موتور خدمت و بار کار است. GGUF Q4_K_M یا Q5_K_M مالک CPU و کناره است که از طریق llama.cpp و Ollama ارائه می شود. GPTQ در داخل vLLM برنده می شه وقتی به چندین LoRA در همان پایه نیاز داری. AWQ با هسته های Marlin-AWQ ~ 741 توک / ثانیه را در یک مدل کلاس 7B با بهترین Pass@1 در INT4 پیش فرض 2026 برای تولید مرکز داده ارائه می دهد. FP8 در میان زمین هاپر، آدا و بلکویل باقی می ماند تقریبا بدون ضرر و به طور گسترده ای پشتیبانی می شود. NVFP4 و MXFP4 (مکروسکالینگ بلیک ویل) تهاجمی هستند و نیاز به اعتبارگذاری در هر بلوک دارند. دو تیم گیرنده: مجموعه داده های کالیبریشن باید با دامنه انتشار مطابقت داشته باشد و کیش KV از کوانتزی وزن جدا شده است درس AWQ "نموذج من اکنون 4 GB است" کیش KV 10-30 GB را در اندازه دسته تولید فراموش می کند.

Type: Learn

Languages: Python (stdlib, toy memory and throughput comparison across formats)

Prerequisites: Phase 10 · 13 (Quantization foundations), Phase 17 · 04 (Serving Engine Internals)

Time: ~75 minutes

اهداف یادگیری

  • شش فرمت کوانتاسیون تولید و نقاط شیرین آن را در سال 2026 نام ببرید.
  • فرمت سخت افزاری (CPU vs GPU، Hopper vs Blackwell) ، موتور (vLLM، TRT-LLM، llama.cpp) و بار کاری (چات روتینی، استدلال، چند LoRA) را انتخاب کنید.
  • حافظه وزن ذخیره شده را محاسبه کنید و حافظه حافظه KV برای فرمت انتخاب شده بدون لمس باقی بماند.
  • خطای کالیبریشن-داتاست را نام دهید که مدل های کوانتزی شده در ترافیک دامنه را کاهش می دهد.

مشکل

کوانتزیزاسیون حافظه و عرض باند HBM را کاهش می دهد، که دقیقاً همان چیزی است که نیاز به رمزگذاری دارد. یک مدل FP16 70B دارای وزن 140 جی بی است. وزن را به INT4 (AWQ یا GPTQ) و مدل 35 جی بی است که در یک H100 با فضای ذخیره سازی KV قرار می گیرد. این مهم است زیرا در 128 دنباله همزمان با زمینه 2k، ذخیره سازی KV به تنهایی 20-30 جی بی است.

اما کوانتيزيشن آزاد نیست. کوانتيزيشن تهاجمي کيفيت را به خصوص در وظایف سنگين استدلال تباه مي کند. فرمت های مختلف با موتورهای مختلف کار مي کنند. سخت افزار های مختلف دقت های مختلف را به طور بومی پشتیبانی می کنند. چیاپايي فرمت 2026 واقعی است و شما نمی توانید انتخاب شخص دیگری را کپی کنید.

مفهوم

شش فرمت

FormatBitsSweet spotEngines
GGUF Q4_K_M / Q5_K_M4-5CPU, edge, laptopsllama.cpp, Ollama
GPTQ4-8Multi-LoRA on vLLMvLLM, TGI
AWQ4Datacenter GPU productionvLLM (Marlin-AWQ), TGI
FP88Hopper/Ada/Blackwell datacentervLLM, TRT-LLM, SGLang
MXFP44Blackwell multi-userTRT-LLM
NVFP44Blackwell multi-userTRT-LLM

GGUF پیش فرض CPU/ Edge

GGUF یک فرمت فایل است، نه یک طرح کوانتاسیون به خودی خود. این انواع K-quant (Q2_K، Q3_K_M، Q4_K_M، Q5_K_M، Q6_K، Q8_0) را در یک کانتینر جمع می کند. Q4_K_M و Q5_K_M پیش فرض تولید هستند. کیفیت نزدیک به BF16 در 4-5 بیت. بهترین انتخاب برای CPU یا کنت سرویس گیری است زیرا llama.cpp به دور سریع ترین موتور نتیجه گیری CPU است.

مجازات در vLLM: ~93 tok/s در 7B فرمت برای هسته های GPU بهینه نشده است. استفاده از GGUF زمانی که هدف انتشار CPU / edge است.

GPTQ Multi-LoRA در vLLM

GPTQ یک الگوریتم کوانتزی بعد از آموزش با یک گذر کالیبریشن است. هسته های مارلین آن را در GPU (2.6x سرعت در مقابل غیر Marlin GPTQ) سریع می کنند. ~ 712 توک / ثانیه در 7B.

برنده ی منحصر به فرد: GPTQ-Int4 از آداپتورهای LoRA در vLLM پشتیبانی می کند. اگر شما یک مدل پایه و 10 تا 50 نوع باریک (هر یک به عنوان LoRA) را ارائه می دهید، GPTQ راه شما است. NVFP4 هنوز از LoRA پشتیبانی نمی کند تا اوایل سال 2026.

AWQ GPU مرکز داده پیش فرض

مقدار سنجی وزن آگاهانه فعال سازی. از وزن های برجسته در طول مقدار سنجی محافظت می کند. هسته های Marlin-AWQ: 10.9x سرعت در مقابل بی نقص. ~ 741 tok / s در 7B، بهترین Pass@1 در میان فرمت های INT4.

برای ارائه GPU جدید AWQ را انتخاب کنید مگر اینکه به چندین LoRA (GPTQ) یا Blackwell FP4 (NVFP4) تهاجمی نیاز داشته باشید.

FP8 قابل اعتماد وسط

8-بیت نقطه شناور. تقریبا بدون ضرر. پشتیبانی گسترده ای. کورهای هپر تنسر FP8 را به صورت بومی تسریع می کنند. بلکویل ارث می گیرد. FP8 معیاری ایمن 2026 است وقتی کیفیت قابل مذاکره نیست (بررسی، پزشکی، کد ژن). صرفه جویی حافظه نیمی از INT4 است اما خطر کیفیت بسیار پایین تر است.

MXFP4 / NVFP4 بلیک ویل تهاجمی

مقیاس کوچک FP4. هر بلوک وزن دارای فاکتور مقیاس خود است. پرخاشگرانه اما سخت افزاری در Blackwell Tensor Cores. نصف بایت ها در هر توکن در مقابل FP8 پیروزی اقتصادی در مرحله 17 · 07.

غار ها

  • هنوز حمایت از LoRA وجود ندارد ( اوایل سال 2026).
  • کاهش کیفیت در بار کار سنگین استدلال قابل مشاهده است.
  • بر اساس مجموعه ارزیابی شما در هر مدل تایید کنید.

تله کالیبراسیون

AWQ و GPTQ نیاز به یک مجموعه داده های کالیبریشن دارند. معمولا C4 یا WikiText. برای مدل های دامنه (کد، پزشکی، قانونی) ، کالیبریشن بر روی متن وب عمومی به الگوریتم اجازه می دهد تصمیمات غلط در مورد وزن هایی که باید محافظت کند را بگیرد. Pass@1 در HumanEval می تواند چندین امتیاز را کاهش دهد.

راه حل: بر اساس داده های داخل دامنه، کالیبر کنید. صدها نمونه دامنه معمولا کافی است. قبل از ارسال، بر روی مجموعه ارزیابی آزمایش کنید.

تله کش KV

AWQ وزن را به 4 بیت کاهش می دهد. KV cache جداگانه است و در FP16 / FP8 باقی می ماند. برای مدل 70B با AWQ:

  • وزن: ~ 35 جی بی (INT4 از 140 جی بی).
  • حافظه کش KV در 128 مواقعی × 2k: ~ 20 جی بی.
  • فعال سازی: ~ 5 جی بی
  • مجموع: ~ 60 جی بی در H100 80 جی بی قرار دارد.

"من مدل ام رو به 4 گيبايت کوانتيز کردم" به طور نابغه 30 تا 50 گيبايت ديگه رو فراموش ميکنه.

به طور جداگانه، کوانتاسیون کیش KV (FP8 KV یا INT8 KV) یک انتخاب متفاوت با تعادل های خود است این به دقت توجه مستقیماً تأثیر می گذارد و برنده رایگان نیست.

AWQ INT4 برای استدلال خطرناک است

زنجیره فکر، ریاضیات، کد ژن با زمینه طولانی این ها به طور قابل مشاهده از کوانتزیشن تهاجمی رنج می برند. AWQ INT4 از دست می دهد ~ 3-5 امتیاز در MATH. برای بار کار سنگین استدلال، FP8 یا BF16 را ارسال کنید؛ هزینه حافظه را بپذیرید.

راهنمای انتخاب 2026

  • سرویس CPU/ Edge: GGUF Q4_K_M. انجام شد.
  • سرویس گپيو، چت روتيني، بدون لورا
  • گپتون سرو، چند لورا: GPTQ با مارلین
  • بار کار استدلال: FP8.
  • مرکز داده بلیک ویل، کیفیت تایید شده: NVFP4 + FP8 KV.
  • مبهم: یک ارزیابی 1000 نمونه را در هر فرمت کاندید انجام دهید.

ازش استفاده کن

code/main.pyاندازه گیری نقش حافظه (وزن + KV + فعال سازی) و تولید نسبی در شش فرمت برای طیف وسیعی از اندازه های مدل را محاسبه می کند. نشان می دهد که KV cache در کجا غالب است، فشرده سازی وزن در کجا پرداخت می شود و FP8 انتخاب امن است.

-باده

این درس به ما کمک می کندoutputs/skill-quantization-picker.mdبا توجه به سخت افزار، اندازه مدل، نوع بار کاری و تحمل کیفیت، فرمت را انتخاب می کند و یک برنامه کالیبریشن/تصدیق را تولید می کند.

تمرینات

  1. فرار کنcode/main.pyبرای یک مدل 70B در 128 همزمان با 2k زمینه، کل HBM برای هر فرمت محاسبه کنید. کدام فرمت اجازه می دهد تا شما را در یک H100 80GB قرار دهد؟
  2. شما مدل کد 7B دارید، فرمتی انتخاب کنید و توجیه کنید. اگر در مورد تحمل کیفیت اشتباه کردید، مسیر بازیابی چیست؟
  3. اندازه ی کالیبریشن-داتاست مورد نیاز برای کالیبریشن AWQ برای یک مدل حوزه پزشکی را محاسبه کنید. چرا داده های بیشتر همیشه بهتر نیست؟
  4. کاغذ هسته مارلین-AWQ را بخوانید یا یادداشت های انتشار را توضیح دهید. در سه جمله توضیح دهید که چرا AWQ در 7B 741 توک/س ثانیه را در حالی که GPTQ خام به ~712 می رسد.
  5. چه موقع منطقی است که وزن AWQ را با FP8 KV cache با نگه داشتن KV در BF16 ترکیب کنیم؟

اصطلاحات کلیدی

TermWhat people sayWhat it actually means
GGUF"llama.cpp format"File format bundling K-quant variants; CPU/edge default
Q4_K_M"Q4 K M"4-bit K-quant medium; the production GGUF default
GPTQ"gee pee tee q"Post-train INT4 with calibration; supports LoRA in vLLM
AWQ"a w q"Activation-aware INT4; Marlin kernels; best Pass@1 at INT4
Marlin kernels"fast INT4 kernels"Custom CUDA kernels for INT4 on Hopper; 10x speedup
FP8"eight-bit float"Safe precision default on Hopper/Ada/Blackwell
MXFP4 / NVFP4"microscaling four"Blackwell 4-bit FP with per-block scale factors
Calibration dataset"cal data"Input text used to pick quantization parameters; must match domain
KV cache quantization"KV INT8"Separate choice from weights; affects attention accuracy

خواندن بیشتر

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.