指令微调是连接原始语言模型(只能补全文本)和实用助手(能够遵循指令)之间的桥梁。没有它,即使是最强大的基础模型也只会生成听起来合理的文本,而不会真正执行你的要求。它可以说是最重要的后训练步骤。
流程:收集数千到数百万个覆盖不同任务的(指令,理想回复)对——问答、摘要、编程、创意写作、数学、对话。使用标准监督学习在这些数据对上微调基础模型(在给定指令的条件下最小化回复 token 的损失)。模型学习到一种元模式:"当收到指令时,产生一个有帮助的回复。"
指令微调(监督微调 / SFT)通常是第一个后训练步骤,随后通过 RLHF 或 DPO 进行对齐。SFT 教会模型格式和基本的有用性。RLHF/DPO 则进一步优化行为——使回复更有帮助、更无害、更好地校准。一些方法(如 ORPO)将 SFT 和偏好对齐合并为一个步骤。
研究一致表明,少量高质量的指令-回复对优于大量低质量数据。LIMA 论文(Zhou 等人,2023年)表明,仅用 1,000 个精心策划的示例进行微调就能产生令人惊讶的好结果。关键在于多样性(覆盖多种任务类型)和质量(真正优秀的回复,而非仅仅合格)。这就是为什么指令数据策划已成为一个专业领域。