专栏名称: Datawhale
一个专注于AI领域的开源组织,汇聚了众多顶尖院校和知名企业的优秀学习者,聚集了一群有开源精神和探索精神的团队成员。愿景-for the learner,和学习者一起成长。
51好读  ›  专栏  ›  Datawhale

10篇R1相关的研究全面汇总,万字思考!

Datawhale  · 公众号  ·  · 2025-03-20 23:22

正文

Datawhale干货

作者:长琴,Datawhale成员

本文通过10篇R1相关的研究,介绍R1后LLM的新范式。其核心就是如何进一步增强LLM的能力。

本文中的相关阅读,可以在主页找到对应文章:

主页地址: https://yam.gift/

基本框架

首先是整体的框架,如下所示。

  • • Base+SFT
    • • R1冷启动
    • • LIMO (817 Data Selection)
    • • s1 (1000)
  • • Base+RL
    • • GRPO: R1-Zero
    • • GRPO: oat-zero (Base can Aha、RL enhance)
    • • PPO: LIMR (Data Selection)
    • • PPO: orz (Scaling quality, diversity)
    • • DPO: Online-DPO-R1 (Different RL Algo)
    • • DPO: LIMD (Data Selection)
  • • SFT+RL
    • • R1蒸馏
    • • DeepScaleR (Length Scaling)
    • • Self-rewarding correction (LLM can reward itself, explicit Aha)、L1(LCPO)

我将其分成3个部分,前两个部分是Base模型的基础上使用SFT或RL提升效果,最后是SFT结合RL进一步提升效果。每个部分的第一个都是R1论文中的内容,上面没有R1本身,是因为R1本身是一个比较综合的过程。

值得说明的是,关于R1相关的研究肯定不止这些,列出这些一方面是因为我自己精力有限,只仔细阅读了这些;另一方面是逐步整理的过程中感觉到框架基本趋于完善。因此,本文也算是一个阶段性整理的输出。

本文内容相对比较通俗,如果对相关内容感兴趣,可以移步到对应的解读文章。

R1论文

R1我们主要分成三块介绍:R1-Zero、R1和蒸馏,也正好对应论文中的三个部分。

R1-Zero

首先是R1-Zero。它本身过程比较简单,就是在Pretrain的基础上接RL算法,Pretrain论文用的是DeepSeek-V3-Base,RL则是GRPO。GRPO是DeepSeek在 DeepSeek-Math 引入的研究成果,它去掉了PPO的Critic模型,而是采用一组输出的统计指标(Z分数)计算Advantage,比PPO更加简单(当然,计算量可能更大,毕竟需要多个输出)。

第二个要说的是纯规则的奖励。我们知道RL一般需要一个Reward模型,常见的比如ORM、PRM等都是基于深度学习建模的,R1-Zero算是第一个把纯规则的奖励引入LLM。这想想其实还挺神奇,给定一个输入,然后一个简单的规则(R1-Zero是格式和最终答案正确),模型就会自动探索路径,直到找到最终答案。

第三个是Aha Moment,它是说模型在推理过程中会对已经生成的内容进行自我反思和验证。具体表现就是会输出类似re-check、verify、summary、suppose等词,然后当然答案得对。与这种能力相关的一个词是推理时缩放(Test-Time Scaling),又是另一个比较有意思的主题。

最后就是两个比较明显的问题:语言混合和可读性相对较差。我觉得这两个问题其实不算太大的问题,只要最后的答案正确,中间过程其实对人类是否友好并不重要。其实人工智能(AI)这个词多少也有点“拟人化”的,如果AI真的有意识,他未必愿意叫这个名字doge。这中间其实涉及到AI史中著名的IA与AI之争,我之前写过类似 文章 ,感兴趣的读者可以一读。

不管怎么说,R1-Zero都是非常了不起的发现,它为我们打开了新的大门——RL可以与LLM如此亲密合作,这点我本人是非常振奋的。其实我在17、18年那会就像把纯规则的强化学习用在NLP上,当时做了很多尝试都没有成功。说个实际的例子,那会儿搞NLP的多少可能还会看一点语言学相关的知识(比如大家基本都知道齐夫定律),搞计算语言学也是一个方向。我们当时想做的方向是让生成的文本更加简洁(或者具备某种风格),就想把“ 最省力法则 ”(人在这个表达的时候,会尽量省力,用尽可能的简单、节省心智的词汇)作为一条规则用进去。为什么呢?就是当时观察到人类的语言都有“简化”的趋势(可阅读平克的 语言本能 )。但是没成功,其实还有很多类似的规则,当时除了RL方法,也用GAN做,不过并没有做出什么突破的成果。

R1

接下来是这篇论文的核心:R1。他其实是个综合过程,先搞数据,然后用这些数据SFT和对齐。简单概括如下:

  • • 搞数据:Pretrain+Cold-Start(SFT)+RL(提升推理能力)生成数据。
  • • 后训练:用生成数据和SFT监督数据微调Base(SFT)+RL(对齐)。

R1我觉得是LLM得到了再次进化,他变得更加像人。原来我们可能觉得LLM已经很聪明了,就是他能够理解你说的话、你的指令,你说的很多上下文他都能够理解,然后做出相应的回复。现在的话,他可能更进一步了,就是理解的更加好,那这个好体现在哪里,我们可以理解体现在这个“思考”的过程。

很多人现在知道这里涉及到卡尼曼《思考·快与慢》中的慢思考,即系统2思考。这本书认为大脑有快慢两种运作方式,常用的无意识的系统1依赖情感、经验和记忆快速做出判断;而有意识的系统2则通过分析来解决问题,它深思熟虑、比较慢,不容易出错。前者是人类数千万年来进化的本能,比如以前人类遇到危险了,第一反应是大家赶紧跑,而不是站在那里先思考判断一番,当然,肯定有这样的人类,只不过他们的基因没有传下来,所以人类有从众效应是很正常的。其实认知心理学领域处理《思考·快与慢》,还有很多有意思的书,比如《怪诞行为学》系列、《 自私的基因 》、《 清醒思考的艺术 》、《判断与决策心理学》、《对伪心理学说不》等等。那会儿看了很多类似的书,不过很多都还没整理出来。当时的老板也算是国内本领域比较有名的大牛了,感兴趣的读者可以搜索 心智工具箱 公众号进行关注。

说回R1,他的第一阶段和R1-Zero有两个区别:

  • • 冷启动:在RL前用少量数据SFT可以进一步提升性能。
  • • 奖励:引入“语言一致性”奖励。毕竟这回生成的数据是要拿来训练后面模型的。

第二个阶段其实和之前LLM的后训练比较类似,也是两个步骤:SFT和强化对齐。这一阶段用了600k的Reasoning数据(数学、代码、逻辑等)和200k的通用数据,数据都是经过第一阶段输出的答案,就是带思考过程的回复。当然,对于很简单的问题,会跳过思考过程,直接回复。

SFT就是用这800k数据进行训练,后面的对齐也是,只不过对齐时Reward信号是综合的:对于Reasoning数据,还是和R1-Zero一样,用纯规则;对通用数据则和之前的LLM一样,用偏好模型。原因是很明显的:人类的偏好是不那么容易规则化的,很多时候只是个“偏好”,没有“对错”。比如拿OpenAI提出的有帮助、真实性和无害性来说,其实很多Case都处在边界位置,即便有非常清晰的规范,也很难做到标注人员100%对齐,感兴趣的读者可以阅读 ChatGPT 标注指南:任务、数据与规范 。其实从通俗的角度来看也是可以理解的,小孩子看电视总喜欢把某个人归为好人还是坏人,但成年人就知道大家无非立场不同。站在更高角度,所谓人类觉得有害的(无论是文本内容还是物种),对其他物种未必,对地球、宇宙就更加不是了。

蒸馏

这部分内容论文说的比较少,看起来不复杂,就是利用前面得到的800k数据直接在一个小模型(比如7B、32B等,Base和Instruct均可)上进行SFT。这一类的蒸馏也叫数据蒸馏,准确来说其实就是SFT,算不上“蒸馏”。一般蒸馏包括黑盒和白盒蒸馏,涉及教师和学生模型。对于前者,教师模型是黑盒,我们只能给它输入然后得到输出;对于后者,我们可以拿到模型参数,以及每次生成的过程数据和最后输出的概率分布。关于这部分内容,感兴趣的读者不妨关注 LLM Deploy 的第二章内容。

蒸馏要保证效果,最难的是对齐分布, 《LLM、强化、蒸馏讨论 | Yam》 一文中对此问题进行了讨论,一些观点包括:

  • • 让学生模型复述教师模型输出,缓解遗忘问题。就是尽量落在在学生模型的分布上,缓解静态分布采样可能造成的性能损失。
  • • 使用中间桥接模型加速蒸馏过程。即用一个比学生模型更大的但同系列模型进行转述,然后让学生模型对齐这个分布。
  • • 蒸馏过程本质就是分布对齐问题,前两种方法可能不太优雅,有更简单的蒸馏方法,比如DeepSeek的数据蒸馏。

看完R1论文,一个很重要的感受就是:好像还是要搞数据。没错,数据和算法都格外重要,数据可能更加重要。这很容易就让我们想起算法领域那句经典的:“数据决定上限,算法逼近上限”。

相关研究

接下来我们分别从三个方面介绍R1的相关研究:Base+SFT、Base+RL和SFT+RL。

Base+SFT

这里涉及到两篇论文: LIMO s1 ,它们的共同点是都用很少的数据(817和1000条)在Base模型上SFT,然后模型就突然效果变的很好。光就这一点其实已经违反了我们一直以来的认知:SFT需要比较多的数据,尤其在比较难的任务上更是如此。没想到现在居然只要几百条数据就可以SFT了。当然了,虽然数量少了,但质量却相当高。也就是说,多样化的高质量数据比大量数据更有效。第二个被挑战的假设是:SFT侧重记忆,就是说,SFT更多的是在“记住知识”。但是现在发现,这样经过少量高质量SFT后的模型它还具备不错的泛化能力。

那我们知道,这个核心其实应该在Base模型,因为Base模型具备了各种能力,SFT才有可能“激活”这种能力。既然激活的是“能力”,自然也就具备泛化性。我个人觉得其实也不能说完全否定了原来的假设,只能说条件变了,此时的SFT主要起引导作用。既然如此,如何选择那些具备更高效率激活的数据就成为核心问题。两篇文章都重点介绍了数据筛选和获取过程,尤其是LIMO,把数据分成“问题”和“回答”两部分,分别根据不同标准得到高质量数据。其中,问题的高质量包括:问题解决方法的多样性、挑战模型能力的适当难度级别以及所涵盖知识领域的广度等因素;回答的高质量包括:教学价值(比如由易到难,逐步推导)、逻辑一致性和方法论严谨性等方面。问题主要是从已有数据集中选出来的;答案则使用多种方法构建。

除了上面提到的这些,s1还提出了一种Budget forcing的采样方法,它算是一种串行或序列Scaling,主要有两个关键动作:提前结束思考和增加更多思考。前者是我现在不想让模型思考了,那就直接添加一个结束的Token强制模型停止思考,然后自然就开始生成答案了;后者则是给它一些类似wait、go on等让模型继续生成(思考)的Token,鼓励模型更多探索。这种方法其实有点工程Trick或设计,另外论文也提到它在Scaling时会慢慢没效果,还需要并行采样方法配合。

如果读者对论文细节感兴趣,可以进一步阅读 《R1相关:少量高质量数据SFT激活LLM推理能力 | Yam》( https://yam.gift/2025/02/18/NLP/LLM-Training/2025-02-18-LLM-PostTrain-SFT-Data/)

Base+RL

这部分涉及到五篇相关研究,都是在Base模型上用RL算法激活并提升模型能力的,一篇GRPO、两篇PPO和两篇DPO。

首先来看 oat-zero ,它有三个核心发现:

  • • Base模型具备反思能力,也可以Aha Moment。这点我们前面也提到了,Base模型是关键。本文实验用了多个不同的模型,结果LLaMA( LLaMA-3.1-8B )没能复现,没有反思能力,而Qwen( Qwen2.5-7B Qwen2.5-Math-1.5B Qwen2.5-Math-8B 等)有。这和Qwen2.5系列训练数据增加了很多推理(Reasoning,包括代码、数学、逻辑等)数据有关。
  • • Base模型的回答中存在表面自我反思,但RL可以将其转化为有效的自我反思。换句话说,RL能够提升反思能力。
  • • 回答长度的增加和自我反思可能不相关,可能只是RL规则设计的结果。就是他们发现很多错误的回答长度很长,反过来,回答长度变短时,也能观察到奖励增加。也就说,长度增加只是必要条件,不是说你奖励长度效果就能变好。

如果读者对论文细节感兴趣,可以进一步阅读 《DeepSeek R1深度技术解析及其影响 | Yam》 oat-zero部分。

接下来我们看 LIMR ORZ ,两者虽然都用的PPO,但侧重点不一样。LIMR关注数据选择,而ORZ则关注Scaling,并进一步简化了训练。

截止目前,我们已经知道,高质量数据对SFT非常重要。LIMR告诉我们,RL算法上高质量数据也非常重要。Base后面接RL需要多少数据,这个之前大家可能确实也没想过(毕竟R1出来也没多久)。LIMR和LIMO一样,也是上海AI Lab的,而且就在LIMO发表后几天匆匆发表,它的想法和LIMO是非常像的。也挑战假设“扩展RL训练数据本质上可以提高性能”,他们发现,1389个样本效果要优于8523个(训练集大小)样本。 要“选择”数据,而不是扩充数据 。LIMR提出自动定量方法LIM(Learning Impact Measurement)用于评估 RL 训练样本潜在价值,这里需要奖励模型打分。

另外,LIMO和s1是在Qwen32B上做的实验,但是类似的结论在7B上不行,LIMR在7B上效果更好。因此, 对小模型来说,RL可能比SFT更有效 。其实这个发现挺有意思,它说明RL在激活方面比SFT更好,有可能RL不仅在激活,同时也能提升(增强)模型性能。而这个有意思的发现貌似和oat-zero的结论也能呼应上。事情逐渐变得明朗。

ORZ主要Focus在Scaling上,具体来说是Base模型+RL的Scaling。Scaling的结论是:最显著的性能改进来自训练数据、模型大小和训练迭代(即计算)的Scaling,而不是算法设计的复杂性。这个观点和LLM的Scaling一致,但我们看了LIMR知道数据并不一定。顺便说一下,Scaling其实在很多场景下都不一定有效,比如音频编码器,更多的数据效果反而不如更少但多样化的高质量数据。

其实ORZ最有意思的是简化了奖励函数设计,只看答案对不对,格式不奖励。同时,去掉了KL惩罚。对于后者,我自己也做了验证,不过是在GRPO中去掉了KL损失,结果和带KL损失几乎一致,无论是奖励、回复长度还是精度。本文还对PPO的GAE参数进行了实验,结果发现λ=1.0、γ=1.0时最理想。γ 是折扣因子,用来考虑未来回报的重要性。λ 用来平衡偏差与方差。 γ=1.0意味着未来所有的奖励都被同等对待,不会衰减。表示考虑整个未来回报,而不是更看重短期奖励。 λ=1.0时,GAE 退化为蒙特卡罗方法,即完全依赖未来真实奖励来估计优势值。这种方式虽然无偏,但可能有较大的方差。这种设置意味着:完全依赖最终回报计算优势。适用于环境较稳定、奖励延迟较长的任务,例如推理任务或策略规划任务;在短期奖励信息不可靠的情况下可能更稳定。ORZ的这个发现可能意味着LLM本身已经比较稳定,KL作用没那么大。

如果读者对论文细节感兴趣,可以进一步阅读 《R1相关:RL数据选择与Scaling | Yam》

最后我们看两篇关于DPO的, Online-DPO-R1 LIMD ,LIMD是我给它起的名字,原文标题就是《Less is More: Improving LLM Alignment via Preference Data Selection》,不过我想D既能代表数据,又可以表示DPO算法,就起了个LIMD,感觉还是比较贴切的。

LIMD是从“数据选择”方向改进DPO的,由于DPO算法需要一个chosen和rejected数据对,所以它提出一个最大化间隔原则(突然就SVM了有没有)。为了准确估计间隔,提出了 同时考虑外部奖励间隔和DPO内部隐式奖励间隔 的双间隔引导(dual-margin guided)方法。具体做法包括两步:计算内外部奖励、融合奖励。外部奖励是利用一个外部奖励模型,本文用的是截止当时RewardBench Leaderboard最好的模型:Skywork-Reward-Llama-3.1-8B-v0.2。隐式奖励则是借助一个专门训练的policy模型(Llama-3.2-3B SFT+2000条随机数据)作为Reference模型来计算目标policy模型的奖励。融合方法包括相加和相乘。相加比较简单,直接求和就行,这种方法比较宽松,任何一个间隔大都可以。相乘稍微复杂了些,需要先简单做一个线性变换再进行融合,相乘是任何一个奖励间隔小就表示样本没价值,言下之意要减轻异常值(尤其是某一个间隔非常小的情况)的不利影响。

好了,DPO也要数据选择,LIMO、LIMR、LIMD,SFT、PPO、DPO,数据选择都是相当之重要,更少的精心挑选的数据一样能达到很多数据的结果,甚至效果更好!反过来说,如果数据达不到多样性和高质量的要求,数量再多效果也可能不理想。另外,LIMD的消融发现,数据筛选对其他模型(Mistral)、其他DPO变体算法(IPO、KTO、SLiC)、不同超参数(β、LR)均有效。好吧,一言蔽之,LLM后的RL只需少量多样化的高质量数据即可!







请到「今天看啥」查看全文