服务部署参数配置说明

在使用BladeLLM引擎部署服务时,通过命令行语句blade_llm_server来启动服务。本文将为您介绍blade_llm_server支持的各项配置参数及其说明。

使用示例

在部署服务时配置以下运行命令,表示从指定目录加载HuggingFace格式的Qwen3-4B模型,默认监听8081端口接收请求。如何部署服务,请参见BladeLLM快速入门

blade_llm_server --model /mnt/model/Qwen3-4B/

参数说明

blade_llm_server支持配置的参数如下:

usage: blade_llm_server [-h] [--tensor_parallel_size int] [--pipeline_parallel_size int] [--pipeline_micro_batch int] [--attention_dp_size int] [--host str] [--port int]
                        [--worker_socket_path str] [--log_level {DEBUG,INFO,WARNING,ERROR}] [--max_gpu_memory_utilization float]
                        [--preempt_strategy {AUTO,RECOMPUTE,SWAP}] [--ragged_flash_max_batch_tokens int] [--decode_algo {sps,look_ahead,normal}] [--gamma int]
                        [--disable_prompt_cache] [--prompt_cache_enable_swap] [--decoding_parallelism int] [--metric_exporters None [None ...]] [--max_queue_time int]
                        [--enable_custom_allreduce] [--enable_json_warmup] [--enable_llumnix] [--llumnix_config str] [--model [str]] [--tokenizer_dir [str]]
                        [--chat_template [str]] [--dtype {half,float16,bfloat16,float,float32}] 
                        [--kv_cache_quant {no_quant,int8,int4,int8_affine,int4_affine,fp8_e5m2,fp8_e4m3,mix_f852i4,mix_f843i4,mix_i8i4,mix_i4i4}]
                        [--kv_cache_quant_sub_heads int] [--tokenizer_special_tokens List] [--enable_triton_mla] [--disable_cuda_graph] [--cuda_graph_max_batch_size int]
                        [--cuda_graph_batch_sizes [List]] [--with_visual bool] [--use_sps bool] [--use_lookahead bool] [--look_ahead_window_size int]
                        [--look_ahead_gram_size int] [--guess_set_size int] [--draft.model [str]] [--draft.tokenizer_dir [str]] [--draft.chat_template [str]]
                        [--draft.dtype {half,float16,bfloat16,float,float32}] 
                        [--draft.kv_cache_quant {no_quant,int8,int4,int8_affine,int4_affine,fp8_e5m2,fp8_e4m3,mix_f852i4,mix_f843i4,mix_i8i4,mix_i4i4}]
                        [--draft.kv_cache_quant_sub_heads int] [--draft.tokenizer_special_tokens List] [--draft.enable_triton_mla] [--draft.disable_cuda_graph]
                        [--draft.cuda_graph_max_batch_size int] [--draft.cuda_graph_batch_sizes [List]] [--draft.with_visual bool] [--draft.use_sps bool]
                        [--draft.use_lookahead bool] [--draft.look_ahead_window_size int] [--draft.look_ahead_gram_size int] [--draft.guess_set_size int]
                        [--temperature [float]] [--top_p [float]] [--top_k [int]] [--cat_prompt [bool]] [--repetition_penalty [float]] [--presence_penalty [float]]
                        [--max_new_tokens [int]] [--stop_sequences [List]] [--stop_tokens [List]] [--ignore_eos [bool]] [--skip_special_tokens [bool]]
                        [--enable_disagg_metric bool] [--enable_export_kv_lens_metric bool] [--enable_hybrid_dp bool] [--enable_quant bool] [--asymmetry bool]
                        [--block_wise_quant bool] [--enable_cute bool] [--no_scale bool] [--quant_lm_head bool] [--rotate bool] [--random_rotate_matrix bool]
                        [--skip_ffn_fc2 bool]
                        ...

blade_llm_server参数详细说明如下:

参数

取值类型

是否必选

默认值

描述

--tensor_parallel_size(-tp)

int

1

张量并行数。

--pipeline_parallel_size(-pp)

int

1

流水线并行数。

--pipeline_micro_batch(-ppmb)

int

1

流水线并行的微批次。

--attention_dp_size(-dp)

int

1

数据并行数。

--host

str

0.0.0.0

服务器主机名。

--port

int

8081

服务器端口号。

--worker_socket_path

str

/tmp/blade_llm.sock

工作进程的socket路径。

--log_level

枚举

INFO

打印的日志级别,取值如下:

  • DEBUG

  • INFO

  • WARNING

  • ERROR

--max_gpu_memory_utilization

float

0.85

连续批处理调度器的最大GPU内存利用率。

--preempt_strategy

枚举

AUTO

KV缓存空间不够时,处理被抢占请求的策略。取值如下:

  • RECOMPUTE

  • SWAP

  • AUTO

--ragged_flash_max_batch_tokens

int

2048

稀疏闪存中的最大批处理Token数。

--decode_algo

枚举

normal

高效解码算法。取值如下:

  • sps

  • look_ahead

  • normal

--gamma

int

0

用于推测解码的Gamma步长。

--disable_prompt_cache

False

禁用提示词前缀缓存。

--prompt_cache_enable_swap

False

将提示词缓存从GPU显存交换到CPU内存。

--decoding_parallelism

int

min(max(get_cpu_number() // 2, 1), 2)

解码并行度设置。

--metric_exporters

None [None ...]

logger

监控指标导出方式。

  • logger:表示将监控指标打印到日志。

  • eas:表示将监控指标推送到EAS。

--max_queue_time

int

3600

请求在队列中最大的等待时长(秒)。

--enable_custom_allreduce

False

不使用ncclall reduce,使用框架自定义的all reduce。

--enable_json_warmup

False

JSON Schema开启有限状态机编译。

--enable_llumnix

False

开启llumnix。

--llumnix_config

str

llumnix配置文件路径。

以下为模型加载参数。

--model

[str]

包含模型文件的目录。

--tokenizer_dir

[str]

分词器路径,默认为模型目录。

--chat_template

[str]

Chat模板配置。

--dtype

枚举

half

模型和激活没有量化的部分使用的数据精度

  • half

  • float16

  • bfloat16

  • float

  • float32

--kv_cache_quant

枚举

no_quant

启用KV缓存量化。取值为no_quant、int8、int4、int8_affine、int4_affine、fp8_e5m2、fp8_e4m3、mix_f852i4、mix_f843i4、mix_i8i4、mix_i4i4。

--kv_cache_quant_sub_heads

int

1

kv cache量化的sub head数。

--tokenizer_special_tokens

List

[]

指定Tokenizer的特殊Token,如--tokenizer_special_tokens bos_token=<s> eos_token=</s>

--enable_triton_mla

False

开启Triton,否则使用Bladnn MLA。

--disable_cuda_graph

False

禁用CUDA Graph。

--cuda_graph_max_batch_size

int

64

CUDA Graph的最大批处理大小。

--cuda_graph_batch_sizes

[List]

需要CUDA Graph捕获的批大小。

--with_visual, --nowith_visual

bool

True

启用对视觉模型的支持。

--use_sps, --nouse_sps

bool

False

启用推测解码。

--use_lookahead, --nouse_lookahead

bool

False

启用LookAhead解码参数。

--look_ahead_window_size

int

2

LookAhead窗口大小。

--look_ahead_gram_size

int

2

LookAhead元组大小。

--guess_set_size

int

3

LookAhead猜测集大小。

以下为草稿模型加载参数,仅在开启了推测解码(speculative decoding)的情况下生效。

--draft.model

[str]

包含模型文件的目录。

--draft.tokenizer_dir

[str]

分词器路径,默认为模型目录。

--draft.chat_template

[str]

Chat模板配置。

--draft.dtype

枚举

half

  • half

  • float16

  • bfloat16

  • float

  • float32

--draft.kv_cache_quant

枚举

no_quant

启用KV缓存量化。取值为no_quant、int8、int4、int8_affine、int4_affine、fp8_e5m2、fp8_e4m3、mix_f852i4、mix_f843i4、mix_i8i4、mix_i4i4。

--draft.kv_cache_quant_sub_heads

int

1

kv cache量化的sub head数。

--draft.tokenizer_special_tokens

List

[]

特殊的分词器标记。

--draft.enable_triton_mla

False

开启Triton,否则使用Bladnn MLA。

--draft.disable_cuda_graph

False

启用CUDA Graph。

--cuda_graph_max_batch_size

int

64

CUDA Graph的最大批处理大小。

--draft.cuda_graph_batch_sizes

[List]

CUDA Graph的批处理大小。

--draft.with_visual, --draft.nowith_visual

bool

True

启用对视觉模型的支持。

--draft.use_sps, --draft.nouse_sps

bool

False

启用推测解码。

--draft.use_lookahead, --draft.nouse_lookahead

bool

False

启用LookAhead解码参数。

--draft.look_ahead_window_size

int

2

LookAhead窗口大小。

--draft.look_ahead_gram_size

int

2

LookAhead元组大小。

--draft.guess_set_size

int

3

LookAhead猜测集大小。

以下为lora相关参数。

--max_lora_rank

int

16

用于设置LoRA权重的Rank的最大值。

--max_loras

int

2

用于设置LoRA最大值。

--max_cpu_loras

int

用于设置CPU资源使用上限。

--lora_dtype

str

用于指定LoRA数据类型。

以下为服务采样参数。这些参数与服务调用参数配置项中的选项一一对应。如果您在发起请求时没有特别指定某些参数值,则会使用服务启动时设置的默认值。

--temperature

[float]

用于改变logits分布的温度参数。

--top_p

[float]

保留概率加起来达到top_p的最可能的tokens。

--top_k

[int]

保留概率最高的前top_ktokens。

--cat_prompt

[bool]

启用输出ID与提示词ID的反标记化。

--repetition_penalty

[float]

指定模型在生成文本时避免重复词语出现的程度,值越大表示越严格地避免重复词语。

--presence_penalty

[float]

用于指定在生成文本时对出现在原始输入文本中的标记进行惩罚的程度。值越高,模型就会更加关注生成文本与原始文本的一致性,但可能会降低生成文本的多样性。

--max_new_tokens

[int]

限制最大生成的token数量。

--stop_sequences

[List]

在某些文本上停止生成,例如:“–stop_sequences a b c”。

--stop_tokens

[List]

在某些token IDtoken序列上停止生成,例如:“–stop_tokens 1 2 3”。

--ignore_eos

[bool]

生成时不在eos token处停止。

--skip_special_tokens

[bool]

在解码阶段将token_id转换为token时跳过特殊tokens。