微调数据构造
数据构造四步:定判准、采集与清洗、标注与去重、切出评测集。质量比数量重要 —— 几百条高质量样本常胜过几万条噪声;数据量经验区间按任务类型分档。评测集必须在标注前切开,否则「效果提升」是泄漏出来的。
也叫:训练数据 · 数据构造 · 标注判准 · 数据去重 · 数据量
数据构造的四步出自 T4-4
① 来源 ──► ② 判准 ──► ③ 体检与去重 ──► ④ 切分 │ │ │ │ 线上真实 先定规则 长度/格式分布 评测集必须 分布优先 再开标注 近重复剔除 与训练集异源
① 来源:优先级从高到低是——线上真实 query + 人工修正 > 历史业务数据 > 大模型合成 > 公开数据集。核心判据是分布是否贴近线上。用公开数据集训出来的模型在你的线上分布上通常水土不服。
② 判准先于标注。这是最容易跳过、代价最大的一步。判准没定清楚,标注员会退化到用表面特征做判断——长度、有没有小标题、语气客气不客气。前一篇提到的那个 DPO 故障(chosen 比 rejected 平均短 40%)就是判准缺位的直接后果。判准写完,先让两个人各标 50 条,算一致率;一致率上不去,说明判准本身有问题,这时候改判准比加标注量有用得多。
③ 体检与去重。至少做三件事:
- 近重复剔除:用 embedding 或 MinHash 找相似样本。重复样本会让模型在那个模式上过拟合,同时让评测虚高。
- 分布体检:把关键属性(长度、类别占比、来源渠道、时间跨度)的分布打出来。任何和你预期不符的系统性倾向,都会被原样学进权重。
- 边界样例覆盖检查:每个主类别至少 20–30 条,且必须包含"差点就是另一类"的边界样例。模型学不会边界,是因为你没给边界。
④ 切分:评测集必须与训练集异源。 这是开头故障的直接教训。从同一批数据里随机切 10% 当评测集,切出来的是同一批标注员、同一时间段、同一采样口径的数据,它只能证明模型拟合了这批数据的分布。正确做法是三条至少满足两条:
- 时间上晚于训练集(防止信息泄漏,也检验对新分布的适应)
- 由不同的人标注(检验判准的可复现性,而不是某个标注员的个人习惯)
- 另加一份"任务外"的通用能力评测集(这一条专门用来抓遗忘,见后文)
以上节选自T4-4 数据与副作用:数据怎么造、蒸馏的合规边界、以及微调之后模型为什么变笨了,读全文能看到前后语境。