DeepSeek-R1 长链思维 Long CoT 的机制研究

DeepSeek-R1 长链思维 Long CoT 的机制研究

DeepSeek-R1 长链思维 Long CoT 的机制研究

作者:黄哲威,PKU - 阶跃星辰
原文:https://zhuanlan.zhihu.com/p/21706980653
>>
Paper:Demystifying Long Chain-of-Thought Reasoning in LLMs
Abs:https://arxiv.org/pdf/2502.03373

太长不看版本,主要有四个发现

1. 有监督微调 SFT 可以简化训练流程,为强化学习 RL 提供更好的基础

2. RL 不是总能顺利提高思维链的长度和复杂性,可以通过长度奖励函数鼓励复杂推理行为

3. 可验证奖励信号对于稳定长链思维推理的 RL 至关重要,如果再结合使用包含噪声的、从网络提取的解决方案的数据,可以提高模型分布外任务能力

4. 长链推理的核心技能(如分支和错误验证)在基础模型中已经存在,但通过 RL 有效地激励这些技能以解决复杂任务需要仔细的设计。

论文所有的 Takeaway:

SFT 与 Long CoT:SFT 使用 Long CoT 能达到更高的性能上限。

SFT 对 RL 的初始化:SFT 使用 Long CoT 更易进一步 RL 改进。

Long CoT 冷启动:高质量的 Long CoT 模式带来更好的泛化和 RL 收益。

CoT 长度稳定性:CoT 长度不总是稳定扩展。

主动缩放 CoT 长度:奖励塑造可稳定和控制 CoT 长度,提高准确性。

余弦奖励超参数:余弦奖励可通过调整超参数鼓励不同长度缩放行为。

上下文窗口大小:模型可能需更多训练样本以利用更大上下文窗口。

长度奖励破解:长度奖励会被破解,但可被重复惩罚缓解。

最佳折扣因子:不同类型奖励和惩罚有不同最佳折扣因子。

使用噪声可验证数据的 SFT:添加噪声数据到 SFT 可平衡不同任务性能。

使用噪声可验证数据的 RL:过滤提示集并使用基于规则的验证器可最好地从噪声可验证数据中获取奖励信号。

介绍

这是一个对 o1 / r1 的研究工作,主要是探讨激发长链式思维 Long CoT 的一些技术选择和原理

大型语言模型(LLMs)在数学和编程等领域展示了令人印象深刻的推理能力。一种关键技术是通过链式思维(CoT)提示,引导模型在给出最终答案之前生成中间推理步骤。然而,即使有了CoT,LLMs在高度复杂的推理任务上仍然存在困难,如数学竞赛、博士级科学问答和软件工程等。

最近,OpenAI的o1模型在这些任务上取得了重大突破。这些模型的一个关键特点是能够通过扩展推理时间和使用Long CoT,包括识别和纠正错误、分解困难步骤和迭代替代方法等策略,从而实现更长、更结构化的推理过程。

为了复制o1模型的性能,一些研究尝试通过训练LLMs来生成 Long CoT。然而,对于模型如何学习和生成 Long CoT 的全面理解仍然有限。在这项研究中,我们系统地研究了 Long CoT生成的机制。具体来说,我们探索了以下内容:

1. 监督微调(SFT)对 Long CoT 的影响:作为实现 Long CoT 推理的最直接方法,我们分析了其缩放行为和对RL的影响,发现 Long CoT SFT允许模型达到更高的性能,并促进RL的改进。

2. RL驱动的链式思维扩展挑战:我们观察到RL并不总是稳定地扩展链式思维的长度和复杂性。为了解决这个问题,我们引入了一种带有重复惩罚的余弦长度缩放奖励,以稳定链式思维的增长,同时鼓励出现分支和回溯等推理行为。

3. 扩展可验证信号以支持 Long CoT 的 RL:可验证的奖励信号对于稳定 Long CoT 的 RL 至关重要。然而,由于高质量的可验证数据有限,扩展这些信号仍然具有挑战性。为了解决这个问题,我们探索了使用包含噪声的、从网络提取的解决方案的数据。尽管这些“银”监督信号引入了不确定性,但我们发现,通过适当的混合和过滤,它们在解决OOD(分布外)推理场景(如STEM问题解决)方面具有潜力。

4. Long CoT 能力的起源和 RL 挑战:核心技能如分支和错误验证在基础模型中已经存在,但通过RL有效地激励这些技能以解决复杂任务需要仔细的设计。我们研究了RL对 Long CoT 生成的激励,追踪了预训练数据中的推理模式,并讨论了测量其出现的细微差别。

Long CoT 不仅展示了比通常更大的符号长度,还展示了更复杂的行为,如:

• 分支和回溯:模型系统地探索多个路径(分支),并在特定路径被证明错误时返回到早期点(回溯)。

• 错误验证和纠正:模型检测其中间步骤中的不一致或错误,并采取纠正措施以恢复连贯性和准确性。

实验主要是在 Llama 8B 和 Qwen 7B 上做的,训练数据主要是 MATH 7500 题,后续也考虑用 WebInstruct 这样的数据,测试集用 MATH-500、AIME 2024、TheoremQA 和 MMLU-Pro-1k,算法尝试用 PPO 和 REINFORCE,关于 SFT 和 RL 基础知识这里跳过介绍。

Long CoT 实验

SFT 和 LongCoT

Llama8B 从 QWQ-32B(长链)和 Qwen2.5-72B(短链)进行蒸馏,前者持续收益,后者较快饱和

www.zeeklog.com  - DeepSeek-R1 长链思维 Long CoT 的机制研究

为了比较 Long CoT 和短链式思维,第一步是使模型具备相应的行为。最直接的方法是通过在链式思维数据上微调基础模型来装备模型。由于短链式思维很常见,因此通过从现有模型中拒绝采样来为它策划 SFT 数据相对简单。然而,如何获得高质量的 Long CoT 数据仍然是一个未解决的问题。

设置:为了策划 SFT 数据,对于 Long CoT,我们从 QwQ-32B-Preview 进行蒸馏(我们在 §3.3 中讨论其他Long CoT 思维数据构建方法)。对于短链式思维,我们从 Qwen2.5-Math-72B-Instruct 进行蒸馏,这是一个在数学推理中表现出色的短链式思维模型。具体来说,我们通过首先为每个提示采样 N 个候选响应,然后过滤出具有正确答案的响应来进行拒绝采样。对于 Long CoT,我们使用 N∈{32,64,128,192,256},而对于短链式思维,我们使用 N∈{32,64,128,256},为了效率,跳过了一个 N。在每种情况下,SFT 符号的数量与 N 成正比。我们使用基础模型 Llama-3.1-8B。

结果:图 1 中的虚线表明,随着我们增加 SFT 符号的数量,Long CoT SFT 继续提高模型的准确性,而短链式思维 SFT 在较低的准确性水平上早期饱和。例如,在 MATH-500 上,Long CoT SFT 实现了超过 70% 的准确性,并且在 3.5B 符号时尚未达到饱和。相比之下,短链式思维 SFT 在增加 SFT 符号从大约 0.25B 到 1.5B 时,仅实现了约 3% 的绝对改进,收敛于低于 55% 的准确性。

结论 关于 SFT 缩放上限: Long CoT 的 SFT 可以缩放到比短链式思维更高的性能上限。

SFT 初始化和 RL

还是上面的图,发现使用 Long CoT SFT 初始化的模型通常可以通过 RL 进一步显著改进,而使用短链式思维 SFT 初始化的模型在 RL 后几乎没有改进

由于 RL 被报道具有比 SFT 更高的上限,我们比较了 Long CoT 和短链式思维作为 RL 的不同 SFT 初始化方法。

设置:我们使用来自 §3.1 的 SFT 检查点初始化 RL,并训练四个周期,每个提示采样四个响应。我们的方法采用 PPO)与来自 MATH 数据集的基于规则的验证器,使用其训练拆分作为我们的 RL 提示集。我们采用我们的余弦长度缩放奖励与重复惩罚,这将在 §4 中详细介绍。

结果:图 1 中实线和虚线之间的差距表明,使用 Long CoT SFT 初始化的模型通常可以通过 RL 进一步显著改进,而使用短链式思维 SFT 初始化的模型在 RL 后几乎没有改进。例如,在 MATH-500 上,RL 可以将 Long CoT SFT 模型改进超过 3% 的绝对值,而短链式思维 SFT 模型在 RL 前后的准确性几乎相同。

结论关于 SFT 对 RL 的初始化: Long CoT 的 SFT 使进一步的 RL 改进更容易,而短链式思维则不然。

Long CoT SFT 数据的来源

蒸馏比学构造的 Long CoT 数据,更容易冷启动

www.zeeklog.com  - DeepSeek-R1 长链思维 Long CoT 的机制研究

为了策划 Long CoT 数据,我们比较了两种方法:

• 通过提示短链式思维模型生成基本操作并按顺序组合它们来构建 Long CoT 轨迹。

• 从已经表现出 Long CoT 模式的现有模型中蒸馏 Long CoT 轨迹。

设置:为了构建 Long CoT 轨迹,我们开发了一个操作提示框架(附录 E.8),该框架定义了以下基本操作:澄清、分解、解题步骤、反思和答案。我们使用多步提示与短链式思维模型(例如 Qwen2.5-72B-Instruct)来按顺序生成这些操作,同时使用更强的模型 o1-mini-0912 生成包含自我纠正的反思步骤。对于蒸馏 Long CoT 轨迹,我们使用 QwQ-32-Preview 作为教师模型。在两种方法中,我们都采用 MATH 训练集作为提示集,并应用拒绝采样。为了确保公平性,我们使用相同的基础模型(Llama-3.1-8B),保持大约 200k SFT 样本,并使用与 §3.2 中相同的 RL 设置。

结果:表 1 显示,从已出现的 Long CoT 模式中蒸馏的模型比构建的模式具有更好的泛化能力,并且可以通过 RL 进一步显著改进,而使用构建模式训练的模型则不能。使用已出现 Long CoT 模式训练的模型在 OOD(分布外)基准 AIME 2024 和 MMLU-Pro-1k 上取得了显著更高的准确性,相对提高了 15-50%。此外,在 OOD 基准 TheoremQA 上,对 Long CoT SFT 模型的 RL 显著提高了其准确性,相对提高了约 20%,而短链式思维模型的性能没有改变。这就是为什么我们基于蒸馏的 Long CoT 轨迹进行大多数实验的原因。

结论关于 Long CoT 的冷启动:SFT 初始化很重要:高质量的、已出现的 Long CoT 模式导致显著更好的泛化和 RL 收益。

CoT 长度稳定性

模型在 RL 训练下会扩展 CoT 长度但有时不稳定(看图好像还行

www.zeeklog.com  - DeepSeek-R1 长链思维 Long CoT 的机制研究

最近的关于 Long CoT 的研究(DeepSeek-AI, 2025; Kimi Team, 2025; Hou 等人, 2025)表明,通过增加思考时间,模型自然会在推理任务中表现得更好。我们的实验证实,在 RL 训练下,使用 QwQ-32B-Preview 蒸馏的 Long CoT 数据进行微调的模型往往会扩展 CoT 长度,尽管有时不稳定。这种不稳定性,也由 Kimi Team (2025) 和 Hou 等人 (2025) 指出,已经通过基于长度和重复的惩罚技术来解决,以稳定训练。

设置:我们使用两种不同的模型,这些模型使用从 QwQ-32B-Preview 蒸馏的 Long CoT 数据在 MATH 训练集上进行微调,上下文窗口大小为 16K。这些模型是 Llama3.1-8B 和 Qwen2.5-Math-7B。我们使用基于规则的验证器和一个简单的奖励,即对正确答案奖励 1。我们将这个称为经典奖励。更多细节可以在附录 E.5.2 中找到。

结果:我们观察到,在训练过程中,两个模型都增加了 CoT 长度,最终达到上下文窗口限制。这导致训练准确性下降,因为 CoT 超出了允许的窗口大小。此外,不同的基础模型展示了不同的缩放行为。较弱的 Llama-3.1-8B 模型在 CoT 长度方面表现出比 Qwen-2.5-Math-7B 更大的波动,如图 2 所示。

我们还发现,CoT 超出上下文窗口大小的速率在某个阈值以下趋于平稳(图 2)。这表明超出限制开始对 CoT 长度分布施加显著的向下压力,并强调了上下文窗口大小在隐式长度惩罚中的作用。值得注意的是,即使没有明确的超出长度惩罚,由于奖励或优势归一化(这在 RL 框架中是标准的),轨迹也可能受到惩罚。

结论关于 CoT 长度稳定性: CoT 长度并不总是以稳定的方式扩展。

主动缩放 CoT 长度

非常直观的奖励缩放,可以用来稳定和控制 CoT 长度,同时提高准确性

这几个图画得很好

www.zeeklog.com  - DeepSeek-R1 长链思维 Long CoT 的机制研究

我们发现,通过调整奖励函数,可以使用 CoT 长度作为额外输入,并观察几个排序约束来稳定新兴的长度缩放。首先,正确的 CoT 应该比错误的 CoT 获得更高的奖励。其次,较短的正确 CoT 应该比较长正确 CoT 获得更高的奖励,这鼓励模型高效地使用推理计算。

第三,较短的错误 CoT 应该比较长错误 CoT 获得更高的惩罚。这鼓励模型在不太可能得到正确答案时延长思考时间。

我们发现使用分段余弦函数很方便,它易于调整且平滑。我们将这个奖励函数称为余弦奖励。

结果:我们发现,余弦奖励显著稳定了模型在 RL 下的长度缩放行为,从而也稳定了训练准确性并提高了 RL 效率(图 4)。我们还观察到,在下游任务上,模型性能有所提高。

结论关于主动缩放 CoT 长度: 奖励塑造可以用来稳定和控制 CoT 长度,同时提高准确性。

余弦奖励超参数

这部分其实就是关于 reward 的调参

余弦奖励的超参数可以调整以以不同的方式塑造 CoT 长度。

设置:我们设置了 RL 实验,使用相同的模型,该模型在使用从 QwQ-32B-Preview 蒸馏的 Long CoT 数据的 MATH 训练集上进行微调,但具有不同的余弦奖励函数超参数。

结果:从附录中的图 9 中看到,如果正确答案的奖励随着 CoT 长度的增加而增加(rc0<rcL),则 CoT 长度会爆炸性增长。我们还看到,正确的奖励相对于错误的奖励越低,CoT 长度就越长。我们将这解释为一种训练风险规避,其中正确和错误奖励的比率决定了模型对答案的信心必须达到多高,才能从终止其 CoT 并给出答案中获得正的预期值。

结论关于余弦奖励超参数: 余弦奖励可以通过调整超参数来鼓励不同的长度缩放行为。

上下文窗口大小

有趣的是,8k > 16k > 4k,推测说 16k 要学更久才能学出来

更长的上下文为模型提供了更多的探索空间,并且随着更多训练样本的增加,模型最终会学会利用更多的上下文窗口。这提出了一个有趣的问题——是否需要更多的训练样本来学习利用更大的上下文窗口?

设置:我们设置了 3 个实验,使用相同的模型,该模型在使用从 QwQ-32B-Preview 蒸馏的 Long CoT 数据的 MATH 训练集上进行微调。我们还使用后者作为我们的 RL 提示集。每个消融实验都使用余弦奖励和重复惩罚,但具有不同的上下文窗口大小(4K、8K 和 16K)。

结果:我们发现,具有 8K 上下文窗口大小的模型表现优于具有 4K 的模型,这与预期一致。然而,我们观察到,在 8K 下的性能优于在 16K 下的性能。请注意,所有三个实验都使用了相同的训练样本数量。我们将这视为一个迹象,表明模型需要更多的训练计算来学习充分利用更长的上下文窗口大小,这与 (Hou 等人, 2025) 的发现一致。

结论关于上下文窗口大小: 模型可能需要更多的训练样本来学习利用更大的上下文窗口大小。

长度奖励破解

www.zeeklog.com  - DeepSeek-R1 长链思维 Long CoT 的机制研究

激励长度是有危险的

我们观察到,随着足够的训练计算,模型开始显示出奖励破解的迹象,即在困难问题上通过重复而不是学习来解决它们,从而增加其 CoT 的长度。我们还注意到模型的分支频率下降,我们通过计算 CoT 中出现关键字“alternatively”的次数来估计这一点(图 10)。

我们通过实施简单的 N-gram 重复惩罚(算法 1)来缓解这个问题。我们观察到,惩罚在重复的符号上最有效,而不是作为整个轨迹的稀疏奖励。类似地,我们发现在计算回报时折扣重复惩罚是有效的。关于重复发生的具体反馈似乎使模型更容易学习不去做它(有关更多信息,请参阅 §4.6)。

设置:我们使用在使用从 QwQ-32B-Preview 蒸馏的 Long CoT 数据的 MATH 训练集上进行微调的 Llama3.1-8B 模型。我们运行了两个 RL 训练运行,都使用余弦奖励,但一个有重复惩罚,一个没有。

结果:重复惩罚导致在下游任务上表现更好,并且 CoT 更短,这意味着更好地利用了推理计算(图 5)。

观察:我们的实验揭示了重复惩罚、训练准确性和余弦奖励之间的关系。当训练准确性较低时,余弦奖励对 CoT 长度施加更大的向上压力,导致通过重复增加奖励破解。这反过来又需要更强的重复惩罚。未来的工作可以进一步研究这些相互作用,并探索动态调整方法以实现更好的优化。

结论关于长度奖励破解: 长度奖励会被破解,但可以通过使用重复惩罚来缓解。(图 5)

扩展可验证奖励

有答案的题搞个几万题就很难了,相关扩展是很有意义的研究

www.zeeklog.com  - DeepSeek-R1 长链思维 Long CoT 的机制研究

基于真实答案等可验证奖励信号对于稳定 Long CoT 的 RL 至关重要,但很难扩展这样的数据,因为高质量的人类注释可验证数据对于推理任务来说有限。作为对此的回应,我们探索使用其他数据,尽管它们更嘈杂,但更可用,例如从网络语料库中提取的与推理相关的问答对。具体来说,我们尝试使用 WebInstruct 数据集(Yue 等人,2024b)。为了效率,我们构建了 WebInstruct-462k,这是通过 MinHash(Broder 等人,1998)派生的一个去重子集。

使用嘈杂可验证数据的 SFT

我们首先探索将这种多样化的数据添加到 SFT 中。直观上,尽管监督信号不太可靠,但多样化的数据可能促进模型在 RL 期间的探索。

设置:我们尝试三种设置,根据数据没有黄金监督信号的比例进行变化:0%、100% 和大约 50%。我们通过从 QwQ-32B-Preview 蒸馏进行 Long CoT SFT。对于具有黄金监督信号的数据(MATH),使用真实答案进行拒绝采样。相比之下,对于来自 WebInstruct 的数据,没有完全可靠的监督信号,但规模要大得多,我们从教师模型中为每个提示采样一个响应,而不进行过滤。对于这里的 RL,我们采用与 §3.2 相同的设置,使用 MATH 训练集。

结果:表 2 显示,添加银级监督数据可以改善平均性能。将 WebInstruct 数据添加到 Long CoT SFT 中,在 MMLU-Pro-1k 上相对于仅使用 MATH 实现了巨大的 510% 绝对准确性增益。此外,混合 MATH 和 WebInstruct 数据在所有基准上实现了最佳平均准确性。

结论 5.1 关于使用嘈杂可验证数据的 SFT: 添加嘈杂但多样化的数据到 SFT 会导致不同任务之间的平衡性能。(表 2)

使用嘈杂可验证数据扩展 RL

www.zeeklog.com  - DeepSeek-R1 长链思维 Long CoT 的机制研究

我们比较两种主要方法来从嘈杂可验证数据中获取奖励:1)提取短格式答案并使用基于规则的验证器;2)使用能够处理自由格式响应的基于模型的验证器。

这里的一个关键因素是问答对是否可以有短格式答案。因此,我们还比较了数据是否通过仅保留具有短格式答案的样本进行过滤。
设置:我们通过提示 Qwen2.5-Math-7B-Instruct 与原始参考解决方案来实现基于模型的验证器。为了提取短格式答案,我们首先提示 Llama-3.1-8B-Instruct 从原始响应中提取,然后应用带有 QwQ-32B-Preview 的拒绝采样。具体来说,我们从 WebInstruct-462k 为每个提示生成两个响应,并丢弃两个响应都不与提取的参考答案对齐的情况。这个过程产生了大约 189k 个响应,跨越 115k 个唯一提示。我们的案例研究显示,拒绝采样丢弃了许多提示,因为:1)许多 WebInstruct 提示缺乏我们的基于规则的验证器可以有效处理的短格式答案,2)一些提示对于 QwQ-32B-Preview 来说太难了。对于 SFT,我们在过滤的数据集上训练 Llama-3.1-8B,作为强化学习(RL)的初始化。在 RL 阶段,我们在未过滤的设置中使用完整的 462k 提示集,在过滤的设置中使用 115k 子集,使用 30k 提示和每个提示 4 个响应进行训练。有关基于模型的验证器、答案提取和 RL 超参数的更多详细信息,请参阅附录 E.5.8、E.6 和 E.7。

结果:表 3 显示,在相同数量的 RL 样本下,使用基于规则的验证器在过滤的提示集上进行 RL,该提示集具有短格式答案,在大多数基准上实现了最佳性能。这可能表明,在适当的过滤后,基于规则的验证器可以产生来自嘈杂可验证数据的最高质量奖励信号。此外,与在人类注释的可验证数据(MATH)上训练的模型相比,利用嘈杂但多样化的可验证数据在 OOD(分布外)基准上显著提高了性能,在 TheoremQA 上提高了高达 2.9% 的绝对值,在 MMLU-Pro-1k 上提高了 6.8%。相比之下,将基于规则的验证器应用于未过滤的数据导致最差的性能。这可能是由于它在自由格式答案上的低训练准确性,而基于模型的验证器实现了好得多的性能。

结论 5.2 关于使用嘈杂可验证数据的 RL: 为了从嘈杂可验证数据中获取奖励信号,使用基于规则的验证器在过滤的提示集上进行 RL,该提示集具有短格式答案,效果最好。(表 3)

在基础模型上进行 RL 的探索

以下是类似 R1-Zero 方法的研究

基于出现行为的分析的细微差别

“从基础模型进行的 RL 并不一定激励反思模式,尽管它显著提高了性能”,这个发现有点意思,可能得再大一点的模型才能做 zero?

www.zeeklog.com  - DeepSeek-R1 长链思维 Long CoT 的机制研究

自我验证行为有时被标记为模型探索中出现的“顿悟时刻”,因为这些模式在短 CoT 数据中很少见。然而,我们注意到,有时自我验证行为已经存在于基础模型中,而通过 RL 强化它们需要严格的条件,例如强大的基础模型。

设置:我们遵循 Zeng 等人(2025)的设置,使用 PPO 和基于规则的验证器在大约 8k MATH 级别 3-5 问题上训练 Qwen2.5-Math-7B,但我们使用自己的基于规则的验证器实现。对于推理,我们采用温度 t=0(贪婪解码),因为我们的初步实验显示,对于通过直接从 Qwen2.5-Math-7B 进行 RL 获得的模型,t=0 通常显著优于 t>0。我们使用最大输出长度为 4096 个符号,考虑训练上下文长度为 4096 个符号。注意,我们对基础模型使用零样本提示,以避免向输出模式引入偏差。我们从之前的工作中(OpenAI,2024;DeepSeek-AI,2025;Pan 等人,2025;Zeng 等人,2025)的 Long CoT 案例中选择五个代表性关键字,“wait”、“recheck”、“alternatively”、“retry”和“however”,并计算它们的频率,以量化模型进行自我验证的程度。有关 RL 超参数的更多详细信息,请参阅附录 E.5.9。

结果:图 7 显示,我们的从 Qwen2.5-Math-7B 进行的 RL 有效地提高了准确性,但没有增加已经存在于基础模型输出中的“recheck”模式的频率,也没有有效地激励其他反思模式,如“retry”和“alternatively”。这表明从基础模型进行的 RL 并不一定激励反思模式,尽管它显著提高了性能。

基于长度缩放的分析的细微差别

www.zeeklog.com  - DeepSeek-R1 长链思维 Long CoT 的机制研究

长度缩放被识别为模型有效探索的另一个重要特征。然而,我们注意到,有时长度缩放伴随着 KL 散度下降,这提出了一种可能性,即长度受到 KL 惩罚的影响,只是返回到基础模型的更长输出,而不是反映获得了 Long CoT 能力。

设置:设置与 §6.1 相同。除了输出符号长度,我们还计算“编码率”。如果模型的输出包含“```python”,我们将其归类为“编码”,因为 Qwen2.5-Math-7B 使用自然语言和编码来解决数学问题。注意,这里的“编码”输出实际上是一种特殊的自然语言输出,其中代码没有被执行,代码的输出由模型生成。

结果:图 8(1)显示,输出符号长度在初始下降后增加,但从未超过基础模型的初始长度。

Zeng 等人(2025)建议,初始下降可能是由于模型从生成长编码输出转变为生成较短的自然语言输出。然而,图 8(2)表明,自然语言输出实际上比编码输出更长,初始长度下降发生在两种类型的输出中。此外,图 8(3)显示,编码率随后再次增加,这表明编码和自然语言之间的区别可能不会对优化过程产生重大影响。

此外,当长度缩放时,我们怀疑这不是来自模型的探索,因为当长度缩放时,策略相对于基础模型的 KL 散度下降,如图 8(4)所示。这可能表明这是 KL 惩罚影响长度。如果是这样,由于探索受到 KL 约束的限制,策略输出长度几乎没有潜力超过基础模型的输出长度。

为什么在 Qwen2.5-Math-7B 上没有观察到涌现行为

我们对从 Qwen2.5-Math-7B 进行的 RL 的详细分析,如 §6.1 和 §6.2 所述,表明它未能完全复制 DeepSeek-R1 的训练行为。我们确定以下潜在原因:1)基础模型相对较小(7B 参数),可能缺乏在被激励时快速开发这种复杂能力的能力。2)模型可能在(连续)预训练和退火期间过度暴露于类似 MATH 的短指令数据,导致过拟合并阻碍 Long CoT 行为的开发。

在基础模型上进行 RL 与在 Long CoT SFT 上进行 RL 的比较

www.zeeklog.com  - DeepSeek-R1 长链思维 Long CoT 的机制研究

我们比较了在基础模型上进行 RL 和在 Long CoT SFT 上进行 RL 的性能,并发现在 Long CoT SFT 上进行 RL 通常表现更好。

设置:我们比较使用基础模型 Qwen2.5-Math-7B。在基础模型上进行 RL 的结果来自在 §6.1 中训练的模型。对于在 Long CoT SFT 上进行 RL,我们采用与 §3.2 类似的设置。具体来说,我们选择 7.5k MATH 训练集作为提示集,通过使用 QwQ-32B-Preview 进行拒绝采样来策划 SFT 数据,每个提示采样 32 个候选响应,并使用我们的余弦长度缩放奖励和重复惩罚以及我们的基于规则的验证器进行 PPO,每个提示采样 8 个响应,训练 8 个周期。为了适应 Qwen2.5-Math-7B,其预训练上下文长度仅为 4096 个符号,以进行 Long CoT SFT 和 RL,我们将其 RoPE(Su 等人,2024)θ 乘以 10 倍。我们不报告在 Long CoT SFT 上使用经典奖励的 RL 结果,因为它崩溃了。对于评估,我们采用与 §2.5 中相同的默认温度采样设置,用于在 Long CoT SFT 上进行 RL,并采用与 §6.1 中相同的贪婪解码设置,用于在基础模型上进行 RL,以获得最佳性能。有关蒸馏、SFT 超参数和 RL 超参数的更多详细信息,请参阅附录 E.2、E.3 和 E.5.9。

结果:表 4 显示,在 Qwen2.5-Math-7B 上,从 Long CoT SFT 模型初始化的 RL 显著优于从基础模型初始化的 RL,并进一步改进了 Long CoT SFT 本身。具体来说,使用我们的余弦奖励的在 Long CoT SFT 上进行 RL 超过在基础模型上进行 RL 8.7%,并改进了 SFT 初始化 2.6%。值得注意的是,仅使用从 QwQ-32B-Preview 蒸馏的 Long CoT 进行 SFT 已经产生了强大的性能。

Long CoT 模式在预训练数据中

基于 §6.1 的结果,我们假设激励行为,如模型重新审视其解决方案,可能已经在预训练期间部分学习。为了检查这一点,我们使用两种方法来调查这种数据是否已经存在于网络上。

首先,我们使用生成式搜索引擎 Perplexity.ai 来识别明确包含解决问题步骤的网页,这些步骤从多个角度处理问题或在提供答案后进行验证。我们使用的查询和我们识别的示例在附录 F.1 中。

其次,我们使用 GPT-4(OpenAI,2023)生成一个列表,其中包含与“顿悟时刻”(附录 F.2.1)相关联的短语,然后使用 MinHash 算法(Broder,1997)在 OpenWebMath(Paster 等人,2023)中搜索,OpenWebMath 是一个从 CommonCrawl(Rana,2010)中过滤的数据集,常用于预训练。我们发现,在讨论论坛线程中存在大量匹配项,其中多个用户之间的对话与 Long CoT 相似,讨论了多个方法以及回溯和错误纠正(附录 F.2.2)。这提出了一个有趣的可能,即 Long CoT 起源于人类对话,尽管我们还应该注意,讨论论坛是 OpenWebMath 的常见数据源。

基于这些观察,我们假设 RL 主要指导模型重新组合其在预训练期间已经内化的能力,以实现新的行为,从而提高在复杂问题解决任务上的性能。由于本文的范围广泛,我们将对这种行为的更深入研究留给未来的工作。

讨论和未来工作

扩展模型大小

模型大小可能是限制复杂行为出现的主要因素,早期我感觉 7B 模型都很傻,现在好一些,但再小的模型就很难做出东西了

我们认为模型大小是限制在子节 6.1 中观察到的行为出现的主要因素。Hyung Won Chung(Chung,2024)最近分享了一个类似的观点,他建议较小的模型可能难以发展出高水平的推理技能,而更依赖于基于启发式的模式识别。未来的研究可以调查在更大基础模型上使用 RL。

RL 基础设施仍处于初级阶段

在尝试扩展模型大小时,我们遇到了将规模扩展到 32B 的显著挑战,最终确定所需的 GPU 数量太大而无法进行。我们观察到,开源 RL 框架(例如 OpenRLHF(Hu 等人,2024))通常协调多个针对不同训练和推理工作负载进行优化的系统,导致在内存中存储多个模型参数的副本。此外,像 PPO 这样的算法在工作负载之间同步和顺序地交替,进一步限制了效率。这些因素导致硬件利用率低,在 Long CoT 场景中,由于 CoT 长度的更高方差,导致推理过程中出现滞后(Kimi Team,2025)。我们期待机器学习和系统研究的进步,以帮助克服这些限制,并加速 Long CoT 建模的进展。

REINFORCE 比 PPO 更难调整

苦 PPO 久矣,不过可以 GRPO

我们还探索了 REINFORCE++(Hu,2025)作为扩展数据的更快替代方案,但发现它比 PPO 显著更不稳定,导致更低的训练准确性(图 13)。由于这种不稳定性可能是由于未经调整的设置(附录 E.5.10),我们避免做出关于该算法的一般性主张。我们将其作为一个可能对社区有用的观察结果提出。

扩展验证

虽然我们的发现表明,结合基于规则的验证器和提示集过滤在技术上是高效的,但设计这样的规则和策划跨不同领域的提示集仍然是一项劳动密集型任务。更根本的是,这种方法将人类设计的启发式嵌入到 RL 环境中,反映了我们如何思考,而不是允许出现学习。正如在 The Bitter Lesson 中所强调的,手动编码人类直觉往往是一个低效的长期策略。这提出了一个有趣的问题:如何有效地扩展验证信号?在设计 RL 环境的背景下,是否存在与预训练等效的方法?我们期待未来对银级监督信号和 RL 验证中自监督方法潜力的研究。

基础模型中的潜在能力

基础模型中可能存在其他未被发掘的能力

推理是基础模型中的一种潜在能力,最近才被解锁。我们的分析表明,这种出现思维的一个可能来源是人类在互联网讨论论坛上的对话。这提出了一个更广泛的问题:在预训练数据中嵌入的人类知识和经验的巨大存库中,还存在哪些其他能力等待被解锁?我们期待更详细的分析,将模型行为追溯到其数据来源,这可能产生新的见解,并帮助揭示基础模型中的隐藏能力。

往期推荐

Read more

使用 VS Code 连接 MySQL 数据库

使用 VS Code 连接 MySQL 数据库

文章目录 * 前言 * VS Code下载安装 * 如何在VS Code上连接MySQL数据库 * 1、打开扩展 * 2、安装MySQL插件 * 3、连接 * 导入和导出表结构和数据 前言 提示:这里可以添加本文要记录的大概内容: 听说VS Code不要钱,功能还和 Navicat 差不多,还能在上面打游戏 但是没安装插件是不行的 发现一个非常牛的博主 还有一个非常牛的大佬 提示:以下是本篇文章正文内容,下面案例可供参考 VS Code下载安装 VS Code下载安装 如何在VS Code上连接MySQL数据库 本篇分享是在已有VS Code这个软件的基础上,数据库举的例子是MySQL 1、打开扩展 2、安装MySQL插件 在搜索框搜索 MySQL和 MySQL Syntax,下载这三个插件 点击下面的插件,选择【install】安装

By
RustFS 保姆级上手指南:国产开源高性能对象存储

RustFS 保姆级上手指南:国产开源高性能对象存储

最近在给项目选型对象存储的时候,发现一个挺有意思的现象:一边是MinIO社区版功能逐渐“躺平”,另一边是大家对存储性能和安全性的要求越来越高。就在这时,一个叫 RustFS 的国产开源项目闯入了我的视野。 折腾了一阵子后,我感觉这玩意儿确实有点东西。它用Rust语言写,天生就带着高性能和内存安全的基因,性能号称比MinIO快一大截,而且用的是对商业友好的Apache 2.0协议。今天,我就手把手带大家从零开始,搭建一个属于自己的RustFS服务,体验一下国产存储的威力。 一、 RustFS是什么?为什么值得你关注? 简单说,RustFS是一个 分布式对象存储系统 。你可以把它理解成一个你自己搭建的、功能跟阿里云OSS、亚马逊S3几乎一样的“私有云盘”。 但它有几个非常突出的亮点,让我觉得必须试试: * 性能猛兽 :基于Rust语言开发,没有GC(垃圾回收)带来的性能抖动,官方数据显示在4K随机读场景下,性能比MinIO高出40%以上,内存占用还不到100MB,简直是“小钢炮”。 * 100%S3兼容 :这意味着你现有的所有使用S3 API的代码、工具(比如AWS

By