后训练学习¶
intro¶
- 监督式微调 SFT supervised fine-tuning
- 在有标记的问答对上训练模型学习如何遵循指令或者通过复现 “输入提示词 → 期望响应” 的对应关系,来(让 AI)学会使用工具。
- 对于引入新行为特别有效或对模型进行重大修改
- 直接偏好微调 DPO direct preference optimization
- 通过展示好答案和坏答案来教导模型
- 通过对比损失推动模型接近好的响应,远离坏的响应
- 在线强化学习
-
人类提供提示,模型产生响应,奖励函数对答案质量进行评分,模型根据奖励分数进行更新
- 训练奖励模型的方式
- 以人类对响应质量的判断开始,训练一个和人类判断一致的函数来打分
- 近端策略优化 PPO proximal policy optimization
- 可验证奖励 verifiable rewards
- 适用有客观正确性度量的任务,例如数学和编程
- 通过数学检查器或者单元测试来验证正确性
- 这种客观对错构成奖励函数
-
分组相对策略优化 GRPO grouped relative policy optimization
## introduction to post training
what¶
how¶
- respond是模型应该回应的理想回复
- 只对response的token进行训练
- 在线强化学习
- 让模型自己生成回复,并用奖励模型打分,使用奖励信号更新模型
- 同时最大化prompt和response
- 算法和数据的良好协同设计是成功后训练的重要因素
- 评估套件用于跟踪模型性能确保模型表现良好
- 改进任何一个基准都很容易,难的是不让其他领域的能力下降
when¶
basics of SFT¶
- 经过预训练之后的LLM只有token补全的功能,即自回归的预测下一个token
- 对于通过在标注数据上经过SFT之后的LLM,可以变成聊天助手等各种自定义用途
- loss公式可以进一步地写成每个token生成概率的乘积的形式
SFT最佳用例¶
- SFT需要模仿提供的所有数据,如果数据集中有低质量数据模型会被污染。所以质量大于数量
全量微调和参数高效微调¶
- 节省大量内存、计算更高效
- 学习到的更少,忘记的也更少
- 这两种方法和后训练方法是并行的,可以兼容
SFT¶
- 主要是学习输入数据的格式和知识,一般不用于调整风格
- 通过在模板中添加prompt可以调整风格,会导致问答能力下降。容易答非所问
问题
- 这里的一个问题就是在模板格式中在加入固定字符Meow~后模型是否会看到和学习-
- 不理解为啥不行,反正记住SFT从数据集中学习就行了。在模板中加东西没用
DPO¶
- 从模型本身收集同一个问题的多个响应,排序好坏响应
- 避免模型学到正面响应的通用特征。比如都有一些特殊词等。如果这样的话这个数据集上的训练会非常脆弱
大模型后训练(SFT / DPO / 在线RL)核心总结:数据集 + 损失函数 共同决定训练效果¶
结合你聊的「句尾加meow风格」+ L4S参数调优场景,分模块梳理如下:
一、核心总论点¶
大模型后训练不是单一模块起作用,数据集构造方式和损失函数设计两者强耦合,共同决定模型最终学到什么、会不会走捷径、泛化是否稳定。不同后训练算法,本质就是换了「损失函数」,同时对数据集的要求也随之改变。
二、分阶段拆解(SFT → DPO → 在线强化学习)¶
1. 监督微调 SFT¶
- 损失函数:标准逐Token交叉熵损失 特点:对整段序列每个字符一视同仁,长文本、主体内容占比高,损失贡献大;单个结尾风格Token(meow、L4S小参数)权重极低,容易被模型忽略。
- 数据集:单条「输入→输出」配对数据
- 两者结合的表现
- 优点:让模型学会基础格式、语义、句式,建立基础生成范式;
- 短板:想单独优化「结尾风格、局部小特征」很难,纯SFT容易学不到细节;
- 对应你的场景:先用SFT把「句尾带meow」练成常规生成习惯,是后续优化的基础。
2. 直接偏好优化 DPO¶
- 损失函数:偏好对比损失 特点:不逐Token拟合,只对比「成对样本的优劣差异」,天然聚焦两组输出的不同点,非常适合优化风格、偏好、局部特征。
- 数据集:必须构造 (同输入,优回答 / 劣回答) 偏好对
- 两者耦合的关键问题(重点)
- 若数据集特征过于单一(所有正例=正文+固定meow,负例=纯正文): 损失会引导模型只识别「有没有meow」这个表面关键词,学捷径、模型极度脆弱,泛化差;
- 若数据集做多样化变体(不同标点、衔接语气,仅保留「句尾带meow」核心风格): 损失无法靠单一特征投机,模型才能真正学到风格,鲁棒性变强。
- 定位:轻量偏好对齐方案,训练稳定、无需额外奖励模型,承接在SFT之后做风格强化最合适。
3. 在线强化学习(后续进阶)¶
- 损失/优化目标:基于环境实时奖励(连续分值、吞吐量/延迟等量化指标) 特点:动态优化,目标不再是“二选一”,而是持续最大化综合收益。
- 数据集/数据来源:不再是离线标注集,而是模型在线交互实时生成的样本 + 环境即时反馈。
- 两者关系: 依赖真实环境的动态数据+连续奖励损失,解决DPO只能处理静态成对偏好的局限,但训练复杂度、不稳定性也随之上升。
三、三者演进逻辑(问题驱动迭代)¶
- 先用 SFT:靠交叉熵损失 + 单条样本,打好基础能力,但难优化小众细节/风格;
- 针对SFT短板,推出 DPO:改用对比损失 + 偏好对数据集,专门对齐风格、偏好;但数据集质量决定会不会学捷径;
- 针对DPO只能用静态离线偏好的短板,延伸出 在线强化学习:动态数据 + 连续奖励损失,适配实时、动态场景。
全程遵循:换损失函数 → 对应改变数据集构造规则 → 解决上一阶段的缺陷。
四、落地结论(适配你的实验)¶
- 标准稳妥链路:
SFT(建基础风格) → DPO(强化偏好),二者互补,是学习固定风格(meow)的最优组合; - 数据+损失避坑:DPO阶段严禁单一固定特征,必须做样本变体,避免模型投机;
- 底层规律不变:无论哪种后训练方式,想得到什么效果,就要同时设计匹配的损失函数 + 对应的数据集。
online RL¶
总结¶
你的理解方向是对的,但我们可以把这个问题拆解得更精确、更“数学化”一点,帮你彻底搞懂这张图的底层逻辑。
1. 核心结论先给你¶
这张图想表达的,并不是“SFT的示例答案不在模型的解空间里”,而是:
- Online RL(在线强化学习):是在模型已有的“自然生成分布”(native manifold,也就是模型自己会生成的、符合自身知识和语言习惯的回答集合)内部,微调模型的行为。它只强化“好回答”的概率,不会强迫模型生成它本来不会生成的东西。
- SFT(监督微调):是让模型强行模仿一个“外部示例回答”(Example Response to Imitate),这个示例很可能和模型自己的自然生成分布偏差很大。为了拟合这个示例,模型的权重会发生不必要的大幅改动,从而破坏它原本的能力,导致“性能退化”。
2. 用你说的“解空间/流形”来解释¶
这里的“native manifold(原生流形/解空间)”,可以理解成模型在预训练结束后,已经形成的、稳定的生成行为空间:
- 模型的参数在这个流形上时,生成的回答(R1/R2/R3)都符合它学到的语言、知识和逻辑习惯,分布是连续且稳定的。
- Online RL:它的优化目标是“在这个流形里,让好的回答(R1)概率更高,差的(R2/R3)更低”。它的梯度更新是沿着流形内部的方向走的,不会把模型推离这个稳定的区域,所以对原有的预训练能力破坏小。
- SFT:它的目标是“让模型生成和外部示例完全一样的回答”。如果这个示例本身就不在模型的原生流形上(比如示例是人类写的、风格和模型完全不同,甚至有模型不认同的事实),那么模型为了拟合它,就必须大幅调整权重,把自己“拽”到一个它本来不熟悉的区域。这个过程会破坏模型预训练学到的通用知识和语言能力,也就是图里说的“risking unnecessary changes of model weights(冒着权重被不必要改动的风险)”。
你说的“示例答案和生成结果偏移很大”,本质上就是示例分布与模型原生分布不匹配,而SFT的“强制模仿”会放大这种偏移,导致模型偏离自己的稳定流形,进而出现能力退化。
3. 补充一个关键区别:优化目标的本质¶
- Online RL(以PPO为例):是“偏好学习”,它不需要模型完全复刻某个回答,只需要让模型更倾向于生成“被认为更好的回答”。它的优化是相对的、引导性的,不会给模型一个“非它不可”的目标。
- SFT:是“回归任务”,它的目标是让模型的输出和示例回答的分布完全一致(最小化交叉熵损失)。它是绝对的、目标明确的,一旦示例和模型原生分布偏差大,模型就必须“硬改”来拟合。
这也是为什么很多研究发现,SFT如果数据质量不高,反而会让模型“越训越傻”,而基于偏好的RL(尤其是在线RL)在保持模型通用能力上更有优势。
4. 举个通俗的例子帮你理解¶
- Online RL:就像你本来就会说普通话,只是偶尔会说错词。RL只会帮你强化“说对词”的概率,不会让你去学一门完全不同的语言。
- SFT:就像让你强行模仿一个外国人说中文的口音和用词,哪怕你本来的普通话很标准。为了模仿,你可能会改掉很多自己原本正确的发音和表达,结果反而变得不伦不类。
如果你愿意,我可以帮你把这个逻辑和DPO/ORPO这类离线RLHF方法做个对比,看看它们和Online RL、SFT在“流形保持”上的差异,这样你就能把整个RLHF的底层逻辑串起来了。需要吗?























