vLLM 中的 Llama 4

4 分钟阅读
vLLM 团队

我们很高兴地宣布,vLLM 现在支持 Llama 4 系列模型Scout (17B-16E) 和 Maverick (17B-128E)。只需更新至 v0.8.3 或更高版本,您现在即可在 vLLM 中运行这些强大的、支持长上下文且原生多模态(在良好效果下可处理 8-10 张图像)的混合专家模型。

pip install -U vllm

以下是入门的示例命令。或者,您也可以将 CLI 命令替换为 docker run(操作说明在此),或者使用我们的 Python 接口 LLM进行本地批处理推理。我们还推荐查看 Meta 团队的演示,其中展示了 vLLM 实现 1M 超长上下文的能力。

使用指南

以下是如何在不同硬件配置下部署 Llama 4 模型的方法。

使用 8xH100,vLLM 可以为 Scout 提供 1M 上下文,为 Maverick 提供约 430K 上下文。请参阅下文获取提升性能和利用长上下文的更多技巧。

在 8x H100 GPU 上

  • Scout(高达 1M 上下文)
VLLM_DISABLE_COMPILE_CACHE=1 vllm serve meta-llama/Llama-4-Scout-17B-16E-Instruct \
  --tensor-parallel-size 8 \
  --max-model-len 1000000 --override-generation-config='{"attn_temperature_tuning": true}'
  • Maverick(高达约 430K 上下文)
VLLM_DISABLE_COMPILE_CACHE=1 vllm serve meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8 \
  --tensor-parallel-size 8 \
  --max-model-len 430000'

在 8x H200 GPU 上

  • Scout(高达 3.6M 上下文)
VLLM_DISABLE_COMPILE_CACHE=1 vllm serve meta-llama/Llama-4-Scout-17B-16E-Instruct \
  --tensor-parallel-size 8 \
  --max-model-len 3600000'
  • Maverick(高达 1M 上下文)
VLLM_DISABLE_COMPILE_CACHE=1 vllm serve meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8 \
  --tensor-parallel-size 8
  --max-model-len 1000000'

多模态

Llama 4 模型在图像理解方面表现出色,最多可处理 8-10 张图像。默认情况下,vLLM 服务器每个请求接受 1 张图像。若要通过与 OpenAI 兼容的 API 每个请求处理最多 10 张图像,请传入 --limit-mm-per-prompt image=10 参数。我们还建议查看我们的 Llama-4 多图像离线推理示例,点击此处

性能

通过上述配置,我们观察到 Scout-BF16 和 Maverick-FP8 的输出 token/s 性能如下

虽然更多的性能提升还在筹备中,但我们相信 Llama 4 模型的高效架构和相对较小的规模使其在当下即可实现规模化使用。

性能与长上下文优化技巧

  • 提升性能与上下文长度: 设置 --kv-cache-dtype fp8 可以将可用上下文窗口增加一倍,并获得性能提升。我们在相关评估中观察到使用该设置几乎没有精度损失。
  • 最大化上下文窗口(高达 10M): 要充分利用最大上下文窗口(Scout 可达 10M),我们建议使用张量并行或流水线并行在多个节点上进行部署。请遵循我们的分布式推理指南,点击此处

其他硬件支持与量化

  • A100:我们已验证 bf16 版本的模型在 A100 GPU 上运行良好。
  • INT4:INT4 量化版的 Scout 模型检查点(适配单张 H100 GPU)目前正在开发中,敬请期待更新。
  • AMD MI300X:您可以通过从源码构建 vLLM 并使用上述相同的命令,在 AMD MI300X GPU 上运行 Llama 4。

推理精度验证: 我们使用 lm-eval-harness 针对 Meta 的官方报告验证了推理精度。以下是 meta-llama/Llama-4-Maverick-17B-128E-Instruct 的结果

MMLU ProChartQA
报告值80.590
H100 FP880.489.4
AMD MI300x BF1680.489.4
H200 BF1680.289.3

高效架构与集群级推理服务

Llama 4 的模型架构非常适合高效的长上下文推理,这得益于以下特性:

  • 混合专家模型 (MoE): Scout 使用 16 个专家(激活参数 17B),Maverick 使用 128 个专家(激活参数 17B)。每个 token 仅激活一个专家,从而保持了高效率。
  • 交错旋转位置编码 (iRoPE): Llama 4 以 1:3 的比例交错使用了全局注意力(不带 RoPE)和分块局部注意力(带 RoPE)。局部注意力层对不重叠的块中的 token 进行注意,随着上下文长度的扩展,显著降低了注意力的二次方复杂度。

vLLM 最近推出了 V1 引擎,在单节点上带来了显著的性能提升,并支持原生 torch.compile。我们的 第二季度路线图 重点在于增强 vLLM 的多节点扩展能力,旨在实现解耦的集群级推理服务。我们正在积极增加对高效专家并行、多节点数据并行以及全集群预填充(prefill)解耦的支持。

致谢

我们衷心感谢 Meta 团队在模型架构实现、广泛的精度评估和性能基准测试方面的工作:Lucia (Lu) Fang, Ye (Charlotte) Qi, Lu Fang, Yang Chen, Zijing Liu, Yong Hoon Shin, Zhewen Li, Jon Swenson, Kai Wu, Xiaodong Wang, Shiyan Deng, Wenchen Wang, Lai Wei, Matthias Reso, Chris Thi, Keyun Tong, Jinho Hwang, Driss Guessous, Aston Zhang

我们还要感谢 AMD 团队在 MI300X 上启用这些模型的支持:Hongxia Yang 和 Weijun Jiang。

vLLM 团队的性能基准测试是在 Nebius 和 NVIDIA 慷慨提供的硬件上运行的。