Together AI 的推测解码内核融合优化:多GPU上4倍加速的内存带宽减法
Together AI 通过在推测解码中应用内核融合技术,融合 attention 和 MLP 操作,显著降低内存带宽消耗,实现多 GPU 环境下 LLM 推理 4 倍加速。文章提供工程参数、阈值设置与监控要点。
在大型语言模型(LLM)推理过程中,推测解码(speculative decoding)已成为提升吞吐量和降低延迟的关键技术。它通过小型草稿模型生成候选 token 序列,由主模型并行验证,从而实现多 token 一次性生成,避免传统自回归解码的顺序瓶颈。然而,在多 GPU 部署中,内存带宽往往成为主要限制因素,尤其是 attention 和 MLP 操作间的频繁内核切换导致的中间数据读写开销。Together AI 的优化策略聚焦于内核融合(kernel fusion),将这些操作融合为单一 CUDA 内核,减少内存访问,实现 4 倍加速。
内核融合的核心在于将 Transformer 层内的子图操作合并,避免多次 GPU 内核启动和全局内存传输。以 attention 模块为例,标准实现中 Query-Key-Value 计算、softmax 和输出投影需多次内存加载,而融合后,这些步骤在共享内存中连续执行,仅需一次输入输出。同样,MLP 中的线性变换和激活函数(如 GELU)也可融合,消除中间激活张量的持久化存储。根据 Together AI 的工程实践,这种融合可将内存带宽需求降低 50% 以上。在推测解码管道中,草稿生成阶段使用轻量融合内核加速候选序列产生,验证阶段则并行融合主模型的 attention-MLP 链路,支持多头执行(multi-head execution),允许同时验证多个分支路径。
证据显示,在 8 张 NVIDIA H100 GPU 集群上部署 Llama-70B 模型时,未融合基线推理延迟约为 200ms/token,而融合优化后降至 50ms/token,实现 4 倍 speedup。该加速主要源于减少内核启动开销(从 20+ 次/层减至 5 次/层)和内存流量优化(带宽利用率从 70% 升至 95%)。Together AI 的内部基准测试表明,在高负载批次(batch size=32)下,融合策略在保持输出质量不变的前提下,提升整体吞吐量至 5000 tokens/s/GPU。此外,与 FlashAttention 等注意力优化结合,进一步放大效果,避免了 KV cache 的冗余复制。
要落地此类优化,需关注以下参数和清单。首先,融合粒度阈值:对于 attention-MLP 融合,设置操作复杂度阈值为 1e9 FLOPs,若超过则拆分以防寄存器溢出;草稿模型规模控制在主模型的 1/10(如 7B 草稿配 70B 主模型),draft length=4-8 以平衡接受率(目标 60%+)和验证开销。其次,多 GPU 配置:采用张量并行(TP=8)结合流水线并行(PP=2),AllReduce 操作融合至后续 LayerNorm,减少通信延迟至 10μs/步。监控要点包括:内存带宽利用率(目标 >90%),内核融合成功率(>95%),以及接受率衰减(若 <50%,调整 draft 温度至 0.7)。回滚策略:若融合导致精度损失 >0.5%,fallback 至标准 cuBLAS 调用。
实施时,推荐使用自定义 CUDA 扩展,如基于 CUTLASS 的融合 GEMM 模板,集成至 vLLM 或 TensorRT-LLM 框架。参数调优可通过短时基准(如 1000 步生成)迭代,关注峰值内存(<80% HBM)和尾延迟(p99 <100ms)。风险包括硬件兼容性(Ampere 架构以上最佳)和调试复杂度,建议从小规模单 GPU 验证起步。
通过这些工程化实践,内核融合不仅提升了推测解码的效率,还为多 GPU LLM 服务提供了可扩展路径。在生产环境中,结合动态批处理,可进一步将成本降低 60%,助力实时 AI 应用落地。