三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

大模型后训练全解析:SFT、PPO、GRPO、DPO Loss 设计大比拼

大模型后训练全解析:SFT、PPO、GRPO、DPO Loss 设计大比拼

预训练让模型学会语言,后训练让模型学会"做人"。SFT、PPO、GRPO、DPO 看似各成一派,底层却共用同一个框架——真正的分叉点只有一处:Loss 如何设计。本文逐一拆解各方法的 Loss 演化,讲清每种方法跑几张网、靠什么信号驱动更新、能突破什么天花板。

大模型的完整生命周期分两段:

  • 预训练(Pre-training):自监督、海量原始文本、定义模型能力上限——详见《大模型预训练底层全解》
  • 后训练(Post-training):一切让模型"好用"的手段,包括 SFT、PPO(RLHF)、GRPO、DPO、Agent Tuning——本文的主题

两段的底层计算范式完全相同(数据打包、因果掩码、反向传播),真正让它们产生差异的只有一件事:Loss 的设计——哪些位置的预测错误需要被惩罚、用什么目标函数来衡量"好坏"。

注:历史上常见的"预训练 → SFT → RLHF"三阶段说法,是 2022 年 InstructGPT 论文确立的经典路径。随着 DPO、GRPO、RLVR 等方法涌现,后训练内部的方法已大幅分叉,"预训练 / 后训练"两段式是当下更准确的框架。


零、后训练的两种逻辑:监督学习 vs 强化学习

后训练内部的所有方法,本质上只有两种信号来源:

  • 监督学习(SFT / Agent Tuning):给模型一个正确答案,让它模仿。上限被标注数据锁死——人类没有写出来的更好回答,模型永远学不到。
  • 强化学习(PPO / GRPO / DPO):不给标准答案,只给评分信号,让模型自己试错、探索、找到得分更高的策略——能突破标注数据天花板,但工程更复杂。(DPO 在工程形式上类似监督学习,但数学上等价于 RL 目标,详见第四节。)

强化学习(RL)套到大模型里:

经典 RL 概念大模型中的对应物
Agent(智能体)语言模型本身
State(状态)当前 Prompt + 已生成的 token 序列
Action(动作)选择下一个 token
Policy(策略 )模型的概率分布
Reward(奖励)人类打分 / 奖励模型评分 / 可验证结果

一次 RL “回合”:给模型一个 Prompt → 自回归生成完整回答 → 获得 Reward 标量 → 更新参数(鼓励高分回答,抑制低分回答)。循环往复,模型不断进化。

这是 SFT 做不到的:SFT 让模型复现人类示范,RL 让模型超越人类示范。DeepSeek-R1 的推理涌现,正是模型在 GRPO 的在线探索中自己发现的推理链,不是人工标注喂进去的。

在线(On-policy)vs 离线(Off-policy),是 RL 类方法之间最核心的区别(监督类方法 SFT / Agent Tuning 本身就使用固定数据集,不涉及此维度):

  • 在线:训练数据由当前模型实时生成,模型边探索边学习——能突破标注数据天花板,但计算开销大(PPO、GRPO)
  • 离线:训练数据(偏好对)提前收集好,模型不参与数据生成——工程简单、成本低,但上限受限于数据集质量(DPO)

一、指令微调(SFT):Loss Mask 向量点乘

SFT 的核心逻辑是:模型必须学会优雅地回答,但不需要学会如何提问。

  • 数据流打包:算法同学会把Prompt(提示词)Answer(回答)拼接成一条样本。例如:"User: 1+1=? Assistant: 2."
  • 游戏规则:在计算交叉熵 Loss 时,框架会引入一个和序列等长的Loss Mask向量(值只有 0 和 1):

提示词部分回答部分

矩阵计算出的所有位置 Loss 点,会与这个 Mask 向量进行点乘。模型预测提示词部分的错漏得分全部被乘上 0,直接抹杀;只有预测答案部分的 Loss 被保留并参与最终的平均计算。

被 Mask 掉的 Prompt 位置并非「不参与计算」,而是「不产生直接梯度」。它的 K、V 仍被全量计算,因为 Response 的 attention 必须回望 Prompt 的上下文;反向传播时梯度也会沿 attention 权重间接流回 Prompt 的参数。SFT 的算力开销因此与预训练几乎相当,节省的只是末尾 Loss 聚合那一步。


二、人类反馈对齐(RLHF):经典的 PPO 四网对抗

RLHF 的 PPO(近端策略优化)阶段不再只有一张大网,在前向传播时,显存里其实同时跑着4 张独立的大网演员模型(当前被训)参考模型(冻结对齐)奖励模型(打分器)评论家模型(分数预测)

游戏规则:

  1. 演员模型自回归吐出一串回答。

  2. 演员模型参考模型同时跑前向,对比两者的接龙概率分布。如果演员模型由于太想讨好人类而导致概率分布偏离参考模型太远,算法会算出一个KL 散度惩罚项

  3. 奖励模型给这句话打一个总分,减去惩罚项,得到**净奖励 **。

  4. 净奖励 减去评论家模型的预估分,得到**优势值(Advantage)**。

  5. 最终的 PPO Loss 使用裁剪目标,防止策略更新幅度过大:

    其中 为新旧策略的概率比, 为裁剪超参数(通常取 0.2)。

  6. 框架把整个 Batch 内所有位置的 PPO Loss 求平均后进行反向传播。若优势值为正(超常发挥),Loss 变小,反向传播时就会大大鼓励网络以后继续这样接龙。


三、GRPO:砍掉评论家,让模型"和自己赛跑"

PPO 的评论家模型是个沉重的负担——它和策略模型同样大,需要独立训练,还要时刻和策略模型保持同步更新。DeepSeek-R1 使用的GRPO(Group Relative Policy Optimization)直接把它拿掉了。

替换思路非常直观:**评论家的唯一作用是给出"基线分"**,告诉算法这次回答究竟是超常发挥还是失常。GRPO 不依赖独立的评论家,而是让模型对同一个 Prompt一次采样 条不同回答,用这组回答的平均奖励和标准差充当天然基线:

好比老师不给你打绝对分,而是把你同一道题写的 8 份草稿全部收上来,比这 8 份均分高的草稿就算"超常发挥",低的就算"失常"——组内竞争代替外部评判。

Loss 结构和 PPO 完全相同,保留 clip 防止策略跳变,KL 惩罚项直接加入每个 token 的 Loss:

显存里只剩3 张网演员模型参考模型(KL 惩罚用)、奖励模型(打分用)。评论家彻底消失。


四、直接偏好优化(DPO):双网对数差值规训

由于 PPO 同时跑 4 张网导致显存开销和工程复杂度极高,DPO(直接偏好优化)进行了颠覆——它不需要单独的奖励模型和评论家模型,直接用模型自己的接龙概率就能充当隐式打分器。显存里只有两张网:当前训练模型 (Policy)冻结参考模型 (Ref)

游戏规则:

  1. 输入成对的偏好数据:[Prompt, 满意回答 (Chosen), 不满意回答 (Rejected)]

  2. [Prompt + Chosen]塞进两张网,算出当前模型和参考模型接龙出 Chosen 的总对数概率: 和 。(只对 Response 部分的 token 求和,Prompt 作为条件上下文不计入——与 SFT 的 Loss Mask 逻辑完全一致。)

  3. [Prompt + Rejected]也塞进两张网,算出接龙出 Rejected 的总对数概率: 和 。

  4. 塞入 DPO 专属的 Loss 核心公式:

    其中 为 Sigmoid 函数, 为控制偏离参考模型幅度的超参数。

  5. 这个公式的直觉非常纯粹:它在最大化"当前模型相对于参考模型更偏好 Chosen"与"更偏好 Rejected"之间的差距。当满意回答的相对对数概率远高于不满意回答时,括号内的值很大,Sigmoid 趋近于 1,Loss 趋近于 0;反之 Loss 飙升并触发严厉的反向传播惩罚。

为什么说 DPO “数学上等价于 RL”:斯坦福研究者证明,在 KL 约束下最大化奖励这个 RL 目标,存在解析最优解——最优策略和参考策略的概率比,本身就隐式编码了奖励信号。DPO 直接利用这个等价关系,把"先训练奖励模型、再用 RL 优化"两步合并成一步监督学习,绕开了在线采样,但解决的是同一个优化问题。代价是:没有在线探索,模型只能在已有的偏好对范围内调整,无法自主发现更好的回答。


五、智能体轨迹微调(Agent Tuning):精准雕刻思考链与工具调用

Agent Tuning 本质上是 SFT 的延伸,只是教材从"问答对"升级成了"决策轨迹"。一条典型样本,是模型与外部环境多轮交互的完整记录:

User: 帮我查一下今天北京的天气。Thought: 我需要调用天气查询工具。Action: search_weather(city="北京")Observation: {"weather": "晴", "temp": "28°C"}Thought: 已拿到结果,可以回答了。Answer: 今天北京晴,气温 28°C,适合出行。
  • 数据流打包:整条轨迹按角色顺序拼接成一个序列,送入训练框架。
  • 游戏规则:Loss Mask 向量按角色精确切割,只保留模型"自主决策"的片段:

User输入和Observation(工具返回的环境反馈)位置的 Loss 权重设为 0——模型不需要学会"如何提问",也不需要学会"模拟工具返回值";只有Thought(推理过程)、Action(工具调用与参数)以及最终Answer的 Loss 权重设为 1,参与梯度更新。

这种精准的 Mask 策略,让模型只从"决策者视角"学习:何时需要工具、调用什么参数、如何整合外部信息并给出答案——而不会被环境反馈污染,误以为自己要学会模拟整个外部世界。


最后唠两句

为什么AI大模型成为越来越多程序员转行就业、升职加薪的首选

很简单,这些岗位缺人且高薪

智联招聘的最新数据给出了最直观的印证:2025年2月,AI领域求职人数同比增幅突破200% ,远超其他行业平均水平;整个人工智能行业的求职增速达到33.4%,位居各行业榜首,其中人工智能工程师岗位的求职热度更是飙升69.6%。

AI产业的快速扩张,也让人才供需矛盾愈发突出。麦肯锡报告明确预测,到2030年中国AI专业人才需求将达600万人,人才缺口可能高达400万人,这一缺口不仅存在于核心技术领域,更蔓延至产业应用的各个环节。

那0基础普通人如何学习大模型 ?

深耕科技一线十二载,亲历技术浪潮变迁。我见证那些率先拥抱AI的同行,如何建立起效率与薪资的代际优势。如今,我将积累的大模型面试真题、独家资料、技术报告与实战路线系统整理,分享于此,为你扫清学习困惑,共赴AI时代新程。

我整理出这套 AI 大模型突围资料包【允许白嫖】:

  • ✅从入门到精通的全套视频教程
  • ✅AI大模型学习路线图(0基础到项目实战仅需90天)
  • ✅大模型书籍与技术文档PDF
  • ✅各大厂大模型面试题目详解
  • ✅640套AI大模型报告合集
  • ✅大模型入门实战训练

这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

①从入门到精通的全套视频教程

包含提示词工程、RAG、Agent等技术点

② AI大模型学习路线图(0基础到项目实战仅需90天)

全过程AI大模型学习路线

③学习电子书籍和技术文档

市面上的大模型书籍确实太多了,这些是我精选出来的

④各大厂大模型面试题目详解

⑤640套AI大模型报告合集

⑥大模型入门实战训练

如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!

应届毕业生‌:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能 ‌突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

👉获取方式:
有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

← 返回列表