M4-103M4: Sequences & TransformersModel Compression & DistillationHard
Mastery:

Model Compression & Distillation: 解释量化感知训练(QAT)与训练后量化(PTQ)的取舍。

📐 Mathematical Definition
PTQ: W^=Q(W) (no training);QAT: W^=Q(W+STE), learn W\text{PTQ}:\ \hat W=Q(W)\ (\text{no training});\qquad \text{QAT}:\ \hat W=Q(W+\text{STE}),\ \text{learn }W
⚡ Executive Summary
Core Concept: PTQ 无需重训、成本低但精度损失较大(低比特时);QAT 在训练中模拟量化、精度最好但需重训与标注数据。

📌 Key Takeaways

  • •
    PTQ:训练后直接量化(用校准数据),零训练成本
  • •
    QAT:训练时插入伪量化,用 STE 传梯度
  • •
    比特越低,QAT 的优势越明显(INT4 以下几乎必须)

📐 Mathematical Derivations

数学机理:<strong>PTQ(Post-Training Quantization)</strong>——模型训练完后,用少量<strong>校准数据</strong>(几百到几千样本)统计激活/权重的分布,确定量化参数(scale/zero-point),然后直接量化。<strong>优点</strong>——<strong>零训练成本</strong>(不需要反向传播、不需要标注数据)、流程简单、可快速迭代。<strong>缺点</strong>——(a) <strong>精度损失</strong>(尤其低比特,如 INT4/INT3);(b) 无法让模型'适应'量化误差(模型的权重是为全精度优化的);(c) 对<strong>离群值</strong>敏感(激活中的极端值会撑大量化范围、压缩有效精度)。<strong>QAT(Quantization-Aware Training)</strong>——在训练(或微调)时<strong>插入伪量化(fake quantization)节点</strong>:前向用'量化→反量化'(模拟量化误差),反向用 <strong>STE(Straight-Through Estimator)</strong> 传梯度(因为 round 操作不可导,STE 直接用'恒等梯度'近似:∂round(x)/∂x≈1)。这样模型在训练中<strong>感知</strong>量化误差并调整权重以补偿。<strong>优点</strong>——(a) <strong>精度最好</strong>(可接近全精度,尤其在低比特);(b) 可学习量化参数(scale 也可训练)。<strong>缺点</strong>——(a) 需<strong>重训/微调</strong>(成本高);(b) 需训练数据(有时是标注数据);(c) 流程复杂(训练管线改造)。<strong>选择逻辑</strong>——(a) <strong>INT8 PTQ</strong> 通常已足够(精度损失 <1%),是默认选择;(b) <strong>INT4 及以下</strong> 通常需要 QAT(或先进 PTQ 如 GPTQ/AWQ,它们用二阶信息/激活感知来改善 PTQ);(c) 若有充足训练资源且追求极致压缩 → QAT。<strong>中间方案</strong>——'PTQ + 少量微调'(如 QLoRA 的量化 + LoRA 微调)兼顾成本与精度。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>STE 的直觉与局限</strong>——STE 假设'round 的梯度为 1',这在量化格点内是合理的(小扰动不改变舍入结果时,梯度确实为 0;但 STE 用 1 是为了让训练能进行);它是有偏估计但实践有效。这是'不可导操作的实用近似'的经典例子。② <strong>先进 PTQ 方法</strong>——(a) <strong>GPTQ</strong>:逐层用 Hessian(二阶信息)最小化量化误差,可在 INT4 下达到很好效果(几乎不需重训);(b) <strong>AWQ</strong>:保护'激活感知'的显著权重通道(先放大再量化);(c) <strong>SmoothQuant</strong>:把激活的量化难度转移到权重上。这些方法把 PTQ 的可用比特数从 INT8 推到 INT4。③ <strong>离群值问题</strong>——LLM 的激活有极端离群值(少数通道值极大),是 PTQ 的主要障碍;对策:(a) <strong>per-channel/per-token 量化</strong>(细化粒度);(b) <strong>离群值分离</strong>(LLM.int8() 把离群通道单独用 FP16);(c) <strong>缩放</strong>(SmoothQuant)。④ <strong>与 LoRA 的结合(QLoRA)</strong>——把基座模型量化到 4-bit(NF4)冻结,再用 LoRA 微调(LoRA 参数保持高精度);这使'大模型微调'在单卡可行,且质量接近全精度微调。⑤ <strong>量化粒度的谱系</strong>——per-tensor(最粗)→ per-channel/per-token → per-group(如 128 元素一组,GPTQ/AWQ 常用)→ 逐元素(最细);粒度越细精度越高但开销越大。⑥ <strong>面试要点</strong>——被问'QAT vs PTQ',应给出'<strong>PTQ(零训练、有损失)vs QAT(需重训、精度最好)</strong>'与'<strong>比特越低 QAT 优势越明显</strong>',并说明'GPTQ/AWQ 等先进 PTQ 已把可用比特推到 INT4'与'QLoRA = 量化 + LoRA';能解释 STE 是加分。
⚠️ Common Interview Pitfalls
  • ✕
    以为 PTQ 在所有比特下都够用(INT4 以下常需 QAT 或先进 PTQ)
  • ✕
    忽略激活离群值对 PTQ 的影响
🎯 Interviewer Follow-ups
  • ?
    QAT 的 STE 如何传梯度?
  • ?
    什么情况下 PTQ 足够?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM4-102: Model Compression & Distillation: 解释推理加速的几条路线与适用条件。📋Back to BankNext →M4-104: Model Compression & Distillation: 解释量化的精度损失来源与缓解。