← 返回题目列表

量化校准数据应该如何选择?为什么会影响模型精度?

高频 中等 第 5 / 25 题 更新于 2026/09/18
模型压缩量化校准PTQ评测数据分布

简化版

量化校准数据用于估计权重或激活的数值范围、scale、zero point 和重要通道。如果校准数据和真实业务分布差异很大,量化参数会偏,模型在上线任务上的精度和稳定性就会下降。

详细版

  • PTQ 通常依赖少量校准样本,不需要完整训练集。
  • 校准样本要覆盖真实输入长度、语言、格式、领域和边界情况。
  • 激活量化对校准分布更敏感,因为激活随输入变化。
  • 校准集不是评测集,二者应该分离。
  • 需要比较困惑度、任务指标和人工错误类型,而不是只看单一数字。

完整版教学

这道题考察候选人是否理解量化质量不是算法单独决定的,数据分布同样关键。

一、这题真正考什么

这道题考察候选人是否理解量化质量不是算法单独决定的,数据分布同样关键。

校准用少量代表性输入估计激活或权重的范围、分位数和误差目标,从而选择 scale、zero point 与裁剪阈值。它不更新模型能力,却决定浮点分布怎样映射到有限整数格点。

二、核心机制怎么工作

量化要把连续值映射到有限整数网格。校准数据决定系统观察到的最大值、分位数、通道重要性和 outlier 分布,从而影响 scale 的选择。若校准集只包含短英文,而线上是长中文表格问答,激活范围可能完全不同。

MinMax 保留完整范围但容易被极值拉大步长;Percentile 主动裁剪长尾;MSE 或 KL 搜索在舍入误差与饱和误差间折中。静态激活量化在离线固化范围,动态量化则按请求或 token 统计,精度与运行开销不同。

三、带数字的拆解

准备用 128 条样本校准一个客服模型。若 120 条都是闲聊,只有 8 条包含订单表格,那么量化后在表格问答上可能频繁丢字段。更合理的做法是按线上流量配比抽样,并额外加入高风险边界样本。

对称量化:scale = max(abs(x)) / (2^(b-1)-1)
非对称量化:scale = (x_max - x_min) / (2^b - 1)
校准误差来源 = 分布偏移 + outlier 处理 + 样本覆盖不足

四、流程图和工程落点

可以把它拆成下面这条链路来讲:

分析线上请求分布
   |
抽取代表性样本
   |
加入长尾和边界样本
   |
运行校准
   |
量化模型
   |
独立评测集验收

五、和相近方案怎么区分

数据类型用途注意点
校准集估计量化参数小而代表性
评测集衡量质量不能参与校准调参过度
训练集学习参数PTQ 通常不用完整训练
线上样本分布参考需脱敏和合规

六、上线或训练时最容易踩的坑

  • 不要用评测集反复挑量化参数,否则会过拟合评测。

  • 短 prompt 校准出的参数,不一定适合长上下文 decode。

  • 校准预处理必须与线上完全一致,包括 chat template、截断、图像尺寸和特殊 token,否则统计的是另一套输入。

  • 只看整模型平均误差会漏掉敏感层,应做逐层替换与长尾任务回归来定位混合精度保留点。

七、常见误区与追问

  • 误区:校准数据越多越一定好。 规模超过分布覆盖需求后收益很小;大量偏科样本反而会让范围向高频场景倾斜。
  • 误区:校准集可以随便选几段维基百科。 真实请求的语言、长度、格式和领域决定激活分布,通用文本无法代表代码或结构化输出。
  • 误区:只量化权重就完全不需要数据。 简单 round-to-nearest 可以不用数据,但 GPTQ、AWQ 等权重量化仍靠校准激活估计输出敏感度。
  • 追问:为什么激活量化比权重量化更依赖校准? 激活随输入动态变化且常含 outlier,固定 scale 必须覆盖线上分布;权重是静态张量,可直接完整扫描。
  • 追问:校准样本数量通常如何权衡? 逐步增加样本并观察 scale、裁剪率和任务指标是否稳定;稳定后继续增加只会提高转换成本。
  • 追问:如何发现校准集和线上分布不一致? 比较 token 长度、语言、领域、激活分位数和饱和率,并用线上回放样本做独立验证。

八、加强记忆

记住“量化是在给数值尺子定刻度,校准数据决定尺子看过什么”。尺子没见过线上形态,刻度就可能不合适。

校准的本质是拿代表性输入决定“整数尺子的刻度”。记住覆盖比分量更重要,范围太宽浪费分辨率,裁剪太狠产生饱和,最终选择必须回到任务质量。