在AMD GPU用MTP加速LLM推理:DeepSeek V3×SGLang实战
AMD中国
2025年10月12日 20:00
收录于文集
共115篇
AMD开发者中心

原文作者: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 是什么?为什么能“更快更稳”

MTP起初在 DeepSeek V3/R1 中引入,旨在提升模型的训练效率。它将顺序Token间的隐式因果链转化为显式监督,通过预测多个后续Token并对其进行监督,让预测过程中的隐式嵌入(Embedding)更好地与Token间的因果关系保持一致,从而提升模型预测的准确性。得益于这一设计和模块化架构,MTP 在推理阶段能够自然而然地融入推测解码,作为草稿模型加速推理。

更重要的是,MTP 支持预测后续Token的特性,又与基础模型的预测分布高度贴合,这让它成为推测解码中草稿模型的理想选择。在我们的实现中,我们采用了单一的MTP 模块作为草稿模型,名为 NextN ,并在推测解码流程中使用了常用的 EAGLE算法。

MTP 的模型结构

在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,丢弃不一致的部分。

MTP + ROCm:性能提升有多大?

在 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 数据集性能表现

在 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 的配置,整体性能更优。

如何在 ROCm 上开启 MTP?

1.准备环境

  • 安装 ROCm 驱动和依赖(>= 6.x)

  • 安装PyTorch ROCm 版本

  • 获取 DeepSeek V3 模型权重

2.启动推理服务

  • 使用 Docker 镜像快速部署;

  • 配置 SGLang + MTP 模块。

3.性能验证

  • 运行以上Benchmark 脚本;

  • 对比开启/关闭 MTP 的性能差异。

最佳实践与调优建议

  • MTP Token 数量:建议根据模型大小和显存情况调整,通常 4~8 个 草稿Token 效果最佳。

  • 显存优化:开启 FP16,减少显存占用。

为什么选择 AMD ROCm?

  • 开源生态:支持 PyTorch、TensorFlow 等主流框架;

  • 硬件加速:针对 AMD 算力平台深度优化;

  • 社区支持:活跃的开发者社区,丰富的技术资源。

访问AMD ROCm hub获取更多信息:

https://www.amd.com/en/developer/resources/rocm-hub/dev-ai.html