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 · 小茄墩

Claude 关于thinking 模式的思考

有些事情我们几乎可以立即想到,例如“今天星期几?”。而另一些事情则需要耗费更多的脑力,比如解决一个隐晦的填字游戏或调试一段复杂的代码。我们可以根据手头的任务,选择投入或多或少的认知努力。 现在,Claude 也具备了同样的灵活性。借助全新的 Claude 3.7 Sonnet,用户可以开启或关闭“扩展思考模式”,从而指示模型更深入地思考那些更为棘手的问题。开发人员甚至可以设置“思考预算”,以便精确控制 Claude 在解决特定问题上所花费的时间。“扩展思考模式”并非切换至采用不同策略的独立模型,而是允许同一模型投入更多时间与精力,以得出最终答案。 Claude 全新的扩展思考能力显著提升了其智能水平。与此同时,这也为那些对 AI 模型的工作原理、评估方法以及安全提升策略感兴趣的人士提出了诸多重要问题。在本文中,我们将分享我们所获得的一些见解。 可见的思考过程 除了赋予 Claude 更长的思考时间,进而使其能够解答更具挑战性的问题之外,我们还决定以原始形式呈现其思考过程。这具有以下几点益处: 信任。 能够观察 Claude 的思考方式,可以更容易理解和检查它的答案——并且可能帮助用户获得更优质的输出结果。 对齐。 在我们之前的一些对齐科学研究中,我们曾利用模型内心真实想法与其表面表达之间的矛盾,来识别它是否可能出现诸如欺骗等不良行为。 兴趣。 观看 Claude 思考的过程往往引人入胜。我们一些具有数学和物理背景的研究人员注意到,Claude 的思考过程与他们自己解决难题的方式极其相似:探索多种不同的角度和推理路径,并反复验证答案。 ==然而,这种可见的思考过程也存在一些不足==。首先,用户可能会发现,这种公开的思考过程相比 Claude 默认的输出,显得更加客观,缺乏个性化。这是因为我们没有对模型的思考过程进行标准的角色训练。我们希望给予 Claude 最大的自由度,允许它思考任何必要的想法以得出答案——正如人类的思考一样,Claude 有时也会产生一些不准确、具有误导性或不够成熟的想法。许多用户会认为这很有帮助;但也有一些用户可能会对此感到困扰(包括思考过程中缺乏个性的内容)。 另一个问题是所谓的“忠实性”——我们无法确定模型在思考过程中所呈现的内容是否真正反映了其内部的运作机制(例如,思考过程中显示的英语词汇可能无法完全解释模型为何会展现出某种特定行为)。 确保“忠实性”的问题是我们目前积极研究的领域之一。 目前的研究结果表明,模型在做出决策时,往往会基于它们在思考过程中_没有_明确提及的因素。 这意味着我们不能仅仅依靠监控当前模型的思考过程,就对其安全性做出有力的判断。 此外,这还带来了一些安全隐患。 恶意行为者可能会利用这种可见的思考过程,来制定更有效的策略,从而绕过 Claude 的安全机制。 更进一步地推测,如果模型在训练过程中得知其内部思考过程会被公开展示,它们可能会被激励去采用不同的、更难以预测的思考方式,甚至有可能会故意隐藏某些想法。 对于未来更强大、能力更强的 Claude 版本而言,这些潜在的安全问题将尤为突出——因为一旦这些版本出现偏差,将会带来更大的风险。 我们将会仔细权衡在未来版本中公开思考过程的利弊。 目前,Claude 3.7 Sonnet 中所展示的思考过程应被视为一项研究预览。 Claude 思考的新测试 Claude 作为 AI 智能体 Claude 3.7 Sonnet 受益于我们称之为“行动扩展”的能力——一种改进的能力,允许它迭代地调用函数,响应环境变化,并持续完成开放式任务。 这种任务的一个例子是使用计算机:Claude 可以发出虚拟鼠标点击和键盘按键,代表用户解决任务。 与其前身相比,Claude 3.7 Sonnet 可以为计算机使用任务分配更多的轮次——以及更多的时间和计算能力——并且通常能获得更好的结果。 我们可以看到 Claude 3.7 Sonnet 在 OSWorld 上的进步,OSWorld 是一项评估多模态 AI 智能体能力的评估。 Claude 3.7 Sonnet 的起点略好一些,但随着模型不断与虚拟计算机交互,性能差异会随着时间的推移而扩大。 ...

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 · 小茄墩

月之暗面新作 MoBA: 用于长文本大语言模型的块注意力混合模型

摘要 扩展有效上下文长度对于推动大语言模型 (LLM) 向通用人工智能 (AGI) 发展至关重要。然而,传统注意力机制中固有的计算复杂度呈二次方增长,带来了令人望而却步的开销。现有的方法要么强加了强偏置结构,例如特定于任务的 sink 或窗口注意力,这些方法通常是任务特定的,要么彻底地将注意力机制修改为线性近似,但这些方法在复杂推理任务中的性能仍未得到充分探索。 在这项工作中,我们提出了一种遵循“更少结构”原则的解决方案,该方案允许模型自主决定关注的位置,而无需引入预定义的偏见。我们引入了块注意力混合(MoBA),这是一种创新的方法,它将专家混合(MoE)的原则应用于注意力机制。 这种新颖的架构在长文本任务中表现出卓越的性能,同时提供了一个关键优势:能够在完整注意力和稀疏注意力之间无缝切换,从而提高效率,且不会有损性能。MoBA 已经部署用于支持 Kimi 的长文本请求,并展示了在大语言模型(LLM)高效注意力计算方面的显著进展。 1 引言 现有的方法通常利用预定义的结构约束来利用这种稀疏性,例如基于汇聚节点的方法 (G. Xiao et al. 2023) 或滑动窗口注意力机制 (Beltagy et al. 2020)。虽然这些方法可能有效,但它们往往是高度特定于任务的,可能会阻碍模型的整体泛化能力。 替代方法,例如稀疏注意力机制,以 Quest (Tang et al. 2024)、Minference (H. Jiang et al. 2024) 和 Re-trievalAttention (Di Liu et al. 2024) 为例,在推理时选择 Token 的子集。 尽管这些方法可以减少长序列的计算量,但它们并没有实质性地减轻长上下文模型的高昂训练成本,因此难以有效地将大语言模型扩展到数百万 Token 的上下文。 最近,另一种有希望的替代方案以线性注意力模型的形式出现,例如 Mamba (Dao and Gu 2024)、RKWV (Peng, Alcalá, et al. 2023)、Peng, Goldstein, et al. 2024 和 ReNet (Sun et al. 2023)。 这些方法用线性近似代替传统的基于 softmax 的注意力,从而减少了长序列处理的计算开销。 然而,由于线性和传统注意力之间存在显着差异,因此调整现有的 Transformer 模型通常会产生高昂的转换成本 (Mercat et al. 2024, J. Wang et al. 2024, Bick et al. 2025, M. Zhang et al. 2024) 或需要从头开始训练全新的模型 (A. Li et al. 2025)。 更重要的是,它们在复杂推理任务中的有效性证据仍然有限。 ...

February 19, 2025 · 小茄墩

DeepSeek新作原生稀疏注意力

摘要 长上下文建模对于下一代语言模型至关重要,然而标准注意力机制的高计算成本带来了显著的计算挑战。稀疏注意力为提高效率同时保持模型能力提供了有前景的方向。我们提出了NSA(可原生训练的稀疏注意力机制),通过算法创新与硬件特性对齐的优化相结合,实现了高效的长上下文建模。NSA采用动态分层稀疏策略,结合粗粒度Token压缩与细粒度Token选择,在保持全局上下文感知能力的同时确保局部精度。该方法通过两大关键创新推进稀疏注意力设计:(1)通过算术强度平衡的算法设计实现显著加速,并针对现代硬件进行实现优化;(2)支持端到端训练,在保持模型性能的前提下减少预训练计算量。如图1所示,实验表明采用NSA预训练的模型在通用基准测试、长上下文任务和基于指令的推理中均保持或超越全注意力模型。与此同时,NSA在处理64k长度序列时,在解码、前向传播和后向传播阶段相较全注意力机制均实现了显著加速,有效验证了该方案在整个模型生命周期中的效率优势。 介绍 一种实现高效长文本建模的自然方法是利用 softmax 注意力的固有稀疏性。通过选择性地计算关键的查询-键对,可以在保持性能的同时显著降低计算开销。最近的进展通过各种策略展示了这种潜力,包括:KV-cache 驱逐方法、分块 KV-cache 选择方法,以及基于采样、聚类或哈希的选择方法。尽管这些策略很有前景,但现有的稀疏注意力方法在实际部署中往往表现不足。许多方法未能实现与其理论收益相当的加速;此外,大多数方法主要关注推理阶段,缺乏有效的训练时支持来充分利用注意力的稀疏模式,从而无法充分挖掘注意力的稀疏模式。为了解决这些局限性,有效部署稀疏注意力必须应对两个关键挑战:(1)硬件对齐的推理加速:将理论计算量的减少转化为实际的速度提升,需要在预填充和解码阶段进行硬件友好的算法设计,以缓解内存访问和硬件调度瓶颈;(2)训练感知的算法设计:通过可训练的算子实现端到端计算,以降低训练成本,同时保持模型性能。这些要求对于实际应用至关重要,以实现快速的长文本推理或训练。综合考虑这两个方面,现有方法仍然存在明显的差距。 为了实现更有效和高效的稀疏注意力机制,我们提出了 NSA,一种原生可训练的稀疏注意力架构,它集成了分层 Token 建模。如图2 所示,NSA 通过将键 (key) 和值 (value) 组织成时间块,并通过三个注意力路径处理它们来减少每个查询的计算量:压缩的粗粒度 Token、选择性保留的细粒度 Token 和用于局部上下文信息的滑动窗口。然后,我们实现专门的内核以最大限度地提高其实际效率。NSA 引入了两个与上述关键要求相对应的核心创新:(1)硬件对齐系统:优化块状稀疏注意力,以充分利用 Tensor Core 并优化内存访问,确保平衡的算术强度。(2)训练感知设计:通过高效的算法和反向算子实现稳定的端到端训练。这种优化使 NSA 能够支持高效部署和端到端训练。我们通过对真实世界语言语料库的综合实验来评估 NSA。在使用 260B Token 的 27B 参数 Transformer 主干上进行预训练后,我们评估了 NSA 在通用语言评估、长上下文评估和思维链推理评估中的性能。我们进一步比较了 A100 GPU 上内核速度与优化的 Triton 实现。实验结果表明,NSA 实现了与完整注意力基线相当或更优越的性能,同时优于现有的稀疏注意力方法。此外,与完整注意力相比,NSA 在解码、前向和后向阶段都提供了显著的加速,并且加速比随着序列长度的增加而增加。这些结果验证了我们的分层稀疏注意力设计有效地平衡了模型能力和计算效率。 重新思考稀疏注意力方法 大多数方法主要在推理过程中应用稀疏性,同时保留预训练的完整注意力骨干网络,这可能会引入架构偏差,从而限制它们充分利用稀疏注意力的优势。在介绍我们原生的稀疏架构之前,我们通过两个关键视角系统地分析这些局限性。 高效推理的错觉 尽管在注意力计算中实现了稀疏性,但许多方法未能实现相应的推理延迟降低,这主要是由于两个挑战:阶段性稀疏。诸如 H2O 之类的方法在自回归解码期间应用稀疏性,同时在预填充期间需要计算密集型预处理(例如,注意力图计算、索引构建)。相比之下,像 MInference 这样的方法仅专注于预填充稀疏性。这些方法未能实现跨所有推理阶段的加速,因为至少一个阶段的计算成本与完整注意力机制相当。这种阶段专业化降低了这些方法在以预填充为主的工作负载(如书籍摘要和代码补全)或以解码为主的工作负载(如长链式思维推理)中的加速能力。 与高级注意力架构的不兼容。 一些稀疏注意力方法无法很好地适配现代高效解码架构,例如多查询注意力(MQA)和分组查询注意力(GQA)。这些架构通过在多个查询头之间共享 KV,显著降低了解码过程中的内存访问瓶颈。 例如,像 Quest 这样的方法中,每个注意力头独立地选择其 KV-cache 子集。 虽然这种方法在多头注意力(MHA)模型中表现出一致的计算稀疏性和内存访问稀疏性,但在基于 GQA 等架构的模型中,情况则有所不同。在 GQA 架构中,KV-cache 的内存访问量取决于同一 GQA 组内所有查询头选择的并集。 这种架构特性意味着,虽然这些方法可以减少计算操作,但所需的 KV-cache 内存访问量仍然相对较高。 这种限制迫使我们面临一个关键选择:虽然一些稀疏注意力方法减少了计算量,但它们分散的内存访问模式与高级架构中高效的内存访问设计相冲突。 这些限制的出现是因为许多现有的稀疏注意力方法侧重于 KV-cache 减少或理论计算减少,但难以在高级框架或后端中实现显著的延迟降低。 这促使我们开发算法,将先进的架构和硬件高效的实现相结合,从而充分利用稀疏性来提高模型效率。 ...

February 18, 2025 · 小茄墩

MOE是一个免费的嵌入模型

ICLR2025 oral 摘要 虽然大语言模型 (LLM) 在生成任务中表现出色,但如果未应用进一步的representation finetuning,其仅解码器架构通常会限制它们作为嵌入模型的潜力。这是否与它们作为通用模型的声明相矛盾?为了回答这个问题,我们仔细研究了混合专家模型 (MoE) LLM。我们的研究表明,MoE LLM 中的专家路由器可以作为开箱即用的嵌入模型,在各种以嵌入为中心的任务中表现出良好的性能,而无需任何微调。此外,我们广泛的分析表明,MoE 路由权重 (RW) 与 LLM 的隐藏状态 (HS) 互补,而隐藏状态是一种广泛使用的嵌入。与 HS 相比,我们发现 RW 对提示词的选择更具鲁棒性,并且侧重于高级语义。受此分析的启发,我们提出了 [MoEE],它结合了 RW 和 HS,与单独使用两者相比,实现了更好的性能。我们对它们的组合和提示策略的探索揭示了一些新的见解,例如,RW 和 HS 相似度的加权和优于它们连接后的相似度。我们的实验在来自大规模文本嵌入基准 (MTEB) 的 6 个嵌入任务和 20 个数据集上进行。结果表明,[MoEE] 在不进行进一步微调的情况下,为基于 LLM 的嵌入带来了显着改进。 介绍 混合专家模型 (MoE) 作为一种多功能的架构,最初在 1990 年代开发,可以通过将任务分配给专门的专家来提高模型泛化能力并降低推理成本。 随着时间的推移,MoE 在自然语言处理和计算机视觉等领域越来越突出,尤其是在大语言模型 (LLM) 的开发中越来越受到关注。 MoE 的一个关键组成部分是动态路由器,它可以智能地将每个输入分配给最相关的专家。 这使得 MoE 能够根据每个输入的独特特征来定制其计算,从而优化效率和准确性。 然而,最近的大多数 LLM 和 MoE LLM 都是建立在仅解码器架构之上的,该架构经过训练用于自回归的下一个 Token 预测。 虽然在生成任务方面表现出色,但它们的最终或中间隐藏状态 (HS) 并非旨在捕获输入 Token 的关键特征并涵盖其所有信息。 相反,HS 可能会偏向于下一个输出 Token 的信息。 尽管提取最后一个 Token 的隐藏状态 (HS) 作为嵌入是一种常见的经验做法,但它甚至可能比专门为嵌入任务训练的较小编码器模型表现得更差。 以分类为例,语义略有不同的输入可能与相同的标签相关联,因此旨在预测标签的最后一个 HS 可能会忽略输入差异。 尽管专门针对表征学习的额外微调可以大大增强 LLM 作为嵌入模型的能力,但考虑到嵌入任务的广泛应用,这提出了预训练的 LLM 是否可以被称为通用人工智能的问题。 ...

February 15, 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 · 小茄墩

On the Emergence of Thinking in LLMs I: Searching for the Right Intuition

摘要 人工智能的最新进展,例如 OpenAI 的新型 o 模型、谷歌的 Gemini Thinking 模型和 Deepseek R1,正在将大语言模型 (LLM) 转化为大型推理模型 (LRM)。与大语言模型不同,大型推理模型在推理过程中执行思考或推理,需要额外的时间和计算来产生更高质量的输出。这项工作旨在发现训练大型推理模型背后的算法框架。基于自洽性、过程奖励建模、AlphaZero 的方法表明,==推理是一种引导搜索的形式==。基于这一原则,我们提出以下问题:==在大型语言模型的背景下,实现搜索的最简单和最具可扩展性的方法是什么?== 为了回答这些问题,我们提出了一个名为“通过自我博弈进行强化学习”(RLSP)的后训练框架。RLSP 涉及三个步骤:(1)使用人类或合成的推理过程演示进行监督微调;(2)使用探索奖励信号来鼓励多样化和高效的推理行为;(3)使用结果验证器进行强化学习训练,以确保正确性,同时防止奖励黑客行为。我们的主要创新是在 PPO 训练期间解耦探索和正确性信号,仔细平衡它们以提高性能和效率。 我们对数学领域的 RLSP 框架进行了实证研究,结果表明,使用 RLSP 框架训练的模型表现出改进的推理能力。在 Llama-3.1-8B-Instruct 模型上,RLSP 框架可以将 MATH-500 测试集中的性能提高 23%;在 AIME 2024 数学问题上,Qwen2.5-32B-Instruct 由于 RLSP 技术提高了 10%。然而,这项工作更重要的发现是,使用 RLSP 技术训练的模型,即使使用最简单的探索奖励(鼓励模型采取更多中间步骤),也表现出几种涌现行为,例如回溯、探索想法和验证。这些发现表明,当适当扩展时,RLSP 框架可能足以使大语言模型 (LLM) 涌现出复杂的推理能力。 最后,我们提出了一个理论,解释为什么 RLSP 搜索策略比文献中先前考虑的方法更适合大语言模型,这受到最近一项引人注目的结果的启发,该结果表明 CoT 可证明地 提高了大语言模型的计算能力,从而提高了推理能力,并且这些能力随着 CoT 中的步骤数量而增长。 参考文献: 介绍 随着 OpenAI 的 o 系列模型、Google 的 Gemini Thinking 模型以及 Deepseek R1 的发布,大语言模型 (LLM) 正在迅速演变为思考机器,现在被称为大型推理模型 (LRM)。==LLM 和 LRM 之间的关键技术区别在于 LRM 在推理过程中进行思考的能力==,我们将其定义为在(推理)过程中花费更多时间和计算资源,以期为给定的输入产生更高质量的输出,这对于所有能够进行推理的人工和生物系统来说,都是一个合理的思考过程定义。 ...

February 13, 2025 · 小茄墩

LLM中的深度诅咒现象

我们都认识到 DeepSeek模型的优势,但您是否知道,其近一半的图层的贡献低于预期? 我们可以移除近一半的后置图层,而对性能的影响微乎其微,对于大型模型而言影响甚至更大。这意味着浪费了大量用于训练 LLM 的资源。 在本文中,我们将介绍深度诅咒(Curse of Depth)这一概念,它强调、解释并解决了最近在现代 LLM 中观察到的近一半层的有效性低于预期的问题。 摘要 我们提出了一种新颖的深度神经网络训练方法,该方法结合了监督学习和无监督学习的优势。我们的方法,我们称之为“半监督对比学习”(SSCL),利用带标签的数据学习判别性特征,同时利用未标签的数据来提高模型的鲁棒性和泛化能力。SSCL 基于对比学习的原则,即训练模型将相似样本的表示聚集在一起,同时将不相似样本的表示推开。然而,与传统的对比学习方法不同,SSCL 通过使用带标签数据的标签来指导对比学习过程,从而整合了监督信息。具体来说,我们引入了一种新的损失函数,该函数将监督对比损失与无监督对比损失相结合。监督对比损失鼓励模型学习相对于带标签类别具有判别性的特征,而无监督对比损失鼓励模型学习对未标签数据中的变化具有鲁棒性的特征。我们在各种图像分类任务上评估了 SSCL,结果表明,尤其是在带标签数据的数量有限时,它优于监督学习和无监督学习方法。此外,我们证明了 SSCL 可用于学习对对抗攻击不太敏感的鲁棒特征。 在本文中,我们介绍了深度诅咒,这一概念旨在强调、解释并解决现代大语言模型 (LLM) 中最近观察到的现象:近一半的层其效果不如预期。我们首先确认了这种现象在最流行的 LLM 家族中广泛存在,例如 Llama、Mistral、DeepSeek 和 Qwen。我们的分析,从理论和经验两方面出发,都表明 LLM 中深层效果不佳的根本原因是 Pre-Layer Normalization (Pre-LN,预层归一化) 的广泛使用。虽然 Pre-LN 能够稳定 Transformer 大语言模型的训练过程,但其输出方差会随着模型深度的增加呈指数级增长,这导致深层 Transformer 模块的导数趋近于单位矩阵,因此几乎无法对训练做出有效贡献。为了解决这个训练难题,我们提出了 LayerNorm Scaling(层归一化缩放),它通过层归一化深度的平方根倒数来缩放输出方差。这种简单的修改能够有效缓解更深层 Transformer 层的输出方差爆炸问题,从而提高它们的贡献。我们的实验结果涵盖了从 1.3 亿到 10 亿参数规模的模型,结果表明,与 Pre-LN 相比,LayerNorm Scaling 能够显著提升 LLM 预训练的性能。此外,这种性能提升也能无缝延续到监督微调阶段。所有这些增益都可以归因于 LayerNorm Scaling 使得更深层能够在训练过程中更有效地发挥作用。我们的代码已在 LayerNorm-Scaling 开源。 介绍 最近的研究表明,大语言模型(LLM)中较深的层(Transformer blocks)往往不如较早的层有效。一方面,这个有趣的观察结果为大语言模型压缩提供了一个有效的指标。例如,我们可以更大幅度地压缩较深的层,以实现更高的压缩率。更激进的做法是,为了获得更经济实惠的大语言模型,可以完全剪枝整个深层,而不会影响性能。另一方面,拥有许多无效层是不可取的,因为大语言模型在训练时极其耗费资源,通常需要数千个GPU训练数月,更不用说用于数据整理和管理的劳动力。理想情况下,我们希望模型中的所有层都经过良好训练,层与层之间的特征具有足够的差异性,以最大限度地提高资源的利用率。无效层的存在表明,当前的大语言模型范式必然存在问题。解决这些局限性是社区的迫切需求,以避免浪费宝贵的资源,因为新版本的大语言模型通常沿用之前的计算范式进行训练,这会导致无效层的产生。 为了立即引起社区的关注,我们引入了深度诅咒(CoD)的概念,以系统地呈现各种大语言模型(LLM)家族中无效深层现象,从而识别其背后的根本原因,并通过提出层归一化缩放(LayerNorm Scaling)来纠正它。我们首先陈述下面的深度诅咒。 深度诅咒。 ==深度诅咒指的是观察到的现象,即与早期层相比,LLM中更深层对学习和表示的贡献明显更少。这些更深层通常表现出对模型剪枝和扰动攻击的显着鲁棒性,这意味着它们无法执行有意义的转换。这种行为阻止了这些层有效地促进训练和表示学习,从而导致资源利用率低。== CoD 的经验证据。@yin2023outlier 发现,与较浅的层相比,大语言模型的较深层可以容忍显著更高程度的剪枝,从而实现高稀疏性。类似地,@gromov2024unreasonable 和 @men2024shortgpt 证明,移除早期层会导致模型性能急剧下降,而移除深层则不会。@lad2024remarkable 表明,GPT-2 和 Pythia 的中间层和深层对诸如层交换和层丢弃之类的扰动表现出显著的鲁棒性。最近,@li2024owlore 强调,早期层包含更多的异常值,因此对于微调更为关键。虽然这些研究有效地突出了大语言模型中深层的局限性,但它们未能确定此问题的根本原因或提出可行的解决方案来解决它。为了证明深度诅咒在流行的 LLM 系列中普遍存在,我们对各种模型(包括 LLaMA2-7/13B、Mistral-7B、DeepSeek-7B 和 Qwen-7B)进行了层剪枝实验。我们通过一次剪除每个模型的整个层,并直接在 MMLU 上评估生成的剪枝模型,来衡量大规模多任务语言理解 (MMLU) 基准上的性能下降,如图1所示,无需进行任何微调。 ...

February 12, 2025 · 小茄墩