Llama4 使用方法#

Llama 4 是 Meta 推出的最新一代开源 LLM 模型,具有业界领先的性能。

SGLang 自 v0.4.5 版本起已支持 Llama 4 Scout (109B) 和 Llama 4 Maverick (400B)。

持续的优化工作正在 路线图 (Roadmap) 中更新。

使用 SGLang 启动 Llama 4#

在 8xH100/H200 GPU 上部署 Llama 4 模型

python3 -m sglang.launch_server \
  --model-path meta-llama/Llama-4-Scout-17B-16E-Instruct \
  --tp 8 \
  --context-length 1000000

配置技巧#

  • 显存溢出 (OOM) 缓解:调整 --context-length 以避免 GPU 显存不足问题。对于 Scout 模型,我们建议在 8*H100 上设置该值最高为 1M,在 8*H200 上最高为 2.5M。对于 Maverick 模型,在 8*H200 上无需手动设置上下文长度。启用混合 KV 缓存(hybrid kv cache)时,Scout 模型在 8*H100 上的 --context-length 可设置为最高 5M,在 8*H200 上最高可达 10M。

  • Attention 后端自动选择:SGLang 会根据您的硬件自动为 Llama 4 选择最佳的 Attention 后端。通常情况下,您无需手动指定 --attention-backend

    • Blackwell GPU (B200/GB200)trtllm_mha

    • Hopper GPU (H100/H200)fa3

    • AMD GPUaiter

    • Intel XPUintel_xpu

    • 其他平台triton (兜底方案)

    若要覆盖自动选择,请显式指定 --attention-backend 为以下支持的后端之一:fa3aitertritontrtllm_mhaintel_xpu

  • 对话模板:对于对话补全任务,请添加 --chat-template llama-4

  • 启用多模态:添加 --enable-multimodal 以开启多模态能力。

  • 启用混合 KV 缓存 (Hybrid-KVCache):添加 --hybrid-kvcache-ratio 以使用混合 KV 缓存。详情请参阅 此 PR

EAGLE 投机采样#

描述:SGLang 已支持 Llama 4 Maverick (400B) 配合 EAGLE 投机采样解码 使用。

用法:添加参数 --speculative-draft-model-path--speculative-algorithm--speculative-num-steps--speculative-eagle-topk--speculative-num-draft-tokens 来启用此功能。例如:

python3 -m sglang.launch_server \
  --model-path meta-llama/Llama-4-Maverick-17B-128E-Instruct \
  --speculative-algorithm EAGLE3 \
  --speculative-draft-model-path nvidia/Llama-4-Maverick-17B-128E-Eagle3 \
  --speculative-num-steps 3 \
  --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 4 \
  --trust-remote-code \
  --tp 8 \
  --context-length 1000000
  • 注意:Llama 4 草稿模型 nvidia/Llama-4-Maverick-17B-128E-Eagle3 仅能识别对话模式下的会话。

基准测试结果#

使用 lm_eval 进行准确率测试#

SGLang 在 Llama4 Scout 和 Llama4 Maverick 上的准确率能够匹配 官方基准数据

基于 8*H100 的 MMLU Pro 数据集基准测试结果

Llama-4-Scout-17B-16E-Instruct

Llama-4-Maverick-17B-128E-Instruct

官方基准

74.3

80.5

SGLang

75.2

80.7

命令

# Llama-4-Scout-17B-16E-Instruct model
python -m sglang.launch_server \
  --model-path meta-llama/Llama-4-Scout-17B-16E-Instruct \
  --port 30000 \
  --tp 8 \
  --mem-fraction-static 0.8 \
  --context-length 65536
lm_eval --model local-chat-completions --model_args model=meta-llama/Llama-4-Scout-17B-16E-Instruct,base_url=https://:30000/v1/chat/completions,num_concurrent=128,timeout=999999,max_gen_toks=2048 --tasks mmlu_pro --batch_size 128 --apply_chat_template --num_fewshot 0

# Llama-4-Maverick-17B-128E-Instruct
python -m sglang.launch_server \
  --model-path meta-llama/Llama-4-Maverick-17B-128E-Instruct \
  --port 30000 \
  --tp 8 \
  --mem-fraction-static 0.8 \
  --context-length 65536
lm_eval --model local-chat-completions --model_args model=meta-llama/Llama-4-Maverick-17B-128E-Instruct,base_url=https://:30000/v1/chat/completions,num_concurrent=128,timeout=999999,max_gen_toks=2048 --tasks mmlu_pro --batch_size 128 --apply_chat_template --num_fewshot 0

详情请参阅 此 PR