8.1 监督微调:教模型“怎么回答”

监督微调(Supervised Fine-Tuning,SFT)是将基础模型转化为能够按指令回答问题的助手模型的第一步。

8.1.1 从续写到对话

预训练模型被训练来续写文本——给它“法国的首都是”,它会接着写“巴黎,位于塞纳河畔...”。但如果直接问它“法国的首都是什么?”,它可能续写出“这是一道地理题...”而非直接回答“巴黎”。

SFT 通过在指令-回答对上训练模型,教会它理解用户的意图并给出恰当格式的回答。训练数据的形式通常为:

用户:法国的首都是什么?
助手:法国的首都是巴黎。

8.1.2 训练过程

SFT 在技术上与预训练完全相同——仍然是最小化下一个词元的预测损失。关键区别在于训练数据的质量和格式

  • 数据由高质量的指令-回答对组成(通常由人工标注或高质量模型生成)

  • 损失只在回答部分计算,指令部分不参与损失(避免模型学习“如何提问”而非“如何回答”)

  • 使用远小于预训练的学习率(如 1e-5 vs 预训练的 1e-4),避免破坏预训练学到的知识

8.1.3 数据质量的影响

研究表明,SFT 的效果对数据质量远比数量更敏感。LIMA 论文证明,仅用 1000 条精心编写的高质量示例进行 SFT,就能获得接近于使用数万条数据的效果。这被称为**“少而精”原则**。

关键是每条训练样本都应该展示出理想的回答方式:格式恰当、内容准确、语气合适、涵盖边界情况的处理。

SFT 后的模型已经能够进行有效对话,但它的回答质量不够稳定——有时会生成有害、不准确或令人不满的内容。这推动了更进一步的对齐技术。

最后更新于