DeepSeek R1出来后业界都在争相复现R1的效果,这一章我们介绍两个复现项目SimpleRL和LogicRL,还有研究模型推理能力的Cognitive Behaviour,项目在复现R1的同时还针对R1训练策略中的几个关键点进行了讨论和消融实验,包括

  1. RL和SFT对比对于模型习得能力泛化性的影响?
  2. RL训练的领域外泛化效果
  3. 小模型是否能通过RL习得推理能力
  4. RL中规则目标函数的设定
  5. 前期warmup是否有必要
  6. 思考过程中的语言混合是否影响推理效果
  7. Kimi-1.5中使用的课程学习是否能提升测试集效果
  8. 是否所有模型都能通过RL激发出慢思考能力

LogicRL

论文给出了在7B模型上有效,泛化性极佳的复现DeepSeek R1 RL训练的技术报告,并在训练过程中的几个关键变量上做了消融实验。这里我们只对比和R1-Zero训练的异同,以及技术报告在实验中的一些有趣发现,对DeepSeek R1技术细节不清楚的同学,可以先看解密prompt系列48. DeepSeek R1 & Kimi 1.5长思维链 - RL Scaling

核心差异主要有2点,Logic-RL使用了7B的Qwen小模型,并验证了在小模型上RL训练同样带来领域外思考能力的显著提升在AIME提升125%,AMC提升52.5%。其次是数据集,论文训练采用可以程序化生成并人为控制难度的Knights & Knaves(K&K)逻辑谜题,只用5K的小样本训练就能在AIME,AMC等数学竞赛提上获得显著的跨领域提升。

和R1-Zero相同,LogicRL也采用了基于规则的奖励函数的设计,同样包含两个部分,分别是回答格式的约束和答案正确与否的约束,其中格式奖励函数定义为:

\[ S_{\text{format}} = \begin{cases}
1, & \text{格式合规} \\
-1, & \text{格式违规}
\end{cases}\]

答案的奖励函数定义为

\[ S_{\text{answer}} = \begin{cases}
2, & \text{完全匹配} \\
-1.5, & \text{部分错误} \\
-2, & \text{无法解析}
\end{cases}
\]

最终RL的奖励函数是以上两个函数的加和,论文选在在Qwen2.5-7B-Base模型上进行训练,RL训练的超参如下,lr=4*10^-7, temperature =0。7,观测训练阶段的稳定收敛

在训练过程中论文还有几个有趣的发现(哈哈个人感觉不太重要的几个点就不提了)

  1. 特定thinking Token(Wait,verify,yet)会带来模型reward打分的提升:不过感觉这个消融实验可以更严谨些,只对比了reward没有对比在测试集打分,以及是否带有特定thinking Token可能本身就会引入题目难度或类型的差异。
  2. 思考过程出现语言混合同样会降低模型reward打分:因此语言一致性penalty可能不只是为了提升可读性,也能提升推理效果。不过个人感觉这一点需要更充分的实验论证,有一点不太符合直觉。
  3. RL训练会带来显著的领域外迁移能力:逻辑思维是一种能力,不局限于训练的单一领域

  1. RFT(SFT+Reject sampling)和RL的效果对比中RL显示出极佳的泛化性:论文的测试方案是对比不同训练策略下输入扰动对训练集准确率的影响。输入扰动越大SFT训练的模型效果越差,说明SFT确实更多通过强记进行学习。

  2. 课程学习在测试集上会带来效果提升:通过依次提升训练样本的思考难度(KK数据集的人数设定)让模型逐渐习得思考能力

  3. 使用Base还是Instruct模型效果上差异不大:但是看response Length的增长曲线Base模型训练中的波动更大,可能会比Instruct模型有多的可行空间探索。因为Instruct模型前期的SFT训练还是会对模型推理形成一定范围的约束。可能也需要更多的论证。

SimpleRL

同样是使用 Qwen2.5-Math-7B-Base,SimpleRL是使用8K的MATH数据集进行RL训练,SimpleRL在AIME和AMC上同样有非常显著的领域外的效果提升。

论文采用的奖励函数如下, 比Logic-RL的奖励函数设计还要更加简单

\[ S_{\text{format}} = \begin{cases}
1, & \text{格式合规且答案正确} \\
-0.5 & \text{格式合规但答案不对}\\
-1, & \text{格式违规}
\end{cases}\]

并且论文对是否需要进行Long-COT SFT warm-up进行了对比实验,

  • 方案1:MATH数据进行RL训练,和R1-Zero相同
  • 方案2:先使用QWQ-32B-Preview在8K的MATH样本上生成Long-COT数据,使用这部分数据进行SFT让模型先模仿学习长思考能力,之后再使用相同的数据进行RL探索适合自己的长思考能力,和R1相同

方案1的训练过程如下,在8个Benchark上,在训练过程中,准确率均能稳定上升,回答长度先下降再上升(来源于基模型本身偏向于输出代码,经过一段RL训练后代码风格消失带来的前期长度下降,前期的下降换个模型不一定能复现)。



在step=40左右,观测到了模型反思类的思考过程的出现。

而方案2的训练过程和方案1类似,模型回答长度同样经历了先下降再上升的过程。说明前期模仿学习要么underfit,要么QWQ的输出分布和Qwen-7B存在显著差异,模型在RL过程中进行了重新的思考链路的探索。 效果对比上经过warmup的模型对比没有经过warmup的模型在3个基准上有提升,但是在AIME上有很显著的下降,因此是否需要warmup个人感觉还需要更多实验。几个值得进一步实验的点包括

  • warmup和RL的数据集是否应该是不同的,甚至warmup的数据集难度是否应该更简单,从而避免在warmup阶段模型的过度模仿
  • warmup的数据来源是否应该是输出分布更一致的模型系列,例如7B模型按方案1训练后再拒绝采样得到预热的样本集,而非从其他模型得到

而前面准备测试的warmup数据的问题,在最近看到DeepSeek-R1复现:拒绝采样微调加速RL收敛及模型遗忘问题探究的博客中已经做了部分实验论证也。对比直接使用GSM8k的数据集做SFT,和使用RL训练后的模型推理生成的数据在原Base模型上重新做SFT,前者效果全面下降而后者在GSM8k上的效果和RL近似并且在其他领域外的效果也并未损失,说明warmup数据和基模型的分布一致性很重要。

Cognitive Behaviour

  • Cognitive Behaviors that Enable Self-Improving Reasoners, or, Four Habits of Highly Effective STaRs

其他R1复现论文中心都在后面的训练以及数据构造流程,而这篇论文把关注点放在了Base模型上,论文发现不同的Base模型,经过相同的RL训练后,激发出的思考能力是不同的,例如Qwen-2.5-3B会显著优于Llama-3.2-3B,如下图所示,经过相同的RL训练,Qwen的思考能力和回答长度的提升要显著更加明显

而论文给出的可解释观点是基模型的差异来自模型本身是否有基础的认知能力,包含但不限于Verification(错误检查), Backtracking(失败重试), Subgoal Setting(问题拆解), Backward Chaining(逆向思维)等思维模式。 论文选择这四种,只不过这些能力在大模型推理过程中更常见到,且更容易通过特殊Token或pattern进行识别。

这里论文是给出了这四种思维方式的定义,并借助GPT-4O-mini直接对思维过程进行分类识别,看是否出现了以上四种能力。(哈哈虽然但是有这么多论文在分析模型思维方式,但万一思维方式只是模型推理效果的Confounder而非Mediator呢?)

首先论文对比了Qwen2.5-3B,Llama-3B,Llama-70B原始的基座模型在推理过程中,以上四种能力的出现比例,发现Qwen原模型中四类思考模式的出现概率就要显著更高,而Llama系列显著更低,不过更大的Llama模型思考比例会出现明显上升。这个现象就可以形成一个猜测那原生基模型是否具备不同的思维方式,是否会影响后续RL激发思维能力的效果了呢?

论文分别从两个角度去尝试论证这个假设,分别通过SFT和修改预训练数据,增加不同类型的思维模式数据,让基模型在RL之前就具备不同的思维能力,再去做RL激发复杂长思考能力,并观测效果变化。

其次论文尝试从不同模型中引导出以上四种思维能力。论文使用CountDown数据集,并使用Claude-3.5-Sonnet模型用不同指令,让模型分别生成带有以上四种不同思维模式(但每种都有BackTracking),包含所有4种思维模式,不包含任意一种思维模式的COT,和COT长度相同但只有placeholder的思维链,总共7份数据集。并且以上数据集论文还单独做了一份答案全部错误的版本,相当于只训练能力,不训练模型作对题目。这样通过对比实验就能初步定为每一种思维模式对模型的具体影响。

实验结果显示,使用以上包含所有思维模式的数据集对模型思维模式进行冷启动后,再使用RL训练,在Qwen和Llama上均有明显的效果提升,Llama尤其明显,几乎可以打平Qwen,如下图所示。论文还更多对比了不同思维模式之间的抑制关系,不过感觉这部分的结论和数据集以及测试任务本身会有比较强的关联性,这里就不细展开啦。

最后论文还验证了预训练数据中思维能力相关的模式出现频率,使用Qwen-32B对OpenWebMath和FineMath等数学领域预训练模型进行识别,论文发现即便在数学领域的预训练数据中以上思维模式出现的频率也是很低的,说明预训练阶段对于学习以上思维模型并不充足,随后论文尝试在预训练数据中通过改写加入包含以上特定思考行为的样本,预训练后的Llama模型,再使用RL进行训练可以得到和以上Qwen相似的效果。

整体论文切入点比较有趣,但下一步更让人好奇的是Llama和Qwen基模型中思维模式的差异究竟是什么带来的呢?

想看更全的大模型论文·微调预训练数据·开源框架·AIGC应用 >> DecryPrompt

解密prompt系列51. R1实验的一些细节讨论的更多相关文章

  1. 解密Prompt系列6. lora指令微调扣细节-请冷静,1个小时真不够~

    上一章介绍了如何基于APE+SELF自动化构建指令微调样本.这一章咱就把微调跑起来,主要介绍以Lora为首的低参数微调原理,环境配置,微调代码,以及大模型训练中显存和耗时优化的相关技术细节 标题这样写 ...

  2. 解密Prompt系列3. 冻结LM微调Prompt: Prefix-Tuning & Prompt-Tuning & P-Tuning

    这一章我们介绍在下游任务微调中固定LM参数,只微调Prompt的相关模型.这类模型的优势很直观就是微调的参数量小,能大幅降低LLM的微调参数量,是轻量级的微调替代品.和前两章微调LM和全部冻结的pro ...

  3. 解密Prompt系列4. 升级Instruction Tuning:Flan/T0/InstructGPT/TKInstruct

    这一章我们聊聊指令微调,指令微调和前3章介绍的prompt有什么关系呢?哈哈只要你细品,你就会发现大家对prompt和instruction的定义存在些出入,部分认为instruction是promp ...

  4. 解密prompt系列5. APE+SELF=自动化指令集构建代码实现

    上一章我们介绍了不同的指令微调方案, 这一章我们介绍如何降低指令数据集的人工标注成本!这样每个人都可以构建自己的专属指令集, 哈哈当然我也在造数据集进行时~ 介绍两种方案SELF Instruct和A ...

  5. 解密Prompt系列2. 冻结Prompt微调LM: T5 & PET & LM-BFF

    这一章我们介绍固定prompt微调LM的相关模型,他们的特点都是针对不同的下游任务设计不同的prompt模板,在微调过程中固定模板对预训练模型进行微调.以下按时间顺序介绍,支持任意NLP任务的T5,针 ...

  6. .NET Core加解密实战系列之——使用BouncyCastle制作p12(.pfx)数字证书

    简介 加解密现状,编写此系列文章的背景: 需要考虑系统环境兼容性问题(Linux.Windows) 语言互通问题(如C#.Java等)(加解密本质上没有语言之分,所以原则上不存在互通性问题) 网上资料 ...

  7. Java 加解密技术系列文章

    Java 加解密技术系列之 总结 Java 加解密技术系列之 DH Java 加解密技术系列之 RSA Java 加解密技术系列之 PBE Java 加解密技术系列之 AES Java 加解密技术系列 ...

  8. 11.Java 加解密技术系列之 总结

    Java 加解密技术系列之 总结 序 背景 分类 常用算法 原理 关于代码 结束语 序 上一篇文章中简单的介绍了第二种非对称加密算法 — — DH,这种算法也经常被叫做密钥交换协议,它主要是针对密钥的 ...

  9. 10.Java 加解密技术系列之 DH

    Java 加解密技术系列之 DH 序 概念 原理 代码实现 结果 结束语 序 上一篇文章中简单的介绍了一种非对称加密算法 — — RSA,今天这篇文章,继续介绍另一种非对称加密算法 — — DH.当然 ...

  10. 9.Java 加解密技术系列之 RSA

    Java 加解密技术系列之 RSA 序 概念 工作流程 RSA 代码实现 加解密结果 结束语 序 距 离上一次写博客感觉已经很长时间了,先吐槽一下,这个月以来,公司一直在加班,又是发版.上线,又是新项 ...

随机推荐

  1. DVWA靶场Command Injection(命令注入) 漏洞low(低),medium(中等),high(高)所有级别通关教程及源码审计

    命令注入 命令注入漏洞是一种安全漏洞,攻击者可以通过向应用程序输入恶意命令,诱使系统执行这些命令,从而达到未授权访问.数据篡改.系统控制等目的.该漏洞通常出现在应用程序未对用户输入进行充分验证和清理时 ...

  2. 使用ffmpeg去除音频静音

    直接使用cmd命令ffmpeg -i input.wav -af silenceremove=stop_periods=-1:stop_duration=1:stop_threshold=-30dB ...

  3. Nacos、Apollo、SpringCloud Config微服务配置中心对比

    1为什么需要配置中心 配置实时生效: 传统的静态配置方式要想修改某个配置只能修改之后重新发布应用,要实现动态性,可以选择使用数据库,通过定时轮询访问数据库来感知配置的变化.轮询频率低感知配置变化的延时 ...

  4. w3cschool-HBase官方文档-2数据模型

    HBase数据模型 2018-03-03 15:20 更新 HBase数据模型 在 HBase 中,数据模型同样是由表组成的,各个表中又包含数据行和列,在这些表中存储了 HBase 数据.在本节中,我 ...

  5. 学Shiro完结版-5

    第二十一章 授予身份及切换身份--<跟我学Shiro> 在一些场景中,比如某个领导因为一些原因不能进行登录网站进行一些操作,他想把他网站上的工作委托给他的秘书,但是他不想把帐号/密码告诉他 ...

  6. Linux:安装nodejs

    yum安装 自带版本 yum install nodejs 但是版本很低[6.17.1] 高版本 参考:链接 1.删除旧版本 yum remove nodejs 2.添加Node.js Yum存储库 ...

  7. 微信小程序slot(一)

    在我们封装组件的时候,有些时候,我们需要使用类似于vue中的slot插槽: 小程序借鉴了这个优秀的想法: 在小程序中,组件模板中可以提供一个 <slot> 节点,用于承载组件引用时提供的子 ...

  8. 从理房间到移动零:一道考察数组操作的经典题目|LeetCode 283 移动零

    LeetCode 283 移动零 点此看全部题解 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中) 生活中的算法 你有没有整理过房间?常常会发现一些要丢掉的东西,但又不想立刻处 ...

  9. [阿里DIN] 模型保存,加载和使用

    [阿里DIN] 模型保存,加载和使用 0x00 摘要 Deep Interest Network(DIN)是阿里妈妈精准定向检索及基础算法团队在2017年6月提出的.其针对电子商务领域(e-comme ...

  10. Luogu P9180 [COCI2022-2023#5] Slastičarnica 题解 [ 蓝 ] [ 区间 dp ] [ dp 状态优化 ] [ 前缀和优化 ]

    Slastičarnica:非常好的区间 dp 题. 暴力 不难设计出暴力状态:\(dp_{q,i,j}\) 表示进行到第 \(q\) 次操作,剩下区间 \([i,j]\) 是否可行. 直到全部状态都 ...