DeepSeek-R1相关论文解读

server/2025/2/11 16:52:34/
aidu_pl">

另:数学推理论文篇:DeepSeekMath

一、DeepSeek-R1-Zero和DeepSeek R1区别

都使用了RL强化学习中的GROP,但是R1还使用了SFT,进行了多阶段训练。

1. 什么是SFT?

SFT是给模型一些正确例子:情况1 + answer,情况2 + answer,在模型学会在什么情况下回答什么。

没教的情况,模型就不一定知道该做什么, 它会找到SFT数据类似的情况模仿,模型可对可错。即SFT提供的都是正反馈,无法提供负反馈。

SFT之后的模型,本质提搞的是某些token在某些情况下的概率,那么存在提高Prob(E|ABCD)的概率,也会顺带提高下 Prob(E|ACD )的概率。

也就是”我不喜欢->猫“的概率增加的同时, ” 我喜欢->猫“的概率也会增加,但是这两个句子明明是相反的句子。SFT只是预测下一个token的概率,显然考虑整个句子的意思。

2. RL优势在哪?

SFT的反馈粒度是token,RLHF更倾向于考虑整体影响。

理论上RL的上限更高一些,也容易训崩,SFT的上限取决SFT的数据

因此推理能力的提升以及突破模型的推理能力的上限,需要靠RL。

3. 为什么R1要用SFT?

强化学习初期的不稳定性(因为强化学习,对数据的格式也有奖励,已经SFT的模型会输出稳定的格式,强化学习在格式方向的优化会加快收敛)。

提升模型输出的可读性(用规范的冷启动的数据SFT base model之后,模型的输出也会按照特定的格式来,后续强化学习的采样过程,也是按照特定的格式来,强化学习之后的模型也是按照特定的格式输出,便于后期处理)

4. 多阶段训练目的?

Stage1:

 为了生成更好推理数据。先训练了一个用于生成高质量推理数据的model(训练过程是SFT+RL),后使用这个model生成数据,并进行过滤(拒绝采样),最终得到精度更高的推理数据。

Stage2:

更高的推理数据混合非推理的数据是为了克服模型经过推理数据调整参数后产生的“再难遗忘”,导致其它非推理类任务效果变差。

二、aha moment

DeepSeek-R1-Zero 学会了重新评估和反思。它突显了强化学习的力量和美妙之处:不需要明确地教模型如何解决问题,而是通过提供正确的激励,让它自主地发展出高级的解决问题策略。

三、DeepSeek-R1-Zero 的缺陷

四、DeepSeek-R1 整体训练流程

  1. 冷启动数据对大模型进行微调
  2. 再对V3模型进行强化
  3. 得到deepseek中间态
  4. 采用rejection sampling拒绝采样得到reasoning的data继续对V3进行微调
  5. 转向3进行GRPO强化
  6. 几轮之后效果很好,对Quen和LLAMA3.3进行蒸馏

五、GROP算法原理  RL+LLM

主流RLHF方向分为两大路线:

  • On policy:让模型自己做生成,根据模型生成结果的好坏来打分,用于指导模型进行更新。
    • 每次训练都基于自己的生成模型Actor,通过教练Off policy反馈奖励;
    • 优势是效率高,但是训练后的模型能力可能不够;
  • Off policy:模型不需要亲自输出答案,根据给定的「好坏样本」来进行模拟学习。
    • 基于现有 标注情况进行分析,存在训练样本可能与模型不匹配的问题;
    • 可能达到模型能力上限,问题是效率低。

1. PPO算法?

Critic 是和 Actor 一起训练的。

Reward Model:用于给出最终分数的模型。

Reference Model:目的是为了让 actor 不要训练偏离太远

4个模型中,Actor生成文本,Critic评估预期收益,两者配合优化策略;Reward提供即时反馈,Reference模型则通过KL散度约束生成内容的稳定性。

2. why GRPO?

Group Relative Policy Optimization:应用于LLMs,在复杂任务(如数学推理和代码生成)表现的很好。

核心思想:通过组内相对奖励优化模型,而不是传统的批评critic模型。

伪代码如下:

与PPO相对一致,区别在:

没有利用critic model求A,直接暴力n次求均值;只有Policy模型,没有Value模型。

  • 无需额外的价值函数:
    • GRPO 使用组内平均奖励作为基线,避免了训练额外的价值函数,从而减少了内存和计算负担
  • 与奖励模型的比较性质对齐:
    • GRPO 使用组内相对奖励计算优势函数,这与奖励模型通常在同一问题的不同输出之间进行比较的性质相符。
  • KL惩罚在损失函数中:
    • GRPO 直接将训练策略 θ 和参考策略 πref 之间的 KL 散度添加到损失中,而不是像 PPO 那样在奖励中添加 KL 惩罚项,从而避免了复杂化 A^i,t 的计算。

六、小结

参考:

[1] Shao Z, Wang P, Zhu Q, et al. Deepseekmath: Pushing the limits of mathematical reasoning in open language models[J]. arXiv preprint arXiv:2402.03300, 2024.

[2] Guo D, Yang D, Zhang H, et al. Deepseek-r1: Incentivizing reasoning capability in llms via reinforcement learning[J]. arXiv preprint arXiv:2501.12948, 2025.

[3] DeepSeek-R1-Zero 和Deep seek R1 技术详解 && GRPO的训练方法 - 知乎 (zhihu.com)

[4] DeepSeek-R1深度解读,大模型+强化学习重挫英伟达!_哔哩哔哩_bilibili


http://www.ppmy.cn/server/166807.html

相关文章

【算法篇】贪心算法

目录 贪心算法 贪心算法实际应用 一,零钱找回问题 二,活动选择问题 三,分数背包问题 将数组和减半的最小操作次数 最大数 贪心算法 贪心算法,是一种在每一步选择中都采取当前状态下的最优策略,期望得到全局最优…

机器学习数学基础:18.向量组及其线性组合

向量组与线性表示:案例与教程详解 一、基础概念 (一)向量组 向量组是若干同位数列向量组成的集合。比如在平面直角坐标系中,向量组 { α ⃗ 1 [ 1 0 ] , α ⃗ 2 [ 0 1 ] } \{\vec{\alpha}_1 \ \begin{bmatrix}1\\0\end{bma…

Lua限流器的3种写法

学而不思则罔,思而不学则殆 引言 上篇文章讲解了Lua脚本,事务和Pipline之间的使用方式和性能差距,本篇文章将聚焦Lua脚本,我将用三种写法来展现如何实现一个Redis限流器 固定窗口限流 固定窗口限流也是最简单的限流算法&#x…

重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba

*本文作者系阿里云云原生微服务技术负责人,Spring AI Alibaba 发起人彦林,望陶和隆基对可观测和 RocketMQ 部分内容亦有贡献。 * 摘要 随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 Lang…

x64、aarch64、arm与RISC-V64:详解四种处理器架构

x64、aarch64、arm与RISC-V64:详解四种处理器架构 x64架构aarch64架构ARM架构RISC-V64架构总结与展望在计算机科学领域,处理器架构是构建计算机系统的基石,它决定了计算机如何执行指令、管理内存和处理数据。x64、aarch64、arm与RISC-V64是当前主流的四种处理器架构,它们在…

Java中未检查类型转换的隐患:从List<Map>到List<Student>的映射问题解析

为什么你的Java对象中出现未知属性? 问题出现原因1. 类型擦除与未检查的类型转换2. 根本原因:Map到Student的映射缺失 为什么代码没有抛出异常?解决方案:显式映射Map到Student方案1. 手动转换方案2:使用对象映射框架&a…

从零开始学Python爬虫:(一)爬虫前言

一、必备知识点 (1)python基础 想用Python爬虫,首先你要有一定python基础。 关于python基础知识,可以去我的主页找到: 用人话讲计算机系列的Python篇目,共十七节 外附加python知识点精汇系列&#xff…

redis底层数据结构——链表

文章目录 定义内部实现总结 定义 链表提供了高效的节点重排能力,以及顺序性的节点访间方式,并且可以通过增删节点来灵活地调整链表的长度。 作为一种常用数据结构,链表内置在很多高级的编程语言里面,因为Redis使用的C语言并没有…