论文精读第二期:DeepSeekMath 论文精读与强化学习的本质反思

论文源地址:https://arxiv.org/pdf/2402.03300

强化学习(RL)真的能让大模型学会它不懂的数学题吗?DeepSeekMath 的实验数据揭示了一个残酷的真相:RL 显著提升了 Maj@K(鲁棒性),却对 Pass@1(能力边界)几乎无能为力。这说明当前的 RL 流水线更多是在做“分布锐化”(Distribution Sharpening),而非注入新知识。

本文以 DeepSeekMath 为切入点,剖析其背后的数据工程玄机(为什么 ArXiv 数据反而无效?),并基于 GRPO 算法探讨 LLM 强化学习的真实机理:在一个封闭的题库里“内卷”,我们究竟得到的是智能的提升,还是仅仅是对齐了答案的分布?

很高兴在这个圣诞节和大家一起探讨这篇非常有分量的论文《DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models》

第一阶段:DeepSeekMath 的核心逻辑架构

这篇论文如果去掉所有 benchmark 的吹嘘,剩下的干货可以归纳为三个公式化的结论:

1. 初始化策略:Code > General Text

结论: 做数学推理模型,不要从通用语言模型(General LLM)开始训练,要从代码模型(Code LLM)开始训练 。 原理: 论文通过消融实验发现,代码训练激发的逻辑推理能力可以迁移到数学任务上。即使是两阶段训练(先 Code 后 Math),也比混合训练或纯 Math 训练效果好 。

这验证了 Code 和 Math 在潜空间(Latent Space)表征上的高度重叠性——都是形式化语言、强逻辑依赖。

2. 数据工程:Iterative FastText Pipeline

结论: 开源的 Common Crawl (CC) 中蕴含的数学知识远超我们的想象,甚至比 arXiv 更有用,但需要极高精度的过滤 。 方法: 他们没有只用简单的正则过滤,而是搞了一个“迭代式”的数据挖掘流水线(Iterative Pipeline)。

  • Seed: OpenWebMath 做种子。

  • Expansion: 训练 FastText 模型召回 CC 网页 -> 标注 -> 发现新域名 -> 补充 Seed -> 重新训练 FastText。

  • Result: 经过4轮迭代,搞到了 120B Token。

  • 反直觉发现: 论文声称 arXiv 论文数据对提升数学推理能力几乎无效 。这是一个非常反直觉且值得怀疑的结论(我们稍后详细讨论,因为这可能涉及数据分布差异问题)。

3. 强化学习:GRPO 

痛点: 传统的 PPO (Proximal Policy Optimization) 非常吃显存。因为它需要维护一个与 Policy Model 等大的 Value Model (Critic),仅仅为了计算 Advantage (GAE) 。

GRPO 的核心洞察: 如果我们对同一个 Prompt 采样一组(Group)输出,能不能直接用这组输出的相对好坏来代替 Value Model 的基准预测?

公式预览:

DeepSeek 提出,不再训练 Critic,而是采样 $G$ 个输出 $\{o_1, ..., o_G\}$,计算它们的 Reward 平均值作为 Baseline 

$\text{Baseline} = \frac{1}{G}\sum_{i=1}^G r_i$

Advantage 直接由组内归一化得到:

$\hat{A}_{i,t} = \frac{r_i - \text{mean}(r)}{\text{std}(r)}$

深度解析:GRPO (Group Relative Policy Optimization)

1. PPO的缺点

在 LLM 的 RLHF/RLAIF 中,PPO 的显存占用是巨大的。

标准 PPO 包含:

  • Policy Model ($\pi_\theta$): 你要训练的模型。

  • Reference Model ($\pi_{ref}$): 用于计算 KL 散度,防止跑偏(通常冻结)。

  • Reward Model ($r_\phi$): 给输出打分。

  • Value Model ($V_\psi$): (最占资源的累赘) 预测当前状态的期望收益,用于计算 GAE。

Value Model 通常和 Policy Model 一样大。对于 70B 的模型,这就意味着你需要双倍的显存,或者极其复杂的卸载策略。

2. GRPO 的数学优点

请看论文中的 Figure 4 。

GRPO 极其激进地砍掉了 Value Model。它的逻辑如下:

1.Group Sampling: 对于每个 Question $q$,从旧策略$\pi_{\theta_{old}}$ 中采样 $G$ 个输出 $\{o_1, o_2, ..., o_G\}$

2.Relative Advantage: 它假设这 $G$ 个输出已经代表了当前策略在当前状态下的分布。因此,这组输出的平均奖励就可以作为 Baseline。 如果一个输出 $o_i$ 的奖励 $r_i$ 高于组平均值,它的 Advantage 就是正的;反之则是负的。

$\hat{A}_{i} = \frac{r_i - \mathbb{E}[r_{group}]}{\sigma_{group}}$

(注:论文中支持 Outcome Supervision 和 Process Supervision,这里以 Outcome 为例)

3.KL Divergence: 传统的 PPO 把 KL 散度作为 Reward 的一部分扣除 ($r = r_{score} - \beta \cdot KL$)。 GRPO 稍微改了一下,把 KL 散度直接加在 Loss 函数里作为正则项 。

$\mathcal{J}_{GRPO} \approx \mathbb{E} \left[ \frac{\pi_\theta}{\pi_{old}} \hat{A} - \beta D_{KL}(\pi_\theta || \pi_{ref}) \right]$

3. 为什么重要?

资源效率: 没有 Value Model,训练大模型时的显存需求大幅下降 。这意味着你可以用同样的资源训练更大的模型,或者增大 Batch Size,或者增大 Group Size (G)

方差缩减: 通过 Group Sampling,GRPO 实际上利用了类似于 "Leave-One-Out" 的方差缩减技巧(和 RLOO 很像)。这种相对优势的计算通常比训练一个尚未收敛的 Critic 更稳定。

大家需要注意论文中几个微妙的数据点,这也可能就是 RL 的真实局限性:

Pass@1 vs Maj@K  请看 Figure 7 。 论文明确指出:"RL enhances Maj@K but not Pass@K."

解读: 强化学习并没有显著提升模型解决“它原本不会做的问题”的能力(Pass@1 没怎么涨)。RL 提升的是鲁棒性——让模型在多次采样中更容易输出它原本就能做对的那个答案(Maj@K 涨了)。

深层含义: 这暗示当前的 RL (GRPO/PPO) 更多是在做 Alignment (对齐)Distribution Sharpening (分布锐化),而不是真正注入了新的推理能力。这对于研究 RL+LLM 的上限很重要。

ArXiv 数据无效论 论文声称 ArXiv 数据无效 。这非常值得怀疑

可能性 A: ArXiv 的 LaTeX 格式极其复杂,清洗难度大,DeepSeek 当时没洗干净。

可能性 B: Math 题目(GSM8K/MATH)多为竞赛题,与 ArXiv 上的科研论文在分布上差异巨大(Out-of-Distribution)。

 不要盲目相信“论文无用”,这很可能是 Domain Mismatch 导致的。

第二阶段:DeepSeekMath 的数据工程 

Common Crawl (CC),这是全互联网的网页存档,几百 TB 的数据,里面充斥着广告、色情、新闻、代码,只有极少部分是高质量的数学内容。

目标是:把里面的数学网页全挖出来。

失败的常规做法 (Baseline)

通常我们会训练一个分类器(比如 BERT 或 FastText),给它看一些数学网页(正样本),再看一些非数学网页(负样本),训练好后去扫一遍 CC。

问题: 正样本太局限了。比如正样本里只有英文数学题,分类器就会认为“只有英文题目才是数学”,结果就会漏掉中文数学博客、或者只有公式没有文字的网页。这就是 Recall(召回率) 低的问题。

DeepSeek 的解法:迭代式“滚雪球”

DeepSeek 设计了一个4轮迭代的循环,每一轮都为了发现分类器之前“没见过”的数学网页特征。

我们可以配合这个逻辑图(基于论文 Figure 2)来看:

第一步:冷启动 (Seed)

原料: 拿现成的 OpenWebMath 数据集(高质量数学网页集合)做正样本。

动作: 随便找点 CC 网页做负样本,训练一个 FastText 分类器 。

为什么是 FastText? 因为 CC 数据量太大(400亿网页 ),BERT 跑不完,FastText 是线性模型,极其快。

结果: 用这个初代 FastText 扫一遍 CC,把看着像数学的网页捞出来(这是第一批数学语料)。

第二步:发现盲区 

痛点: 初代分类器肯定漏了很多东西。比如它可能没见过 mathoverflow.net 这种高深论坛的网页结构,导致把它们扔了。

策略:按“域名”聚类统计 

  • DeepSeek 统计了每个域名下被捞出来的网页比例。

  • 假设: 如果 mathoverflow.net 这个域名下有 10% 的网页被初代分类器认为是数学网页,那这个域名极大概率是一个垂直数学站点

  • 推论: 既然是垂直站点,那这个域名下剩下 90% 被分类器扔掉的网页,大概率也是数学网页,只是分类器不认识

第三步:人工修正与增强 (Annotation & Feedback)

  • 动作: 标注员去检查这些“高密度数学域名”。

  • 发现: 比如发现 mathoverflow.net/questions 下面的页面确实全是数学。

  • 修正: 把这些之前被漏掉的 URL 对应的网页找回来,手动把它们标记为“正样本” 。

  • 意义: 这时候,你的正样本库里就多了一批“初代分类器不认识”的困难样本(Hard Positives)。

第四步:闭环迭代 (Loop)

  • 动作: 把新发现的困难样本加入训练集,重新训练 FastText 。

  • 效果: 新的分类器学会了更复杂的数学网页特征。再回去扫 Common Crawl,就能捞出更多东西了。

  • 终止: 循环了 4 次后,发现第 4 次捞出来的东西和第 3 次差不多(98% 重合),说明能挖的都挖完了,停止 。

为什么这个设计很重要?

  1. 数据分布的探索 (Exploration): 这里的“按域名扩展”本质上是一种基于元数据(Metadata)的探索策略。如果你只基于 Content(网页内容)做分类,你会陷入局部最优;引入 Domain(网站结构)这个额外维度,帮打破了局部最优。

  2. Weak-to-Strong (弱监督增强): FastText 是一个很弱的模型(Weak Learner)。但通过这种数据迭代清洗(Data Iteration),你可以用弱模型构建出比直接用强模型(但数据差)更好的结果。所以这也是前沿的研究点,就是觉得其实模型参数实际上已经非常够用了,是数据不够用。

第三阶段:统一范式

论文在 Section 5.2.1Appendix A.1 试图做一件野心很大的事:用一个统一的梯度公式,把 SFT、RFT、DPO、PPO 和 GRPO 全部囊括进去。

1. “大一统”公式 (The Master Formula)

论文提出,无论你用什么微调方法,其参数 $\theta$的更新梯度都可以写成如下形式 :

$\nabla_\theta J = \mathbb{E}_{(q, o) \sim \mathcal{D}} \left[ \sum_{t} \text{GC}(q, o, t) \cdot \nabla_\theta \log \pi_\theta(o_t | q, o_{<t}) \right]$

这个公式看似简单(就是标准的 Policy Gradient 形式),但它把所有算法拆解成了三个核心变量的组合

  • Data Source ($\mathcal{D}$): 训练数据 $(q, o)$ 从哪来?

  • Reward Function ($r$): 谁来评价好坏?(是规则 Rule 还是模型 Model?)

  • Gradient Coefficient (GC): 奖励信号如何转化为梯度权重?(这是算法的核心差异)

2. 五大算法的本质差异

基于这个范式,我们可以把主流算法放在手术台上解剖(对应论文 Table 10 ):

A. SFT (Supervised Fine-Tuning)
  • Data Source: 离线固定数据集 ($P_{sft}$).

  • GC: 1.

  • SFT 是“盲信”的。只要在数据集里,GC 就是 1,模型必须无条件提高其概率。这解释了为什么 SFT 容易过拟合(Overfitting)和出现幻觉(Hallucination)——因为它不区分数据的质量,也没有负反馈机制。

B. RFT (Rejection Sampling Fine-Tuning)
  • Data Source: 离线采样 ($q \sim P_{sft}, o \sim \pi_{sft}$).

  • GC: $\mathbb{I}(correct)$.

  • 这是一个二值滤波器。做对了 GC=1,做错了 GC=0(甚至不参与计算)。它比 SFT 强在它引入了“筛选”,但它依然是离线的。

C. DPO (Direct Preference Optimization)
  • Data Source: 离线数据集 ($P_{sft}$).

  • GC: 隐式推导. $\sigma(\beta \log \frac{\pi_\theta}{\pi_{ref}} \dots)$

  •  很多人觉得 DPO 不是 RL,但在 DeepSeek 的视角下,DPO 只是一个GC 被特定的闭式解锁死的 RL。它的局限性在于 Data Source 是静态的,缺乏探索(Exploration)。

D. PPO (Proximal Policy Optimization)
  • Data Source: 在线实时采样 ($q \sim P_{sft}, o \sim \pi_{\theta}$).

  • GC: $A_t$ (Advantage)

  •  PPO 的精髓在于$A_t$。它不仅看 Result,还看 Baseline。如果 $A_t$ 是负的,GC 就是负的,模型会被惩罚。这是真正的强化学习。

E. GRPO (Group Relative Policy Optimization)
  • Data Source: 在线实时采样 ($q \sim P_{sft}, o \sim \pi_{\theta}$).

  • GC: $\hat{A}_{i,t}$ (Group Relative Advantage)

  • 本质: 它的 GC 计算不需要 Critic 模型,而是通过组内归一化实现:

    $\text{GC} = \frac{r_i - \text{mean}(r_{group})}{\text{std}(r_{group})} + \text{KL\_term}$

方法Data Source (数据源)Reward TypeGradient Coefficient (GC)你的 PhD 视角解读
SFT (静态数据集)N/A1无论好坏,无脑模仿。
RFT(旧模型离线采样)Rule (0/1)0 或 1简单的拒绝采样,只学对的,不理错的。
Online RFT (在线实时采样)Rule (0/1)0 或 1在线版的 RFT。好处是数据分布随模型漂移(On-Policy)。
PPO(在线实时采样)Model (连续值)Advantage ($A_t$)引入 Critic,用 Advantage 加权。既学好的(正 A),也抑制坏的(负 A)。
GRPO (在线实时采样)Model (连续值)Group Advantage PPO 的去 Critic 版。利用 Group 内的相对优劣作为 Advantage。
DPO (静态数据集)Implicit (隐式推导)离线算法。虽然好用,但受限于静态数据的分布。

3. 关键洞察:为什么 Online RFT 吊打 Offline RFT?

为了验证“Data Source”的重要性,论文做了一个漂亮的消融实验(Figure 5 ):

  • 对比: RFT (用旧模型采样) vs Online RFT (用正在训练的模型实时采样)。

  • 结果: 训练初期两者差不多,但随着步数增加,Online RFT 显著优于 RFT

这就是 RL 中经典的 Distribution Shift (分布漂移) 问题。

  • Offline: 当模型变强后,旧模型采样的样本对它来说太简单了(Easy Positives),或者分布已经偏离,产生的梯度信号充满了噪声。

  • Online: 模型始终在自己的探索边界 (Exploration Frontier) 上学习。它不仅学到了“什么是对的”,更重要的是通过生成错误样本(在 Online RFT 中会被过滤掉,但在 GRPO 中会被赋予负分),它隐式地学到了“什么是错的”。

基于这个统一范式,DeepSeekMath 指出了学术界可以发力的方向 :

1数据源的革新 (Data Source):

目前的 RL (包括 GRPO) 还是只用了 SFT 的 Prompt ($q \sim P_{sft}$)。

Idea: 如果我们让 $q$ 也动起来呢?比如让模型自己提出更难的问题(Self-instruct / Curriculum Learning),或者用 Tree-Search (ToT) 生成更高质量的轨迹作为 Data Source 10。这能解决“Maj@K 提升但 Pass@1 不提升”的瓶颈。

2梯度系数的鲁棒性 (Robust GC): 目前的 GC 极度依赖 Reward Model 的打分。如果 Reward Model 被 hack 了(Reward Hacking),GC 就会把模型带沟里去。

Idea: 探索 Weak-to-Strong 的泛化。如果我们的 Reward Model 只有 7B 的能力,如何通过改进 GC 的计算方式(例如引入不确定性估计 ),去指导一个 70B 的模型变得更强?

思考

今天的论文就到这里结束了,首先祝大家圣诞节快乐,其次是自己对深度学习和强化学习的一点理解,其实到现在为止,我依然认为,在大模型的强化学习中:一开始的深度学习预训练,和人一样,是一个产生神经元链接的开始,而强化学习仅仅是加粗这根神经元,没有学到新的东西。

为什么现在的 RL 只能“加粗”? 难道 RL 不能像 AlphaGo 那样创造新策略(第37手)吗?

数据源的封闭性: DeepSeekMath 的 RL 训练数据仅仅是 SFT 阶段的问题集 ($q \sim P_{sft}$

采样的局限性: 也就是用了简单的 Nucleus Sampling

我们没有去外面找新题,也没有让老师教新课。我们只是把期中考试(SFT)的卷子发下去,把标准答案撕了,让学生一遍又一遍地重做这些题,做得好的就加分,仅此而已。

AlphaGo 的不同点: AlphaGo 有一个完美的环境模拟器(围棋规则)。它可以做 MCTS(蒙特卡洛树搜索),去探索那些人类棋谱里从来没出现过的状态。LLM 缺乏这样一个完美的 Verifier 和 Simulator。

RL 的真正价值可能在于“逻辑缝合”虽然 RL 没法注入新的“知识性知识”(比如它不会通过 RL 突然知道 2025 年谁是美国总统),但它可能注入了过程性知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值