
原文作者:Chang Liu, Andy Luo, Anshul Gupta
在大模型推理中,推理速度和准确率往往难以兼得。传统的逐 Token 解码方式效率低下,而推测解码(Speculative Decoding)通过引入草稿模型,显著提升了生成速度。
MTP(Multi-Token Prediction,多 Token 预测)是 DeepSeek V3 引入的一项关键技术。因MTP的模块特性——与DeepSeek V3联合训练及其预测后续Token的功能,MTP可自然而然地被应用为推测解码的草稿模型。
这篇博客将向你展示如何在 AMD GPU 上利用 ROCm,充分发挥 MTP 和推测解码的优势,从而加速大语言模型DeepSeek V3的推理服务。我们将首先介绍模块架构及 MTP 背后的核心概念,然后展示在 DeepSeek V3 推理服务中启用 MTP 所带来的性能提升。接着,我们会提供详细的分步指南,帮助你复现我们的基准测试结果。
在AMD GPU 上使用 SGLang 开源推理服务与MTP,可实现更高效的推理性能。
在DeepSeek V3 推理服务中启用 MTP 后,使用 SGLang 在 AMD GPU 上对 Random 数据集的推理速度提升 1.25 ~ 2.11 倍,在 ShareGPT 数据集上的推理速度提升 1.36 ~ 1.80 倍。
MTP起初在 DeepSeek V3/R1 中引入,旨在提升模型的训练效率。它将顺序Token间的隐式因果链转化为显式监督,通过预测多个后续Token并对其进行监督,让预测过程中的隐式嵌入(Embedding)更好地与Token间的因果关系保持一致,从而提升模型预测的准确性。得益于这一设计和模块化架构,MTP 在推理阶段能够自然而然地融入推测解码,作为草稿模型加速推理。
更重要的是,MTP 支持预测后续Token的特性,又与基础模型的预测分布高度贴合,这让它成为推测解码中草稿模型的理想选择。在我们的实现中,我们采用了单一的MTP 模块作为草稿模型,名为 NextN ,并在推测解码流程中使用了常用的 EAGLE算法。
在DeepSeek V3/R1 的训练过程中,MTP 由多个顺序连接的模块组成。然而在推理阶段,我们仅使用一个单一 MTP 模块,将其命名为 NextN 。其架构如图 1 所示,包含四个主要部分:嵌入层(Embedding Layer)、线性投影矩阵(Linear Projection Matrix)、Transformer 块(Transformer Block)、以及输出头(Output Head)。

图1. NextN模块架构
在使用SGLang 为 DeepSeek V3 推理启用 MTP 时,我们在启动推理服务的命令中加入 --speculative-algo=NEXTN 或 EAGLE 参数,以指定推测解码算法为 EAGLE。EAGLE 于 2024 年初提出,是目前最常用的推测解码变体之一。正如前文所述,MTP 可以作为推测解码的草稿模型来加速 DeepSeek V3 推理,但它必须在推测解码算法框架内运行。在这篇文章的实验中,EAGLE 充当了这一集成方案的基础流程。
在推测解码过程中,EAGLE 包含草稿与验证两个阶段:
草稿阶段:EAGLE 构建一棵树,其中每个节点代表一个草稿 Token。NextN 模块在每次前向计算时预测多个草稿 Token。树构建完成后,通过遍历该树依次提取候选的Token序列。
验证阶段:基模型在一次前向计算中得出所有草稿Token 的预测概率,并保留与自身预测一致的 Token,丢弃不一致的部分。
在 AMD GPU 上,结合 SGLang 推理框架,开启 MTP 后:
Random 数据集:推理速度提升 1.25 ~ 2.11倍;
ShareGPT 数据集:推理速度提升 1.36 ~ 1.80倍。
这意味着在相同硬件资源下,你可以更快完成推理任务,降低延迟,提升用户体验。
表1. 端到端延迟对比:在 8 张 AMD GPU上,分别在未启用和启用 MTP 的情况下,为 DeepSeek V3 在 Random 数据集上提供推理服务,并将最大并发数设置为 1、2、4、8、16、32 和 64。结果显示,当最大并发数设为 1 时,速度提升达 2.11 倍。

上述数据基于 AMD 内部实验结果,实际性能可能因环境差异而有所不同,建议用户在自身环境中进行验证
表 1. 列出了在 8 张 AMD GPU上运行 DeepSeek V3 时,不同最大并发数(1、2、4、8、16、32、64)下的端到端延迟对比。测试基于 Random 数据集,结果显示当最大并发数为 1 时,开启 MTP 可实现 2.11倍 的加速。这意味着在低并发场景下,MTP 对延迟优化尤为明显。

上述数据基于 AMD 内部实验结果,实际性能可能因环境差异而有所不同,建议用户在自身环境中进行验证
图2. 性能对比:在 DeepSeek V3 推理服务中,关闭与开启 MTP 的情况下,在 Random 数据集上比较总吞吐量与端到端延迟的表现。
图 2展示了 DeepSeek V3 在开启和关闭 MTP 时的性能差异。横轴表示端到端延迟,纵轴表示整体吞吐量。结果清晰表明,开启 MTP 后,延迟显著降低,同时吞吐量得到提升。
在 ShareGPT 数据集上,开启多 Token 预测(MTP)后,DeepSeek V3 的推理速度相比传统逐 Token 解码方式有明显提升,整体加速幅度约在 1.36至1.80倍 之间。这种优化在长文本生成和交互式对话场景中尤为显著,能够有效降低响应延迟,提升用户体验。
表2. 端到端延迟对比:在 8 张 AMD GPU上,分别在未启用和启用 MTP 的情况下,为 DeepSeek V3 在 ShareGPT 数据集上提供推理服务,并将最大并发数设置为 4、8、16、32 和 64。

上述数据基于 AMD 内部实验结果,实际性能可能因环境差异而有所不同,建议用户在自身环境中进行验证
表 2. 对比了在ShareGPT 数据集上,DeepSeek V3 推理服务在开启与关闭 MTP情况下的端到端延迟表现。测试环境为 8 张 AMD GPU,并在不同最大并发数(4、8、16、32、64)下进行。结果显示,开启 MTP 后,在所有并发场景中延迟均明显降低,证明该优化方案在高并发交互式任务中效果显著。

上述数据基于 AMD 内部实验结果,实际性能可能因环境差异而有所不同,建议用户在自身环境中进行验证
图3. 性能对比:在 DeepSeek V3 推理服务中,关闭与开启 MTP 的情况下,在 ShareGPT 数据集上比较总吞吐量与端到端延迟的表现。
图 3. 展示了开启 MTP 后,DeepSeek V3 推理服务在总吞吐量和端到端延迟方面的表现。结果表明,启用 MTP 后,推理所需时间更短,吞吐量显著提升,相比未开启 MTP 的配置,整体性能更优。
1.准备环境
安装 ROCm 驱动和依赖(>= 6.x)
安装PyTorch ROCm 版本
获取 DeepSeek V3 模型权重


2.启动推理服务
使用 Docker 镜像快速部署;
配置 SGLang + MTP 模块。


3.性能验证
运行以上Benchmark 脚本;
对比开启/关闭 MTP 的性能差异。
MTP Token 数量:建议根据模型大小和显存情况调整,通常 4~8 个 草稿Token 效果最佳。
显存优化:开启 FP16,减少显存占用。
开源生态:支持 PyTorch、TensorFlow 等主流框架;
硬件加速:针对 AMD 算力平台深度优化;
社区支持:活跃的开发者社区,丰富的技术资源。
访问AMD ROCm hub获取更多信息:
https://www.amd.com/en/developer/resources/rocm-hub/dev-ai.html