公司动态
从预训练、SFT(监督微调)到RLHF(偏好微调)的工作流程
目录一、为什么要分三阶段二、全景图一张图看懂三阶段三、阶段一自监督预训练——让模型学会说话四、阶段二监督微调SFT——让模型听懂指令五、阶段三RLHF 偏好微调——让模型懂人心六、三阶段横向对比七、数据流与模型流理清所有箭头八、常见误区与 FAQ九、一句话总结十、延伸阅读RLHF 之外的对齐方法一、为什么要分三阶段一个未经任何对齐处理的裸大语言模型其实是个续写机器——你输入中国的首都是它会接北京但如果你输入请帮我总结这篇文章它很可能接着写出请帮我翻译这篇文章请帮我……这样的续写而不是真的去总结。为什么会这样因为预训练阶段只教了模型一件事根据前文预测下一个词。它学会了语言的形却没学会和人类交互的义。为了让模型从续写机器变成对话助手业界摸索出了一套三段式训练范式阶段一句话概括解决的问题预训练海量文本里学语言会不会说话监督微调SFT人工示范里学指令听不听指挥RLHF人类偏好里学对齐回得好不好、安不安全这三段的数据质量由低到高、数量由多到少模型能力则由通用逐步收敛到对齐人类偏好。下面我们逐段拆解。二、全景图一张图看懂三阶段下文的所有讲解都围绕下面这张流程图展开读图三步法看列从左到右三个大区——预训练、SFT、RLHF。看行每个区内都是数据 → 方法 → 模型自上而下。看箭头模型从左流向右其中监督微调模型是关键枢纽它同时分叉进入 RLHF 的两个子环节。三、阶段一自监督预训练——让模型学会说话一句话速览拿互联网上能抓到的所有文本让模型玩填空/接龙游戏学到语言规律和世界知识。3.1 训练目标让模型掌握通用语言能力与世界知识本质是学习给定前文下一个 token 最可能是什么的概率分布。3.2 输入数据低质量、大规模属性说明来源网页、新闻、论坛、代码仓库、书籍、论文等规模现代大模型通常在数万亿 token上训练TB 级语料质量参差不齐含噪声、错误、偏见、重复内容标注零人工标注——这是自监督成立的前提预处理去重、语言识别、质量过滤、安全过滤、分词关键点预训练数据量大远比质精重要——模型靠海量样本中的统计规律自行涌现能力。3.3 训练范式自监督学习主流的两种任务形式因果语言建模Causal Language Modeling, CLM—— GPT 系列采用给定前文 token 序列预测下一个 token输入: 中国的首都 目标: 是 → 北京掩码语言建模Masked Language Modeling, MLM—— BERT 系列采用随机遮住部分 token让模型预测原值输入: 中国[MASK]是北京 目标: [MASK] → 的当前主流对话大模型GPT、LLaMA、Qwen 等均采用因果语言建模(CLM)因为它是自回归生成的基础。3.4 这个阶段在做什么优化损失函数只关心一件事预测的 token 与真实 token 的差距。它不关心回答是否对用户有用内容是否符合人类价值观输出格式是否是对话形式所以预训练模型是个懂语言但不懂规矩的天才——它能流利续写却不知道该在什么时候停下、该以什么格式回应。3.5 算力占比预训练是三阶段中最昂贵的环节往往占整体训练算力的90% 以上。这也是为什么基座模型的训练被称为炼丹——动辄千卡万卡训练数月。3.6 产出预训练模型Base Model一个通用基座具备语言理解、生成、推理、翻译、代码等基础能力。但不会主动按指令回答——你问总结这篇文章它更可能继续总结这篇文章的方法有……这样的续写。它的输出本质是最可能的下文而不是对用户最有用的回答。四、阶段二监督微调SFT——让模型听懂指令一句话速览用人工写好的指令-回答范例教模型从续写切换到回答变成一个能听懂人话的对话助手。4.1 训练目标让模型学会按照指令/对话形式回答问题把任意续写行为改造成看 prompt → 输出指定 response。4.2 输入数据高质量、小规模属性说明来源人类标注员撰写的示范数据demonstration data形式指令-回答对 (prompt, response)多轮对话工具调用推理链CoT等规模通常几万到几十万条质量极高——每条都需人工撰写或严格筛选成本单条成本远高于预训练数据对比预训练吃的是互联网大杂烩SFT 吃的是米其林定制菜——量少但精。4.3 训练范式监督学习标准的有监督学习给定 (prompt, response)最大化模型生成 response 。4.4 产出监督微调模型SFT ModelSFT 后的模型已经初步具备对话能力——能理解请帮我……总结一下……这类指令。遵循指令格式——知道该输出回答而不是续写。成为进入 RLHF 的起点——在流程图中SFT 模型同时送入分类和强化学习两个子环节。但它仍有局限行为完全由示范数据决定难以表达细微的偏好排序如A 比 B 更好但差距很小。无法直接优化有用性、无害性、诚实性这类多维、模糊的目标。容易过拟合到示范数据的风格泛化性受限。这正是 RLHF 要解决的问题用人类的比较偏好来微调那些写不出来的好。五、阶段三RLHF 偏好微调——让模型懂人心一句话速览先让人类给模型回答排序、训出一个打分器奖励模型再用强化学习让模型朝着拿高分的方向自我进化。RLHF 是流程图最右侧的虚线大框内部又分为两个子环节先训奖励模型再用强化学习优化策略。5.1 子环节 A奖励模型训练Reward Modeling输入对比数据Preference Data对同一个 prompt让SFT 模型采样出多个候选回答通常 2~4 个。人类标注员对这些回答两两比较并排序——“A 比 B 好B 比 C 好”。转化成对比数据三元组(prompt, response_winner, response_loser)。为什么用排序而不是打分让人类给回答打绝对分数很难标定每个人的尺度不同但哪个更好的相对判断更稳定、更一致。训练范式分类Pairwise Ranking把奖励模型当作一个判别器给定 (prompt, response)输出一个标量分数r(prompt, response)。训练信号是winner 的分数应该高于 loser 的分数典型损失采用Bradley-Terry 模型产出奖励模型Reward Model, RM一个冻结的评分函数可对任意 (prompt, response) 打分。在后续强化学习中担任裁判——它替代了昂贵的人类实时反馈让强化学习能大规模跑起来。关键洞察奖励模型本质是把人类偏好蒸馏成一个可微的、可批量调用的标量函数。没有它RLHF 根本无法规模化。5.2 子环节 B强化学习优化RL Fine-Tuning输入提示词Prompts一批新的 prompt 集合不必与 SFT/RM 训练数据完全相同。用途驱动模型在 RL 阶段持续生成新回答再由奖励模型打分。训练范式强化学习以 PPO 为代表把对话生成建模为一个马尔可夫决策过程强化学习要素在 RLHF 中的对应策略PolicySFT 模型被优化的策略网络环境Environment给定 prompt要求生成 response动作Action生成每个 token奖励Reward奖励模型给出的标量分数目标最大化期望奖励产出最终模型Final Model最终模型同时具备三层能力能力层来源基础语言能力预训练指令遵循能力SFT人类偏好对齐RL这就是真正上线服务的对话模型。关于自循环箭头图中强化学习有一个指向自身的循环箭头表示这是一个迭代过程——不断重复生成 → 评分 → 更新策略直到奖励收敛或达到训练预算。六、三阶段横向对比维度预训练监督微调SFTRLHF数据量极大TB 级 / 万亿 token较小万~十万级中等万~十万级偏好对数据质量低含噪声高人工撰写高但只标谁更好标注成本几乎为 0高需写示范中只需排序比较训练范式自监督监督学习分类 强化学习优化目标下一词/掩码预测示范回答最大化奖励分数 KL 约束主要作用学语言与知识学指令遵循学人类偏好对齐产出模型通用基座指令模型对齐后的最终模型算力占比最高90%较低中等七、数据流与模型流理清所有箭头流程图里箭头很多容易看晕。这里把它们拆成数据流和模型流两类来记。7.1 数据流自上而下数据如何进入训练低质量数据互联网 → 自监督预训练高质量数据示范 → 监督微调对比数据人类反馈排序 → 分类训练奖励模型提示词→ 强化学习驱动策略优化规律数据越往后越精标注成本越高但量越小。7.2 模型流自左向右模型如何传递与演进预训练模型→ 监督微调作为 SFT 的初始化权重监督微调模型→ 分类被采样生成候选回答构成对比数据来源同时作为 RM 的初始化基座监督微调模型→ 强化学习作为 RL 的策略起点奖励模型→ 强化学习作为评分函数提供奖励信号强化学习→最终模型训练完成后的产物强化学习→ 自循环持续迭代优化策略核心枢纽监督微调模型是整张图的交通枢纽——它向上游接收预训练基座向下游同时分叉进入 RLHF 的两个子环节。八、常见误区与 FAQQ1预训练模型可以直接拿来对话吗不可以。预训练模型只会续写而非回答。直接用会得到答非所问的续写文本。必须经过 SFT 才具备基本的对话能力。Q2SFT 之后为什么还需要 RLHFSFT 不够好吗SFT 只能学到示范数据里写过的回答但人类的偏好是多维且模糊的有用、无害、诚实很难用有限的示范数据穷尽。RLHF 通过排序比较这种更廉价的标注方式让模型在更大空间里探索什么样的回答更讨人喜欢。Q3奖励模型会不会看走眼会。这就是reward hacking问题——模型可能生成奖励模型给高分、但人类觉得糟糕的内容。PPO 中的 KL 约束、奖励模型的定期更新、以及人类抽检都是缓解手段。Q4三个阶段可以用同一个数据集吗不行。三阶段的数据类型完全不同预训练要海量无标注文本SFT 要指令-回答对RLHF 要偏好排序对。它们各自的训练目标决定了数据形态。Q5RLHF 一定要用 PPO 吗不一定。PPO 是经典选择但也有 TRPO、GRPO 等变体。更进一步DPO 等方法甚至跳过了显式奖励模型直接用偏好对优化策略。Q6预训练数据量那么大为什么质量反而最低因为预训练靠的是统计规律的大量涌现——只要数据量够大模型能从噪声中自己学到语言结构。而 SFT/RLHF 阶段数据量小必须靠精来保证信号质量。两者逻辑不同。九、一句话总结预训练让模型会说话SFT 让模型听指挥RLHF 让模型懂人心。三阶段缺一不可跳过预训练 → 模型没有基础语言能力。跳过 SFT → 模型无法稳定遵循指令RL 信号会极其嘈杂。跳过 RLHF → 模型在是否真的对用户友好、无害、诚实上缺少对齐。数据质量由低到高、数量由多到少模型能力由通用到对齐人类偏好逐步收敛——这就是现代大模型训练的核心叙事。十、延伸阅读RLHF 之外的对齐方法RLHF 并非唯一的对齐路径业界已有多种变体基本都是在不改变预训练 → 对齐两段式骨架的前提下对第三阶段做改造方法核心思路特点DPODirect Preference Optimization跳过显式奖励模型用偏好对直接优化策略流程更简单省去 RM 训练RLAIF / Constitutional AI用 AI 反馈替代人类反馈降低人工标注成本KTOKahneman-Tversky Optimization只需好/坏二元标签无需成对比较数据要求更低ORPO把偏好学习与 SFT 合并为一步减少训练阶段SimPODPO 的改进版去掉参考模型更轻量PRMProcess Reward Model奖励模型从评价最终回答升级到评价每一步推理适合数学/代码等推理任务趋势对齐方法正朝着更简单、更省数据、更省算力的方向演化但预训练 对齐的骨架至今未变。