Zubnet AI学习Wiki › 指令微调
训练

指令微调

别名:指令微调、IFT、SFT
在(指令,回复)对的数据集上微调预训练语言模型,以教会模型遵循指令。一个只能预测文本的基础模型变成了能够回答问题、执行指令并表现得像助手的模型。正是这一步将 GPT 变成了 ChatGPT,或将基础 Llama 变成了 Llama-Chat。

为什么重要

指令微调是连接原始语言模型(只能补全文本)和实用助手(能够遵循指令)之间的桥梁。没有它,即使是最强大的基础模型也只会生成听起来合理的文本,而不会真正执行你的要求。它可以说是最重要的后训练步骤。

深度解析

流程:收集数千到数百万个覆盖不同任务的(指令,理想回复)对——问答、摘要、编程、创意写作、数学、对话。使用标准监督学习在这些数据对上微调基础模型(在给定指令的条件下最小化回复 token 的损失)。模型学习到一种元模式:"当收到指令时,产生一个有帮助的回复。"

SFT vs. RLHF vs. DPO

指令微调(监督微调 / SFT)通常是第一个后训练步骤,随后通过 RLHF 或 DPO 进行对齐。SFT 教会模型格式和基本的有用性。RLHF/DPO 则进一步优化行为——使回复更有帮助、更无害、更好地校准。一些方法(如 ORPO)将 SFT 和偏好对齐合并为一个步骤。

数据质量重于数量

研究一致表明,少量高质量的指令-回复对优于大量低质量数据。LIMA 论文(Zhou 等人,2023年)表明,仅用 1,000 个精心策划的示例进行微调就能产生令人惊讶的好结果。关键在于多样性(覆盖多种任务类型)和质量(真正优秀的回复,而非仅仅合格)。这就是为什么指令数据策划已成为一个专业领域。

相关概念

← 所有术语
← 持续学习 指令遵循 →
ESC