批处理1(Batch-1)解码正在变得越来越重要。小米MiMo今年6月发布的MiMo-V2.5-Pro UltraSpeed,就宣称在万亿参数MoE模型上实现了每秒1000 token的解码速度。
批处理1场景下,推理栈没有任何隐藏开销的余地:没有批量来摊薄启动成本,没有并发来填补流水线气泡,也没有足够的算术强度让精巧的tiling策略发挥价值。关键路径上的每一微秒,都是用户实实在在等待的时间。
![]()
这篇文章讲的是如何把Ling-3.0-flash(一个混合线性注意力MoE模型)在4块NVIDIA Blackwell GPU上的延迟下限再往下推。文章覆盖了两条投机解码路径。
![]()
NEXTN/MTP路径:单请求解码提速一倍多
在NEXTN/MTP路径上,单请求解码速度从288 tok/s提升到606 tok/s,平均TPOT(单token生成时间)从3.33毫秒降到1.53毫秒。
第二条路径是DSpark,一个基于同一技术栈的置信度调度投机解码器:1000请求的测试跑出了1120 tok/s的速度,平均TPOT为0.78毫秒,接受长度为9.95。
最后这组对比是受控的:NEXTN和DSpark在同一台机器上用相同命令测量,平均TPOT降低了1.9倍(从1.53毫秒降到0.78毫秒)。文章其余部分讲的是这些时间花在了哪里,以及如何把它们省回来。
测试配置与关键定义
所有测试均使用Ling-3.0-flash,运行在4块Blackwell GPU上,TP4并行、bf16精度、并发数为1、贪心解码,使用固定的8192输入/1024输出随机工作负载。
![]()
在GSM8K基准上,同一技术栈的得分为:准确率0.889,无效输出0.000,延迟341.5秒,输出吞吐量511.1 tok/s。
这里有两个定义需要厘清,它们解释了为什么在并发为1时输出吞吐量也不等于平均TPOT的倒数:SGLang的TPOT不包含TTFT(首token时间),而输出吞吐量是用总输出token数除以基准测试总墙钟时间。
所有头条基准测试都使用合成随机工作负载;接受长度尤其依赖提示词和输出分布,所以9.95是当前工作负载下的接受长度,而非模型本身的固有属性。
混合注意力架构是关键
Ling-3.0-flash是一个混合注意力MoE模型(BailingMoeV3),文章的大部分内容都源自"混合"这个词。
每六个注意力层中有五个是KDA(线性注意力)层。这就是为什么在最终性能分析中,8k上下文下MLA注意力每步仅需244微秒——也是为什么这个模型本身就是一个好的批处理1目标:注意力开销低、批次又小,关键路径上剩下的主要就是权重带宽。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.