核心要点

  • 覆盖目标任务分布与指令多样性,避免风格/任务单一

  • 答案要高质量:人工撰写或强模型蒸馏 + 人工校验

  • 统一格式(instruction / input / output),并做去重、去噪、去冲突

  • 质量远比数量重要(LIMA 启示),但需先满足任务多样性的下限

标准回答

构建 SFT 数据集的目标,是用一批高质量的「指令-回答」样本,把预训练模型的能力对齐到「听懂指令、按期望格式作答」上。整个过程可以拆成四步。

第一步:明确任务分布与多样性
先盘点上线后模型真正要处理的任务类型(问答、改写、摘要、抽取、代码、多轮对话等)及其大致占比,按这个分布去组织数据。指令本身也要多样化——同一个意图用不同措辞、不同长度、不同语气表达,避免模型只学会某种固定句式。

第二步:保证答案质量
回答是 SFT 学习的直接目标,质量上限基本由它决定。两条常用路径:

  • 人工撰写/标注:质量高、可控,但成本高、产能低。
  • 强模型蒸馏 + 人工校验:用更强的模型批量生成候选答案,再人工或规则抽检、纠错、过滤。这是 2026 年最主流的低成本扩量方式,关键是别盲信蒸馏结果,要保留校验环节。

第三步:统一格式与清洗
统一成 instruction / input / output 三段式结构,便于训练拼接与 loss mask。然后做三件事:

  1. 去重:精确去重 + 语义近似去重,避免模型对高频样本过拟合
  2. 去噪:剔除答非所问、事实错误、截断、乱码样本。
  3. 去冲突:同类指令给出互相矛盾的答案会让模型无所适从,需统一标准。

第四步:均衡与安全补齐
让难度和长度分布均衡,别让模型只见过简单短样本;并主动加入拒答样本(超纲、违规请求要学会礼貌拒绝)和安全对齐样本

质量 vs 数量
质量远比数量重要。LIMA 的经典启示是:约一千条精心构造的高质量样本,效果可以胜过海量但充满噪声的数据。但这有个前提——这一千条必须覆盖足够的任务多样性。所以更准确的结论是:在多样性达标的前提下,优先堆质量而非堆数量;当多样性不足时,先补全任务覆盖面,再谈精炼。

常见误区

⚠️ 常见踩坑

误以为「数据越多越好」,无脑爬取或蒸馏海量样本却不清洗。噪声、重复和冲突样本会直接拉低对齐效果,甚至让模型学坏;少而精且多样,往往胜过多而杂。

追问

追问 1LIMA 论文的核心结论是什么?它说明数量完全不重要吗?

LIMA 用约 1000 条高质量人工样本做 SFT,效果可媲美用大规模数据微调的模型,说明预训练阶段已习得大部分知识,SFT 主要是「激活」与对齐格式/风格。但它不等于数量不重要——这 1000 条本身经过精心挑选、覆盖多种任务,多样性达标。数量的价值在于撑起多样性和长尾覆盖,一旦多样性满足,再单纯加量边际收益就很低了。

追问 2用强模型蒸馏数据有什么风险?怎么缓解?

主要风险是:会继承教师模型的事实错误与幻觉、风格趋同导致多样性下降、以及可能违反对方模型的使用条款。缓解办法是加入人工或规则校验抽检、用多个教师模型混合生成、对关键事实做检索核对,并对生成结果去重去噪后再入库。

追问 3为什么要专门加入拒答样本?不加会怎样?

如果训练集里所有样本都是「有问必答」,模型会形成「必须给出答案」的倾向,面对超纲、无法回答或违规的请求时容易硬编、幻觉或越界。加入拒答样本能教会模型识别边界、礼貌说明无法作答的原因,是安全对齐和可靠性的重要组成部分。

🔗 相似问题

同一考点的不同问法,面试官可能换着问,一起刷更稳

没找到想看的面试题?把你想看的告诉我们 →

延伸学习

按主题分类的相关资源,便于系统复习