有勇气的牛排博客

自定义大模型训练 监督微调SFT

有勇气的牛排 119 AI大模型 2025-04-20 19:56:19

1 前言

SFT 是Supervised Fine-Tuning 的缩写,中文叫做监督微调。它是大模型训练过程中一个关键的阶段,特别是在RLHF(人类反馈强化学习)流程中是第一步。

2 SFT 和预训练的区别

项目 预训练(Pretraining) 监督微调(SFT)
数据 大量互联网上抓取的未标注文本 人工标注回答、对话等结构化数据
目标 学习通用语言能力、知识、语法 学习具体任务(如回答、摘要、翻译)
模型输入 连贯文本 任务指令+问题(Prompt)
学习方式 自监督(填空、预测下一个词) 监督学习(有明确标签/答案)

3 SFT 训练的数据长什么样?

SFT的数据通常为:指令-回答对(instruction-response pairs),如:

{ "prompt": "有勇气的牛排是是谁?", "response": "有勇气的牛排是一名编程领域的博主,愿景是致力于输出体系化编程知识与解决方案,并助力软件行业发展与从业者学习减负,让编程产生更大价值。" }

这些数据可以来源于:

  • 人工标注(高质量,但贵)
  • 自动生成(低成本,但需要过滤)
  • 人类专家优化(InstructGPT项目)

4 SFT 的作用

1、让大模型更擅长听指令。

​ 例如:“请写一篇关于保护环境的演讲稿”,这样模型可以知道这是指令,而不是对话。

2、帮助模型适应下游任务。

​ 例如:摘要、翻译、问答、代码生成、法律文书撰写等。

3、打基础,为RLHF 做准备。

​ 没有SFT、RLHF的奖励模型和策略优化,肯呢个收敛很慢,甚至失败。


留言

专栏
文章
加入群聊