SGLang 服务器启动参数完整总结

SGLang 服务器启动参数完整总结

以下根据 SGLang 官方文档 整理的服务器启动参数完整列表,按功能分类,提供用途说明和推荐值。


📦 模型与 Tokenizer

参数 用途说明 推荐值/使用建议
--model-path / --model 指定模型权重路径(本地目录或 Hugging Face repo ID) meta-llama/Meta-Llama-3-8B-Instruct(必填)
--tokenizer-path 指定 tokenizer 路径(若与模型不同) 默认同 --model-path
--tokenizer-mode Tokenizer 模式:auto(默认,优先 fast tokenizer)、slow(总是用慢 tokenizer) auto
--load-format 模型权重加载格式:auto(默认,优先 safetensors)、safetensorsptggufbitsandbytes auto
--trust-remote-code 是否信任远程代码(用于自定义模型) false(默认),非官方模型设为 true
--context-length 强制设置模型最大上下文长度 不建议设置,由模型 config 自动决定
--is-embedding 是否将模型用作嵌入模型 false(默认)
--enable-multimodal 启用多模态功能(需模型支持) true(若模型为多模态)
--limit-mm-data-per-request 限制单个请求的多模态输入数量 {"image": 1, "video": 1, "audio": 1}(示例)
--model-impl 模型实现方式:auto(默认,优先 SGLang 实现)、sglangtransformers auto
--skip-tokenizer-init 跳过 tokenizer 初始化(需在请求中提供 input_ids false(默认),高性能场景可设为 true

🌐 HTTP 服务

参数 用途说明 推荐值/使用建议
--host HTTP 服务监听地址 0.0.0.0(对外暴露)或 127.0.0.1(仅本地)
--port HTTP 服务端口 30000(默认)
--api-key 设置 API 访问密钥(OpenAI 兼容) 生产环境建议设置
--served-model-name 自定义 /v1/models 返回的模型名 可用于隐藏真实模型名
--skip-server-warmup 跳过服务器预热 false(默认)
--warmups 自定义预热函数(逗号分隔) warmup_name1,warmup_name2
--nccl-port NCCL 分布式环境端口 通常不设置,由系统自动分配

⚙️ 并行与分布式

参数 用途说明 推荐值/使用建议
--tensor-parallel-size / --tp-size 张量并行 GPU 数量 1(默认),根据 GPU 数量设置(如 --tp 2
--pipeline-parallel-size / --pp-size 流水线并行阶段数 1(默认),长上下文场景可设为 2-4
--data-parallel-size / --dp-size 数据并行 GPU 数量 1(默认),内存充足时设为 2-4
--nnodes 分布式节点数量 1(默认),多节点部署设为 2+
--node-rank 节点排名 0(主节点),其他节点设为 1,2,...
--dist-init-addr / --nccl-init-addr 分布式初始化地址(如 192.168.0.2:25000 主节点 IP 和端口
--enable-p2p-check 启用 GPU P2P 检查(解决多 GPU 问题) false(默认),若报错 "peer access not supported" 设为 true

💾 内存与调度

参数 用途说明 推荐值/使用建议
--mem-fraction-static 静态内存(权重 + KV Cache)占比 0.9(默认),OOM 时降至 0.7
--max-running-requests 最大并发请求数 自动计算,通常不设
--max-queued-requests 最大排队请求数 自动计算,通常不设
--chunked-prefill-size 分块预填充大小(防长 prompt OOM) 4096(推荐),设为 -1 禁用
--max-prefill-tokens 预填充最大 token 数 16384(默认)
--schedule-policy 请求调度策略:fcfs(默认)、lpmrandomdfs-weightlofpriority fcfs(默认),高优先级用 priority
--enable-priority-scheduling 启用优先级调度 false(默认),需配合 --schedule-policy priority
--schedule-low-priority-values-first 低优先级请求优先调度 false(默认),默认高优先级先调度
--page-size KV 缓存页面大小 1(默认)

🔢 量化与数据类型

参数 用途说明 推荐值/使用建议
--dtype 模型计算精度:auto(默认,FP16/BF16)、halffloat16bfloat16floatfloat32 auto(推荐)
--quantization 量化方法:awqfp8gptqmarlinbitsandbytesgguf fp8(显存节省,需 CUDA 11.8+)
--kv-cache-dtype KV 缓存数据类型:autofp8_e5m2fp8_e4m3 fp8_e5m2(推荐,节省显存)
--enable-fp32-lm-head LM 头输出为 FP32(提升精度) false(默认)
--torchao-config torchao 量化配置:int4wo-128int8wofp8wo int4wo-128(实验性,小模型有效)

🚀 性能优化

参数 用途说明 推荐值/使用建议
--attention-backend 注意力内核后端:tritontorch_nativeflex_attentionflashinferfa3fa4 flashinfer(高性能)
--prefill-attention-backend 预填充注意力后端 通常同 --attention-backend
--decode-attention-backend 解码注意力后端 通常同 --attention-backend
--sampling-backend 采样内核后端:flashinferpytorchascend flashinfer(推荐)
--enable-torch-compile 启用 torch.compile 加速 false(默认),小模型 + 小 batch 有效
--enable-deterministic-inference 启用确定性推理(结果可复现) false(默认),调试时启用
--disable-cuda-graph 禁用 CUDA Graph(解决多节点死锁) false(默认),多节点 TP 死锁时设为 true
--num-continuous-decode-steps 连续解码步骤数 1(默认),设为 2-4 提升吞吐
--enable-mixed-chunk 启用混合分块(prefill + decode) false(默认)

📊 日志与监控

参数 用途说明 推荐值/使用建议
--log-level 日志级别:debuginfowarningerror info(默认)
--log-requests 记录请求输入输出 false(默认),调试时设为 true
--log-requests-level 请求日志详细级别:0(元数据)、1(采样参数)、2(部分输入/输出)、3(完整输入/输出) 2(默认)
--enable-metrics 启用 Prometheus 指标 false(默认),生产环境建议启用
--enable-metrics-for-all-schedulers 为所有调度器启用指标 false(默认),DP 注意力启用时设为 true
--crash-dump-folder 崩溃前 5 分钟请求 dump 目录 用于故障排查
--enable-trace 启用 OpenTelemetry 跟踪 false(默认)

🧠 高级功能

参数 用途说明 推荐值/使用建议
--enable-lora 启用 LoRA 支持 false(默认),需配合 --lora-paths
--lora-paths LoRA 适配器路径列表 ["lora_path1", "lora_path2"]
--enable-hierarchical-cache 启用分层 KV 缓存(CPU-GPU) false(默认),显存不足时启用
--hicache-ratio 主机 KV 缓存内存池比例 2.0(默认)
--speculative-algorithm 推测解码算法:EAGLEEAGLE3NEXTNSTANDALONENGRAM EAGLE(推荐)
--speculative-draft-model-path 草稿模型路径 meta-llama/Meta-Llama-3-8B(需搭配主模型)
--enable-lmcache 使用 LMCache 作为分层缓存 false(默认)
--enable-double-sparsity 启用双稀疏注意力 false(默认)
--enable-pdmux 启用 PD-Multiplexing false(默认)

📄 配置文件与部署

参数 用途说明 推荐值/使用建议
--config 从 YAML 配置文件加载参数 config.yaml(推荐生产环境使用)
--enable-priority-scheduling 启用优先级调度 false(默认)
--max-loras-per-batch 单批最大 LoRA 数 8(默认)
--max-loaded-loras 最大加载的 LoRA 数 >= --max-loras-per-batch

⚠️ 重要提示

  1. OOM 问题 :若出现内存不足错误,优先尝试:
    • 降低 --mem-fraction-static(如 0.7
    • 启用 --chunked-prefill-size 4096
    • 减少 --max-running-requests
  2. 多 GPU 部署
    • 先用 --tp(张量并行),再考虑 --dp(数据并行)
    • 多节点部署需配合 --nnodes--node-rank--dist-init-addr
  3. 生产环境建议
    • 启用 --enable-metrics
    • 设置 --api-key
    • 使用 --config 配置文件管理参数
    • 适当调整 --mem-fraction-static 以平衡吞吐和内存
  4. 性能优化
    • 对于大模型,优先使用 --attention-backend flashinfer
    • 小模型 + 小 batch 可尝试 --enable-torch-compile
    • 长上下文场景考虑 --enable-hierarchical-cache

📌 注意:以上参数值为推荐值,实际使用中需根据具体硬件、模型和负载进行调整。建议从默认参数开始,逐步优化。

相关推荐
Leinwin4 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_865382504 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇4 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.7594 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣5 小时前
智能体选型实战指南
运维·人工智能
yy55275 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ6 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔7 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密7 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi20157 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑