接下来大家进行具体的讲解,首先是第一阶段,大家如何去提升模型的推理链的可读性,在这个环节大家分为两个阶段:第一个是冷启动,第二是以推理为中心的强化学习。在冷启动阶段其实大家准备的数据是一些高质量的更长思维链的带反思和验证的数据集,这部分数据集它其实是由人类的注释者和 R1 Zero 产生了一个高质量链式思考,它的成效其实是说引入一些人类的先验,同时去提升它推理链的语义连贯性和可读性,然后并且让模型获得一个最基本的能力。
第二阶段就是和 DeepSeek R1 Zero 构建的过程相一致的,用以推理为中心的强化学习通过增强大规模的训练过程来进一步提升冷启动后的模型的推理问题的的推理能力。与此同时,除了传统的格式奖励之外,在这里还引入了语言一致性的奖励。因为在 DeepSeek-R1 Zero 中大家观察到了比如说思维链中可能会混合带有不同语言的现象,通过引入通过计算思维链过程中目标语言的占比作为一个语言一致性奖励,从而可以衡量长推理链的可读性。第二个奖励信号也就是推理正确率的奖励,通过 GRPO 模型也是能够在 AIME 这些数学基准上 Pass@1 的正确率就有一个非常大的飞跃的提升。
在这一部分大家先总结一下 DeepSeek-R1 的一些技术亮点和 takeaways。首先社区对于强推理模型的复现都涉及一些蒸馏和搜索,而 DeepSeek R1 Zero 它是跳过了监督微调阶段。这得益于以下几个点:第一是需要足够强的基座模型来帮助它去突破一个质量和能力阈值的上限,第二是需要大规模强化学习的加持,第三是规则化奖励,但规则化奖励是得益于一些推理问题,它可以进行自动化的标记和验证。通过强化学习在实验过程中其实观察到了训练步数的增长模型的思考过程的长度是逐步增长的,这一增长其实也代表着在 test time 也就是测试任务阶段的一个算力的提升。DeepSeek R1 Zero 也是自主涌现了一个学会评测原来的方法反思和主动探索,其他路径的这样一个能力。
与此同时,多阶段训练下的冷启动,其实也让强化学习的训练更加稳定,从而避免了强化学习初期不稳定,加速收敛并且提升思维链可读性的这样一个能力。那么未来其实后训练的中心,它会逐步倾向于用强化学习,但是少量的数据去用于监督微调还是必须的。与此同时强化学习的一个非常大的魅力就是说它不只局限于基于规则的数学和算法代码等容易提供奖励的领域,它还可以创造性的把这个推理能力泛化到其他领域,甚至是从文本模态泛化到多模态。DeepSeek R1 Zero 和 DeepSeek R1 它其实背后有一些非常深的技术。大家在这里进行逐步地剖析。
在这里大家具体讲解GRPO 是如何赋能强化学习的扩展的。GRPO 的核心思想是通过构建多个模型输出的群组,也就是对于同一个问题去产生可能是 N 个回答,计算群组内的相对奖励来估计基线相对奖励。它主要去解决一个问题,就是在传统的策略优化算法比如 PPO 中通常是需要一个与策略模型大小相同的一个 Critic Model 来估算它的 value,那大家把 value model 去掉其实能够提升它整个训练的稳定性和降低算力的消耗。与此同时,其实大家 GRPO 还可以引入一些额外的优化策略,从而去提升训练稳定性。
与 DeepSeek-R1 同系列出现的,其实还有 Kimi k1.5。大家也是先对 Kimi k1.5 的技术进行一个简单的讲解,然后去对比和分析这两个模型它采用的技术背后是不是有什么可取之处,以及和大家推测和社区的一些其他复现结果的一个对比。
Kimi K1.5 其实和 Kimi 系列的模型其实是一样,它是都是想要用长文本来解决一些问题,比如说 Kimi K1.5 其实专注于利用长文本的 CoT 输出来解决推理时的扩展问题,它的核心也就是通过强化学习来让模型去试错来学习解决问题的能力,它通过将强化学习的优化方式进行一个修改来应用于长文本推理链生成的过程,从而启发模型进行更深入更复杂的推理。
第二个大家希翼对比的技术讨论是通过纯强化学习和 STaR-base 的一些方法的对比。在这里大家先回顾一下 STaR 的方法,STaR 方法核心是说大家有一些问题和答案的问题,大家希翼能够让模型自己生成问题是如何导向答案的推理过程,并且将这些推理过程加入到模型的监督微调的数据集中,从而每次获得一个新的数据集,都从一个原始的模型来开始进行微调不断的去激发模型自己产生 Rationales 就是思考过程的能力。
STaR 和 RL 之间其实是有着紧密联系的,比如说去采样一个潜在的推理路径,它其实是类似于通过强化学习进行一个策略选择的动作,然后就选择一个可能的策略路径,对于计算目标函数其实对于模型对于整个数据集的预测结果进行评估,并且只根据预测的正确的样本更新模型。它其实是和传统强化学习中一个梯度的更新,其实是类似的,也就是通过多次的调整同一批的数据来稳定学习过程。
关于强化学习和 STaR 方法的对比,其实 STaR 的核心思路是希翼将思考过程建模到语言的 next token prediction 中,它这个过程是通过反复的自我迭代和监督微调实现的。基于 STaR 的方法可以进一步将这种思路扩展到比如思考过程其实也可以是搜索过程,那也就是 planning 直接去建模语言模型的 next token prediction,比如说 rStar-math 以及 stream-of-search 甚至 Kimi K1.5 的核心思路都是这样的。
与此同时,其实大家一个社区的 Common Sense 或者是说在对齐过程当中实践是监督微调主要是负责记忆,而很难实现 out of distribution,也就是分布外的泛化,而基于结果奖励模型的强化学习是能够获得更高的泛化能力的。对于此的理解,其实大家一般在后训练的阶段中是采用监督微调来规劝模型的输入格式,从而使得后续的强化学习可以获得更高的收益。随着强推理模型出现的兴起,其实社区也有很多的工作来比较长文本的思维链的这种效果,比如说其实背后是说如何去 scaling up 可验证的奖励会成为一个核心。对于一些小模型来说,其实也有一些工作发现其实像 Qwen-math-7b 这些,它是不容易 recentivize 长思维链的范式,比如说一些 'aha' Moment。那么在像 Math 场景下,其实像 wait check 这些词,它是在 RL 训练中没有进行明显的增加的,所以如何将蒸馏和强化学习 combine 起来,其实还是一个比较关键的社区的问题。但是大家如果要突破强化学习的或者突破推理的能力的上界的话,其实还是要依靠强化学习。
这里有一些 open questions 是比如说长思维链的指令数据扩展,它是否是有助于提升慢思考推理能力,以及大家如何去构建这样的长思维链数据来获得最佳的样本效率,进一步的大家长思维链的扩展是否有助于多模态任务。
它关键是基于两点,第一个是高质量推理数据集的贡献,也就是进行挑选了 1000 条,关于数学竞赛博士级的科知识题、以及奥林匹克竞赛题目等,这些问题经过难度多样性和质量的严格筛选,它是包含了详细的推理轨迹和答案,它也能达到类似于课程学习的效果;第二个是采样策略的优化,其实他们采用了一个预算强制法来控制模型在推理时间的计算消耗,也就是通过引入 end of thinking 的 token,去控制模型的思维链长度,比如终止思考过程来转向答案生成的阶段。如果要增加计算投入的话,大家就会暂时阻止 end of thinking 的 token 出现来鼓励进一步的探索。DeepSeek-R1 为什么蒸馏的效果能够超过强化学习,其实主要是在于 DeepSeek R1 这个模型确实很大,然后他也确实发现了一些高级推理的范式。通过大规模的数据的蒸馏,它其实能够让小模型在任务表现上是超过小模型进行大规模强化学习的效果的。
比较树搜索和不同的奖励模型的一些方法,其实大家可以发现,传统的一些方案都是基于比如说像利用大家 MCTS 去构建数据集或者是说直接去显式在推理过程中加入树搜索的技巧来延长推理的时间,其实背后的相应有一些考量是说直接将树搜索应用到模型的训练过程中,是否可能会限制模型的思考过程。背后的启发是,树搜索本身是一种结构化的先验,包括 A * 算法也是这样的一种 structure,那么人为的加入这样的认知偏差使得语言模型去按照人类的结构化经验去进行思考,是可能会限制模型的能力。比如说,就如右边 OpenAI 所展示的图,其实随着算力的增长,加入更多的这样一个人类先验,其实整个模型的表现上限是有限的,具有更少的人类先验,所能获得的表现上界是更高的。最后大家想要思考的是,大家不通过额外的添加人为先验,模型自身的时候是否可以直接进行思考的。
背后其实有两个算法:第一个也就是算法蒸馏,第二个是通过搜索流来显式的去引入规划的过程。关于算法蒸馏其实是将强化学习的整个训练过程中的 history 的 trajectory,直接建模到语言模型中从而寻找一个数据相对会比较高效的这样一些强化学习算法。Stream of Search 也就是搜索流其实是类似的,它更多是说将强化学习的训练的轨迹,比如将对搜索过程转化为自然语言序列训练预训练模型,然后基于这个模型,做一些策略提升的方法,它也是解决了很多启发式的解决器没有解决的一些问题。
但是大家可以看到其实 DS-R1 和 Kimi K1.5 它背后没有进行明确的树搜索和过程奖励模型的尝试,其背后也有其特定的考量。比如说这个过程奖励模型,它具备的一些挑战是决定当下的某一步是否是正确是一个非常难的任务,那么并且通过自动化标注是很难以产生很好的结果的,而通过人工标注又很难以把规模扩大;第二是基于神经网络的过程奖励模型可能会引入奖励攻陷的现象,而重新训练就会让整个训练过程变得非常复杂,并且整个过程奖励模型还是比较适合于 rank 前 n 个回答,并且去支撑有方向的去搜索。那么在大规模强化学习学习的使用下,其实提高算力相对是一个更加直接的方法。
那么最后一个讨论也就是其实大家会发现现在很多强推理模型,存在过度思考的行为具体表现,比如说它会出现过多的语气词,以及在任何的场合都会使用一些高端词汇典型的比如 DS-R1 会使用量子纠缠,对于一些简单的数知识题也会出现过多思考的范式。但其背后看似是有反思的范式,重复的范式也是非常多的,它可能会导致更好的表现,但是也会带来在训练和推理过程中极大的损耗。其实背后的问题就是,大家如何去合理的去分配在测试阶段的算力,从而进行选择性的思考。其实 Kimi 里边为大家展现一种策略,比如说从长思维链到短思维链的蒸馏,以及如何引入长度优化的惩罚和优先采样策略,去帮助整个模型在强化学习训练过程中建模到使用合适的方法,而避免过度思考的现象。