重新思考预训练中的反思现象

《Rethinking Reflection in Pre-Training》 摘要 语言模型反思其自身推理过程的能力,是其解决复杂问题的关键优势。尽管近期多数研究聚焦于此能力在强化学习阶段如何发展,但我们展示了它实际上在更早的时期——即模型的预训练期间——便已开始显现。为研究此现象,我们故意在思维链中引入错误,并测试模型是否仍能通过识别并纠正这些错误来得出正确答案。通过追踪模型在预训练不同阶段的表现,我们观察到这种自我纠正能力出现较早,并随时间推移而稳步提升。例如,一个基于 4 万亿 Token 预训练的 OLMo-2-7B 模型,在我们设计的六项自我反思任务中展现了自我纠正能力。 引言 反思增强了模型根据先前推理调整其响应的能力,从而提高了其输出的准确性。最近的研究报告称,“诸如反思之类的行为……是模型与强化学习环境互动的结果”。若要将能力的发展归因于此来验证这类主张,则必须在整个训练阶段进行全面的评估。在这项工作中,我们提出了一个详尽的框架来衡量反思,并且我们观察到这种现象在预训练期间持续存在。 使用现有的推理数据集对反思进行基准测试一直具有挑战性。在这类任务中,反思通常是稀疏的,并且每个模型都表现出独特的错误模式,从而产生独特的反思行为表现。我们通过区分情境反思 (situational-reflection) 和自我反思 (self-reflection) 来应对这一挑战。在情境设置中,模型检查由另一个来源(例如不同的前沿模型)创建的推理链。在自我反思中,模型则考虑其自身的推理过程。我们校准模型在被提供一些导致错误答案的干扰性推理时解决任务的能力,并以此在整个预训练过程中衡量反思能力。 \['gsd', 'avdropj'\]”。 通过以编程方式引入错误的思维链 (Chains-of-Thought, CoTs),其特征包含算术扰动和逻辑不一致性等元素,我们可以控制和扩展正确完成这些任务所需的反思程度。这也保持了已建立的 CoT 格式 。此外,我们的算法方法允许通过调整已建立的推理基准,以相对快速和经济的方式创建这些数据集,这反过来又使得对模型在各种领域中的反思能力进行全面研究成为可能。我们的六个数据集,涵盖数学、编码、逻辑推理和知识获取领域,旨在评估情境反思和自我反思能力。 对来自 OLMo-2 模型家族、具有不同预训练计算量的检查点在我们这组六个不同数据集上进行评估的结果表明,反思在各个领域普遍存在。即使是一个简单的触发短语,如“Wait,”,也能使部分预训练的模型持续识别出引入的错误和它们自己产生的错误。具体来说,240 个数据集-检查点对中有 231 个展示了至少一个情境反思的实例,240 个对中有 154 个展示了至少一个自我反思的实例。随着预训练的增加,模型会纠正更多的对抗性示例,导致准确性与 $\log(\text{预训练计算量})$ 之间的平均皮尔逊相关系数在各项任务中达到 0.76。此外,随着预训练的进行,模型越来越多地从不正确的先前推理中恢复,模型生成中明确反思的比率增加,并且明确反思越来越多地有助于从干扰性 CoT 中恢复。 本文的贡献有三方面: 我们引入了一种系统化的方法,用于创建跨越代码、知识获取、逻辑推理和数学领域的六个数据集,以研究模型的反思能力。 我们证明了具有不同能力和训练计算量的预训练模型可以在广泛的领域中使用简单的插入语引发反思,以纠正不准确的先前推理。 我们观察到,持续改进的预训练可以带来更好的反思,从而能够用更少的测试时 Token 来解决相同数量的任务。 方法 定义反思 反思是一种元认知形式,涉及审视信息,评估其背后的推理过程,并基于该评估调整未来的行为。在大型语言模型的背景下,这个过程可以应用于从外部来源引入的信息或模型自身生成的信息。在这项工作中,我们创建了两种情境来引发和衡量反思: 情境反思是指模型反思由其他来源(例如不同的模型)创建的信息。 自我反思是指模型反思其自身生成的输出。 我们还通过两种形式来全面刻画反思: 显式反思 发生在模型生成的 Token 在其含义上识别并处理了对抗性情境中的错误时。显式反思可能出现在正确的模型输出中(换句话说,那些构成对我们对抗性任务的正确答案的输出),也可能出现在不正确的模型输出中。 隐式反思 发生在模型在对抗性情境中设法正确解决任务,但没有输出明确识别先前推理中错误的 Token 时。根据我们的定义,这意味着隐式反思不能导致对我们对抗性任务的错误回答。这使我们能够区分以下两种情况:其一,显式反思缺失但可以推断出发生了隐式反思;其二,根本没有发生任何反思。 使用对抗性反思数据集引发反思 我们提出了一种生成对抗性数据集的算法,该数据集能够引发语言模型的反思行为。该算法创建导致错误解的对抗性思维链 (CoT)。与自我反思(我们可以从模型自身的错误中汲取经验)不同,对于情境反思,我们必须设计人工的对抗性 CoT。从高层次来看,这些对抗性 CoT 是通过破坏正确的 CoT 来创建的,其方式模仿了人类的推理错误,例如逻辑失误和算术计算错误。在这两种情况下,当我们在上下文中提供 CoT 时,模型必须反思这些错误并修正它们,以得出正确的解。我们相信这些设置对于全面研究反思是必要的。 ...

April 14, 2025 · 小茄墩

字节Seed:Seed-Thinking-v1.5,超过R1

《Seed-Thinking-v1.5: Advancing Superb Reasoning Models with Reinforcement Learning》 摘要 我们介绍 Seed-Thinking-v1.5,它能够在响应前通过思考进行推理,从而在广泛的基准测试中提高了性能。Seed-Thinking-v1.5 在 AIME 2024 上达到 86.7 分,在 Codeforces 上达到 55.0 分,在 GPQA 上达到 77.3 分,展示了在 STEM 和编码方面出色的推理能力。除了推理任务,该方法在不同领域也表现出显著的泛化能力。例如,在非推理任务上,它在胜率方面超过 DeepSeek R1 8%,表明其更广泛的适用性。与其他最先进的推理模型相比,Seed-Thinking-v1.5 是一个专家混合模型 (MoE),规模相对较小,具有 200 亿激活参数和 2000 亿总参数。作为我们评估泛化推理能力的一部分,我们开发了两个内部基准测试:BeyondAIME 和 Codeforces,这两个基准测试都将公开发布以支持未来的研究。 1 引言 在这项工作中,我们提出了一个名为 Seed-Thinking-v1.5 的新推理模型。该模型在推理任务和非推理任务中均表现出强大的性能。 数学推理: 在数学竞赛方面,Seed-Thinking-v1.5 在 AIME 2024 上取得了 86.7 分,与 o3-mini-high 的表现持平,并显著优于 o1 和 DeepSeek R1,展现出具有竞争力的实力。由于 AIME 2024 不再能提供足够的区分度,我们构建了一个更具挑战性的评估集,名为 BeyondAIME。BeyondAIME 中的所有问题均由人类专家全新策划设计,旨在最大限度地减少通过记忆或猜测解决问题的可能性。虽然 Seed-Thinking-v1.5 在 BeyondAIME 上的表现超越了 o1 和 R1,但与 o3 和 Gemini pro 2.5 相比,仍存在性能差距。这也进一步证明了这个新评估集的区分能力。 ...

April 10, 2025 · 小茄墩

字节Seed:PPO 在长思维链(Long-CoT)中崩溃的背后是什么?价值优化掌握着秘密

近端策略优化 $$ \mathcal{L}^{CLIP}(\theta)=\hat{\mathbb{E}}_t\left[\min\left(r_t(\theta)\hat{A}_t,\text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon)\hat{A}_t\right)\right] $$$$ \hat{A}_t=\sum_{l = 0}^{T-t-1}(\gamma\lambda)^l\delta_{t + l} $$ 其中 $\gamma$ 是折扣因子,$\lambda\in[0, 1]$ 是 GAE 参数,而 $\delta_t=r_t+\gamma V(s_{t + 1})-V(s_t)$ 是时序差分 (TD) 误差。此处,$r_t$ 是时间步 $t$ 的奖励,$V(s)$ 是价值函数。由于在 RLHF 中通常将折扣因子设为 $\gamma = 1.0$,为简化表示,我们在本文后续章节中省略了 $\gamma$。 识别并解决 PPO 在长 CoT 任务中的失败模式 在本节中,我们展示 PPO 在长 CoT 任务中的一个常见失败模式,并从理论和实证角度考察其与预训练及训练中价值偏差的关系。随后,我们提出实用的解决方案来改进 PPO,使其能够避免此类失败。 PPO 在长思维链 (CoT) 任务中的失败模式 在从人类反馈中进行强化学习 (Reinforcement Learning from Human Feedback, RLHF) 的领域应用 PPO 时,有两种常见的做法如下: 采用默认的广义优势估计 (Generalized Advantage Estimation, GAE),通常设置 $\lambda = 0.95$。 使用一个训练充分的奖励模型 (reward model) 来初始化价值模型 (value model)。 第一种做法起源于传统的强化学习文献,在这些文献中,PPO 已经在 Mujoco 和 Atari 等环境中得到了广泛的测试。在这些环境中,奖励 (rewards) 会沿着轨迹 (trajectory) 累积,导致回报 (return) 具有高方差。因此,方差缩减 (variance reduction) 变得十分必要。第二种做法则自然地源于奖励模型和价值模型之间的明显相似性,因为这两种模型都被训练用于预测关于响应 (response) 的标量信息 (scalar information)。然而,我们的实验揭示,将 PPO 轻率地应用于需要长思维链 (CoT) 的任务不可避免地会导致失败,具体如图1所示。 ...

April 9, 2025 · 小茄墩

字节Seed新作:VAPO:使用基于价值的强化学习框架进行长思维链推理

摘要 我们提出VAPO(面向推理模型的基于价值的增强型近端策略优化框架),这是一个专为推理模型设计的新型框架,立足于价值导向范式。在AIME 2024数据集的基准测试中,基于Qwen 32B预训练模型构建的VAPO获得了60.4的最高分。在完全相同的实验条件下进行直接对比时,VAPO的表现超过先前报告的DeepSeek-R1-Zero-Qwen-32B和DAPO模型10分以上。 VAPO的训练过程以稳定性和效率见长。它仅需5,000步即可达到最先进的性能水平。此外,在多次独立运行测试中,未出现任何训练崩溃现象,充分证明了其可靠性。 本研究深入探讨了使用基于价值的强化学习框架进行长思维链(long-CoT)推理。我们识别出影响基于价值方法的三个关键挑战:价值模型偏差、异构序列长度以及奖励信号稀疏性。通过系统化设计,VAPO提供了一个综合解决方案,有效缓解了这些挑战,从而提升了长思维链推理任务的性能表现。 引言 在大语言模型(LLM)的强化学习(RL)训练中,像 GRPO 和 DAPO 这样的无价值方法已展现出显著的有效性。这些方法消除了学习价值模型的计算开销,而是仅根据整个轨迹的最终奖励来计算优势。然后,轨迹级别的优势被直接分配为序列中每个位置的 Token 级别优势。当训练一个可靠的价值模型特别具有挑战性时,无价值方法通过对一个组内多个轨迹的奖励进行平均,为优势计算提供了一个准确且稳定的基线。这种基于组的奖励聚合减轻了对显式价值估计的需求,而显式价值估计在复杂任务中常常存在不稳定性。因此,无价值方法在解决诸如长思维链(CoT)推理等难题方面获得了显著的关注,大量的研究工作都集中在优化其框架上。 尽管不基于价值的方法已取得了显著成功,但我们认为,如果能够克服训练价值模型中的挑战,基于价值的方法则拥有更高的性能上限。首先,价值模型通过精确追踪每个动作对后续回报的影响,能够实现更精确的信用分配,从而促进更细粒度的优化。这对于复杂的推理任务尤为关键,因为在这类任务中,单个步骤的细微错误往往会导致灾难性的失败,而对于在不基于价值的框架下进行优化的模型而言,这仍然是一个挑战。其次,相较于不基于价值的方法中利用蒙特卡洛方法得出的优势估计,价值模型能为每个 Token 提供方差更低的值估计,进而增强训练的稳定性。此外,一个训练良好的价值模型展现出内在的泛化能力,使其能够更有效地利用在线探索过程中遇到的样本。这显著提升了强化学习算法的优化上限。因此,尽管为复杂问题训练价值模型面临着艰巨挑战,但克服这些困难所能带来的潜在收益是巨大的。然而,在长思维链(Long CoT)任务中训练一个完美的价值模型存在显著的挑战。第一,鉴于轨迹漫长以及以自举方式学习价值存在不稳定性,学习一个低偏差的价值模型并非易事。第二,同时处理长响应和短响应也颇具挑战性,因为它们在优化过程中可能对偏差-方差权衡表现出截然不同的偏好。最后但同样重要的是,来自验证者的奖励信号的稀疏性,因长思维链模式而进一步加剧,这内在地要求采用更好的机制来平衡探索与利用。为应对上述挑战并充分释放基于价值的方法在推理任务中的潜力,我们提出了Value Augmented proximal Policy Optimization(VAPO),一个基于价值的强化学习训练框架。VAPO 从 VC-PPO 和 DAPO 等先前的研究工作中汲取灵感,并对其概念进行了进一步扩展。我们将我们的主要贡献总结如下: 我们引入了 VAPO,这是首个在长 COT 任务上显著优于无价值方法的基于价值的强化学习 (RL) 训练框架。VAPO 不仅表现出显著的性能优势,而且还展示了更高的训练效率,简化了学习过程,并突显了其作为该领域新基准的潜力。 我们提出了长度自适应 GAE (Length-adaptive GAE),它根据响应长度自适应地调整 GAE (Generalized Advantage Estimation) 计算中的 $\lambda$ 参数。通过这样做,它有效地满足了与长度差异极大的响应相关的独特偏差-方差权衡需求。因此,它优化了优势估计过程的准确性和稳定性,特别是在数据序列长度变化广泛的场景中。 我们系统地整合了先前工作的技术,例如来自 DAPO 的 Clip-Higher 和 Token 级损失 (Token-level Loss),来自 VC-PPO 的价值预训练 (Value-Pretraining) 和解耦 GAE (Decoupled-GAE),来自 SIL 的自模仿学习 (self-imitation learning),以及来自 GRPO 的组采样 (Group-Sampling)。此外,我们通过消融研究进一步验证了这些技术的必要性。 VAPO 是一个有效的强化学习系统,它整合了这些改进。这些改进平稳地协同作用,产生的整体效果优于各独立部分的总和。我们使用 Qwen2.5-32B 预训练模型进行实验,确保在所有实验中均未引入 SFT 数据,以保持与相关工作(DAPO 和 DeepSeek-R1-Zero-Qwen-32B)的可比性。VAPO 的性能得分相较于原始 PPO 从 5 分提升至 60 分,超越了先前最先进的(SOTA)不依赖价值函数的方法 DAPO 10 分。更重要的是,VAPO 非常稳定 —— 我们在训练期间没有观察到任何崩溃,并且多次运行的结果高度一致。 ...

April 8, 2025 · 小茄墩

DeepSeek-GRM:通用奖励模型实现有效推理时间扩展

摘要 强化学习(RL)已被广泛应用于大规模大语言模型(LLMs)的后训练阶段。最近,通过强化学习激励大语言模型推理能力的实践表明,适当的学习方法可以实现有效的推理时可扩展性。强化学习的一个关键挑战是在可验证问题或人为规则之外的各种领域中为大语言模型获取准确的奖励信号。在这项工作中,我们研究了如何通过增加推理计算来改进通用查询的奖励建模(RM),即**,并进一步研究如何通过适当的学习方法提高性能-计算扩展的有效性。 对于奖励建模方法,我们采用pointwise generative reward modeling(GRM),以便为不同输入类型提供灵活性,并具备推理时扩展的潜力。对于学习方法,我们提出了Self-Principled Critique Tuning(SPCT),通过在线强化学习在 GRM 中培养可扩展的奖励生成行为,以自适应地生成原则并准确地进行批判,从而产生了DeepSeek-GRM模型。此外,为了实现有效的推理时扩展,我们使用并行采样来扩展计算使用量,并引入了一个元奖励模型来指导投票过程以获得更好的扩展性能。实验表明,SPCT 显著提高了 GRM 的质量和可扩展性,在各种奖励建模基准测试中优于现有方法和模型,且没有严重的偏见,并且与训练时扩展相比可以实现更好的性能。DeepSeek-GRM 在某些任务中仍然面临挑战,我们相信这可以通过未来在通用奖励系统方面的努力来解决。这些模型将被发布并开源。 引言 我们能否设计一种旨在为通用奖励模型实现有效推理时间扩展的学习方法? 在这项工作中,我们研究了不同的[奖励模型方法],发现逐点生成式奖励建模(GRM)可以在纯语言表示内统一对单个、成对和多个响应的评分,从而克服了挑战(1)。我们探索发现,某些原则可以在适当的标准内指导生成式奖励模型的奖励生成过程,进而提高奖励质量,这启发了我们:奖励模型的推理时间可扩展性或许可以通过扩展高质量原则和准确批判的生成来实现。 基于这一初步认识,我们提出了一种新颖的[学习方法],自我原则化批判调优(SPCT),旨在培养生成式奖励模型中有效的推理时间可扩展行为。通过利用基于规则的在线强化学习,SPCT使生成式奖励模型能够学习根据输入查询和响应自适应地设定原则和批判,从而在通用领域产生更好的结果奖励(挑战(2))。随后,我们开发了DeepSeek-GRM-27B,该模型基于Gemma-2-27B,并使用SPCT进行了后训练。对于[推理时间扩展],我们通过多次采样来扩展计算资源的使用。通过并行采样,DeepSeek-GRM可以生成不同的原则集合以及相应的批判,然后通过投票决定最终奖励。通过更大规模的采样,DeepSeek-GRM能够基于多样性更高的原则进行更准确的判断,并输出粒度更精细的奖励,这解决了挑战(3)&(4)。此外,除了通过投票方式,我们还训练了一个元奖励模型以获得更好的扩展性能。实验证明,SPCT显著提高了生成式奖励模型的质量和可扩展性,在多个综合性奖励模型基准测试中表现优于现有方法和模型,且没有表现出严重的领域偏差。我们还将DeepSeek-GRM-27B的推理时间扩展性能与参数量高达671B的更大模型进行了比较,发现相较于通过增大模型规模进行训练时间扩展,我们的方法能实现更优的性能。尽管当前方法在效率和特定任务方面仍面临挑战,但我们相信,通过SPCT及后续的努力,具有增强可扩展性和效率的生成式奖励模型可以作为通用奖励系统的多功能接口,推动大语言模型后训练和推理领域的前沿发展。 总的来说,我们的主要贡献如下: 我们提出了一种名为 自洽原则批判调整(SPCT) 的新颖方法,旨在提升通用奖励模型有效的推理时可扩展性,并由此产生了 DeepSeek-GRM 模型。此外,我们还引入了一个元奖励模型(meta RM),以在投票机制之外有效提升 DeepSeek-GRM 的推理时扩展性能。 我们通过实验证明,相较于现有方法及若干强大的公开模型,SPCT 显著提升了通用奖励模型(GRM)的质量和推理时可扩展性。 我们亦将 SPCT 训练方案应用于更大规模的大语言模型(LLM),并发现就训练时间而言,推理时扩展的表现可能优于模型规模扩展。 不同奖励模型(RM)方法的比较 如图2所示,奖励模型(RM)方法主要由奖励生成范式和评分模式决定,这从本质上影响了 RM 的推理时可扩展性和输入灵活性。对于奖励生成范式,我们区分三种主要方法:标量、半标量和生成式。标量方法为给定的查询和响应分配标量值,而半标量方法既生成文本判断(称为“评语”),也生成标量奖励值。生成式方法仅生成作为文本奖励的评语,奖励值可从中提取。对于评分模式,我们区分两种主要方法:逐点式和配对式。逐点式方法为每个响应分配一个独立的分数,而配对式方法则从所有候选响应中选择单个最佳响应。为了扩展推理时的计算使用,我们关注基于采样的方法,这些方法为相同的查询和响应生成多组奖励,然后聚合得到最终奖励。因此,RM 的推理时可扩展性取决于是否能通过多次采样获得不同的奖励,而标量 RM 在大多数情况下会因此失效,因为其奖励生成是不变的;输入灵活性则定义为 RM 是否支持对单个、成对以及多个响应进行评分,其中配对式 RM 几乎无法对单个响应评分,并且通常需要额外技术来处理多个响应。逐点式生成式奖励模型(GRM)的公式为: 其中 $x$ 是查询,$y_i$ 是第 $i$ 个响应,$r_{\theta}$ 是由 $\theta$ 参数化的奖励函数,$\mathcal{R}$ 是奖励,$\boldsymbol{C}$ 是评价,$S_i$ 是 $y_i$ 的个体分数,而 $f_{\mathrm{extract}}(\cdot)$ 从生成结果中提取奖励。通常,奖励是离散的,并且在这项工作中,我们默认分配 $S_i \in \mathbb{N}, 1 \leq S_i \leq 10$。 ...

April 6, 2025 · 小茄墩

Llama 4 家族:原生多模态 AI 创新新纪元的开端

1. 要点 三大模型概览:Llama 4 Scout(小型)、Llama 4 Maverick(中型)、Llama 4 Behemoth(大型),Behemoth还在训练,其余模型都是Behemoth蒸馏而来。 技术参数对比: 性能优势:多模态能力、Maverick在LMArena 1714分,Behemoth 声称击败所有模型 部署效率:单GPU适配 2. 预训练 MoE架构原理:参数激活机制、计算效率提升 多模态融合:早期融合技术、文本与视觉token集成 视觉增强:改进的MetaCLIP视觉编码器 训练创新:MetaP超参数设置、FP8精度训练 数据规模:30万亿Token、200种语言支持 上下文扩展:中期训练阶段、1000万Token长度 3.后训练 多模态挑战:不同输入模态平衡 优化流程:轻量级SFT → 在线RL → 轻量级DPO 数据策略:模型评判器过滤、难度筛选 迭代方法:连续在线强化学习、自适应过滤 效果验证:智能与对话能力平衡 4.模型特性与能力 Maverick特点:大规模专家(128)、跨语言应用、创意写作 Scout创新:iRoPE架构、交错注意力层、无位置嵌入 长上下文技术:推理时温度缩放、旋转位置嵌入 视觉理解:多图像处理(最多48张)、时间相关活动理解 图像定位:精确视觉问答、对象定位能力 5. 2T Behemoth模型 规模与定位:288B活跃参数、2T总参数、教师模型角色 蒸馏技术:共同蒸馏、动态加权损失函数 训练挑战:95%数据裁剪、大规模强化学习 提示词策略:难度递增计划、零优势动态过滤 基础设施创新:异步在线RL框架、灵活GPU分配 效率提升:训练速度10倍提升、资源平衡 以下为原文:包含更多细节 预训练 构建下一代 Llama 模型要求我们在预训练期间采取几种新方法。 我们新的 Llama 4 模型是我们首批使用混合专家(MoE)架构的模型。在 MoE 模型中,单个 Token 仅激活总参数中的一小部分。MoE 架构在训练和推理方面计算效率更高,并且在给定的固定训练 FLOPs 预算下,与密集模型相比,能够提供更高的质量。 例如,Llama 4 Maverick 模型包含 17B (170亿) 活跃参数和 400B (4000亿) 总参数。我们交替使用密集层和混合专家 (MoE) 层以提升推理效率。MoE 层使用了 128 个路由专家和一个共享专家。每个 token 会被发送到共享专家,同时也会发送到 128 个路由专家中的一个。因此,尽管所有参数都存储在内存中,但在运行这些模型进行服务时,只有总参数的一个子集会被激活。这通过降低模型服务成本和延迟来提高推理效率——Llama 4 Maverick 既可以在单台 NVIDIA H100 DGX 主机上运行以便于部署,也可以通过分布式推理实现最高效率。 Llama 4 模型采用原生多模态设计,并结合了早期融合技术,将文本和视觉 token 无缝集成到统一的模型骨干网络中。早期融合是一项重大进步,因为它使我们能够利用大量未标记的文本、图像和视频数据对模型进行联合预训练。我们还改进了 Llama 4 中的视觉编码器。该编码器基于 MetaCLIP,但与一个冻结的 Llama 模型协同进行了单独训练,旨在使编码器能更好地适配大语言模型 (LLM)。 ...

April 6, 2025 · 小茄墩

BIG-MATH 25万高质量数学数据集

摘要 对推理模型日益增长的兴趣使得数学成为算法和方法改进的重要试验场。然而,现有的开放数学数据集要么包含少量高质量、人工编写的问题,要么包含大量质量不确定的机器生成的问题,迫使研究人员在质量和数量之间做出选择。在这项工作中,我们提出了[Big-Math],一个包含超过25万个高质量数学问题的数据集,这些问题具有可验证的答案,专门为强化学习(RL)而设计。为了创建[Big-Math],我们严格地过滤、清理和整理公开可用的数据集,提取满足我们三个要求的问题: (1)具有唯一可验证解决方案的问题, (2)开放式问题, (3)具有封闭式解的问题。 为了确保[Big-Math]的质量,我们手动验证过滤过程中的每个步骤,并通过多轮迭代改进我们的过滤器。 根据我们的过滤过程的发现,我们引入了47,000个具有验证答案的新问题,[Big-Math-Reformulated]:通过系统的重构算法,将封闭式问题(即多项选择题)重新构造为开放式问题。与最常用的现有开源数学推理数据集GSM8k和MATH相比,[Big-Math]的规模要大一个数量级(250,000个问题,而GSM8k中有8,000个问题,MATH中有12,000个问题),而我们严格的过滤确保我们保持最适合RL的问题。我们还对数据集进行了严格的分析,发现[Big-Math]在问题领域中包含高度的多样性,并包含了广泛的问题难度,从而为不同能力和训练要求的模型提供了广泛的下游用途。总之,这项工作提出了我们的新数据集[Big-Math],这是最大的适用于RL训练的开放数学问题数据集。通过弥合数据质量和数量之间的差距,[Big-Math]为推进大语言模型(LLM)中的推理奠定了坚实的基础。 分析与讨论 讨论和分析 [Big-Math] 数据集。我们将考虑数据集的难度、多样性以及我们提出的过滤器的结果。在整个分析过程中,我们将包含讨论要点,以帮助 [Big-Math] 的下游使用。 数据集难度 我们基于 Llama-3.1-8B 模型的推演 (rollouts) 计算 [Big-Math] 中问题的难度,这为理解问题复杂度提供了一个基准。对于数据集中的每个问题,我们生成 64 个推演,并计算每个问题的成功率。大多数最简单的数据(最高的解决率)来自 Orca-Math、cnk_12 和 MATH 数据集,而最困难的数据则更均匀地分布在各个数据集上。特别是,我们发现几乎所有的 Omni-MATH 和 HARP 都无法被 Llama-3.1-8B 解决。因此,为了在这些困难的子集上对 Llama-3.1-8B 应用强化学习 (RL),需要对该特定模型进行监督微调,或者使用利用过程奖励模型的 RL 训练算法。例如,具有可验证奖励的强化学习 (RLVR) 不太可能在 Omni-Math 和 HARP 上有效工作,因为模型的响应不会产生训练信号。 接下来,我们将问题按难度分为五个等级,最难的等级是成功率低于 20% 的问题,最简单的等级是成功率高于 80% 的问题。我们发现,从最简单到最难,这五个等级分别有 71,926 个 (28.64%)、30,533 个 (12.16%)、25,763 个 (10.26%)、31,249 个 (12.44%) 和 91,647 个问题(占问题总数的 36.50%)。 现在一个显而易见的问题是:从业者应该如何将这些数据集难度用于他们自己的目的? 一般来说,那些训练能力较弱或较小模型的从业者可能希望删除最困难的问题,因为模型部署不太可能得到正确的答案。这导致学习过程效率低下,因为用于大语言模型的多数强化学习方法(除了那些具有过程奖励模型的方法)如果模型永远无法得出正确答案,将获得 0 信号。另一方面,对于那些训练更大或数学专用模型的从业者来说,他们会发现许多简单的问题是多余的,并且在这些数据上进行训练将是低效的。因此,对于训练强大模型的从业者来说,只保留较难的问题是明智的。假设保留了最难的两个等级的数据,仍然有超过 120,000 个问题,比下一个最接近的适合强化学习的数据集多 10 倍以上。 接下来,我们看看我们新颖的 [Big-Math-Reformulated] 子集的难度。我们看到我们的子集遵循与数据集其余部分相似的解决率分布;它在难度分布的低端和高端周围的密度略高。然而,[Big-Math-Reformulated] 偏向于更难的问题。具体来说,我们发现 [Big-Math-Reformulated] 中有 34.44% 位于最难的等级,另外有 16.42% 位于第二难的等级,两者加起来超过了新数据的 50%。 最后,我们研究了每个问题领域的解决率分布,如图4所示。我们发现,难度最高的问题集中在微分方程、离散数学和抽象代数领域,而预代数领域则以显著优势成为最简单的领域。有趣的是,其余领域的难度分布非常广泛,表明在每个领域内部,可能存在需要不同专业水平才能解决的问题。令人惊讶的是,线性代数被认为是相对容易的领域之一,而几何学则被认为是难度最高的领域之一。然而,这可能是领域分类过程本身造成的偏差,也可能是 Llama-3.1-8B 的特定训练数据所致。 ...

February 25, 2025 · 小茄墩

DeepSeek 开源周day1: FlashMLA

https://github.com/deepseek-ai/FlashMLA FlashMLA FlashMLA 是针对Hopper架构GPU优化的高效MLA解码内核,专为变长序列服务场景设计。 当前已发布特性: BF16支持 分页式kvcache(块大小为64) 快速入门 安装 python setup.py install 性能测试 python tests/test_flash_mla.py 在H800 SXM5(CUDA 12.6环境)上实现内存受限配置下3000GB/s的带宽吞吐,计算受限配置下580 TFLOPS的算力表现。 使用方法 from flash_mla import get_mla_metadata, flash_mla_with_kvcache tile_scheduler_metadata, num_splits = get_mla_metadata(cache_seqlens, s_q * h_q // h_kv, h_kv) for i in range(num_layers): ... o_i, lse_i = flash_mla_with_kvcache( q_i, kvcache_i, block_table, cache_seqlens, dv, tile_scheduler_metadata, num_splits, causal=True, ) ... 环境要求 Hopper架构GPU CUDA 12.3及以上版本 PyTorch 2.0及以上版本 致谢 FlashMLA的设计灵感来源于FlashAttention 2&3以及cutlass项目。

February 24, 2025 · 小茄墩

小模型的推理困境

摘要 大语言模型 (LLM) 在复杂的推理任务中表现出色,将它们的推理能力提炼到较小的模型中也展现了潜力。然而,我们发现了一个有趣的现象,称之为“小模型可学习性差距”:参数量较小的模型($\leq$3B 参数)并不能始终从长链式思考 (CoT) 推理或从更大模型的蒸馏中获益。相反,当在更短、更简单的推理链上进行微调时,这些小模型表现更好,因为这些推理链更符合它们固有的学习能力。为了解决这个问题,我们提出了混合蒸馏 (Mix Distillation),这是一种简单而有效的策略,通过结合长短 CoT 示例,或者结合来自较大和较小模型的推理,来平衡推理的复杂性。实验表明,与单独使用任何一种数据进行训练相比,混合蒸馏显著提高了小模型的推理性能。这些发现突显了直接从强大模型进行蒸馏的局限性,并强调了调整推理复杂性对于有效传递推理能力的重要性。 介绍 大语言模型(LLM)的高计算成本阻碍了它们在资源受限设备上的部署,因此,开发以更低成本提供类似能力的小型模型变得迫切。一种广泛采用的策略是知识蒸馏,即利用强大的教师模型生成的思维链(CoT)序列来微调较弱的学生模型。人们自然会认为,从更强大的模型中蒸馏思维链序列能够持续提升小型模型复杂的推理能力。然而,我们发现了一个有趣的现象,我们称之为“小型模型可学习性差距”(如图1所示):小型模型并不能始终从强大的教师模型提供的复杂推理序列中获益,例如,较长的思维链推理或从大型模型进行的知识蒸馏。在我们的实验中,我们观察到,当小型模型接触到冗长且复杂的推理过程时,由于自身能力的限制,它们难以理解并内化多步骤的逻辑。相反,当小型模型在更短、更简单的推理链上进行微调时,它们表现更好,因为这些推理链与它们固有的学习能力更加匹配。这表明,小型模型难以处理过于复杂的推理过程,或者适应由更强大的教师模型引入的分布偏移,最终限制了它们有效泛化的能力。 为了解决上述挑战,我们提出了混合蒸馏(Mix Distillation),这是一种简单而有效的方法,它通过混合不同类型的推理轨迹来平衡推理的复杂性。具体来说,我们的方法包括两种配置: (1)混合-长(Mix-Long)——长思维链(CoT)示例和短思维链示例的组合,确保小型模型能够接触到详细和简洁的推理步骤。 (2)混合-大(Mix-Large)——来自较大模型和较小模型的响应的混合,允许小型模型从更适合其能力的推理链中学习。我们的实验表明,与标准蒸馏相比,混合蒸馏能够持续提高小型模型的推理性能。例如,与直接在长思维链数据上训练相比,Qwen2.5-3B-Instruct使用Mix-Long在MATH和AMC上提高了8个点以上。与在大型教师思维链数据上训练相比,Qwen2.5-3B-Instruct使用Mix-Large在MATH、AIME和AMC上获得了超过7个点的提升。 这些发现突出了直接进行强模型蒸馏的一个根本局限性,并强调了调整推理复杂性对于有效知识转移的重要性。通过仔细设计蒸馏策略,我们为克服小型模型学习的约束提供了新的见解,使其在推理密集型任务中更加有效。 符号 设 $x = (x_1, x_2, \dots, x_n)$ 表示一个输入序列(例如,一个提示词),$y = (y_1, y_2, \dots, y_m)$ 是相应的输出序列。我们考虑一个由 $\theta$ 参数化的大语言模型 (LLM),它预测下一个 Token,遵循条件分布 $\pi_\theta \bigl(y_t|x, y_{1:t-1}\bigr)$。我们用 $\text{CoT}(y) \subseteq y$ 表示生成输出中编码思维链的 Token 子集,通常用作推理轨迹或解释性序列。 在本文中,我们使用术语短 CoT 来描述得出解决方案的简洁的思维链,并使用长 CoT 来描述不仅更长而且展现出更复杂反思性思考的更长的思维链。此外,我们使用术语大型教师 CoT 来指代由更大的教师模型生成的推理轨迹,并使用术语小型教师 CoT 来指代由较小的教师模型产生的推理步骤。 监督式微调 (SFT) 监督式微调 (SFT) 被广泛采用,以增强大语言模型在数据集 $\mathcal{D} = \{(x^i, y^i)\}_{i=1}^N$ 上的推理能力,其中 $y^i$ 可以是短 CoT、长 CoT、强模型 CoT 或弱模型 CoT 序列。SFT 过程通过最小化指令数据集 $\mathcal{D}$ 上的负对数似然损失来更新语言模型的参数 $\theta$。 ...

February 20, 2025 · 小茄墩

蒸馏scaling law

摘要 我们提出了一种==蒸馏缩放定律,该定律基于计算预算及其在学生模型和教师模型之间的分配,来估计蒸馏模型的性能==。 我们的发现降低了大规模使用蒸馏的风险;现在可以进行教师模型和学生模型的计算分配,以最大限度地提高学生模型的性能。 我们提供了计算最优的蒸馏方案,适用于以下两种情况:1) 教师模型已存在;2) 教师模型需要训练。 如果需要蒸馏多个学生模型,或者已经存在教师模型,那么在计算量达到一定水平之前,蒸馏的表现优于监督预训练,而该计算水平会随着学生模型大小的增长而可预测地增长。 如果只需要蒸馏一个学生模型,并且教师模型也需要训练,那么应该改为进行监督学习。 此外,我们还提供了对大规模蒸馏研究的见解,这些见解加深了我们对蒸馏的理解,并为实验设计提供了信息。 介绍 对缩放定律的研究表明,如果先前训练的[lms]遵循计算最优的训练范式,它们可以表现得更加出色。这种范式旨在确定在给定的计算预算下,能够产生最佳性能模型的模型大小和训练 Token 数量。 许多后续研究都遵循了计算最优训练方法。 计算最优模型的大小随着计算量的增长而增长,这导致推理成本增加,从而使得它们更难被有效利用。 实际上,这意味着计算最优模型速度慢、服务成本高昂、消耗更多电池电量、提高了学术研究的门槛,并且会产生显著的碳排放。 随着推理量高达每天数十亿 Token,lm的推理成本通常远高于其预训练成本,并且在测试时计算量扩展的时代,这一成本还将进一步增加。 不可持续的推理成本催生了一种替代的训练范式,即过拟合训练,在这种范式中,所使用的训练数据量远超计算最优状态下的数据量,从而能够训练出小型且性能强大的模型。当以模型的整个生命周期而非仅仅预训练成本来衡量计算量时,过拟合训练的模型能更好地满足计算最优性。由于监督学习的扩展法则遵循模型大小和训练数据的幂律关系,因此性能的边际效益递减出现得比计算最优情况下要早得多。为了达到合理的性能水平,这些模型需要在数万亿的 Token 上进行训练,这既昂贵又耗时。我们力求找到一种模型,它能在更低的训练成本下达到小型过拟合训练模型的性能水平。一个常用的备选方案是知识蒸馏,即由一个性能强大的教师 [lm]为一个较小的学生 [lm]模型生成训练目标。当知识蒸馏被用于 [lm]预训练时,我们称之为知识蒸馏预训练。关于为什么知识蒸馏有效,存在多种解释,从暗知识迁移(即信息蕴含在不正确类别的概率比率中),到作为一种正则化手段,或是降低学习过程中的噪声等等。尽管对于知识蒸馏有效的原因尚未达成共识,但在 Gemma 和 Gemini、Minitron 和 AFM 系列的 [lms]模型中,知识蒸馏预训练在预训练损失和下游评估方面,都产生了比监督预训练更强大的模型。然而,与此同时,@DBLP:conf/icml/Liu0ILTFXCSKLC24 报告称,知识蒸馏产生的模型比监督预训练产生的模型能力更弱。 鉴于大量计算资源正被用于 [lms]的蒸馏预训练,至关重要的是要了解如何合理分配这些资源,以尽可能地训练出性能最佳的模型。同时,我们也需要了解,在相同资源条件下,蒸馏预训练相比于监督预训练是否具有优势。为了填补这一知识空白,我们对蒸馏方法进行了广泛的对照研究,学生模型和教师模型的参数规模从 1.43 亿到 126 亿不等,训练数据量从数十亿 Token 扩展到最多 5120 亿 Token。通过这些实验,我们得出了蒸馏缩放定律,该定律将学生模型的性能估计为关于资源的函数(包括教师模型、学生模型的大小以及用于蒸馏的数据量)。该定律解决了在特定资源约束下,蒸馏方法在生成具有期望能力的模型时,是否有效的问题。我们的研究发现: 大小为 $N_S$ 的学生模型,在从大小为 $N_T$ 的教师模型蒸馏得到的 $D_S$ 个 Token 上进行蒸馏时,其交叉熵可以使用我们的蒸馏缩放定律进行预测。 教师模型的大小 $N_T$ 和教师模型训练所用的 Token 数量 $D_T$,仅通过它们所决定的教师模型交叉熵 $L_T=L_T(N_T,D_T)$ 来影响学生模型的交叉熵。 教师交叉熵对学生损失的影响遵循幂律,该幂律根据学生和教师的相对学习能力在两种行为之间转换,反映了知识蒸馏中的一种称为能力差距的现象,即更强的教师模型反而会产生更差的学生模型。我们的参数化解决了关于能力差距的悬而未决的问题,表明它是教师模型和学生模型之间学习能力(包括假设空间和优化能力)的差距,而不仅仅是它们相对大小的差距,后者只是一种特殊情况。我们的结果表明,当两个学习过程都获得足够的数据或计算资源时,知识蒸馏无法产生比监督学习更低的模型的交叉熵。然而,如果以下两个条件都成立,则知识蒸馏比监督学习更有效: 用于学生的总计算量或 Token 数量不大于我们的缩放定律给出的取决于学生模型规模的阈值。 教师模型已经存在,或者要训练的教师模型除了单一知识蒸馏之外还有其他用途。 我们希望我们提供的定律和分析将指导社区生产出更强大的模型,并降低推理成本和生命周期计算成本。 背景 在模型扩展时,预测模型性能至关重要,因为它使我们能够理解:i) 增加可用计算资源 ($C$) 的价值;以及 ii) 如何分配这些计算资源,通常是在模型参数 ($N$) 和数据 ($D$) 之间,以实现具有所需属性的模型。这些属性可能包括充分预测数据分布(以交叉熵 ($L$) 衡量),或者在感兴趣的下游任务上达到一定水平的性能。幸运的是,交叉熵 是可预测的,大量的经验和理论证据表明,$L$ 遵循参数 $N$ 和数据 $D$(以 Token 衡量)的幂律: ...

February 14, 2025 · 小茄墩