一、强化学习介绍
1.概念
强化学习(Reinforcement Learning, RL)是机器学习的一个子领域,是一种机器学习方法。它的核心在于 “试错” (Trial and Error)。
定义1:强化学习就是训练一个智能体(Agent),通过与环境(Environment)进行交互,通过不断的尝试(试错,Trial and Error)来发现哪些行为能获得最大的奖励(Reward),从而学会做决策完成某项任务。
定义2:强化学习(Reinforcement Learning, RL)是一种让智能体(agent)通过“试错”来学习做决策的机器学习方法:它在环境(environment)里采取动作(action),环境给它奖励(reward)或惩罚,它的目标是在长期内获得尽可能大的累计回报。
定义3:强化学习:智能体与环境交互、通过回报最大化来学习
- 策略(Policy):在某个状态下该选哪个动作(可以是确定的,也可以输出概率)。
- 利用(Exploration):选当前看起来最好的动作拿分
- 探索( Exploitation):尝试没怎么试过的动作,可能发现更好的路
强化学习难点之一就是平衡这俩。
2.核心组成部分:5个
- 智能体(Agent):做决定的人/程序(比如游戏里的 AI、机器人)。
- 环境(Environment):智能体所处的世界(游戏规则、物理世界、交易市场等)。
- 状态(State):当前局面是什么样(棋盘局面、机器人位置等)。
- 动作(Action):在当前状态下能做什么(走一步、转向、买/卖)。
- 奖励(Reward):环境对动作的反馈分数(得分+1、撞墙-10)。
智能体的学习目标通常写成:最大化 长期累计奖励(而不是只看眼前这一步的奖励)。
3.RL分类
(1)在线强化学习(Onlien RL) vs 离线强化学习(Offline RL)
1.数据来源
(1)Online RL:训练时边交互边收集新数据(轨迹/transition),并用这些新数据立即或很快更新策略。
(2)Offline RL:训练时只用预先收集好的静态数据集,不再进行额外在线交互/探索。
2.表格对比
| 维度 | 在线强化学习(Online RL) | 离线强化学习(Offline RL) |
|---|---|---|
| 数据来源 | 策略与环境实时交互产生 | 预先收集的静态数据集 |
| 探索方式 | 当前策略主动探索环境 | 无法探索,只能利用已有数据 |
| 策略更新 | 采样 → 评估 → 更新 → 再采样(循环) | 在固定数据上直接训练 |
| 核心挑战 | 样本效率、探索-利用权衡 | 分布偏移(Distribution Shift)、外推误差 |
| 计算成本 | 高(需持续 rollout) | 低(一次训练,无需环境交互) |
| 安全性 | 训练过程可能产生危险行为 | 训练过程安全(不接触真实环境) |
| 典型算法 | PPO、GRPO、DQN | DPO |
4.例子
训练一只“游戏 AI”:
- 状态:当前画面/位置/血量
- 动作:向左/右/跳跃/攻击
- 奖励:过关 +100、死亡 -100、捡到道具 +10
AI 一开始乱按,慢慢发现哪些行为会带来更高的长期收益,于是策略越来越像高手。
5.强化学习和其他学习方式的区别
- 监督学习:有标准答案(输入→正确标签),像“做题对答案”。
- 无监督学习:没有标签,主要发现结构(聚类、降维)。
- 强化学习:没有一步步的标准答案,只有“做了之后得了多少分”,而且很多奖励是延迟的(比如下棋:走了很多步才知道赢没赢)。
二、术语表 glossary
| 缩写 | 英文全称 | 中文释义 | 拓展 |
|---|---|---|---|
| RL | Reinforcement Learning | 强化学习 | |
| SFT | Supervised Fine-Tuning | 监督微调 | |
| PPO | Proximal Policy Optimization | 近端策略优化 | RLHF 的强化学习阶段。 最早的方法,缺点是消耗显存,成本高 |
| DPO | Direct Preference Optimization | 直接偏好优化 | 消耗显存少,简单,快速上手微调一个demo |
| GRPO | Group Relative Policy Optimization | 群组相对策略优化 | 组均分作为baseline,适合长思维链(CoT)的推理训练 |
| KL散度 | Kullback–Leibler divergence |
三、强化学习算法
0.分类
(1)基于「价值/策略」的经典分类,決定了模型到底是记住「分数」还是记住「动作」
1.基于价值 (Value-Based):Sarsa,Q-learning。主要用于离散动作 (比如玩馬里奧:左、右、跳)
2.基于策略 (Policy-Based):REINFORCE (Policy Gradient)。可以处理连续动作 (比如机器人手臂的力度控制),也能学出随机策略 (剪刀石头布)
3.两者结合:Actor-Critic(AC 架构),是目前最强、最主流的架构
①Actor (演员/策略):负责做动作
②Critic (评论家/价值):负责打分
代表算法:PPO (ChatGPT用PPO), A3C, SAC, DDPG, TRPO
(2)根据「学习方式」,分为 同策略(On-Policy)、异策略(Off-Policy)
決定了训练的效率和稳定性
1.同策略 (On-Policy):
(1)定义:「边做边学」。学习的数据必须是当前最新的策略亲自跑出来的。旧数据一旦用过就得扔。
(2)代表算法:Sarsa, PPO, TRPO
(3)优点:稳定
(4)缺点:慢 (数据利用率低,因为不能用旧经验)
2.异策略 (Off-Policy):
(1)定义:「博采众长」。把过去的经验存进一个经验回放池 (Replay Buffer),或者学习别人的经验。
(2)代表算法:Q-Learning, DQN, DDPG, SAC
(3)优点:快(数据利用率高)
(4)缺点:不稳定 (难收敛)
(3)根据「是否懂世界」,分为 无模型(Model-Free) 和 有模型(Model-Based)
1.无模型 (Model-Free):
(1)比喻:像学骑自行车。你不需要懂牛顿力学公式 (环境模型),你只要凭感觉试错,知道怎么骑不倒就行。
(2)现状:目前90%的主流RL(包括PPO, DQN) 都是 Model-Free 的。因为现实世界太复杂,很难建模。
2.有模型 (Model-Based):
(1)比喻:像下围棋。你知道规则 (环境模型),知道我在这里落子,下一步棋盘会变成什么样。你可以预测未来 (Planning)
(2)代表算法:AlphaZero(结合了搜索), World Models
(3)现状:效率极高 (不用真的去试错,脑子里推演就行),但如果模型建錯了,就会产生极大的误差。
1.SARSA
1.流程: S → A → R → S ′ → A ′ S→A→R→S'→A' S→A→R→S′→A′
2.Q-learning
Q-learning:学“动作价值”再间接得到策略 (Value-based)
Q-learning:RL 里一类最经典的 价值函数方法(value-based),更具体地说是学 动作价值函数 𝑄(𝑠,𝑎),再用 arg max 𝑎 𝑄 ( 𝑠 , 𝑎 ) \argmax_𝑎𝑄(𝑠,𝑎) argmaxaQ(s,a)选动作。
3.异同点
(1)相同
更新公式结构: N e w Q = O l d Q + α × [ T a r g e t − O l d Q ] NewQ=OldQ+α×[{\rm Target}-OldQ] NewQ=OldQ+α×[Target−OldQ]
(2)不同
1.对于Q值的更新
(1)SARSA 必须实际迈出下一步(选好A’),才能回头更新上一步的价值。
(2)Q-learning 不需要提前选定下一步的A’。它在更新时,会假设下一步“即使我不这么走,我也按最好的那种可能(Max)来算分”
| 算法 | Target(目标值)计算部分 | 解释 |
|---|---|---|
| SARSA | R + γ ⋅ Q ( S ′ , A ′ ) R+γ·Q(S',A') R+γ⋅Q(S′,A′) | 使用实际上下一步采取的动作A’的价值 |
| Q-learning | R + γ ⋅ m a x a Q ( S ′ , a ) R+γ·{\rm max_aQ(S',a)} R+γ⋅maxaQ(S′,a) | 使用下一步所有可能动作中理论上最好的那个价值 (不管实际上会不会选它) |
2.本质区别
(1)SARSA 是 On-Policy (同策略):
(2)Q-learning 是 Off-Policy (异策略):

(3)如何选择?

四、RL与SFT
1.在当前的“大模型训练流水线”中,SFT 和 RL 是继“预训练(Pre-training)”之后的两个关键步骤。
2.可以把大模型想象成一个刚毕业的大学生:
(1)预训练 (Pre-training):他在大学里读了海量的书,知识渊博,但不懂职场规矩,说话可能没头没尾,甚至会胡言乱语。
(2)SFT 是 “入职培训”:教他怎么按要求干活(比如写邮件、写代码)。
(3)RL 是 “绩效考核”:通过不断的奖惩反馈,让他学会如何把活干得更好、更符合老板(人类)的喜好。
3.为什么先做 SFT 再做 RL?
这就像教人学做菜:
(1)SFT 阶段:先照着菜谱学(模仿标准动作),至少得先把菜做熟,别把糖当成盐。如果连基本的菜都做不出来,直接去比赛(RL)肯定全是负分,学不到东西。
(2)RL 阶段:基本功扎实了,再通过顾客的评价(咸了、淡了、不够鲜)来微调火候,最终成为特级厨师。
4.一句话总结:SFT 决定了模型的下限(能不能用),RL 决定了模型的上限(好不好用)。
0.大模型训练的三步走:pre-train、SFT、Alignment
pre-train 预训练,学通识
post-train 后训练,包括 Fine-tuning 和 Alignment
什么时候“没必要”上 post-train?
①只是想更新事实/知识(比如公司最新政策、今年数据)→ 通常 RAG/检索比训练更快更稳
②只是想固定一点输出格式 → 先试 提示词+约束解码/校验器,不一定要训练
③数据很少且高风险 → 先做小规模 LoRA + 严格评测,别盲目全参后训练
(1)预训练 (pre-train)
大规模通用语料学语言规律
(2)监督微调 (SFT)
用高质量指令数据/领域数据,学“怎么按要求回答”
(3)偏好对齐 (Preference Alignment)
例如RLHF/DPO等,用偏好数据让回答更符合人类偏好(安全、帮助性、少胡编等)
1.SFT (Supervised Fine-Tuning) —— 有监督微调
“手把手教,照猫画虎”
1.是什么:
我们给模型提供成对的高质量数据(Question + Answer)。告诉模型:“当用户问这个问题时,标准答案就是这个,你给我背下来,以后照着这个写。”
2.目的:
激发模型的能力,让它学会**“遵循指令”**。 预训练后的模型只会“接龙”(比如你说“床前明月光”,它接“疑是地上霜”)。SFT 后的模型学会了“回答问题”(你说“请写一首关于月亮的诗”,它会真的去写一首诗,而不是接着你的话往下编)。
3.数据形式:
Prompt(提示词)+ Perfect Response(完美回答)。
4.局限性:
模型只能模仿训练数据。如果训练数据里没有写过某种复杂的代码,模型就很难无师自通。
2.RL (Reinforcement Learning) —— 强化学习
“自主探索,优胜劣汰”
1.是什么:
在 LLM 领域,这通常指 RLHF (Reinforcement Learning from Human Feedback)。 我们不给模型标准答案了,而是给它一个问题,让它自己生成几个回答。然后,我们(或者一个模拟人类的奖励模型)给这些回答打分:“这个好(+1分),那个差(-1分)”。模型通过试错,自己琢磨出什么样的回答能拿高分。
2.目的:
“对齐” (Alignment)。让模型不仅能回答问题,还能回答得更安全、更有逻辑、更符合人类价值观。同时,RL 能帮助模型突破 SFT 的天花板,通过探索找到比训练数据更好的解法(比如 AlphaGo 下出了人类棋谱里没有的招数)。
3.数据形式:
Prompt + Reward Signal(好坏评分)。
4.核心优势:
解决了“有些东西很难写出标准答案,但很容易判断好坏”的问题(比如写一篇“幽默”的小说,很难手把手教,但很容易判断是否好笑)。
五、大模型对齐算法(Alignment)
1.概念
(1)PPO (Proximal Policy Optimization)
1.地位:RLHF(基于人类反馈的强化学习)的**“工业界标准”**,也是 OpenAI 训练 ChatGPT(GPT-3.5/4)时使用的核心算法。
2.原理: PPO 是一种经典的强化学习算法。它采用 Actor-Critic (演员-评论家))架构。
- Policy 策略模型 / Actor模型:生成回答
- Reward Model 奖励模型:给回答打分
- Critic 评估模型:评估这个状态的价值
PPO通过比较,更新Actor的参数,让它下次生成分数更高的回答。为了防止模型更新步子迈得太大导致“学坏”,PPO引入了“裁剪(Clipping)”机制,限制每次更新的幅度。
3.痛点: 极度消耗显存,训练极不稳定。标准的 PPO 训练过程中通常需要同时加载 4 个模型 (Actor, Reference, Reward, Critic),对 GPU 资源要求极高,且超参数很难调。
(2)DPO (Direct Preference Optimization)
1.地位:RLHF 的**“简化颠覆者”**,由斯坦福大学在 2023 年提出。它让很多开源模型(如Llama 3的某些微调版本)放弃了 PPO。
2.原理: DPO 的核心思想是:不需要显式的奖励模型(Reward Model)。 它通过数学推导证明,可以直接利用人类的偏好数据(即“A回答比B回答好”这种数据对)来优化模型。它把复杂的强化学习问题,转换成了一个类似于“分类”的损失函数问题。
- 公式直觉:如果不在这儿(好的回答),就在那儿(坏的回答)。让模型生成好回答的概率变大,生成坏回答的概率变小。
3.优点:
- 省资源:不需要单独加载巨大的奖励模型和 Critic 模型。
- 稳定:训练过程比 PPO 稳定得多,不容易跑飞。
4.缺点: 完全依赖于偏好数据的质量,对于一些复杂的推理任务(如奥数题),可能不如 PPO 这种通过探索(Explore)带来的上限高(这也是目前学术界争论的点)。
5.拓展 面试题:
Q:DPO实际上也有Reference Model,为什么说它省显存?
A: “确实,DPO训练时也需要计算Reference Model 的 Log Probability。但Reference Model是冻结的(Frozen),不需要计算梯度,也不需要优化器状态(Optimizer States),所以显存占用只有训练模型的一半甚至更少。而PPO的Critic是要训练的,需要存梯度和状态,那是实打实的显存大户。”
(3)GRPO (Group Relative Policy Optimization)
1.地位:“效率优化版 PPO”,由 DeepSeek(深度求索)在DeepSeek-V3和R1中发扬光大。
2.原理:GRPO依然是基于PPO的思路,但它砍掉了PPO中最占资源的Critic(价值模型)。
- 怎么做到的? 传统的 PPO 需要 Critic 来告诉模型“现在的表现相对于平均水平怎么样”。GRPO 则是让模型对同一个问题生成一组(Group) 回答(比如生成 64 个),然后计算这组回答的平均奖励。
3.优势:
(1)相对优势:某个回答的奖励如果高于这组的平均值,就鼓励该回答;反之则抑制。
(2)核心优势:
- 省去了 Critic 模型:在大模型时代,Critic 模型通常和主模型一样大。去掉它意味着显存占用大幅减少,训练速度变快。
- 适合推理(Reasoning):DeepSeek R1 使用它在数学和代码任务上取得了巨大成功,证明了它在长链条推理能力培养上的有效性。
2.PPO、DPO、GRPO的区别
(1)成本与效果的权衡
PPO、DPO、GRPO都是post-training阶段的大模型对齐算法 (Alignment),都属于RLHF:
(1)PPO是代价最高,效果最好的。(传统在线强化学习方案,训练代价最高、工程最难,效果上限高,但落地成本极高)。[OpenAI的GPT在早期RLHF时用的就是PPO]
(2)DPO是实现最简化的,成本最低,(训练稳定易复现),效果略低于PPO和GRPO。目前业界首选。
(3)GRPO属于在DPO和PPO之间取了折中,只牺牲极少效果,就能大幅降低对齐成本,性价比最高。(DPO成本最低,PPO效果最好)。DeepSeek用的便是GRPO对齐算法
GRPO是deepseek能火的一个关键原因之一,在稍微牺牲了一点效果的情况下,大幅度降低了成本
主观打分:
PPO效果10分,DPO效果9分,GRPO效果9.5分
PPO成本10分,DPO成本1分,GRPO成本2.5分

- 定性:DPO = 离线刷题(省资源,上限低);PPO/GRPO = 在线试错(费资源,上限高)
- 原理:GRPO 赢在用 Group Statistics 杀死了 Critic Model。
- 应用:学说话用 DPO,学奥数/写代码用 GRPO。
(2)本质:权衡 显存效率、训练稳定性、探索能力
1.这三者本质上是在权衡 显存效率、训练稳定性 和 探索能力。
(1)PPO是工业界的 Baseline,它是Online算法,有Critic网络,虽然稳但显存开销大。
(2)DPO是为了去繁就简,把强化学习转化成了Offline的分类问题(SFT的变种),去掉了Reward和 Critic模型,省显存,但失去了模型自我探索(Explore)产生新解的能力。
(3)GRPO是DeepSeek为了解决PPO在超大模型上显存不够用而搞出来的优化版。GRPO用一组采样的平均分(平均奖励,Mean Reward)作为Baseline,以此去掉了Critic(价值函数,Value Function)。特别适合长思维链(CoT)的推理训练。

(3)各自的适用场景
选择 PPO/DPO/GRPO 取决于我们想要模型学会什么。
- 如果要学‘语气、格式、安全’(Style & Safety):DPO 是首选。因为这些任务有明确的好坏之分,给数据就行,不需要模型去‘顿悟’。
- 如果要学‘数学、代码、逻辑推理’(Reasoning):DPO 就乏力了。因为 DPO 是由人类数据喂出来的,它很难超越人类标注的上限(Data Bound)。
- GRPO/PPO 的核心优势在于 Exploration(探索)。在推理任务中,模型可以通过采样生成多种解题路径,只要结果对(比如通过单元测试),哪怕路径是人类没教过的,模型也能获得奖励。这就是 DeepSeek-R1 能产生‘Aha Moment’(顿悟时刻)的原因——它是试出来的,不是背出来的。”
💡 核心得分点:DPO 上限由数据决定,RL (GRPO/PPO) 上限由环境反馈决定(可超越人类)。
(4)实战:设计一个类似DeepSeek R1的训练流程
“我会参考 DeepSeek-R1 的 Pipeline,分阶段进行:
-
1.Cold Start (冷启动):先用少量高质量的 CoT(思维链)数据做 SFT,让模型学会"先思考再回答"的模式。
-
2.纯RL阶段 (GRPO):这是关键。
(1)重点:我不会训练复杂的神经网络 Reward Model。
(2)技巧:对于数学/代码题,直接用**规则(Rule-based)**给分。答案算对给1分,跑通代码给1分,格式不对给0分。
(3)让模型在GRPO的机制下,通过大规模采样(Group Sampling),自己去卷出最有效的思维链路径。 -
3.迭代:把RL跑出来的优秀样本收集起来,再做一轮 SFT,循环往复。”
💡 核心得分点:提到 Rule-based Reward(规则奖励)在推理任务中的巨大价值(比训练一个黑盒 RM 更准、更便宜)。
六、KL散度
1.概念
KL散度 (Kullback–Leibler divergence),用来衡量两个概率分布 P 和 Q 的“差异” (更准确说是 用Q去近似P会损失多少信息)
2.公式:
(1)离散情形 (Discrete Case):
D
KL
(
P
∥
Q
)
=
∑
x
P
(
x
)
log
P
(
x
)
Q
(
x
)
D_{\text{KL}}(P\|Q) = \sum_{x} P(x) \log \frac{P(x)}{Q(x)}
DKL(P∥Q)=x∑P(x)logQ(x)P(x)
(2)连续情形 (Continuous Case):
D
KL
(
P
∥
Q
)
=
∫
p
(
x
)
log
p
(
x
)
q
(
x
)
d
x
D_{\text{KL}}(P\|Q) = \int p(x) \log \frac{p(x)}{q(x)} \, dx
DKL(P∥Q)=∫p(x)logq(x)p(x)dx
3.作用
在 RLHF / PPO 里经常加 KL 惩罚项:
让新策略(当前模型)不要偏离参考策略(通常是 SFT 模型)太远
防止“为了拿高奖励”而语言质量崩、胡乱钻奖励模型空子(reward hacking)
七、Agentic RL (智能体强化学习)
1.如果说传统的 RLHF(基于人类反馈的强化学习)是让模型学会“说话得体”,那么 Agentic RL 则是让模型学会“办事靠谱”。
2.传统 RL: S t a t e → A c t i o n → R e w a r d State \rightarrow Action \rightarrow Reward State→Action→Reward(例如:下围棋、控制机械臂)。Agentic RL: T a s k → P l a n n i n g → T o o l U s e → F e e d b a c k → A d a p t a t i o n Task \rightarrow Planning \rightarrow Tool\ Use \rightarrow Feedback \rightarrow Adaptation Task→Planning→Tool Use→Feedback→Adaptation(例如:自主编写代码、查阅文档并修复 Bug)。
3.Agentic RL 的实现通常依赖于以下“组件”的协同:
- 多轮推理与规划 (Planning): Agent 不再是一次性输出答案,而是学习如何将大任务拆解为子任务(如 Chain-of-Thought 或 Tree-of-Thoughts)。
- 工具使用 (Tool Use): 学习在什么时候调用搜索、计算器或数据库。RL 的目标是让模型学会“最有效地使用工具”,而不是盲目调用。
- 可验证反馈 (Verifiable Rewards): 相比于人类主观偏好(RLHF),Agentic RL 更偏向使用客观结果作为奖励。
例子: 代码是否通过了 Unit Test?数学题答案是否正确? - 自我反思与迭代 (Reflexion): 模型在收到错误反馈后,通过 RL 学习如何调整接下来的策略,而不是在错误路径上死磕
1217

被折叠的 条评论
为什么被折叠?



