跳到正文
arXiv cs.AI· Wei Wang·· 11 小时前AI 评分38

FuTransformer:在 Hopper 上用 FP8 prefill 与 INT4 decode 加速 Llama 式推理

FuTransformer: FP8 prefill and INT4 decode for Llama-style inference on Hopper

AI 导读

FuTransformer 是面向 NVIDIA Hopper GPU 的 Llama 式 Transformer 块 CUDA 实现,prefill 用 FP8、decode 用 INT4 投影权重与 INT4 KV-cache 副本。

正文 · AI 翻译

查看 PDF HTML(实验性)

摘要:Transformer 预填充在多个 token 间复用权重,主要受矩阵乘法和激活数据搬运支配;单 token 解码的复用有限,主要受权重和 KV-cache 读取支配。我们提出 FUTRANSFORMER,这是面向 NVIDIA Hopper GPU 的 Llama 风格 Transformer 块的 CUDA 实现。它将 CODA 的 GEMM 加 epilogue 方法应用于推理,加入直接的 KV-cache 放置,将固定的 RMSNorm 增益折叠进权重,使用延迟缩放直接写出 FP8 输出,并支持无填充的预填充。解码使用 INT4 投影权重和 INT4 KV-cache 副本。权重和键遵循 Tensor Core 片段布局,可直接反量化到 MMA 操作数,无需完整的中间 tile。块对角 Hadamard 变换降低了离群通道带来的缓存量化误差。在单块 H100 上,预填充比编译后的 PyTorch FP8 快至多 1.48 倍,达到 1.29 PFLOP/s。对于 8B 形状下带 SwiGLU 的 gate/up 投影,我们的 BF16 路径比 CODA 快 1.13 倍。我们的 FP8 路径比所评估的 BF16 CODA 路径快 2.02-2.18 倍。在批次 1-32 的 8B 和 70B 形状上,INT4 解码比 PyTorch 的 BF16 和 INT4 块在各点上较快者快 1.3-2.4 倍:比编译后、CUDA 图化的 BF16 快 2.1-3.3 倍,比使用 PyTorch INT4 投影内核的同一块快 1.3-6.3 倍,后者针对单个查询行,在批次 32 时不如 BF16。它也比我们的 FP8 路径快 31-51%。完整的 Llama-3.1-8B 解码在批次一时每步耗时 2.8 ms,而编译后的 transformers 实现为 8.1 ms。通过 INT4 权重路径解码 WikiText-2 的每个 token,在最近舍入权重下困惑度从 6.24 升至 7.23,在相同格式下使用 GPTQ 为 6.99;旋转 INT4 缓存增加 0.20。这些内核与量化参考计算在 0.001 困惑度内一致。
学科: 人工智能(cs.AI)
引用为: arXiv:2610.23796 [cs.AI]
  (或 arXiv:2610.23796v1 [cs.AI] 为此版本)
  https://doi.org/10.48550/arXiv.2610.23796

由 DataCite 颁发的 arXiv DOI(待注册)

提交历史

来自:Wei Wang [查看邮箱]
[v1] 2026年10月16日星期五 17:22:01 UTC(36 KB)

来源:arXiv cs.AI · arxiv.org