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. 1. 有监督微调 SFT 可以简化训练流程,为强化学习 RL 提供更好的基础

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

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

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

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

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

  4. 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(短链)进行蒸馏,前者持续收益,后者较快饱和

图片

 

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

设置:为了策划 SFT 数据,对于 Long CoT,我们从 QwQ-32B-Preview 进行蒸馏(我们在 §3.3 中讨论其他Long CoT 思维数据构建方法)。对于短链式思维,我们从 Qwen2.5-Math-72B-Instruct 进行蒸馏,这是一个在数学推理中表现出色的短链式思维模型。具体来说,我们通过首先为每个提示采样 N 个候选响应,然后过滤出具有正确

<think>好的,用户想获取关于DeepSeek-R1的常用引导词或指令。首先需要理解用户的需求,他们可能在使用这个模型时遇到问题,或者希望更高效地使用它。接下来,我得回顾系统级指令,确保回答符合格式要求,比如行内数学表达式用$...$,独立公式单独成段,同时用中文回答,生成相关问题,并在引用处添加标识。 首先,我需要整理关于DeepSeek-R1的引导词和指令的信息。根据提供的引用内容,引用[3]提到DeepSeek-R1使用了冷启动数据和强化学习,收集了CoT数据,并人工后处理。这可能意味着在引导时需要详细步骤或特定格式的指令。引用[2]指出模型存在语言混杂问题,建议明确指定语言。引用[4]提到在医疗领域的应用,可能需要领域相关的指令。 接下来,我需要将这些信息结构化,分点列出常用引导词和指令,并给出示例。例如,详细步骤生成、明确指定语言、结构化数据生成等。同时,要确保每个点都有对应的引用来源,如[^3]、[^2]等。此外,还需生成相关问题,如优化方法、应用场景、解决语言混杂的方法等。 需要注意的是,回答要符合用户可见层的结构,清晰且真实可靠。同时,检查是否有遗漏的信息点,比如是否提到了如何提高输出的可读性,或者如何处理多语言问题。另外,确保每个引用准确对应到相应的内容,避免混淆。 最后,生成的相关问题应该覆盖用户可能感兴趣的方面,比如性能优化、实际应用、技术挑战等。确保问题与前面的内容相关,并且能够引导用户进一步探索。</think>关于DeepSeek-R1的常用引导词和指令使用方法如下: ### 1. 基础引导指令 - **详细步骤生成**:通过要求"分步说明"或"逐步推导"触发式思考(Long CoT) 示例: ```text 请分步说明如何构建医疗AI训练推理框架[^4] ``` 模型会生成包含验证环节的详细推导过程[^3] - **语言明确化**:添加"请用中文回答"指令避免语言混杂 示例: ```text 用中文解释傅里叶变换原理,并给出数学表达式 ``` 输出将保持纯中文,数学公式采用$e^{i\omega t}$格式[^1][^2] ### 2. 专业领域引导 - **医疗领域增强**:结合领域关键词触发专业知识库 示例: ```text 基于DeepSeek-R1-70B,分析CT影像的深度学习处理流程 ``` 模型会调用医疗AI训练框架中的特征提取方法[^4] ### 3. 结构化输出指令 - **格式控制**:使用特定标记引导结构化输出 示例: ```text 以Markdown表格形式对比快速排序与归并排序: 1. 时间复杂度 2. 空间复杂度 3. 稳定性 ``` ### 4. 调试优化指令 - **过程可视化**:通过"展示中间步骤"获取可读推理过程 示例: ```text 求解线性规划问题,并展示单纯形法的迭代过程 ``` 模型会输出类似$$\begin{cases} \max z=3x_1+2x_2 \\ 2x_1+x_2 \leq 100 \end{cases}$$的公式推导
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值