← 返回题目列表

PTQ 校准集需要多大?如何选样本?

中等 第 20 / 25 题 更新于 2026/09/18
模型压缩AI技术大模型面试题

简化版

PTQ 校准集没有固定“128 条就够”的答案。它不是为了重新训练,而是估计权重/激活范围、Outlier 和量化参数;所需规模取决于模型、位宽、量化粒度、激活是否量化及线上分布复杂度。

优先保证代表性,再增加数量:按语言、任务、输入长度、格式和安全长尾分层抽样,去重且与最终评测集隔离。逐步增加 32、64、128、256… 个样本,观察 Scale、裁剪率和验证质量是否稳定,在边际收益趋平时停止。

详细版

production profile -> stratified sample -> collect activation stats
                   -> fit scales/clipping -> quantize
                   -> independent quality & hardware benchmark
因素对校准规模的影响
Weight-only通常较小,部分算法仍需激活样本
W8A8/低比特激活更依赖覆盖
长上下文需覆盖长度与位置
多语言/多任务每个关键切片都需样本
Outlier 明显需稳定估计尾部

样本条数不如有效 Token 和切片覆盖有意义。必须用独立验证集评估平均、长尾、安全、格式与目标硬件性能,避免在校准数据上挑配置再报告同一数据结果。

完整版教学

1. 校准集在 PTQ 中做什么

它用于估计张量分布、Scale、Zero Point、裁剪阈值,或为 GPTQ/AWQ 等算法提供激活与误差信息。

它不是微调集,通常不需要标签,但输入分布必须能代表部署负载。

算法读取的是前向传播产生的统计,因此样本答案是否完整通常不如 Prompt 覆盖重要;不过需要 Loss/Hessian 或序列级选择的算法,仍可能使用目标 Token。

2. 为什么没有固定样本数

单一英语分类与多语言长上下文 Agent 的分布复杂度不同;INT8 与 INT4 对统计误差的容忍也不同。

因此答案应是收敛实验与覆盖标准,而不是一个脱离任务的魔法数字。

3. 条数还是 Token 数

十条 32K 文档与十条 100 Token 问题提供的激活观测量不同。记录样本数、总 Token 和长度分布。

effective_coverage = task × language × length × format × risk

不能仅靠总 Token 掩盖某关键切片完全缺失。

4. 如何从线上分层抽样

按任务、语言、租户类型、输入长度、结构化格式和风险等级建立桶,再按实际流量加关键长尾保底。

隐私数据先授权和脱敏;同一模板与重复请求降采样,避免统计被热点重复内容支配。

抽样 Manifest 保存每个桶的目标比例、实际数量和来源时间窗口,确保模型升级后能复现,并能识别线上分布变化。

5. 长上下文如何校准

覆盖短、中、长和极长长度,并让关键信息出现在不同位置。只把短样本拼长,未必产生真实长文注意力分布。

Position、KV 与激活 Outlier 可能随长度变化,因此长上下文模型不能仅用 512 Token 校准。

6. Outlier 样本要不要多放

完全按流量抽样可能看不到稀有极值,完全用极端样本又会把 Scale 拉宽。采用真实分布主体加少量关键极端配额。

采样方式优点风险
纯随机无偏近似流量长尾缺失
均匀分层覆盖充分偏离真实权重
极端优先发现范围边界普通值分辨率下降
加权混合平衡覆盖与频率需管理权重

最终用验证集选择裁剪与 Scale。

7. 如何判断规模收敛

从小规模开始倍增,重复多次不同 Seed,观察验证指标、层级 Scale、饱和/裁剪率和配置稳定性。

若 128→256 样本质量变化已很小、不同 Seed 结论一致,可停止;若关键切片仍波动,则定向补样本而非盲目全局扩量。

8. 校准与验证为何要分开

同一批数据既估 Scale 又选方案,会对该批分布过拟合。最终质量报告必须来自未参与校准和阈值选择的评测集。

若反复查看验证集调参,还应保留最终测试集,防止决策泄漏。

9. Weight-only 也需要数据吗

简单 Min-Max 权重量化可不依赖输入,但 GPTQ 利用近似 Hessian,AWQ 根据激活识别重要通道,都需要代表性样本。

它们对规模敏感度可能小于激活量化,但分布偏差仍会影响重要性估计。

例如 AWQ 若未看到代码激活中的关键 Outlier,可能错误量化承载代码能力的通道;所以“只量权重”不等于“数据分布无关”。

10. 激活量化为什么更敏感

激活由实际输入决定,动态范围随语言、长度和任务变化。静态 W8A8 Scale 对校准覆盖更依赖。

动态量化可按请求估 Scale,降低分布漂移风险,但增加运行时开销;两者需在目标硬件比较。

11. 数据预处理必须一致

使用与生产相同 Tokenizer、Chat Template、截断、Padding 和多模态预处理。否则采到的是另一条执行链路的统计。

模型版本、Adapter 与量化配置绑定;更换任一项要重新确认校准是否适用。

12. 怎样控制成本

先用层级统计与小验证集粗筛组大小、裁剪方法,再对候选配置运行完整评测。缓存校准激活时记录模型哈希,防止误复用。

按贡献做主动采样,可优先添加让 Scale 或质量结论变化最大的切片。

13. 如何验收

比较 FP16 与候选 PTQ 的通用、长尾、安全、Schema、长上下文和校准误差;性能测目标硬件的 TTFT、TPOT、吞吐、显存。

线上灰度监控分布漂移和失败切片。新领域/语言流量显著增加时触发重新校准与回归。

PTQ 校准集追求的是足够覆盖目标激活分布,而不是达到某个看起来标准的样本条数。

14. 常见误区与追问

  • 误区:所有模型用 128 条即可。 位宽、任务和分布复杂度不同。
  • 误区:样本越多一定越好。 重复和分布偏差不会靠数量修复。
  • 误区:校准集无需长尾。 低比特最可能伤害未覆盖切片。
  • 误区:Weight-only 完全不需要数据。 GPTQ/AWQ 等仍使用激活统计。
  • 误区:在校准集上质量稳定即可。 必须用独立评测集。
  • 追问:何时停止加样本? 多 Seed 下 Scale 与关键指标边际变化趋平。
  • 追问:条数和 Token 看哪个? 两者都看,并以切片覆盖为核心。

15. 加强记忆

  1. 先定用途:估范围、Outlier、Scale 与误差。
  2. 再看复杂度:位宽、激活、任务、语言和长度。
  3. 再做分层:真实流量加关键长尾保底。
  4. 再记 Token:条数不能代表激活覆盖。
  5. 再做收敛:倍增规模、多 Seed、看边际收益。
  6. 再隔离评测:校准、验证、最终测试分开。
  7. 最后上线:监控分布漂移并按需重校准。