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

pip install -U vllm

在下面,您将找到入门示例命令。或者,您可以将 CLI 命令替换为 docker run(此处有说明)或使用我们的 Pythonic 接口,LLM,进行本地批量推理。我们还建议查看 Meta 团队的演示,该演示展示了 vLLM 的 1M 长上下文能力。

使用指南

以下是如何使用不同的硬件配置来服务 Llama 4 模型。

使用 8xH100,vLLM 可以服务于具有 1M 上下文的 Scout 和大约 430K 的 Maverick。请参阅下面的更多提示,以了解性能增强和利用长上下文。

在 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 张图像。请传递 --limit-mm-per-prompt image=10 以使用 OpenAI 兼容的 API 为每个请求提供最多 10 张图像。我们还建议查看我们使用 Llama-4 的多图像离线推理示例此处

性能

使用上述配置,我们观察到 Scout-BF16 和 Maverick-FP8 的以下输出 tokens/s

虽然更多的性能增强正在进行中,但我们相信 Llama 4 模型的有效架构和相对较小的尺寸使其在今天的大规模使用中非常实用。

性能和长上下文提示

  • 提升性能和上下文长度:设置 --kv-cache-dtype fp8 以可能将可用上下文窗口扩大一倍并获得性能提升。我们观察到,在相关的评估中,使用此设置几乎没有或没有准确性下降。
  • 最大化上下文窗口(高达 10M):为了充分利用最大上下文窗口(Scout 高达 10M),我们建议使用张量并行或流水线并行跨多个节点进行服务。请参考我们的分布式推理指南此处
  • 提高长上下文准确性(>32K):我们强烈建议添加 --override-generation-config='{"attn_temperature_tuning": true}' 以提高上下文长度超过 32K tokens 的准确性。

其他硬件支持和量化

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

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

  MMLU Pro ChartQA
报告 80.5 90
H100 FP8 80.4 89.4
AMD MI300x BF16 80.4 89.4
H200 BF16 80.2 89.3

高效架构和集群规模服务

得益于以下功能,Llama 4 的模型架构特别适合高效的长上下文推理:

  • 混合专家 (MoE):Scout 使用 16 个专家(17B 激活参数),而 Maverick 使用 128 个专家(17B 激活参数)。每个 token 仅激活一个专家,从而保持效率。
  • 交错 RoPE (iRoPE):Llama 4 以 1:3 的比例交错全局注意力(不带 RoPE)和分块局部注意力(带 RoPE)。局部注意力层关注非重叠块中的 token,从而在上下文长度缩放时显着降低注意力的二次复杂度。

vLLM 最近推出了 V1 引擎,在单节点上实现了主要的性能加速,并提供了原生的 torch.compile 支持。我们的 Q2 路线图 侧重于增强 vLLM 的多节点扩展能力,旨在实现解耦的集群规模服务。我们正在积极添加对高效专家并行、多节点数据并行和集群范围预填充解耦的支持。

致谢

我们衷心感谢 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 慷慨提供的硬件上运行的。