Chain of Draft

摘要 大语言模型 (LLM) 在解决复杂的推理任务方面表现出了卓越的性能,这得益于诸如思维链 (CoT) 提示等机制,该机制强调冗长、逐步的推理过程。然而,人类通常采用一种更为高效的策略:起草简洁的中间想法,仅捕捉必要的关键信息。在这项工作中,我们提出了一种新颖的范式——Chain of Draft (CoD),它受到人类认知过程的启发,旨在让大语言模型在解决任务时生成最小化但信息丰富的中间推理输出。通过减少冗余信息并专注于关键见解,CoD 在准确性方面能够与 CoT 相媲美甚至超越 CoT,同时仅消耗 7.6% 的 Token,从而显著降低了各种推理任务的成本和延迟。 介绍 OpenAI o1 和 DeepSeek R1 等推理模型的最新进展,已推动大语言模型 (LLM) 借助思维链 (CoT) 等技术,在复杂任务上达到前所未有的性能。这种范式鼓励模型将问题分解为逐步探索的过程,模仿人类的结构化推理方式。 尽管这种方法非常有效,但它在推理阶段需要消耗大量的计算资源,导致输出冗长且延迟较高。 这种冗长性与人类解决问题的方式形成了鲜明对比:我们通常依赖简洁的草稿或速记笔记来捕捉关键见解,避免不必要的详细阐述。 受此差异的启发,我们提出了一种名为 Chain of Draft (CoD) 的新型提示词策略。 该策略通过优先考虑效率和极简主义,使模型推理过程更贴近人类的思维模式。 与冗长的中间步骤不同,Chain of Draft 鼓励大语言模型在每个步骤中生成简洁且信息密集的输出。 这种方法可以在不牺牲准确性的前提下,降低延迟和计算成本,从而使大语言模型更适用于对效率有较高要求的实际应用。 草稿链背后的直觉源于人类外化思考的方式。在解决复杂任务时——无论是解决数学问题、撰写文章还是编写代码——我们通常只记录下有助于我们取得进展的关键信息。通过模仿这种行为,大语言模型可以专注于推进解决方案,避免冗长的推理过程带来的额外开销。 为了评估草稿链的有效性,我们对各种需要多步骤推理的基准测试进行了实验,包括算术推理、常识推理和符号推理。实验结果表明,与标准的思维链方法相比,这种极简方法在保持甚至提高准确性的同时,显著降低了 Token 消耗量和延迟。 本文的贡献主要体现在以下三个方面: 我们提出了一种受人类认知过程启发的简洁推理提示策略,即草稿链。 我们通过实验验证了草稿链可以在不牺牲准确性的前提下,显著降低延迟和成本。 我们探讨了草稿链对大语言模型的设计、部署和实际应用的影响。 相关工作 最近,涌现出各种推理语言模型,包括 OpenAI 的 o1、阿里巴巴的 QwQ 和 DeepSeek 的 R1,它们在解决复杂任务方面表现出显著的改进。这些模型利用结构化推理方法来增强鲁棒性和问题解决能力。“思维链”(Chain-of-Thought,CoT)推理的概念为大语言模型(LLM)中的推理建立了一种基础方法。在此基础上,出现了更复杂的拓扑结构,如树和图,使大语言模型能够解决日益复杂的问题。其他增强功能包括自洽性 CoT,它结合了验证和反思机制来增强推理可靠性;以及 ReAct,它将工具使用集成到推理过程中,允许大语言模型访问外部资源和知识。这些创新共同扩展了大语言模型在各种应用中的推理能力。 虽然结构化推理能够显著提升大语言模型解决复杂问题的能力,但同时也大幅增加了得出最终答案前的 Token 消耗。这使得结构化推理难以应用于对成本和延迟都较为敏感的场景。此外,模型常常缺乏对任务复杂度的感知,即使面对简单任务也容易过度思考,造成不必要的资源浪费。诸如流式传输等技术,旨在通过逐步提供部分输出来降低感知延迟,而非等待生成完整的输出序列。然而,这种方法无法完全缓解整体延迟或计算成本,并且通常不适用于思维链推理,因为中间步骤往往不适合直接呈现给最终用户。 @skeleton_of_thought 提出了 Skeleton-of-Thought (SoT),这是一种首先引导大语言模型 (LLM) 生成答案的骨架轮廓,然后并行解码以减少延迟的方法。 虽然 SoT 有助于降低延迟,但它并没有降低计算成本,并且仅限于可以有效并行化的问题。 @draft_n_verify 采取了不同的方法,它首先通过选择性地跳过中间层,以较低的质量但更高的速度生成草稿 Token,然后在单个前向传递中验证草稿。 我们的方法 CoD 可以与这些方法结合使用,以进一步减少延迟。 ...

March 2, 2025 · 小茄墩

GPT-4.5

GPT-4.5正式发布,作为"研究预览版"面向OpenAI Pro会员(200美元/月)及持有API密钥的开发者开放。 目前定价体系极为高昂:输入Token每百万75美元,输出Token每百万150美元。作为对比,o1模型价格为15/60美元,GPT-4o仅需2.50/10美元。 官方公布的胜率对比图表显示,GPT-4.5在不同查询类别中相对GPT-4o的胜率介于56.8%-63.2%: 在SimpleQA幻觉率测试中,该模型降至37.1%——较GPT-4o(61.8%)和o3-mini(80.3%)显著优化,但与o1(44%)相比提升有限。编码基准测试成绩与o3-mini基本持平。 OpenAI对模型前景持审慎态度: 鉴于GPT-4.5作为超大规模计算密集型模型,其使用成本⁠高于GPT-4o且不具备替代性,我们正在评估是否长期维持其API服务,以平衡现有能力支持与未来模型研发。 Andrej Karpathy指出相较GPT-4训练成本增加10倍的情况下改进幅度有限: 每个 0.5 版本号大致对应 10 倍预训练算力。回顾历史:GPT-1 几乎无法生成连贯文本,GPT-2 是个混乱的玩具,GPT-2.5 被直接跳过升级到 GPT-3(后者更加有趣),GPT-3.5 跨越了产品化门槛并引发 OpenAI 的"ChatGPT 时刻",而 GPT-4 虽感知更好但提升微妙。记得在黑客马拉松中,我们曾费力寻找能体现 GPT-4 明显优于 3.5 的具体提示案例——这类案例确实存在,但明确且具说服力的"完胜"示例却难以寻觅。这种提升如同潮水托起所有船只:措辞更富创意,提示的细微理解更精准,类比更合理,幽默感更佳,冷门领域知识更完善,幻觉频率略降。整体氛围提升约 20%。带着这种预期,我测试了已接触数日的 GPT-4.5(其预训练算力是 GPT-4 的 10 倍),却仿佛重演两年前场景:所有方面都有提升,但这种进步依旧难以具体量化。尽管如此,作为通过简单预训练更大模型就能"免费"获得能力提升的又一次定性测量,这仍令人极度兴奋。 需特别说明,GPT-4.5 仅通过预训练、监督微调和 RLHF 训练,尚未成为推理型模型。因此在需要关键推理的领域(数学、编程等),本次发布并未推进模型能力。这些领域仍需基于旧版基础模型(如 GPT-4 级别)进行强化学习训练来培养思维能力。当前该领域标杆仍是完整版 o1 系统。预计 OpenAI 将在 GPT-4.5 基础上继续强化学习训练以提升推理能力。 但我们确实预期非重度推理任务会有改进——这些任务更多涉及情商(而非智商),受限于世界知识、创造力、类比能力、综合理解力和幽默感等维度。这正是我在氛围测试中最关注的部分。 关于OpenAI GPT-4.5 System Card的部分摘录 我们正式发布OpenAI GPT-4.5的研究预览版,这是目前规模最大、知识储备最丰富的模型。该模型基于GPT-4o构建,通过扩展预训练规模,其设计比专注STEM领域推理的模型更具通用性。==我们采用新型监督技术结合监督微调(SFT)和基于人类反馈的强化学习(RLHF)等传统方法进行训练,这些方法与GPT-4o的训练策略相似==。部署前进行的全面安全评估表明,相较于现有模型,其安全风险未见显著增加。 初期测试显示,与GPT-4.5的交互更加自然。凭借更广泛的知识库、更强的用户意图对齐能力以及提升的情感智能,该模型在写作、编程和解决实际问题等任务中表现优异,且==产生幻觉的概率更低==。我们以研究预览版形式发布GPT-4.5,旨在深入理解其优势与局限。我们持续探索其能力边界,并期待用户开发出超乎预期的应用场景。 本系统说明书遵循OpenAI安全流程和准备框架,详细阐述了GPT-4.5的构建训练过程、能力评估体系与安全强化措施。 2 模型数据与训练 推进无监督学习前沿 我们通过扩展两大范式提升AI能力:==无监督学习与思维链推理==。扩展思维链推理( Scaling chain-of-thought reasoning)使模型具备"先思考后应答"的能力,可处理复杂STEM问题或逻辑难题。而无监督学习范式的扩展( scaling unsupervised learning)则能提高世界模型的准确性,降低幻觉率,增强联想思维能力。==GPT-4.5正是我们在无监督学习范式扩展道路上的最新里程碑==。 新型对齐技术促进人机协作随着模型规模扩大及其解决问题的广度复杂度提升,增强模型对人类需求与意图的理解变得至关重要。针对GPT-4.5,我们开发了新型可扩展对齐技术,==可利用小模型衍生的数据训练更强大的模型==。这些技术显著提升了GPT-4.5的可控性、细微语义理解能力和自然对话水平。内部测试反馈显示,GPT-4.5具有温润、直觉化的交互特质。面对情感类诉求时,能精准把握提供建议、化解负面情绪或单纯倾听的时机。 ...

February 28, 2025 · 小茄墩

Approximating KL Divergence: k1 k2 k3是什么

http://joschu.net/blog/kl-approx.html $$ K L[q, p]=\sum_x q(x) \log \frac{q(x)}{p(x)}=E_{x \sim q}\left[\log \frac{q(x)}{p(x)}\right] $$ 它解释了一个我在各种代码中使用过的技巧,我将 $K L[q, p]$ 近似为 $\frac{1}{2} (\log p(x) - \log q(x))^2$ 的样本平均值,对于来自 $q$ 的样本 $x$,而不是更标准的 $\log \frac{q(x)}{p(x)}$。 这篇文章将解释为什么这个表达式是 KL 的一个好的(虽然有偏差的)估计器,以及如何在保持其低方差的同时使其无偏差。 我们计算 $KL$ 的选项取决于我们对 $p$ 和 $q$ 有什么样的访问权限。 在这里,我们将假设我们可以计算任何 $x$ 的概率(或概率密度)$p(x)$ 和 $q(x)$,但我们无法解析地计算 $x$ 上的总和。 为什么我们不能解析地计算它呢? 精确计算它需要太多的计算或内存。 没有闭合形式的表达式。 我们可以通过仅存储对数概率(log-prob)来简化代码,而无需存储整个分布。如果KL散度仅用作诊断工具,这会是一个合理的选择,就像在强化学习中经常出现的情况一样。 估计总和或积分的最常见策略是使用蒙特卡洛估计。给定样本 $x_1, x_2, \dots \sim q$,我们如何构建一个好的估计? 一个好的估计量是无偏的(它具有正确的均值)并且具有低方差。我们知道一个无偏估计量(在来自 $q$ 的样本下)是 $\log \frac{q(x)}{p(x)}$。然而,它具有高方差,因为它对于一半的样本是负的,而KL散度始终是正的。让我们将这个朴素估计量称为 $k_1 = \log \frac{q(x)}{p(x)} = - \log r$,其中我们定义了比率 $r=\log \frac{p(x)}{q(x)}$,它将在后续计算中频繁出现。 ...

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

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