Llama4 使用指南#
Llama 4 是 Meta 最新的开源大语言模型,具备业界领先的性能。
自 v0.4.5 版本起,SGLang 已支持 Llama 4 Scout (109B) 和 Llama 4 Maverick (400B)。
正在进行的优化可以在 Roadmap 中跟踪。
使用 SGLang 启动 Llama 4#
在 8 块 H100/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 缓存时,对于 Scout 模型,--context-length可以在 8*H100 上设置为最高 5M,在 8*H200 上设置为最高 10M。聊天模板:对于聊天补全任务,添加
--chat-template llama-4。启用多模态:添加
--enable-multimodal以启用多模态功能。启用混合 KV 缓存:添加
--hybrid-kvcache-ratio以启用混合 kv 缓存。详细信息可参考 此 PR
EAGLE 推测解码#
描述:SGLang 已支持使用 EAGLE 推测解码 功能运行 Llama 4 Maverick (400B)。
使用方法:
添加参数 --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 的准确率均可与 官方基准数字 相匹配。
在 MMLU Pro 数据集上使用 8*H100 的基准测试结果:
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 模型
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=http://localhost: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=http://localhost: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。