← 最新论文
🤖 machine learning

Tile-Level Activation Overlap for Efficient LLM Inference

本文介绍了两个基于 CUTLASS 的专门化 SM90 核函数,它们在分块层面(tile level)将 SwiGLU 激活函数与矩阵乘法进行融合,以消除中间张量物化开销,在 NVIDIA H100 GPU 上实现了高达 2.47 倍的加速和 79.5% 的峰值利用率,同时在效率和数值精度方面均优于 PyTorch 和 cuBLAS。

原作者: Abhinav Jangda, Tyler Sorensen, Sebastian Burckhardt, Jianlan YE, Chaoyin Li, Atul Gupta

发布于 2026-07-07
📖 1 分钟阅读☕ 轻松阅读

原作者: Abhinav Jangda, Tyler Sorensen, Sebastian Burckhardt, Jianlan YE, Chaoyin Li, Atul Gupta

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你正在经营着一家高速运转的工厂,专门制造复杂的机器人(这些机器人就是构建聊天机器人的 大语言模型)。为了制造每台机器人,你的工厂配备了一条特定的装配线,即 MLP(这是机器人大脑的核心部分)。

长期以来,这条装配线一直存在一个主要的低效问题。以下是该论文中提出的问题与解决方案,已进行简化说明。

问题:“中间人”瓶颈

在现代机器人工厂中,使用一种叫做 SwigLU 的特定步骤来让机器人变得更聪明。你可以把 SwigLU 想象成一种质量检查,它需要两个独立的计算步骤:

  1. 计算 A: 测量机器人的当前状态。
  2. 计算 B: 测量机器人的潜力。
  3. 胶水(The Glue): 将这两个测量结果结合起来,得到最终结果。

旧的方法(瓶颈):
在标准的工厂设置中(例如 PyTorch 中使用的设置),在完成计算 A 后,工人们必须将结果写在一块巨大的白板上(高带宽内存/HBM)。然后,他们必须走过去,阅读那块白板,进行计算 B,将那个结果写在第二块白板上,最后再走回来读取这两块白板以完成“胶水”步骤。

研究发现,对于较小的机器人(较小的 AI 模型),这种“走到白板前”的过程占据了总时间的 30% 到 37%。这就像一位厨师花费一半的时间在走动去储藏室拿单种调料,而不是在烹饪。

解决方案:两个全新的“超级厨房”

作者构建了两个全新的、定制设计的厨房(称为 算子/Kernels),它们彻底消除了白板的存在。他们不再需要写下结果并走回原处,而是让工人们将原材料保持在手中(在 寄存器/Registers 中),并以一种连续的动作完成所有工作。

他们针对不同的工厂规模设计了两种不同的策略:

1. “乒乓”厨房 (Kernel-1)

  • 运作方式: 想象一场接力赛。当一名工人正在取下一批原料(加载数据)时,另一名工人已经在混合当前的这一批原料了。
  • 诀窍: 他们使用了一种“乒乓式”调度方案。当机器正在忙于获取第二组原料时,工人们利用这段时间对第一组原料进行“胶水”数学运算。
  • 最适用场景: 制造 巨型机器人(大型模型)或 同时运行许多机器人(大批次/Large Batches)的工厂。这就像一条庞大的装配线,有足够的工人来让大型机器保持满负荷运转。

2. “交错”厨房 (Kernel-2)

  • 运作方式: 想象你正在打包箱子。你不是先打包完所有的红色物品,再打包所有的蓝色物品,而是完美地交替进行:先拿一个红色,再拿一个蓝色,如此循环。
  • 诀窍: 他们在开始计算之前,先将两个权重矩阵(即计算的“配方”)混合在一起。这使得工人可以同时抓取“红色”和“蓝色”原料,并立即一起处理。
  • 最适用场景: 制造 较小机器人同时运行较少机器人(小批次/Small Batches)的工厂。这种方法非常高效,能确保工厂车间始终挤满了工作的工人,防止有人闲置等待。

结果:速度与精度

作者在 NVIDIA H100 芯片(目前最强大的 AI 处理器)上测试了这些新厨房,涵盖了各种机器人规模(从微型的 0.5B 模型到庞大的 72B 模型)。

  • 巨大的加速: 对于较小的机器人,新厨房的速度比旧标准快了 2.47 倍。这就像把一个 10 分钟的任务缩短到了 4 分钟。
  • 转移瓶颈: 旧系统是“受限于内存”(Spending too much time walking to the whiteboard),而新系统是“受限于计算”(Spending all its time actually doing the math)。他们达到了芯片最大理论速度的 79.5%
  • 编译器无法胜任: 作者尝试使用标准的“自动驾驶”软件(PyTorch 的 torch.compile)来自动修复这个问题。结果失败了。这个“自动驾驶”比他们的定制厨房要 慢 3 到 7 倍。这证明了对于这个特定问题,你需要人类专家来手工打造解决方案;计算机目前还无法自行解决。
  • 更高的准确度: 出人意料的是,新的定制厨房也比标准方法更准确。标准方法在 4.5% 到 11% 的结果中存在微小的数学误差,而新厨房的 误差为零

总结

论文表明,通过重新组织工厂车间的运作方式——特别是通过停止让工人们不断走到白板前去读写中间笔记——我们可以让 AI 模型运行得显著更快,尤其是对于用于边缘设备(如手机或笔记本电脑)的小型模型。他们证明了标准软件工具无法复制这种效率,需要专门的手写代码才能实现这些成果。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →