一句话定义:量化校准集(Calibration Dataset)是模型做训练后量化(PTQ,Post-Training AI 词典:Quantization">Quantization)之前,用来「试跑」一遍、统计各层数值分布,据此定下缩放因子(scale)和零点(zero point)的那一小批样本,通常几百条。
它在干什么
量化的本质,是把 float32 的连续数值塞进 int8 的离散格子里。可格子怎么排?先得知道这批数大致落在什么范围。
校准集就是那把尺子:几百条样本喂进模型,只跑前向、不算梯度、不更新权重,逐层记录输出分布,算出每层的量化参数。
打个比方:给全公司做制服,得先定尺码表。只量篮球队,做出来的衣服给小个子穿就像麻袋;随机抽各部门各岗位量一遍,尺码表才通用。校准集就是「被量身的这群人」——量得越像真实用户,衣服越合身。范围定宽了,格子间距大,细节被抹平;定窄了,超出的值被截断(clipping),信息直接丢。两头都掉点。
和相邻概念的区别
| 对比项 | 量化校准集 | 验证集 | 微调数据 |
|---|---|---|---|
| 需要标签 | 不需要 | 需要 | 需要 |
| 更新权重 | 不更新 | 不更新 | 更新 |
| 典型规模 | 几百条 | 几百到几千 | 视任务而定 |
| 作用 | 定 scale 与零点 | 评估好坏 | 提升精度 |
它和量化感知训练(QAT)也不同:QAT 让模型在训练中自己学会适应量化;校准集是 PTQ 的专属步骤,用完即弃。
对实际工作的意义
同样做 8bit 量化,有人几乎无损,有人一量化就「降智」,差别常常不在算法,而在那几百条数据选得对不对。
- 分布要对齐线上。做客服模型就用真实对话,别图省事抓维基百科;一旦错位,量化参数就是照着别人身材做的衣服。
- 警惕异常样本。一条超长文本或极端输入,就能把某层范围撑大,把正常样本的精度空间挤没,抽样时最好按场景、按长度分层覆盖。
- 条数不必贪多。几百条通常已够估出分布,再加收益递减;具体条数依模型结构和工具链而定,以官方文档为准。
- 别拿它当成绩单。校准集只负责定标、不负责评估,用它报效果会偏乐观。
对不写代码的人,这也解释了一件事:同一个模型在不同设备上表现不一样,未必是玄学,可能只是定标时「量的那群人」不同。
