AI原生工程:监督微调(SFT)技术详解
SFT通过人工标注的"指令-回答"配对数据训练模型,使其掌握理解人类指令并给出恰当回应的能力,这是将"文本续写器"转化为"对话助手"的关键环节。
大型语言模型演变为日常使用的AI助手通常需要三个步骤:
预训练赋予模型知识基础和语言能力,但模型仅会"接续文本"而不懂得"回答问题"。SFT的目标就是教会它"面对用户提问时应该如何作答"。
回顾之前课程中的例子:
"
完成SFT后:
表面上看变化微小,但这一步意义重大——模型从"自言自语的内容生成者"转变为"能够理解用户意图并直接回应的助手"。
监督是机器学习中的基础概念。它的含义是:训练数据包含标准答案,模型的任务是学会输出这些标准答案。
与之相对的是"无监督学习"——训练数据不含标准答案,模型自行发现数据中的模式。预训练即属于无监督学习(更准确说是"自监督学习"),因为它仅预测下一个Token,没有人为指定"正确结果"。
进入SFT阶段后,"监督"出现了:人工标注了大量"问题-答案"配对,告知模型"面对此类问题应当这样回答"。模型的目标是使其输出尽可能贴近这些标准答案。
SFT的数据核心格式非常简单,即一组组的"指令"和"回答":
但在实际工程中,数据会更加多样,通常包含以下几种类型:
单轮问答:最基础的形式。一问一答。
多轮对话:包含历史上下文的连续交流,训练模型理解对话语境。
带系统提示(System Prompt)的数据:训练模型遵循系统级指令。
拒绝回答类数据:训练模型在面对有害请求时能够拒绝回应。
这是SFT中最花费资金和时间的阶段。主要涉及几个