新上线今天0 投票
用短多项式程序加速 LLM 超越函数:GB200 上最高提速 8%
GPU 每代硬件的矩阵、特殊函数与内存流水线扩展速度并不一致,这让内核瓶颈随着硬件演进不断转移。FlashAttention-4 在 NVIDIA Blackwell 上暴露了注意力机制内部的这种失衡。一篇新论文(arXiv:2610.00049)由此提出一个问题:能否用短多项式程序,加速 LLM 中其他依赖**特殊函数单元(SFU)**的运算?
做法:把超越函数换成低次多项式
作者 Robert Hu 的思路是,用 3 次或 4 次 BF16(bfloat16)多项式程序替换原生的 sigmoid、tanh 和 SiLU(sigmoid 线性单元)。这些程序融合了三项技巧:解析对称性、目标格式舍入,以及消费内核内部的打包算术。
验证分两步走:
- 先在隔离的 **IEEE binary16(FP16)扫描中,对比原生 PyTorch 求值与打包的融合乘加(FMA)**程序,覆盖 L2 常驻与 HBM 常驻两类工作集。
- 再在四个 GB200 集成任务中做替换:稠密 SiLU、tanh-softcapped 注意力、sigmoid 注意力,以及路由专家 SwiGLU。
结果:隔离路径最快 2.19 倍
隔离测试中,加速幅度为 L2 下 1.19–2.19 倍、HBM 下 1.00–1.70 倍。落到完整训练步:
- 稠密 SiLU 替换:训练步吞吐提升 2.7%
- tanh-softcapped 注意力:提升 2.9%
- 路由专家替换:提升 8.0%
- sigmoid 注意力:完整注意力前向提升 7.4%,完整 GPU 步提升 0.3%
模型行为:损失差异在噪声量级
速度之外,论文还做了同检查点的开放权重消融,以及每个任务一次配对的预训练对比。在约 1000 亿 token 的常见训练视界上,最终平滑训练损失差异(多项式减原生)落在 -0.107 到 +0.079 之间。
这意味着,至少在测试的四个任务上,用低次多项式替代原生超越函数并未带来明显的精度代价。
为什么值得关注
这项工作的价值不在于某个新模型,而在于一个可复用的工程视角:当硬件流水线扩展速度失衡时,把计算从瓶颈单元挪走,本身就是一种优化。FlashAttention-4 已经在注意力内部验证过这一点,而多项式替换把同样的逻辑推广到了 SFU 运算。
不过需要注意,论文的结论建立在特定硬件(GB200、Blackwell)和特定任务上,损失差异的区间也同时包含正负值,说明效果并非在所有场景都单调一致。这类内核级优化能否在更广泛的模型规模与硬件代际上稳定复现,仍有待后续验证。
