ai-infra-interview-305

第 122 题:量化校准(calibration)的数据集选择?多少样本足够?

题目

量化校准(calibration)的数据集选择?多少样本足够?


完整讲解

一、校准的目的

量化校准(calibration)指在 PTQ 中,用一批无标签或带标签数据跑一遍前向,统计激活(及可选权重)的分布(min/max、直方图、分位数等),据此确定每层或每 channel 的 scale、zero_point 等量化参数。校准数据不需要与下游任务完全一致,但分布应接近真实推理输入,否则 scale 会偏,导致 clipping 或分辨率浪费。

二、数据集选择

常用做法:从训练集或公开语料中随机采样若干条(或句子/段落),保证覆盖不同长度与类型即可;有时用验证集子集。无训练数据时可用通用文本(如 Wikipedia 片段)。关键不是「任务标签」而是激活分布有代表性;若模型有多模态或多场景,可每类采样一些。避免只用极短或极长序列,以免分布偏颇。

三、多少样本足够

经验上 几百条(如 128~512 条)序列往往足够让 per-tensor 或 per-channel 的 min/max 或分位数稳定;更多(如 1024~2048)收益递减。若用 MSE 等更复杂校准(如选最优 clip 百分位),可适当增加。大模型 PTQ 常见 256~512 条;校准时间远小于训练,不必追求海量数据。


面试要点


记忆要点

  1. 校准 = 前向统计激活分布 → 定 scale/zero_point;数据分布要接近推理。
  2. 数据 = 随机采样、覆盖长度与类型;可不带任务标签。
  3. 样本数:几百条常用,256~512 足够;更多收益有限。
返回模块 返回总览