当前位置: 首页 > news >正文

浅入浅出 DeepSeek R1

DeepSeek R1

R1探索纯强化学习是否可以在没有监督微调的情况下学会推理的能力。

‘Aha’ Moment

这种现象有点类似于人类在解决问题时突然意识到的方式,以下是它的工作原理:

  1. 初始尝试:模型对解决问题进行初始尝试
  2. 识别:识别潜在的错误或不一致
  3. 自我纠正:它根据这种识别调整其方法
  4. 解释:它可以解释为什么新方法更好

这种能力从 RL 训练中自然而然地出现,没有明确编程,展示了学习,而不仅仅是从训练数据中记住一个过程。

训练过程

  • DeepSeek-R1-Zero: 纯粹使用强化学习训练的模型。
  • DeepSeek-R1: 基于 DeepSeek-R1-Zero 构建并添加监督微调的模型。
FeatureDeepSeek-R1-ZeroDeepSeek-R1
Training ApproachPure RLMulti-phase (SFT + RL)
Fine-tuningNoneSupervised fine-tuning
Reasoning CapabilityEmergentEnhanced
AIME Performance71.0%79.8%
Key CharacteristicsStrong reasoning but readability issuesBetter language consistency and readability
1. Cold Start Phase(Quality Foundation)
SFT
R1-Zero
High-quality
COT data
V3-Base
V3-Base
SFT-1
2. Reasoning RL Phase(Capability Building)

此阶段采用基于规则的强化学习,奖励与解决方案的正确性直接相关,无需单独的奖励模型,从而简化了训练过程。

  • language consistency reward
  • human preferences reward
  • answer reward
  • format reward
generate
reward
Prompts
V3-Base
SFT-1
Responses
Rules
format reward
answer reward
consistency reward
......
3. Rejection Sampling Phase(Quality Control)

侧重于推理,此阶段整合来自其他领域的数据,以增强模型在编写、角色扮演和其他通用任务方面的能力

generate
judgment
filter
SFT
Reasoning
prompts
V3-Base
RL
Ground-truth
Responses
V3-Base
Quality
score
Prompts
Responses
Q-scores
Reasoning
data
V3-Base
RL
V3-Base
SFT-2
4. Diverse RL Phase(Broad Alignment)

最后的 Diverse RL 阶段使用复杂的混合方法处理多种任务类型。对于确定性任务,它采用基于规则的奖励,而主观任务则通过 LLM 反馈进行评估。此阶段旨在通过其创新的混合奖励方法实现人类偏好对齐,将基于规则的系统的精确性与语言模型评估的灵活性相结合。

  • rule-base reward : math、code、logical reasoning
  • model-reward : upon the DeepSeek-V3

Group Relative Policy Optimization(GRPO)

GRPO 的新颖之处在于它能够 “直接优化以纠正偏好”。这意味着将模型与所需输出对齐的途径更直接、更高效,这与 PPO 等传统强化学习算法形成鲜明对比。下面通过其三个主要组件来分解 GRPO 的工作原理。

1. Group Formation: Creating Multiple Solutions

GRPO 的第一步非常直观 - 它类似于学生通过尝试多种方法解决难题的方式。当给出提示时,它会创建多次尝试来解决同一问题(通常为 4、8 或 16 次不同的尝试)。

Input
Prompt
Model
Attempt 1
......
Attempt 2
......
Attempt 3
......
Group
Responses
Evaluate
Responses
2. Preference Learning: Understanding What Makes a Good Solution

这就是 GRPO 最具特色的地方,与其他需要单独奖励模型来预测解决方案可能有多好的 RLHF 方法不同,GRPO 可以使用任何函数或模型来评估解决方案的质量。例如,我们可以使用 length 函数来奖励较短的响应,或使用数学求解器来奖励准确的数学解决方案。

Response
Correct?
Reward
Correct
Length?
Helpful?
Correct
Format?

GRPO 不仅给出绝对分数,还对每组内的奖励进行标准化。它使用一个简单但有效的公式来估计群体相对优势:

Advantage = (reward - mean(group_rewards)) / std(group_rewards)
3. Optimization: Learning from Experience

最后一步是 GRPO 教模型根据它从评估一组解决方案中学到的知识进行改进。这种方法被证明比传统方法更稳定,因为:

  • 它着眼于多个解决方案,而不是一次只比较两个
  • 基于组的规范化有助于防止奖励扩展出现问题
  • KL 处罚就像一个安全网,确保模型在学习新事物时不会忘记它已经知道的东西
4. GRPO Algorithm in Pseudocode
Input: 
- initial_policy: Starting model to be trained
- reward_function: Function that evaluates outputs
- training_prompts: Set of training examples
- group_size: Number of outputs per prompt (typically 4-16)Algorithm GRPO:
1. For each training iteration:a. Set reference_policy = initial_policy (snapshot current policy)b. For each prompt in batch:i. Generate group_size different outputs using initial_policyii. Compute rewards for each output using reward_functioniii. Normalize rewards within group:normalized_advantage = (reward - mean(rewards)) / std(rewards)iv. Update policy by maximizing the clipped ratio:min(prob_ratio * normalized_advantage, clip(prob_ratio, 1-epsilon, 1+epsilon) * normalized_advantage)- kl_weight * KL(initial_policy || reference_policy)where prob_ratio is current_prob / reference_probOutput: Optimized policy model

Limitations and Challenges of GRPO

  • 生成成本:与仅生成一个或两个完成的方法相比,为每个提示生成多个完成 (4-16) 会增加计算要求。
  • 批量大小约束:需要一起处理完成组可能会限制有效的批量大小,从而增加训练过程的复杂性,并可能减慢训练速度。
  • 奖励函数设计:训练的质量在很大程度上取决于精心设计的奖励函数。设计不佳的奖励可能会导致意外行为或针对错误目标的优化。
  • 组大小权衡:选择最佳组大小涉及平衡解决方案的多样性与计算成本。样本太少可能无法提供足够的多样性,而样本太多会增加训练时间和资源需求。
  • KL 背离调整:为 KL 背离惩罚找到合适的平衡需要仔细调整 - 太高会导致模型无法有效学习,太低并且可能会偏离其初始能力太远。

http://www.mrgr.cn/news/97952.html

相关文章:

  • elasticSearch-搜索引擎
  • Kaggle-Housing Prices-(回归+Ridge,Lasso,Xgboost模型融合)
  • Web前端之Vue+Element实现表格动态不同列合并多行、localeCompare、forEach、table、push、sort、Map
  • C#容器源码分析 --- List
  • vue2添加背景水印-手动实现(无组件模式)
  • Python 实现的运筹优化系统数学建模详解(最大最小化模型)
  • Vue3+Vite+TypeScript+Element Plus开发-11.Pinia持久化处理
  • 【图书管理系统】深入解析基于 MyBatis 数据持久化操作:全栈开发图书管理系统获取图书列表接口(后端:计算图书页数、查询当前页展示的书籍)
  • 【特权FPGA】之AT24C02 IIC实现
  • 18. git pull
  • 深度学习基础--CNN经典网络之分组卷积与ResNext网络实验探究(pytorch复现)
  • OpenGL学习笔记(模型材质、光照贴图)
  • UniApp 实现兼容 H5 和小程序的拖拽排序组件
  • 15. git remote
  • 14. git clone
  • 【特权FPGA】之按键消抖
  • 蓝桥杯备赛知识点总结
  • YOLOv8主干网络升级——融合ResNet18/34/50/101的高效特征提取架构设计
  • 天梯集训笔记整理
  • 剑指offer经典题目(三)