FuTransformer
一种面向NVIDIA Hopper GPU的Llama-style Transformer推理优化CUDA实现,为Prefill阶段采用FP8量化路径、为Decode阶段采用INT4量化路径,并融合GEMM与epilogue以减少数据搬运。
时间轴 (近 90 天)
FuTransformer是面向NVIDIA Hopper GPU的CUDA实现,为Llama-style Transformer块分别设计了FP8预填充路径和INT4解码路径。
在单张H100上,FuTransformer的预填充路径比编译后的PyTorch FP8快最多1.48倍,达到1.29 PFLOP/s。
在8B形状下带SwiGLU的gate/up投影上,FuTransformer的BF16路径比CODA快1.13倍,FP8路径比所评估的BF16 CODA路径快2.02至2.18倍。
在8B和70B形状、batch 1至32的范围内,FuTransformer的INT4解码比PyTorch的BF16与INT4块中较快者快1.3至2.4倍。
FuTransformer的INT4解码相比其自家的FP8路径快31%至51%。
完整Llama-3.1-8B在batch 1下使用FuTransformer每步解码耗时2.8毫秒,而编译版transformers实现为8.1毫秒。
FuTransformer的kernel实现与量化参考计算之间的perplexity差异在0.001以内,说明加速并未引入额外的数值偏差。
上述加速数据均来自单卡H100的实验环境,多卡并行、更长上下文以及不同batch分布下的表现仍需进一步验证。
全部知识事实 (8)
FuTransformer是面向NVIDIA Hopper GPU的CUDA实现,为Llama-style Transformer块分别设计了FP8预填充路径和INT4解码路径。
50%待验证在单张H100上,FuTransformer的预填充路径比编译后的PyTorch FP8快最多1.48倍,达到1.29 PFLOP/s。
50%待验证在8B形状下带SwiGLU的gate/up投影上,FuTransformer的BF16路径比CODA快1.13倍,FP8路径比所评估的BF16 CODA路径快2.02至2.18倍。
50%待验证在8B和70B形状、batch 1至32的范围内,FuTransformer的INT4解码比PyTorch的BF16与INT4块中较快者快1.3至2.4倍。
50%待验证FuTransformer的INT4解码相比其自家的FP8路径快31%至51%。
50%待验证完整Llama-3.1-8B在batch 1下使用FuTransformer每步解码耗时2.8毫秒,而编译版transformers实现为8.1毫秒。
50%待验证FuTransformer的kernel实现与量化参考计算之间的perplexity差异在0.001以内,说明加速并未引入额外的数值偏差。
50%待验证上述加速数据均来自单卡H100的实验环境,多卡并行、更长上下文以及不同batch分布下的表现仍需进一步验证。
50%