Reasoning模型复现R1经验综述

作者 | xxx 编辑 | 自动驾驶之心

原文链接:xxxxx

点击下方卡片,关注“自动驾驶之心”公众号

戳我-> 领取自动驾驶近15个方向学习路线

>>点击进入→自动驾驶之心『BEV感知』技术交流群

本文只做学术分享,如有侵权,联系删文

小小梦想的R1模型(复现R1)

作者复现R1基于HF的open-r1,底层使用trl库,在GSM8K数据集上进行了复现,使用了4张40G的A100和Qwen2.5 1.5B-Instruct模型。代码在https://github.com/Mryangkaitong/deepseek-r1-gsm8k


奖励:

  • 格式奖励参考了Logic-RL的工作,格式检查了以下内容:

    • 出现在之后,

    • 在之后,

    • 在之后,

    • 以上三种任意一种都是格式错误,奖励值出-1,其他出+1;

  • accuracy_reward直接看结果是否正确,正确奖励值为1,错误奖励值为0。


参数:

作者使用了DeepSpeed Zero3,FlashAttention2, 提示词长度最大512,回答长度最大1024,每张卡1个BS,梯度累计16步, 每次采样3个回答,学习率3e-6,BF16,使用VLLM。


作者的复现效果:

97e2e444aaacf8d2a3b78f68eb3db6c8.png
来源于https://github.com/Mryangkaitong/deepseek-r1-gsm8k/blob/main/log/log.png

作者使用Qwen2.5 1.5B-Instruct在GSM8K训练完的准确率为74.29%。


HF的Open-R1(复现R1)

github.com/huggingface/open-r1/


作者复现的训练步骤:

61fea32a41771ee3767b12c627b7ee4e.png
  1. 首先对有指令遵循的模型蒸馏DeepSeek R1的训练数据,得到Open R1-Distill;

  2. 对Base 模型用GRPO训练得到OpenR1-Zero;

  3. 对Base模型先蒸馏Open R1-Zero的指令遵循数据,再使用GRPO训练得到Open R1。


作者的复现效果

584db0a53342eebdb4f2fc0aee5b1493.png
左侧是HF Open R1,右侧是DeepSeek R1.

作者的生成使用的温度系数为0.6。


Mini-R1 (基于GRPO的用来玩小游戏的模型)

作者希望能通过GRPO的训练,让模型精通Countdown游戏。Countdown 游戏是一个数字拼图游戏,玩家使用一组随机抽取的数字和基本的算术运算 (+、-、×、÷) 来达到或尽可能接近目标数字

作者的技术文章在 https://www.philschmid.de/mini-deepseek-r1


奖励设置

  • Format Reward:检查生成的格式是否满足[thinking][answer]的格式。满足奖励值为 1.0 ,否则为0。

  • Accuracy Reward:从标签中提取方程式,并根据目标以及每个数字是否使用一次对其进行评估。

    • 生成的回答必须包含且必须可以被(.?)解析出内容,同时解析出的内容只能包含数字、运算符(+、-、、/)、括号、点号(.)和空白字符。

    • 数字使用正确:解析出的内容中的数字只能是输入的几种数字。

    • 使用eval运行解析出的表达式,结果需要和答案的差异小于1e-5。

    • 异常处理:报异常直接返回0.


参数设置

每个设备一个BatchSize,梯度累计8步,采样8次,使用VLLM。


观察

  • 在 ~50 步时,模型已学习正确的格式。...\n...

  • 在 100 步时,求解方程的成功率约为 25%。模型开始用单词 “推理” ,见下面的例子。

  • 在 200 步时,性能似乎收敛得慢得多,我们的成功率为 ~40%。该模型开始学习一种新的 “格式”,在其中,它通过尝试不同的组合并查看结果,类似于以编程方式求解方程式,请参阅“步骤 200 和 450 之间的成功推理样本”。

  • 在 450 个步骤中,我们求解方程的成功率为 50%。性能仍然缓慢提高,模型从步骤 200 开始保持其新的格式形式。

f8f014b51bffcf4ee8eaa2fa40abe2eb.png


Logic-RL(复现R1)

文档链接 https://evxpwrsfkdb.feishu.cn/docx/NokEdaMBmo6aqZxVdxkcSm2cnab

代码链接 https://github.com/Unakar/Logic-RL


奖励设置:

作者自己写的规则

作者发现:


我们发现模型在学习format的时候,其实是一个快速收敛--逐渐崩坏--又忽然找回format的形式,与我们三阶段RL训练设置吻合。
还有一个有趣的小发现,在中间阶段,模型似乎认为格式反而阻碍了它的思考:日志里看到不少例子,模型在tag开始后意识到自己犯错了,想重回进入思考模式,可惜被format reward狠狠惩罚了


奖励设置:

  • 格式是否遵循think> [thinking][answer]的格式。满足奖励值为 1.0 ,否则为-1.0。

  • 答案是否正确:如果答案正确是2,答案可以解析但是错误是-1.5,答案不可以解析是-2


参数:

  • 模型:Qwen2.5-7B-Instruct-1M

  • 数据集&场景:作者使用了不到2K合成数据集。 场景:逻辑问题类似老实人和骗子的益智题,老实人总说真话,骗子总说假话,下面N个人,各有各的表述,请判断谁是骗子。

  • 训练(全局GRPO):

    • 预热:作者先使用一共三个人的逻辑问题作为训练集,3epoch的RL训练后,成功让qwen-7B达到了0.41。模型在10step训练里很快就能学会把format error降到0.1的占比

    • 训练:高温采样设置温度系数1.2

    • 退火:温度从1.2慢慢降到0.9,学习率降低到2e-7。

作者在挑选模型发现Qwen 7B MATH:


首先它指令跟随能力比较一般,很难学会format;
其次,它说话老爱用python code解题,训练很难克服移除system prompt后,还是习惯用\box{}包裹answer,还是format不行Markdown味道太重,一板一眼的,Reasoning模型本应思想跳脱一些才是。

从逻辑上确实是Qwen 7B Math更高,但是格式遵循不如Qwen Instruct模型。

作者使用了GRPO,采样数逐渐减少 64-32-16(因现存有限,每个设备的BatchSize先小后大)。


simpleRL-reason(Math模型)

Qwen2.5-7B-SimpleRL训练使用了8K条math相关的数据,

  • SFT:作者先从Qwen 32B QwQ生成 对应回答,然后对基模进行蒸馏。

  • RL: 作者使用GRPO,每个采样8个回答,训练模型。

Qwen2.5-7B-SimpleRL-Zero训练只有RL步骤,无SFT。


效果

(pass@1) 33.3% on AIME, 62.5% on AMC, and 77.2% on MATH。


总结

  • Reasoning能力:这几个复现项目都以Qwen为基模。预训练通过较好的过滤,减少知识的冲突,提高数据质量,把世界知识灌注好,通过GRPO就可以激发模型的reasoning能力。

  • 高效训练:强化学习可以参考OpenRLHF 、Ray和 生成时考虑VLLM。

  • 蒸馏具有Reasoning能力的教师模型或者通过Rule-Base RL训练都可以得到不错的效果。但是蒸馏涉及到数据的选取问题,RL涉及到Rule的质量,规避Reward hacking现象。

  • 通过高温采样可以得到多样性强的结果。


讨论

本人水平有限,如有问题,欢迎指正,本人不胜感激!

① 自动驾驶论文辅导来啦

ca5a34e128dcaffdf3ce452355741d43.jpeg

② 国内首个自动驾驶学习社区

『自动驾驶之心知识星球』近4000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知端到端自动驾驶世界模型仿真闭环2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案大模型,更有行业动态和岗位发布!欢迎扫描加入

b7a2b301c06c708c3fc3006e90f539c8.png

 ③全网独家视频课程

端到端自动驾驶、仿真测试、自动驾驶C++、BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、CUDA与TensorRT模型部署大模型与自动驾驶NeRF语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

9ce02cb5cd0297d590d1df503c6d8fc4.png

网页端官网:www.zdjszx.com

④【自动驾驶之心】全平台矩阵

03063c1798f850247133320c66dd798c.png

内容概要:该论文聚焦于6G通信中20-100GHz频段的电磁场(EMF)暴露评估问题,提出了一种基于自适应可重构架构神经网络(RAWA-NN)的预测框架。该框架通过集成权重分析模块和优化模块,能够自动优化网络超参数,显著减少训练时间。模型使用70%的前臂数据进行训练,其余数据用于测试,并用腹部和股四头肌数据验证模型泛化能力。结果显示,该模型在不同参数下的相对差异(RD)在前臂低于2.6%,其他身体部位低于9.5%,可有效预测皮肤表面的温升和吸收功率密度(APD)。此外,论文还提供了详细的代码实现,涵盖数据预处理、权重分析模块、自适应优化模块、RAWA-NN模型构建及训练评估等内容。 适合人群:从事电磁兼容性研究、6G通信技术研发以及对神经网络优化感兴趣的科研人员和工程师。 使用场景及目标:①研究6G通信中高频段电磁暴露对人体的影响;②开发更高效的电磁暴露评估工具;③优化神经网络架构以提高模型训练效率和预测精度。 其他说明:论文不仅提出了理论框架,还提供了完整的代码实现,方便读者复现实验结果。此外,论文还讨论了未来的研究方向,包括扩展到更高频段(如300GHz)的数据处理、引入强化学习优化超参数、以及实现多物理场耦合的智能电磁暴露评估系统。建议读者在实际应用中根据具体需求调整模型架构和参数,并结合真实数据进行验证。
内容概要:本文是北京金融科技产业联盟发布的《基于数据空间的金融数据可信流通研究报告》,探讨了金融数据可信流通的现状、挑战和发展前景。文章首先介绍了金融数据在数字化转型中的重要性及其面临的隐私保护和安全挑战。接着,文章详细阐述了数据空间的概念及其发展历程,尤其是可信数据空间(TDM)在我国的发展情况。文中还深入分析了金融数据可信流通的典型应用场景、关键技术和方案架构,如数据访问控制、数据使用控制、智能合约、数据脱敏等。最后,文章展示了多个典型场景应用案例,如中信银行总分行数据流通管控、工银金租数据流通、银联安全生物特征支付等,并总结了当前可信数据空间建设中存在的法规、技术、标准和商业模式挑战,提出了相应的政策建议。 适用人群:金融行业从业者、数据安全管理人员、政策制定者、科技研发人员等。 使用场景及目标:①理解金融数据可信流通的重要性和挑战;②学习可信数据空间的关键技术和应用场景;③探索金融数据可信流通的具体实践案例;④了解当前可信数据空间建设的瓶颈和未来发展方向。 其他说明:本文不仅提供了详尽的技术和应用分析,还提出了具体的政策建议,有助于推动金融数据可信流通的健康发展。阅读本文可以帮助读者深入了解金融数据安全保护和高效利用的最佳实践,为相关政策和技术的发展提供参考。
基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业),个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业)基于Python的天气预测和天气可视化项目源码+文档说明(高分毕设/大作业
<think>好的,用户想了解如何训练R1模型,特别是DeepSeek-R1,可能是在寻找教程或方法。首先,我需要整理一下相关的引用内容,看看有哪些信息可以直接帮助用户。 引用[1]提到DeepSeek-R1-Zero的训练方法,包括使用模板引导基础模型生成推理过程和答案,结构化的格式避免偏向,这可能涉及指令微调。引用[2]讲到了DeepSeek-R1在R1-Zero基础上加入冷启动数据和多阶段训练,提升模型性能。引用[4]涉及LLaMA-Factory的微调教程,可能与训练工具有关。 用户的问题可能分为几个部分:训练步骤、所需工具、数据准备和优化方法。我需要将这些引用中的信息整合起来,分步骤回答。比如,首先基础模型训练,然后多阶段训练,接着数据准备和工具使用,最后性能优化。 同时,用户可能需要具体的操作步骤,比如如何使用LLaMA-Factory进行微调,数据预处理的方法,以及硬件配置要求。引用[3]提到了不同模型的配置,可能需要说明训练R1所需的硬件资源。 另外,用户可能对模型的结构和优化策略感兴趣,比如冷启动数据的作用,多阶段训练的具体阶段,以及如何通过蒸馏版减少资源消耗。需要将这些内容结合引用来解释。 最后,要确保回答结构清晰,分步骤说明,并给出相关的引用支持每个步骤。可能还需要生成相关问题,帮助用户深入理解训练过程中的各个细节。</think>### DeepSeek-R1模型训练方法详解 #### 一、训练流程核心步骤 1. **基础模型构建(R1-Zero阶段)** - 使用结构化模板引导模型生成推理过程与答案,例如: ```python def generate_response(prompt): reasoning = model.generate(prompt + "\n推理过程:") answer = model.generate(prompt + "\n最终答案:") return reasoning, answer ``` - 通过强化学习框架优化生成质量,避免特定策略偏向[^1] 2. **多阶段优化(R1阶段)** - 引入冷启动数据提升初始稳定性 - 分三个阶段渐进训练: $$Stage_1: \min_{\theta} \mathcal{L}_{pretrain}(D_{base})$$ $$Stage_2: \max_{\phi} \mathbb{E}_{(x,y)\sim D_{SFT}}[\log \pi_{\phi}(y|x)]$$ $$Stage_3: \max_{\phi} \mathbb{E}_{x\sim D_{RL}}[r(x,y)]$$ 其中$D_{base}$为预训练数据,$D_{SFT}$为指令微调数据[^2] #### 二、关键工具与配置 1. **硬件要求**(根据模型规模选择): - R1-Zero:RTX 4090(24GB) + Xeon 8核 + 128GB内存 - 蒸馏版1.5B:四核CPU + 8GB内存即可运行[^3] 2. **软件环境搭建**: ```bash conda create -n r1_train python=3.9 pip install llama-factory deepseek-torch ``` #### 三、数据准备规范 1. 数据集格式示例: ```json { "instruction": "解释量子纠缠", "input": "", "output": "量子纠缠是...", "history": [] } ``` 2. 预处理流程: - 文本归一化(统一全角/半角字符) - 质量过滤(剔除重复率>30%的样本) - 知识增强(注入领域术语词典) #### 四、性能优化策略 1. **参数高效微调**: - 使用LoRA技术减少训练参数量: $$W' = W + \alpha \cdot BA$$ 其中$B\in\mathbb{R}^{d×r}$, $A\in\mathbb{R}^{r×k}$为低秩矩阵[^4] 2. **量化部署方案**: - 动态8bit量化: ```python model = deepseek.quantize(model, bits=8, quant_type="dynamic") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值