服务器参数#
本页提供了命令行中用于配置语言模型服务器在部署期间的行为和性能的服务器参数列表。这些参数使用户能够自定义服务器的关键方面,包括模型选择、并行策略、内存管理和优化技术。
您可以通过 python3 -m sglang.launch_server --help 查找所有参数。
常用启动命令#
使用配置文件,创建一个包含服务器参数的 YAML 文件,并通过
--config指定它。CLI 参数将覆盖配置文件中的值。# 创建 config.yaml cat > config.yaml << EOF model-path: meta-llama/Meta-Llama-3-8B-Instruct host: 0.0.0.0 port: 30000 tensor-parallel-size: 2 enable-metrics: true log-requests: true EOF # 使用配置文件启动服务器 python -m sglang.launch_server --config config.yaml
启用多 GPU 张量并行,添加
--tp 2。如果报告"这两个设备之间不支持对等访问"的错误,请在服务器启动命令中添加--enable-p2p-check。python -m sglang.launch_server --model-path meta-llama/Meta-Llama-3-8B-Instruct --tp 2
启用多 GPU 数据并行,添加
--dp 2。如果有足够的内存,数据并行对吞吐量更好。它也可以与张量并行一起使用。以下命令总共使用 4 个 GPU。我们推荐 SGLang Router 用于数据并行。python -m sglang_router.launch_server --model-path meta-llama/Meta-Llama-3-8B-Instruct --dp 2 --tp 2
如果在服务过程中看到内存不足错误,请尝试通过设置较小的
--mem-fraction-static值来减少 KV 缓存池的内存使用。默认值是0.9。python -m sglang.launch_server --model-path meta-llama/Meta-Llama-3-8B-Instruct --mem-fraction-static 0.7
有关调整超参数以获得更好性能的信息,请参见超参数调优。
对于 Docker 和 Kubernetes 运行,您需要设置用于进程间通信的共享内存。请参见 Docker 的
--shm-size和 Kubernetes 清单的/dev/shm大小更新。如果在长提示的前填充过程中看到内存不足错误,请尝试设置较小的分块前填充大小。
python -m sglang.launch_server --model-path meta-llama/Meta-Llama-3-8B-Instruct --chunked-prefill-size 4096
启用
torch.compile加速,添加--enable-torch-compile。它能在小批量大小下加速小模型。默认情况下,缓存路径位于/tmp/torchinductor_root,您可以使用环境变量TORCHINDUCTOR_CACHE_DIR进行自定义。更多详情,请参考 PyTorch 官方文档 和 为 torch.compile 启用缓存。启用 torchao 量化,添加
--torchao-config int4wo-128。它也支持其他量化策略 (INT8/FP8)。启用 fp8 权重量化,在 fp16 检查点上添加
--quantization fp8或直接加载 fp8 检查点,无需指定任何参数。启用 fp8 kv 缓存量化,添加
--kv-cache-dtype fp8_e5m2。启用确定性推理和批处理不变操作,添加
--enable-deterministic-inference。更多详情请参见确定性推理文档。如果模型的 Hugging Face 分词器中没有聊天模板,您可以指定自定义聊天模板。
在多个节点上运行张量并行,添加
--nnodes 2。如果您有两个节点,每个节点有两个 GPU,并且想要运行 TP=4,让sgl-dev-0是第一个节点的主机名,50000是可用端口,您可以使用以下命令。如果遇到死锁,请尝试添加--disable-cuda-graph# 节点 0 python -m sglang.launch_server \ --model-path meta-llama/Meta-Llama-3-8B-Instruct \ --tp 4 \ --dist-init-addr sgl-dev-0:50000 \ --nnodes 2 \ --node-rank 0 # 节点 1 python -m sglang.launch_server \ --model-path meta-llama/Meta-Llama-3-8B-Instruct \ --tp 4 \ --dist-init-addr sgl-dev-0:50000 \ --nnodes 2 \ --node-rank 1
请参阅下面的文档和 server_args.py 以了解启动服务器时可以提供的参数。
模型和分词器#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
模型权重的路径。这可以是本地文件夹或 Hugging Face 仓库 ID。 |
|
类型: str |
|
分词器的路径。 |
|
类型: str |
|
分词器模式。"auto" 将在可用时使用快速分词器,"slow" 将始终使用慢速分词器。 |
|
|
|
分词器管理器的工作器数量。 |
|
类型: int |
|
如果设置,则跳过初始化分词器并在生成请求中传递 input_ids。 |
|
bool 标志 (设置以启用) |
|
要加载的模型权重的格式。"auto" 将尝试以 safetensors 格式加载权重,如果 safetensors 格式不可用,则回退到 pytorch bin 格式。"pt" 将以 pytorch bin 格式加载权重。"safetensors" 将以 safetensors 格式加载权重。"npcache" 将以 pytorch 格式加载权重并存储 numpy 缓存以加快加载速度。"dummy" 将使用随机值初始化权重,主要用于性能分析。"gguf" 将以 gguf 格式加载权重。"bitsandbytes" 将使用 bitsandbytes 量化加载权重。"layered" 逐层加载权重,以便在加载另一个层之前可以量化一层,以减少峰值内存占用。 |
|
|
|
模型加载器的额外配置。这将传递给与所选 load_format 对应的模型加载器。 |
|
类型: str |
|
是否允许 Hub 上自定义的、在它们自己的建模文件中定义的模型。 |
|
bool 标志 (设置以启用) |
|
模型的最大上下文长度。默认为 None (将使用模型 config.json 中的值)。 |
|
类型: int |
|
是否将 CausalLM 用作嵌入模型。 |
|
bool 标志 (设置以启用) |
|
为所服务的模型启用多模态功能。如果所服务的模型不是多模态的,则不会发生任何操作 |
|
bool 标志 (设置以启用) |
|
要使用的特定模型版本。它可以是分支名称、标签名称或提交 ID。如果未指定,将使用默认版本。 |
|
类型: str |
|
使用模型的哪个实现。"auto" 将尝试使用 SGLang 实现(如果存在),如果没有 SGLang 实现,则回退到 Transformers 实现。"sglang" 将使用 SGLang 模型实现。*"transformers" 将使用 Transformers 模型实现。 |
|
类型: str |
HTTP 服务器#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
HTTP 服务器的地址。 |
|
类型: str |
|
HTTP 服务器的端口。 |
|
类型: int |
|
如果设置,则跳过预热。 |
|
bool 标志 (设置以启用) |
|
指定要在服务器启动前运行的自定义预热函数 (csv),例如 --warmups=warmup_name1,warmup_name2 将在服务器开始监听请求之前运行 warmup.py 中指定的函数 |
|
类型: str |
|
NCCL 分布式环境设置的端口。默认为随机端口。 |
|
类型: int |
量化和数据类型#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
模型权重和激活的数据类型。"auto" 对 FP32 和 FP16 模型使用 FP16 精度,对 BF16 模型使用 BF16 精度。"half" 表示 FP16。推荐用于 AWQ 量化。"float16" 与 "half" 相同。"bfloat16" 用于平衡精度和范围。"float" 是 FP32 精度的简写。"float32" 表示 FP32 精度。 |
|
|
|
量化方法。 |
|
|
|
包含 KV 缓存缩放因子的 JSON 文件路径。通常应在 KV 缓存数据类型为 FP8 时提供。否则,KV 缓存缩放因子默认为 1.0,这可能会导致精度问题。 |
|
类型: Optional[str] |
|
ModelOpt 量化配置。支持的值:"fp8", "int4_awq", "w4a8_awq", "nvfp4", "nvfp4_awq"。这需要安装 NVIDIA Model Optimizer 库:pip install nvidia-modelopt |
|
类型: str |
|
恢复先前保存的 ModelOpt 量化检查点的路径。如果提供,将跳过量化过程,并将从此检查点加载模型。 |
|
类型: str |
|
量化后保存 ModelOpt 量化检查点的路径。这允许在将来的运行中重用量化模型。 |
|
类型: str |
|
KV 缓存存储的数据类型。"auto" 将使用模型数据类型。"fp8_e5m2" 和 "fp8_e4m3" 支持 CUDA 11.8+。 |
|
|
|
如果设置,LM 输出 (logits) 将为 FP32 格式。 |
|
bool 标志 (设置以启用) |
内存和调度#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
用于静态分配(模型权重和 KV 缓存内存池)的内存比例。如果您看到内存不足错误,请使用较小的值。 |
|
类型: float |
|
最大运行请求数。 |
|
类型: int |
|
最大排队请求数。使用分离模式时,此选项将被忽略。 |
|
类型: int |
|
内存池中的最大令牌数。如果未指定,将根据内存使用比例自动计算。此选项通常用于开发和调试目的。 |
|
类型: int |
|
分块前填充中一个块的最大令牌数。将其设置为 -1 表示禁用分块前填充。 |
|
类型: int |
|
一个前填充批次中的最大令牌数。实际界限将是此值和模型最大上下文长度中的较大者。 |
|
类型: int |
|
请求的调度策略。 |
|
|
|
启用优先级调度。默认情况下,优先级整数值较高的请求将首先被调度。 |
|
bool 标志 (设置以启用) |
|
如果与 --enable-priority-scheduling 一起指定,调度程序将首先安排优先级整数值较低的请求。 |
|
bool 标志 (设置以启用) |
|
传入请求必须抢占运行请求的最小优先级差异。 |
|
类型: int |
|
调度策略有多保守。较大的值表示更保守的调度。如果您看到请求被频繁撤回,请使用较大的值。 |
|
类型: float |
|
一个页面中的令牌数量。 |
|
类型: int |
|
[0,1] 中统一和混合 kv 缓冲区的混合比例 (0.0 = 纯统一: swa_size / full_size = 1)(1.0 = 纯混合: swa_size / full_size = local_attention_size / context_length) |
|
Optional[float] |
|
SWA 层 KV 令牌 / 完整层 KV 令牌的比例,无论 swa:full 层的数量如何。它应该在 0 和 1 之间。例如,0.5 表示如果每个 swa 层有 50 个令牌,则每个完整层有 100 个令牌。 |
|
类型: float |
|
禁用混合 SWA 内存。 |
|
bool 标志 (设置以启用) |
运行时选项#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
要使用的设备 ('cuda', 'xpu', 'hpu', 'npu', 'cpu')。如果未指定,默认为自动检测。 |
|
类型: str |
|
选择弹性 EP 的集体通信后端。目前支持 'mooncake'。 |
None |
N/A |
|
Mooncake 后端的 InfiniBand 设备,接受多个逗号分隔的设备。默认为 None,当启用 Mooncake 后端时触发自动设备检测。 |
None |
N/A |
|
张量并行大小。 |
|
类型: int |
|
流水线并行大小。 |
|
类型: int |
|
流水线并行中的最大微批次大小。 |
|
类型: int |
|
流式传输的间隔(或缓冲区大小),以令牌长度为单位。较小的值使流式传输更平滑,而较大的值使吞吐量更高 |
|
类型: int |
|
是否作为不相交段的序列输出。 |
|
bool 标志 (设置以启用) |
|
随机种子。 |
|
类型: int |
|
(仅限 outlines 和 llguidance 后端) JSON 约束输出中允许的语法空格的正则表达式模式。例如,要允许模型生成连续空格,请将模式设置为 [\n\t ]* |
|
类型: str |
|
(仅限 xgrammar 和 llguidance 后端) 强制 JSON 约束输出采用紧凑表示。 |
|
bool 标志 (设置以启用) |
|
设置看门狗超时(秒)。如果一个前向批次花费的时间超过此值,服务器将崩溃以防止挂起。 |
|
类型: float |
|
设置 torch.distributed 初始化的超时。 |
|
类型: int |
|
huggingface 的模型下载目录。 |
|
类型: str |
|
开始分配 GPU 的基础 GPU ID。在同一台机器上运行多个实例时很有用。 |
|
类型: int |
|
使用的连续 GPU ID 之间的增量。例如,设置为 2 将使用 GPU 0,2,4,... |
|
类型: int |
|
当 sglang 空闲时减少 CPU 使用率。 |
|
bool 标志 (设置以启用) |
|
多模态预处理配置的 JSON 字符串。它可以包含键: |
|
日志#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
所有日志记录器的日志级别。 |
|
类型: str |
|
HTTP 服务器的日志级别。如果未设置,默认重用 --log-level。 |
|
类型: str |
|
记录所有请求的元数据、输入、输出。详细程度由 --log-requests-level 决定 |
|
bool 标志 (设置以启用) |
|
0: 记录元数据(无采样参数)。1: 记录元数据和采样参数。2: 记录元数据、采样参数和部分输入/输出。3: 记录每个输入/输出。 |
|
|
|
转储崩溃前最后 5 分钟请求的文件夹路径(如果有)。如果未指定,则禁用崩溃转储。 |
|
类型: str |
|
在 nan logprobs 时使服务器崩溃。 |
|
类型: str |
|
显示自定义标记的时间成本。 |
|
bool 标志 (设置以启用) |
|
启用记录 prometheus 指标。 |
|
bool 标志 (设置以启用) |
|
当您希望所有 TP 等级(不仅仅是 TP 0)上的调度程序分别记录请求指标时,启用 --enable-metrics-for-all-schedulers。这在启用 dp_attention 时特别有用,否则所有指标似乎都来自 TP 0。 |
|
bool 标志 (设置以启用) |
|
指定用于传递分词器指标的自定义标签的 HTTP 标头。 |
|
类型: str |
|
分词器指标允许的自定义标签。标签通过 HTTP 请求中 '--tokenizer-metrics-custom-labels-header' 字段中的 dict 指定,例如,如果设置了 '--tokenizer-metrics-allowed-custom-labels label1 label2',则允许 {'label1': 'value1', 'label2': 'value2'}。 |
|
List[str] |
|
到第一个令牌的时间桶,指定为浮点数列表。 |
|
List[float] |
|
令牌间延迟的桶,指定为浮点数列表。 |
|
List[float] |
|
端到端请求延迟的桶,指定为浮点数列表。 |
|
List[float] |
|
收集提示/生成令牌直方图。 |
|
bool 标志 (设置以启用) |
|
提示令牌的桶规则。支持 3 种规则类型:"default" 使用预定义的桶;"tse |
|
List[str] |
|
生成令牌直方图的桶规则。支持 3 种规则类型:"default" 使用预定义的桶;"tse |
|
List[str] |
|
长时间 GC 警告的阈值。如果 GC 花费的时间超过此值,将记录警告。设置为 0 以禁用。 |
|
类型: float |
|
解码批次的日志记录间隔。 |
|
类型: int |
|
启用每个请求时间统计记录 |
|
bool 标志 (设置以启用) |
|
NVIDIA dynamo KV 发布的 json 格式配置。如果使用此标志,将启用发布。 |
|
类型: str |
|
启用 opentelemetry 跟踪 |
|
bool 标志 (设置以启用) |
|
如果设置了 --enable-trace,配置 opentelemetry 收集器端点。格式: |
|
类型: str |
API 相关#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
设置服务器的 API 密钥。它也用于 OpenAI API 兼容服务器。 |
|
类型: str |
|
覆盖 OpenAI API 服务器中 v1/models 端点返回的模型名称。 |
|
类型: str |
|
模型权重的版本标识符。如果未指定,默认为 "default"。 |
|
类型: str |
|
|
类型: str |
|
|
|
类型: str |
|
|
后端文件存储的路径。 |
|
类型: str |
|
在每个 openai 请求的 usage.prompt_tokens_details 中返回缓存令牌数。 |
|
bool 标志 (设置以启用) |
|
指定推理模型的解析器。支持的解析器:[deepseek-r1, deepseek-v3, glm45, gpt-oss, kimi, qwen3, qwen3-thinking, step3]。 |
|
|
|
指定处理工具调用交互的解析器。支持的解析器:[deepseekv3, deepseekv31, glm, glm45, gpt-oss, kimi_k2, llama3, mistral, pythonic, qwen, qwen25, qwen3_coder, step3]。 |
|
|
|
|
|
|
|
"demo" 或逗号分隔的工具服务器 URL 列表,用于模型。如果未指定,则不使用任何工具服务器。 |
|
类型: str |
数据并行#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
数据并行大小。 |
|
类型: int |
|
数据并行性的负载均衡策略。最小令牌算法只能在应用 DP 注意力时使用。该算法基于 DP 工作器的实时令牌负载进行负载均衡。 |
|
|
|
负载监控的间隔(秒)。 |
|
类型: float |
|
前填充是轮询平衡的。这用于确保解码服务器可以获得正确的 dp 等级。 |
|
bool 标志 (设置以启用) |
多节点分布式服务#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
初始化分布式后端的主机地址(例如 |
|
类型: str |
|
节点数。 |
|
类型: int |
|
节点等级。 |
|
类型: int |
模型覆盖参数#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
JSON 字符串格式的字典,用于覆盖默认模型配置。 |
|
类型: str |
|
在 /get_model_info 中返回的 json 格式采样设置 |
|
类型: str |
LoRA#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
为模型启用 LoRA 支持。为向后兼容,如果提供了 |
|
Bool 标志 (设置以启用) |
|
应支持的最大 LoRA 等级。如果未指定,将从 |
|
类型: int |
|
应应用 LoRA 的所有目标模块的并集集(例如, |
|
|
|
要加载的 LoRA 适配器列表。每个适配器必须以以下格式之一指定: |
|
类型: List[str] / JSON 对象 |
|
一个运行批次的最大适配器数,包括仅基线请求。 |
|
类型: int |
|
如果指定,限制一次在 CPU 内存中加载的 LoRA 适配器的最大数量。必须 ≥ |
|
类型: int |
|
当 GPU 内存池已满时的 LoRA 适配器逐出策略。 |
|
|
|
为多 LoRA 服务选择内核后端。 |
|
|
|
ChunkedSGMV LoRA 后端的最大块大小。仅当 |
|
|
内核后端#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
为注意力层选择内核。 |
|
|
|
为前填充注意力层选择内核(优先于 --attention-backend)。 |
|
|
|
为解码注意力层选择内核(优先于 --attention-backend)。 |
|
|
|
为采样层选择内核。 |
|
|
|
为语法引导解码选择后端。 |
|
|
|
设置多模态注意力后端。 |
|
|
|
选择前填充阶段的 NSA 后端(运行 DeepSeek NSA 样式注意力时覆盖 |
|
|
|
运行 DeepSeek NSA 样式注意力时选择解码阶段的 NSA 后端。覆盖解码的 --attention-backend。 |
|
|
推理解码#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
推理算法。 |
|
|
|
草稿模型权重的路径。这可以是本地文件夹或 Hugging Face 仓库 ID。 |
|
类型: str |
|
要使用的特定草稿模型版本。它可以是分支名称、标签名称或提交 ID。如果未指定,将使用默认版本。 |
|
类型: str |
|
推理解码中从草稿模型采样的步数。 |
|
类型: int |
|
每个步骤中从草稿模型采样的令牌数(在 eagle2 中)。 |
|
类型: int |
|
推理解码中从草稿模型采样的令牌数。 |
|
类型: int |
|
如果目标模型中的概率大于此阈值,则接受草稿令牌。 |
|
类型: float |
|
草稿令牌的接受概率从其目标概率 p 提升到 min(1, p / threshold_acc)。 |
|
类型: float |
|
草稿模型的小词汇表的路径。 |
|
类型: str |
|
推理解码操作(目标验证和草稿扩展)的注意力后端。可以是 "prefill"(默认)或 "decode" 之一。 |
|
|
|
EAGLE 推理解码的 MOE 后端,选项请参见 --moe-runner-backend。如果未设置,则与 MOE 运行后端相同。 |
None |
N-gram 推理解码#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
n-gram 推理解码中模式匹配的最小窗口大小。 |
|
类型: int |
|
n-gram 推理解码中模式匹配的最大窗口大小。 |
|
类型: int |
|
n-gram 推理解码中 BFS(广度优先搜索)的最小广度。 |
|
类型: int |
|
n-gram 推理解码中 BFS(广度优先搜索)的最大广度。 |
|
类型: int |
|
缓存树的匹配类型。 |
|
|
|
n-gram 推理解码的分支长度。 |
|
类型: int |
|
n-gram 推理解码的缓存容量。 |
|
类型: int |
专家并行#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
专家并行大小。 |
|
类型: int |
|
选择专家并行的 all-to-all 通信后端。 |
|
|
|
为 MoE 选择运行程序后端。 |
|
|
|
选择 flashinfer mxfp4 moe 的计算精度 |
|
|
|
启用 FlashInfer allreduce 与 Residual RMSNorm 的融合。 |
|
bool 标志 (设置以启用) |
|
选择启用 DeepEP MoE 时的模式,可以是 "normal", "low_latency" 或 "auto"。默认为 "auto",这意味着对于解码批处理为 "low_latency",对于前填充批处理为 "normal"。 |
|
|
|
在专家并行中分配此数量的冗余专家。 |
|
类型: int |
|
选择专家并行中冗余专家等级的算法。 |
|
类型: str |
|
EP 专家的初始位置。 |
|
类型: str |
|
启用 EPLB 算法 |
|
bool 标志 (设置以启用) |
|
选择的 EPLB 算法 |
|
类型: str |
|
自动触发 EPLB 重新平衡的迭代次数。 |
|
类型: int |
|
每个前向传递重新平衡的层数。 |
|
类型: int |
|
触发 EPLB 重新平衡的 GPU 平均利用率的最小阈值。必须在范围 [0.0, 1.0] 内。 |
|
类型: float |
|
专家分布记录器的模式。 |
|
类型: str |
|
专家分布记录器的循环缓冲区大小。设置为 -1 表示无限缓冲区。 |
|
类型: int |
|
启用专家平衡性指标的日志记录 |
|
bool 标志 (设置以启用) |
|
适合您自己集群的调整过的 DeepEP 配置。它可以包含 JSON 内容的字符串或文件路径。 |
|
类型: str |
|
MoE 密集 MLP 层的 TP 大小。当较大的 TP 大小时,如果 MLP 层中的权重维度小于 GEMM 支持的最小维度导致的错误,此标志很有用。 |
|
类型: int |
Mamba 缓存#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
mamba 缓存的最大大小。 |
|
类型: int |
|
mamba 缓存中 SSM 状态的数据类型。 |
|
|
|
mamba 状态内存与完整 kv 缓存内存的比率。 |
|
类型: float |
多项评分参数#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
多项评分的分隔符令牌 ID。用于将查询和项目合并为单个序列:Query |
|
类型: int |
分层缓存#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
启用分层缓存 |
|
bool 标志 (设置以启用) |
|
主机 KV 缓存内存池大小与设备池大小的比率。 |
|
类型: float |
|
主机 KV 缓存内存池的大小(以 GB 为单位),如果设置将覆盖 hicache_ratio。 |
|
类型: int |
|
分层缓存的写入策略。 |
|
|
|
基数树的逐出策略。"lru" 表示最近最少使用,"lfu" 表示最近最少使用。 |
|
|
|
KV 缓存在 CPU 和 GPU 之间传输的 IO 后端 |
|
|
|
分层缓存的主机内存池布局。 |
|
|
|
分层 KV 缓存的存储后端。内置后端:file, mooncake, hf3fs, nixl, aibrix。对于动态后端,使用 --hicache-storage-backend-extra-config 指定:backend_name(自定义名称),module_path(Python 模块路径),class_name(后端类名)。 |
|
|
|
控制何时停止从存储后端预取。 |
|
|
|
包含存储后端额外配置的 JSON 字符串格式的字典。 |
|
类型: str |
LMCache#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
使用 LMCache 作为替代的分层缓存解决方案 |
|
bool 标志 (设置以启用) |
双稀疏#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
启用双稀疏注意力 |
|
bool 标志 (设置以启用) |
|
双稀疏通道配置的路径 |
|
类型: str |
|
双稀疏注意力中的重通道数 |
|
类型: int |
|
双稀疏注意力中的重令牌数 |
|
类型: int |
|
双稀疏注意力中重通道的类型 |
|
类型: str |
|
双稀疏后端从密集回退切换到稀疏解码内核所需的最小解码序列长度。 |
|
类型: int |
卸载#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
为 CPU 卸载保留多少 GB RAM。 |
|
类型: int |
|
卸载中每组的层数。 |
|
类型: int |
|
卸载中一组内要卸载的层数。 |
|
类型: int |
|
卸载中的预取步数。 |
|
类型: int |
|
卸载模式。 |
|
类型: str |
优化/调试选项#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
为前缀缓存禁用 RadixAttention。 |
|
bool 标志 (设置以启用) |
|
设置 cuda 图的最大批次大小。它将把 cuda 图捕获批次大小扩展到此值。 |
|
类型: int |
|
设置 cuda 图的批次大小列表。 |
|
List[int] |
|
禁用 cuda 图。 |
|
bool 标志 (设置以启用) |
|
当需要填充时禁用 cuda 图。不需要填充时仍使用 cuda 图。 |
|
bool 标志 (设置以启用) |
|
启用 cuda 图捕获的性能分析。 |
|
bool 标志 (设置以启用) |
|
在 CUDA 图捕获期间启用垃圾回收。如果禁用(默认),在捕获期间冻结 GC 以加快进程速度。 |
|
bool 标志 (设置以启用) |
|
在可用时为前填充重请求启用 NCCL NVLS。 |
|
bool 标志 (设置以启用) |
|
启用 NCCL 对称内存用于快速集合操作。 |
|
bool 标志 (设置以启用) |
|
禁用 flashinfer cutlass moe 的 all-gather 前量化。 |
|
bool 标志 (设置以启用) |
|
处理多个文本输入时启用批处理分词以提高性能。不要与图像输入、预分词的 input_ids 或 input_embeds 一起使用。 |
|
bool 标志 (设置以启用) |
|
禁用 outlines 的磁盘缓存,以避免可能由文件系统或高并发引起的崩溃。 |
|
bool 标志 (设置以启用) |
|
禁用自定义 all-reduce 核心并回退到 NCCL。 |
|
bool 标志 (设置以启用) |
|
启用使用 mscclpp 进行小消息的 all-reduce 核心并回退到 NCCL。 |
|
bool 标志 (设置以启用) |
|
启用使用 torch symm mem 进行 all-reduce 核心并回退到 NCCL。仅支持 CUDA 设备 SM90 及以上版本。SM90 支持 world size 4、6、8。SM10 支持 world size 6、8。 |
|
bool 标志 (设置以启用) |
|
禁用重叠调度程序,该调度程序重叠 CPU 调度程序与 GPU 模型工作程序。 |
|
bool 标志 (设置以启用) |
|
使用分块前填充时在批次中混合前填充和解码。 |
|
bool 标志 (设置以启用) |
|
为注意力启用数据并行,为 FFN 启用张量并行。dp 大小应等于 tp 大小。目前支持 DeepSeek-V2 和 Qwen 2/3 MoE 模型。 |
|
bool 标志 (设置以启用) |
|
在注意力 TP 组内启用词汇表并行,以避免跨 DP 组的 all-gather,优化 DP attention 下的性能。 |
|
bool 标志 (设置以启用) |
|
启用两个微批次重叠。 |
|
bool 标志 (设置以启用) |
|
让一个微批次内的计算和通信重叠。 |
|
bool 标志 (设置以启用) |
|
微批次重叠中两个批次之间的令牌分布阈值,决定是使用两批次重叠还是两块重叠。设置为 0 表示禁用两块重叠。 |
|
类型: float |
|
使用 torch.compile 优化模型。实验性功能。 |
|
bool 标志 (设置以启用) |
|
为 torch compile 启用调试模式。 |
|
bool 标志 (设置以启用) |
|
使用分段 cuda 图仅优化扩展/前填充。实验性功能。 |
|
bool 标志 (设置以启用) |
|
设置使用分段 cuda 图时的令牌列表。 |
|
类型: JSON 列表 |
|
设置使用 torch compile 时的最大批次大小。 |
|
类型: int |
|
设置使用分段 cuda 图时的最大令牌数。 |
|
类型: int |
|
使用 torchao 优化模型。实验性功能。当前选择:int8dq, int8wo, int4wo-<group_size>, fp8wo, fp8dq-per_tensor, fp8dq-per_row |
`` |
类型: str |
|
启用 NaN 检测以用于调试目的。 |
|
bool 标志 (设置以启用) |
|
启用 GPU 访问的 P2P 检查,否则默认允许 p2p 访问。 |
|
bool 标志 (设置以启用) |
|
将中间注意力结果转换为 fp32 以避免与 fp16 相关的潜在崩溃。这仅影响 Triton 注意力内核。 |
|
bool 标志 (设置以启用) |
|
闪存解码 Triton 内核中的 KV 分裂数量。在更长上下文场景中,较大的值更好。默认值为 8。 |
|
类型: int |
|
闪存解码 Triton 内核中分割 KV 瓦片的大小。用于确定性推理。 |
|
类型: int |
|
运行多个连续解码步骤以减少调度开销。这可能会增加吞吐量,但也可能增加首个令牌时间延迟。默认值为 1,表示一次只运行一个解码步骤。 |
|
类型: int |
|
加载模型后删除模型检查点。 |
|
bool 标志 (设置以启用) |
|
允许使用 release_memory_occupation 和 resume_memory_occupation 节省内存 |
|
bool 标志 (设置以启用) |
|
在 release_weights_occupation 和 resume_weights_occupation 期间将模型权重保存到 CPU 内存 |
|
bool 标志 (设置以启用) |
|
允许自动截断超过最大输入长度的请求,而不是返回错误。 |
|
bool 标志 (设置以启用) |
|
启用用户将自定义 logit 处理器传递给服务器(默认为禁用以增强安全性) |
|
bool 标志 (设置以启用) |
|
运行 flashinfer mla 时不使用 ragged prefill 包装器 |
|
bool 标志 (设置以启用) |
|
为 deepseek v3/r1 禁用共享专家融合优化。 |
|
bool 标志 (设置以启用) |
|
为 deepseek 禁用分块前缀缓存功能,这应该为短序列节省开销。 |
|
bool 标志 (设置以启用) |
|
采用基础图像处理器而不是快速图像处理器。 |
|
bool 标志 (设置以启用) |
|
处理后保持多模态特征张量在设备上,以节省 D2H 复制。 |
|
bool 标志 (设置以启用) |
|
启用返回带有响应的隐藏状态。 |
|
bool 标志 (设置以启用) |
|
调度程序中轮询请求的间隔。可以设置为 >1 以减少此开销。 |
|
类型: int |
|
为子进程设置 numa 节点。第 i 个元素对应于第 i 个子进程。 |
|
List[int] |
|
为模型启用逐层 NVTX 性能分析注释。这为每个层添加 NVTX 标记,以便使用 Nsight Systems 进行详细的逐层性能分析。 |
|
bool 标志 (设置以启用) |
|
仅在使用张量并行时允许注意力的输入分散,以减少诸如 qkv 潜在值等操作的计算负载。 |
|
bool 标志 (设置以启用) |
|
DeepSeek v3.2 长序列前填充阶段中使用的上下文并行 |
|
bool 标志 (设置以启用) |
前向钩子#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
JSON 格式的钩子规范列表。每个元素必须包含 |
|
类型: JSON 列表 |
调试张量转储#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
转储张量的输出文件夹。 |
|
类型: str |
|
转储张量的输入文件名 |
|
类型: str |
|
将 jax 的输出作为每一层的输入注入。 |
|
类型: str |
|
启用异步动态批处理分词器,以便在多个请求并发到达时提高性能。 |
|
bool 标志 (设置以启用) |
|
[仅在设置了 --enable-dynamic-batch-tokenizer 时使用] 动态批处理分词器的最大批次大小。 |
|
类型: int |
|
[仅在设置了 --enable-dynamic-batch-tokenizer 时使用] 分词请求批处理的超时(秒)。 |
|
类型: float |
PD 分离#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
仅用于 PD 分离。"prefill" 表示仅前填充服务器,"decode" 表示仅解码服务器。如果未指定,则不是 PD 分离的 |
|
|
|
分离传输的后端。默认是 mooncake。 |
|
|
|
前填充服务器上的引导服务器端口。默认是 8998。 |
|
类型: int |
|
解码 tp 大小。如果未设置,则匹配当前引擎的 tp 大小。这仅在前填充服务器上设置。 |
|
类型: int |
|
解码 dp 大小。如果未设置,则匹配当前引擎的 dp 大小。这仅在前填充服务器上设置。 |
|
类型: int |
|
前填充 pp 大小。如果未设置,默认为 1。这仅在解码服务器上设置。 |
|
类型: int |
|
分离传输的 InfiniBand 设备,接受单个设备(例如,--disaggregation-ib-device mlx5_0)或多个逗号分隔的设备(例如,--disaggregation-ib-device mlx5_0,mlx5_1)。默认为 None,当启用 mooncake 后端时触发自动设备检测。 |
|
类型: str |
|
在解码服务器上启用异步 KV 缓存卸载(PD 模式)。 |
|
bool 标志 (设置以启用) |
|
当将新请求添加到运行批次时,将有内存保留的解码令牌数。 |
|
类型: int |
|
解码服务器中轮询请求的间隔。可以设置为 >1 以减少此开销。 |
|
类型: int |
自定义权重加载器#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
用于更新模型的自定义数据加载器。应与有效的导入路径一起设置,例如 my_package.weight_load_func |
|
List[str] |
|
使用 safetensors 加载权重时禁用 mmap。 |
|
bool 标志 (设置以启用) |
|
从远程实例加载权重的种子实例的 IP。 |
|
类型: str |
|
从远程实例加载权重的种子实例的服务端口。 |
|
类型: int |
|
从远程实例加载权重的通信组端口。 |
|
类型: JSON 列表 |
用于 PD-Multiplexing#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
启用 PD-Multiplexing,PD 在 greenctx 流上运行。 |
|
bool 标志 (设置以启用) |
|
PD-Multiplexing 配置文件的路径。 |
|
类型: str |
|
sm 分区组数。 |
|
类型: int |
用于确定性推理#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
启用确定性推理模式与批处理不变操作。 |
|
bool 标志 (设置以启用) |
已弃用参数#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
注意:--enable-ep-moe 已弃用。请将 |
|
N/A |
|
注意:--enable-deepep-moe 已弃用。请将 |
|
N/A |
|
注意:--enable-flashinfer-cutlass-moe 已弃用。请将 |
|
N/A |
|
注意:--enable-flashinfer-cutedsl-moe 已弃用。请将 |
|
N/A |
|
注意:--enable-flashinfer-trtllm-moe 已弃用。请将 |
|
N/A |
|
注意:--enable-triton-kernel-moe 已弃用。请将 |
|
N/A |
|
注意:--enable-flashinfer-mxfp4-moe 已弃用。请将 |
|
N/A |
配置文件支持#
参数 |
描述 |
默认值 |
选项 |
|---|---|---|---|
|
从配置文件读取 CLI 选项。必须是包含配置选项的 YAML 文件。 |
|
类型: str |