Uncovering Intra-expert Activation Sparsity for Efficient Mixture-of-Expert Model Execution
本文揭示,现有的预训练混合专家(MoE)模型本质上具有显著的专家内激活稀疏性,可通过修改 vLLM 执行流程以跳过非活跃神经元的计算加以利用,从而在不进行任何模型重训练或参数修改的情况下,实现 MoE 层执行高达 2.5 倍的加速以及端到端 1.2 倍的加速。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
以下是用简单语言和创意类比对该论文的解读。
核心思想:在 AI 中寻找“沉睡的巨人”
想象一家拥有数百名专业厨师(称为专家)的超大型高端餐厅厨房(即 AI 模型)。在标准的“专家混合”(MoE)设置中,当顾客点菜时,主厨(即路由器)只会挑选少数几位特定的专家来处理该订单。例如,如果订单是“辣咖喱”,路由器可能会唤醒“香料专家”和“咖喱专家”,而“甜点专家”和“面包专家”则继续沉睡。
这已经非常高效,因为厨房不必为每一道订单都启动全部 100 名厨师。然而,这篇论文的研究人员提出了一个新问题:“即使厨师已经醒来并在工作,他们是否真的用尽了所有精力?”
他们发现,即使是那些“醒来”的厨师,大部分时间也只是站着无所事事。他们发现,在单个专家内部,高达90% 的神经元(即 AI 的单个脑细胞)对于给定的输入实际上是“沉睡”的,或者输出为零。
问题:为什么我们不能简单地增加更多厨师
过去,为了让 AI 更快,研究人员试图通过增加更多厨师并唤醒更少的厨师来提高厨房效率(即增加“专家间稀疏性”)。但这变得越来越困难。
- 训练困境:如果你拥有太多厨师却只唤醒少数几位,厨房就会陷入混乱。有些厨师会承担所有工作(负载不平衡),而其他厨师则从未得到训练,变得毫无用处(专家坍塌)。
- 瓶颈:我们正撞上一堵墙,即在不破坏模型的前提下,很难再让“谁去工作”的选择机制变得更加高效。
解决方案:“懒惰厨师”策略
与其试图挑选更少的厨师,作者决定让单个厨师变得更加高效。他们意识到,即使厨师在工作,也不需要动用工具箱里的每一件工具。
类比:
想象一位正在制作椅子的木匠大师(即专家)。
- 旧方式:木匠会拿起棚屋里所有的锤子、锯子和螺丝刀,即使他只需要一把锤子和一把螺丝刀。他把整个棚屋都搬到了工地。
- 新方式(本文):木匠查看工作后,意识到只需要锤子和螺丝刀,于是将锯子和其他 90% 的工具留在棚屋里。他只携带所需之物。
研究人员发现,在现有的预训练 AI 模型(如 Qwen、Llama 和 DeepSeek)中,这种“懒惰”行为已经在自然发生。模型内部的数学运算自然地使大部分工作归零。他们只需要教会计算机跳过这些浪费的工作。
他们是如何做到的:“跳过列表”系统
该团队对一款流行的高速 AI 引擎vLLM(可以将其想象为将食物从厨房送到顾客的配送服务)进行了升级。
- 检查:在“厨师”开始烹饪之前,系统会快速检查哪些工具(神经元)实际上是需要的。
- 跳过:如果某个工具不需要(其值过低),系统甚至不会将其加载到内存中,也不会尝试使用它。它 literally 跳过了该计算。
- 结果:他们在软件中构建了一条特殊的“快速通道”。如果订单批次较小(如午餐时段的平静期),系统会使用这条快速通道并跳过繁重的工作。如果厨房超级繁忙(如晚餐时段的巨大高峰),它会切换回标准的重型模式以保持稳定。
他们的发现(结果)
他们在八个不同的大型 AI 模型上进行了测试,范围从小型模型(10 亿参数)到巨型模型(4000 亿参数)。
- 准确性:他们可以在一个专家内部跳过高达**90%**的工作,而 AI 仍然能在 95% 的情况下给出正确答案。这就像在食谱中跳过 90% 的食材,而菜肴的味道依然能达到 95% 的美味程度。
- 速度:
- 对于 AI 特定的“烹饪”部分(即 MoE 层),他们看到了高达2.5 倍的加速。
- 对于整个系统(端到端),他们看到了1.2 倍的加速。
- 硬件:加速效果在较小、性能较弱的显卡(如消费级游戏显卡)上最为显著,证明这是在更便宜的硬件上运行大型 AI 模型的好方法。
局限性(注意事项)
该论文诚实地指出了局限性:
- 守门人:系统仍然必须在跳过之前检查哪些工具是需要的。这个“检查”需要一些时间,目前还无法跳过。这就像经理仍然需要在厨房里走动,告诉厨师们该拿哪些工具,即使厨师们并不会使用所有工具。
- 批次大小:当 AI 同时处理少量请求时,加速效果最佳。如果你同时处理数千个请求,“检查”开销就会成为瓶颈,加速效果也会下降。
总结
这篇论文并没有发明一种新型 AI,也没有从头训练一个新模型。相反,他们审视了现有的强大 AI 模型,并意识到:“嘿,这些模型即使在‘活跃’时,也做了大量不必要的工作。”
通过构建一个系统来识别这种浪费的精力并简单地跳过它,他们让这些大型 AI 模型运行得更快、更高效,尤其是在非超级昂贵的硬件上。这是一种“智能跳过”技术,使得当前一代的 AI 模型在实际运行中更加可行。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。