news 2026/5/16 20:39:04

荷兰Nebius团队:给AI“起草员“瘦身,大模型推理速度提升5倍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
荷兰Nebius团队:给AI“起草员“瘦身,大模型推理速度提升5倍

这项由荷兰Nebius公司研究团队完成的工作,以预印本形式发布于2026年5月,论文编号为arXiv:2605.10453,感兴趣的读者可通过该编号查阅完整原文。

每当你和ChatGPT或其他大语言模型对话时,你有没有想过,那些文字是一个字一个字"吐"出来的?这不是设计上的噱头,而是这类模型工作的本质——它必须一个词、一个词地预测下一步该说什么。这种"逐字生成"的方式虽然保证了语言的连贯性,但也带来了一个让工程师头疼的现实问题:速度太慢,成本太高。

为了解决这个问题,研究人员早已发明了一种叫做"投机解码"(Speculative Decoding)的加速技巧。用一个更直观的说法来理解它:大模型就像一位极其严谨的主编,每次只亲自写一个字,审查再发出。于是工程师们给这位主编配了一个"实习生"——一个小得多、快得多的模型,让实习生先大胆地一口气草拟出好几个字,主编只需要快速扫一眼,确认没问题就全部通过,有问题就从出错的地方开始重写。这样一来,主编的精力被大大节省,整体出稿速度显著提升。

然而,Nebius团队在仔细拆解这位"实习生"的工作流程时,发现了一个被忽视已久的效率黑洞。实习生在草拟每一个字之前,都要做一件事:把自己内部的"思考结果"翻译成对整个词汇表中所有词语的打分——这个词汇表在现代大模型中动辄包含十万个以上的词语。这个翻译步骤,就是所谓的"LM-Head(语言模型头部)",而它消耗的计算时间,竟然占到了实习生总工作时间的45%到60%。

换句话说,实习生有将近一半的时间,都在做这个"给十万个词打分"的繁琐工作,而大多数时候,最终被选中的词只有寥寥几个。这不是很浪费吗?

研究团队提出的解决方案叫做**SlimSpec**,核心思路是:与其让实习生用"全尺寸的脑子"去给十万个词打分,不如先把实习生的"思考结果"压缩成一个更精简的摘要,再用这个摘要去打分。十万个词的候选池一个都不少,但完成这件事所需要的计算量,却大幅缩减了。

经过实验验证,SlimSpec在多个主流大模型上将LM-Head的计算时间压缩到了原来的五分之一左右,同时几乎没有损失推理质量,端到端的生成速度比此前最优的竞争方案还要快出8%到9%。这篇文章就来详细讲讲,这个"给实习生瘦身"的方案,究竟是怎么做到的。

一、理解"投机解码":主编与实习生的分工艺术

在深入了解SlimSpec之前,需要先把"投机解码"这套工作机制讲清楚,因为它是整个故事的舞台。

回到主编与实习生的比喻。主编(目标模型,即我们真正想用的大模型)能力极强,但每次出手都要消耗大量时间。实习生(草稿模型,Drafter)虽然水平差一些,但速度很快。投机解码的流程是这样的:实习生先飞速草拟出一串候选词,比如六个,然后主编一次性验证这六个词。如果实习生猜对了前四个,主编就接受这四个,再加上自己生成的第五个词作为奖励,下一轮从第五个词之后继续。

用一个公式来衡量这套机制的效率:平均每轮接受多少个词,这个数字叫做"平均接受长度",记为τ(读作"tau")。τ越大,说明实习生猜得越准,系统整体速度越快。

整个系统的吞吐量(每秒能生成多少词)可以用一个简单的比值来描述:用τ除以完成一轮投机所需的总时间。总时间由三部分组成:主编验证的时间、实习生起草的时间,以及各种调度、同步的系统开销。Nebius团队的关键发现是,实习生起草的时间中,将近一半都被LM-Head这个"打分环节"所占据,如图2所示——对于Llama-3.1-8B模型,LM-Head占实习生总时间的46%;对于GPT-OSS-20B,这个比例高达58%;对于Qwen3-30B-A3B,也有51%。

这意味着,如果能大幅压缩LM-Head的时间,整体速度就会显著提升。这就是SlimSpec的切入点。

二、现有的"瘦身"方案为什么不够好

在Nebius团队提出SlimSpec之前,研究界已经有一些压缩LM-Head计算量的思路,它们大致可以分为两类,但都有各自的局限。

第一类方案叫做"静态词汇裁剪",代表作有FR-Spec和VocabTrim。这类方案的逻辑是:既然候选词汇表有十万个,但实际上常用的词只有几万个,那就直接裁掉那些几乎从不出现的词,让实习生只在一个缩减版的词汇表上打分。FR-Spec通过分析通用文本语料的词频来决定保留哪些词,VocabTrim则通过分析目标模型自己的生成样本来做决定。后来的BCL方案则将"裁多少"变成了一道可以数学优化的问题。

这类方案的问题在于,被裁掉的词就像是从实习生的候选名单上彻底删除了一样——无论主编多么想选那个词,实习生都永远不会提议它。这就给"接受率"设置了一个天花板:如果被裁掉的词恰好是主编想要的,这一轮草稿直接作废。在某些需要生成罕见词汇的任务中,这个天花板会非常低。更微妙的问题是,在训练实习生时,如果用的是一种叫KL散度的损失函数(可以理解为衡量实习生打分和主编打分有多像的指标),裁剪词汇会让训练时的"参考答案"和推理时的"评判标准"产生错位,导致实习生变得过度自信,反而降低接受率。

第二类方案叫做"动态词汇选择",代表作有CORAL、DynaSpec和SpecVocab。这类方案更聪明:不预先裁剪,而是在每次生成时,根据当前上下文动态地挑选最可能被用到的那几千个词。SpecVocab用了一个低秩的"路由器"来预测哪些词值得考虑,然后只在这些词上打分。这种方法确实比静态裁剪更灵活,但它引入了新的麻烦:每次生成时都需要额外做一步"挑词"的操作,涉及全局排序、部分排序、不规则索引、动态抓取权重矩阵的某个子集……这些操作在GPU上并不高效,因为GPU最擅长的是"密集矩阵乘法"这类规整的计算,而非这种散乱的随机访问。所以实际测量下来,SpecVocab虽然减少了打分的词数,但LM-Head的时间只降到了原来的46%左右,节省效果有限。

Nebius团队的判断是:这两类方案都在"从词汇表的出口端做文章",而他们想从另一个方向入手——压缩实习生在打分之前的那个内部表示。

三、SlimSpec的核心思路:给内部表示"瘦身"

正式介绍SlimSpec之前,先搞清楚LM-Head究竟在做什么。

实习生(草稿模型)在处理完当前上下文之后,会在内部产生一个"隐藏状态"向量,可以把它理解成实习生对"接下来应该说什么"的一个综合性思考结果。这个向量的维度等于模型的隐藏层宽度,记为d。LM-Head的工作就是把这个d维的向量,通过一个巨大的矩阵乘法,投影成一个V维的打分向量(V是词汇表大小,约十万)。这个矩阵的大小是V×d,每次投影需要的计算量是O(V×d)。

SlimSpec做的事情,用一个比喻来说,就是在这道投影之前先把"思考结果"压缩一下。具体做法是:用两个小矩阵的乘积来代替原来那一个大矩阵。第一步,用一个d×r的矩阵(记为W_down)把d维的隐藏状态"压缩"成一个r维的更小向量,其中r远小于d;第二步,再用一个V×r的矩阵(记为W_up)把这个r维的小向量"展开"成V维的打分向量。

计算量从原来的O(V×d)变成了O(r×d + V×r)。由于V远大于d(十万远大于几千),这个新的计算量近似等于O(V×r),大约是原来的r/d倍。如果取r=d/8,计算量就降到了原来的八分之一左右——这正好解释了为什么实验中LM-Head时间能压缩到原来的约五分之一(除了纯计算量,还有内存访问等实际因素的影响)。

关键在于,这个方案全程保留了V个词的打分,词汇表一个都没减少。被压缩的只是实习生的"思考摘要"从d维变成了r维,而从这个摘要到全部词汇的打分这一步,计算量就小得多了。整个过程是两次普通的密集矩阵乘法,GPU最擅长处理这种计算。

SlimSpec唯一的超参数(需要人工设定的参数)就是这个秩r,论文建议取d/8作为默认值,在各模型上都表现最佳。对比之下,CORAL有三个需要调整的超参数,DynaSpec有四个,SpecVocab有两个——SlimSpec的配置之简单,是它的重要优势之一。

此外,SlimSpec在训练和推理时都不需要任何特殊改动。它只是把原来的一个大矩阵换成了两个小矩阵,训练时照常用KL散度损失,推理时照常做密集矩阵乘法,完全没有词汇裁剪带来的那些理论缺陷。

四、为什么压缩内部表示比裁剪词汇更"干净"

这里值得多停留一会儿,因为SlimSpec的这个设计选择背后有一些很有意思的理论逻辑。

首先是关于"接受率天花板"的问题。当实习生只有一个裁剪过的词汇表时,那些被裁掉的词的生成概率被硬性设为零。用数学语言说,实习生的草稿分布q在裁剪词汇之外的所有词上都是零。而接受率的计算方式是:对每一个词,取min(主编概率, 实习生概率)然后求和。只要某个词在实习生那边概率为零,这个词对接受率的贡献就是零。所以裁剪词汇方案的接受率,无论实习生训练得多好,都被上界限制在"主编在裁剪词汇范围内的概率总和",这个上界是硬性的,无法突破。

SlimSpec不存在这个问题。它只是改变了实习生预测每个词的方式,但每个词的预测概率都可以是任意正值,不存在被强制设为零的情况。

其次是"训练和推理的错位"问题。用裁剪词汇来训练实习生时,为了让KL散度可以计算(KL散度要求分母不为零),研究者们不得不把主编的目标分布也裁剪成只在保留词上有概率。但推理时,主编用的是完整的概率分布来做验证。这种训练和推理时"参考标准不一致"的情况,会让实习生对保留词产生过度自信,实际接受时反而吃亏。SlimSpec完全不存在这个问题,训练时和推理时用的是同一套完整词汇表,标准完全统一。

五、一个衡量"值不值得"的数学框架

Nebius团队不仅提出了方案,还建立了一套分析框架来回答一个更根本的问题:把LM-Head做得更快,一定会让整体更快吗?

答案是不一定。这里面有一个权衡关系值得仔细理解。

设想一下:整个投机解码的时间由两部分组成,LM-Head的时间和"其他所有时间"(包括主编验证时间、实习生骨干网络时间、系统调度时间等)。定义κ为"LM-Head时间"除以"其他所有时间"的比值。κ越大,说明LM-Head越是瓶颈;κ越小,说明LM-Head在整体中占比越低。

对于一个改造过LM-Head的方案,用ν表示其LM-Head时间与原始方案的比值(越小越好),用ρ_τ表示其平均接受长度与原始方案的比值(越接近1越好)。那么,改造方案相对于原始方案的端到端加速比是:ρ_τ × (1+κ)/(1+ν×κ)。

这个公式揭示了一个重要规律:要想让整体加速,不仅需要ν足够小(LM-Head够快),还需要ρ_τ足够大(接受率不能损失太多)。具体来说,接受率至少要满足一个由κ决定的下界:ρ_τ > (1+ν×κ)/(1+κ)。

κ本身不是一个固定的数,它随部署环境的变化而变化。当目标模型越大(验证时间越长),κ越小,LM-Head的改进对整体的影响就越弱。当词汇表越大、实习生隐藏维度越小时,κ越大,LM-Head加速的收益越显著。批次大小(同时处理多少个用户的请求)也会影响κ,因为大批次时各个组件的计算模式都会改变。甚至采样温度也有影响:高温采样需要在整个词汇表上做softmax,这增加了"其他时间"的占比,从而降低了κ。

这个框架非常实用,因为它告诉工程师们:在决定用哪种LM-Head加速方案之前,先算一算自己的部署场景下κ大概是多少,再对照不同方案在(ν, ρ_τ)平面上的位置,就能判断哪种方案真正划算。

六、实验结果:在"接受率-成本"平面上的全面胜出

为了验证理论,Nebius团队在三个目标模型上做了全面测试,分别是Llama-3.1-8B-Instruct、GPT-OSS-20B和Qwen3-30B-A3B,覆盖了三个基准测试集(MT-Bench指令跟随、HumanEval代码生成、GSM8K数学推理),在贪心解码(温度=0)和随机采样(温度=1)两种模式下,测试了单请求(批次大小=1)和批量服务(批次大小=64)两种场景。实验环境是vLLM 0.17.1框架加NVIDIA H200 GPU。

所有方案都以EAGLE-3作为基础的草稿模型骨干架构,用66万条指令数据训练,唯一的差异就是LM-Head的设计。这样的控制变量设计,让结果的对比极为干净。

从图3的"接受率-成本"平面图来看,各方案的表现一目了然。以Llama-3.1-8B为例,原始全词汇方案(Full Vocab)的位置在右上角:LM-Head成本最高(ν=1.0),接受率当然也是基准(ρ_τ=1.0)。

静态裁剪方案沿着"左下方向"移动:把词汇从128K裁到64K,LM-Head成本降到约0.58,但接受率也跌到约0.99;裁到32K,成本降到0.33,接受率降到0.96;裁到16K,成本降到0.20,但接受率也跌到0.90,已经进入"得不偿失"的区间。FR-Spec因为用通用语料统计词频,与模型实际生成的词分布不匹配,在同等词汇规模下表现比VocabTrim更差。BCL选择的截断规模太激进,接受率的损失超过了成本节省带来的收益,端到端加速比反而低于全词汇基准。

动态裁剪方案SpecVocab的表现明显优于静态裁剪:用r=d/8的路由器,能在保持接受率约等于1(ρ_τ≈1.01)的同时,把LM-Head成本降到约0.46。但由于路由和动态抓取权重的额外开销,实际节省不如理论上的纯计算量分析所预期的那么大。

SlimSpec在这张图上占据了最左侧的位置:用r=d/8,LM-Head成本只有约0.21(约原来的五分之一),而接受率维持在ρ_τ=0.99,几乎没有损失。这个位置对应的端到端加速曲线(κ=0.25的等加速线)是所有方案中最高的。

从具体数字来看,以表2中温度=0的结果为例,在Llama-3.1-8B上,SlimSpec(r=d/8)在单请求场景下平均加速比达到2.94倍(相对于无投机解码的基准),而SpecVocab是2.86倍,VocabTrim-T是2.70倍,提升幅度超过8.5%。在批量服务场景下,SlimSpec达到1.52倍,SpecVocab是1.46倍,同样领先。

对于GPT-OSS-20B,在批量服务场景下,SlimSpec比SpecVocab高出8.9个百分点。

Qwen3-30B-A3B是个有趣的例外。由于这个模型是混合专家架构(MoE),其LM-Head在总延迟中的占比相对较低(κ较小),所以各方案之间的差异都不大,SlimSpec的优势收窄到1-2%左右。这完全符合理论框架的预测:当κ小时,LM-Head的改进对端到端的影响自然有限。

从平均接受长度τ的数据来看,以Llama-3.1-8B为例,Full Vocab的τ约为4.42,SlimSpec r=d/8的τ约为4.37,差异不足0.5%;而VocabTrim 32K的τ降到了4.25,FR-Spec 32K更是跌到3.86。这直观地说明了SlimSpec在"不损伤质量"方面的优势。

还有一个细节值得关注:在温度=1的随机采样场景下,SlimSpec相对于静态裁剪方案的优势更加明显。原因在于高温采样时主编验证的计算开销更大(需要在完整词汇表上做softmax采样),这降低了κ,使得静态裁剪方案"词汇受限"的硬天花板问题更加突出,而SlimSpec没有这个问题。

七、研究的边界与未来的方向

研究团队对自己工作的局限性做了诚实的描述,这值得一提。

首先,所有实验都基于EAGLE-3这一种草稿模型框架,还没有在MEDUSA、Hydra等其他框架上做直接验证。SlimSpec理论上应该对所有"辅助头"式草稿模型都适用,但需要实验证实。其次,测试的三个目标模型最大只有30B参数,对于更大规模的模型(比如超过50B参数的),κ值可能更小,SlimSpec的相对优势可能进一步收窄。第三,测试环境只使用了NVIDIA H200和vLLM框架,在其他硬件或推理框架上的表现可能有所不同。第四,秩r目前是人工选择的,文章没有提供自动确定最优秩的方法,只是建议通过实验确认r=d/8在大多数场景下是合适的起点。

研究团队在展望未来时提出了两个方向。一是"接受率导向的训练目标":既然SlimSpec通过压缩表示已经在成本轴上走到了很好的位置,下一步应该专注于在不改变推理时计算量的前提下,通过更好的训练策略提高接受率,在"接受率-成本"平面上把SlimSpec的位置向上推。二是"位置自适应的秩分配":当前所有草稿位置用同一个秩r,但实际上不同的草稿位置(第1个预测词、第2个、第3个……)可能需要不同的表达能力,可以考虑对早期位置(更难预测)分配更大的秩,对后期位置分配更小的秩,在保持总计算量的同时进一步提升接受率。

说到底,这项工作给了整个推理加速领域一个清醒的提醒:速度和质量之间的权衡,不是一个孤立的工程问题,而是一个需要在完整系统视角下思考的优化问题。一个看起来让某个零件快了很多的方案,不一定真的让整辆车跑得更快——关键要看那个零件是不是真正的瓶颈,以及提速时付出的质量代价值不值得。

SlimSpec的价值在于,它找到了一条几乎不用付出质量代价就能大幅压缩瓶颈计算量的路径,而且实现极其简单——不需要维护词频统计,不需要动态路由逻辑,不需要修改训练框架,只需要把一个大矩阵换成两个小矩阵。对于任何在生产环境中部署大语言模型的团队来说,这是一个颇具吸引力的选项。

---

Q&A

Q1:SlimSpec是如何在不减少词汇表的情况下加速LM-Head计算的?

A:SlimSpec把原本的一个大矩阵(维度是词汇量×隐藏维度)替换成两个小矩阵的连乘:第一个矩阵先把隐藏状态从d维压缩到r维,第二个矩阵再从r维展开到词汇量维度。计算量从O(V×d)降到了O(r×d + V×r),当r=d/8时大约是原来的八分之一,而词汇表的大小和所有词的打分都完全保留,不存在词汇被遗漏的问题。

Q2:投机解码中的"平均接受长度"具体是什么意思,为什么它很重要?

A:平均接受长度τ衡量的是草稿模型平均每轮投机能让主模型接受多少个草稿词。比如τ=4.5意味着每一轮投机平均产出4.5个词。τ越高,每次主模型验证的成果越多,整体速度就越快。SlimSpec的设计让τ几乎不下降(保持在原方案的99%左右),而LM-Head时间却大幅缩短,所以端到端速度显著提升。

Q3:SlimSpec在哪些场景下效果最明显,哪些场景下提升有限?

A:SlimSpec在LM-Head占总延迟比例较高的场景下效果最好,比如词汇表大、目标模型较小(验证快)、使用单请求低延迟模式的场景。对于混合专家架构(MoE)的大模型如Qwen3-30B-A3B,由于LM-Head在总延迟中占比相对较低,各方案之间差距缩小,SlimSpec的优势收窄到1-2%。总体而言,部署场景中κ(LM-Head时间与其他时间的比值)越大,SlimSpec带来的收益越明显。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/16 20:36:47

Awesome-Harness-Engineering:从资源聚合到工程化治理的实践范式

1. 项目概述:当“Awesome”遇见“Harness”,一场工程实践的范式革命如果你在GitHub上搜索过“Awesome”系列,大概率会见过那些动辄成千上万个星标的资源聚合仓库。它们像一座座宏伟的图书馆,分门别类地收录了某个领域最优秀的工具…

作者头像 李华
网站建设 2026/5/16 20:35:21

BEAGLE库:系统发育分析的计算加速利器终极指南

BEAGLE库:系统发育分析的计算加速利器终极指南 【免费下载链接】beagle-lib general purpose library for evaluating the likelihood of sequence evolution on trees 项目地址: https://gitcode.com/gh_mirrors/be/beagle-lib BEAGLE库(Broad-p…

作者头像 李华
网站建设 2026/5/16 20:27:05

在企业内部搭建AI服务中台如何利用Taotoken进行统一纳管

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在企业内部搭建AI服务中台如何利用Taotoken进行统一纳管 随着大模型技术在企业内部的普及,越来越多的业务部门开始尝试…

作者头像 李华
网站建设 2026/5/16 20:17:40

别只盯着.htaccess:iwebsec文件上传漏洞的3种另类绕过思路与防御思考

突破黑名单桎梏:文件上传漏洞的三种高阶绕过技术与防御实践 当开发者采用黑名单机制过滤上传文件时,攻击者往往能通过系统特性与协议细节找到突破路径。本文将深入探讨三种鲜少被提及的绕过技术,并分析其在不同Web环境中的适用性演变。 1. Wi…

作者头像 李华