大家好,我是Ai学习的老章
前文我介绍了vLLM v 0.13.0版本更新的内容,然后介绍了部署多模态/全模态大模型的vLLM-Omni简介及安装
vLLM部署模型过程中,里面有上百个参数(可以通过vllm --help查看),其中最关键的自然是 ModelConfig(模型的配置选项)相关
做个翻译,方便自己学习记忆,也分享给大家
--allowed-local-media-path ALLOWED_LOCAL_MEDIA_PATH允许 API 请求读取服务器文件系统中指定目录下的本地图像或视频。这是一个安全风险项。仅应在受信任的环境中启用。(默认值:无)
--allowed-media-domains ALLOWED_MEDIA_DOMAINS [ALLOWED_MEDIA_DOMAINS ...]如果设置,则只有属于此域名的媒体 URL 才能用于多模态输入。(默认值:None)
--code-revision CODE_REVISION指定要在 Hugging Face Hub 上使用的模型代码的具体版本。它可以是分支名称、标签名称或提交 ID。如果未指定,将使用默认版本。(默认值:None)
--config-format ['auto', 'hf', 'mistral']加载模型配置的格式:
--convert {auto,classify,embed,none,reward}使用 [vllm.model_executor.models.adapters][] 中定义的适配器转换模型。最常见的用例是将文本生成模型调整用于池化(pooling)任务。(默认值:auto)
--disable-cascade-attn, --no-disable-cascade-attn禁用 V1 的级联注意力(cascade attention)。虽然级联注意力不改变数学正确性,但禁用它有助于防止潜在的数值问题。注意,即使设置为 False,级联注意力也仅在启发式算法认为有益时才会使用。(默认值:False)
--disable-sliding-window, --no-disable-sliding-window是否禁用滑动窗口。如果为 True,将禁用模型的滑动窗口功能,并将其限制为滑动窗口大小。如果模型不支持滑动窗口,此参数将被忽略。(默认值:False)
--dtype {auto,bfloat16,float,float16,float32,half}模型权重和激活的数据类型:
--enable-prompt-embeds, --no-enable-prompt-embeds如果为 True,则允许通过 prompt_embeds 键作为输入传递文本嵌入(embeddings)。注意,启用此功能将使图编译所需的时间加倍。(默认值:False)
--enable-sleep-mode, --no-enable-sleep-mode启用引擎的休眠模式(仅支持 CUDA 平台)。(默认值:False)
--enforce-eager, --no-enforce-eager是否始终使用 PyTorch 的 eager 模式。如果为 True,将禁用 CUDA graph 并始终在 eager 模式下执行模型。如果为 False,将混合使用 CUDA graph 和 eager 执行,以获得最大的性能和灵活性。(默认值:False)
--generation-config GENERATION_CONFIG生成配置文件的文件夹路径。默认为 "auto",即从模型路径加载生成配置。如果设置为 "vllm",则不加载生成配置,使用 vLLM 默认值。如果设置为文件夹路径,将从该路径加载生成配置。如果在生成配置中指定了 max_new_tokens,它将对所有请求的输出 token 数量设置一个服务器范围的限制。(默认值:auto)
--hf-config-path HF_CONFIG_PATH要使用的 Hugging Face 配置的名称或路径。如果未指定,将使用模型名称或路径。(默认值:None)
--hf-overrides HF_OVERRIDES如果参数是字典,包含要转发给 Hugging Face 配置的参数。如果是可调用对象,则调用它来更新 HuggingFace 配置。(默认值:{})
--hf-token [HF_TOKEN]用于远程文件的 HTTP Bearer 认证的令牌(token)。如果为 True,将使用运行 huggingface-cli login 时生成的令牌(存储在 ~/.huggingface 中)。(默认值:None)
--io-processor-plugin IO_PROCESSOR_PLUGIN模型启动时加载的 IOProcessor 插件名称。(默认值:None)
--logits-processor-pattern LOGITS_PROCESSOR_PATTERN可选的正则表达式模式,指定可以通过 logits_processors 额外完成参数传递的有效 logits 处理器限定名称。默认为 None,不允许任何处理器。(默认值:None)
--logits-processors LOGITS_PROCESSORS [LOGITS_PROCESSORS ...]一个或多个 logits 处理器的完全限定类名或类定义。(默认值:None)
--logprobs-mode {processed_logits,processed_logprobs,raw_logits,raw_logprobs}指示 logprobs 和 prompt_logprobs 中返回的内容。支持的模式:1) raw_logprobs, 2) processed_logprobs, 3) raw_logits, 4) processed_logits。“Raw”意味着应用任何 logit 处理器(如 bad words)之前的值。“Processed”意味着应用所有处理器(包括 temperature 和 top_k/top_p)之后的值。(默认值:raw_logprobs)
--max-logprobs MAX_LOGPROBS当 SamplingParams 中指定 logprobs 时,返回的最大对数概率数。默认值来自 OpenAI Chat Completions API 的默认值。-1 表示没有上限,即允许返回所有(output_length * vocab_size)个 logprobs,这可能会导致 OOM(内存溢出)。(默认值:20)
--max-model-len MAX_MODEL_LEN模型上下文长度(提示词和输出)。如果未指定,将从模型配置中自动派生。 通过 --max-model-len 传递时,支持 k/m/g/K/M/G 的人类可读格式。例如:
--model MODEL要使用的 Hugging Face 模型名称或路径。当未指定 served_model_name 时,它也用作指标输出中 model_name 标签的内容。(默认值:Qwen/Qwen3-0.6B)
--model-impl ['auto', 'terratorch', 'transformers', 'vllm']要使用的模型实现:
--override-attention-dtype OVERRIDE_ATTENTION_DTYPE覆盖 attention 的数据类型。(默认值:None)
--override-generation-config OVERRIDE_GENERATION_CONFIG覆盖或设置生成配置。例如 {"temperature": 0.5}。如果与 --generation-config auto 一起使用,覆盖参数将与模型的默认配置合并。如果与 --generation-config vllm 一起使用,仅使用覆盖参数。 应该是一个有效的 JSON 字符串或单独传递的 JSON 键。(默认值:{})
--override-pooler-config OVERRIDE_POOLER_CONFIG[已弃用] 请改用 pooler_config。此字段将在 v0.12.0 或 v1.0.0 中移除(以较早者为准)。 应该是一个有效的 JSON 字符串或单独传递的 JSON 键。(默认值:None)
--pooler-config POOLER_CONFIG控制池化模型中输出池化行为的池化器配置。 应该是一个有效的 JSON 字符串或单独传递的 JSON 键。(默认值:None)
--quantization QUANTIZATION, -q QUANTIZATION用于量化权重的方法。如果为 None,首先检查模型配置文件中的 quantization_config 属性。如果也是 None,假设模型权重未量化,并使用 dtype 来确定权重的数据类型。(默认值:None)
--revision REVISION要使用的特定模型版本。它可以是分支名称、标签名称或提交 ID。如果未指定,将使用默认版本。(默认值:None)
--rope-scaling ROPE_SCALINGRoPE 缩放配置。例如 {"rope_type":"dynamic","factor":2.0}。 应该是一个有效的 JSON 字符串或单独传递的 JSON 键。(默认值:{})
--rope-theta ROPE_THETARoPE theta 值。与 rope_scaling 一起使用。在某些情况下,更改 RoPE theta 可以提高缩放模型的性能。(默认值:None)
--runner {auto,draft,generate,pooling}要使用的模型运行器类型。每个 vLLM 实例仅支持一种模型运行器,即使同一模型可用于多种类型。(默认值:auto)
--seed SEED用于可复现性的随机种子。在 V0 中初始化为 None,但在 V1 中初始化为 0。(默认值:None)
--served-model-name SERVED_MODEL_NAME [SERVED_MODEL_NAME ...]API 中使用的模型名称。如果提供了多个名称,服务器将响应任何提供的名称。响应的模型字段中的模型名称将是此列表中的第一个名称。如果未指定,模型名称将与 --model 参数相同。注意,该名称也将用于 prometheus 指标的 model_name 标签内容,如果提供了多个名称,指标标签将采用第一个。(默认值:None)
--skip-tokenizer-init, --no-skip-tokenizer-init跳过分词器(tokenizer)和反分词器(detokenizer)的初始化。期望输入有效的 prompt_token_ids 且 prompt 为 None。生成的输出将包含 token id。(默认值:False)
--task {auto,classify,draft,embed,embedding,generate,reward,score,transcription,None}[已弃用] 用于模型的任务。如果模型支持多个模型运行器,则用于选择运行哪个模型运行器。 注意,模型可能支持使用同一模型运行器的其他任务。(默认值:None)
--tokenizer TOKENIZER要使用的 Hugging Face 分词器名称或路径。如果未指定,将使用模型名称或路径。(默认值:None)
--tokenizer-mode {auto,custom,mistral,slow}分词器模式:
mistral_common 的分词器。--tokenizer-revision TOKENIZER_REVISION指定要在 Hugging Face Hub 上使用的分词器的具体版本。它可以是分支名称、标签名称或提交 ID。如果未指定,将使用默认版本。(默认值:None)
--trust-remote-code, --no-trust-remote-code下载模型和分词器时信任远程代码(例如来自 HuggingFace 的代码)。(默认值:False)
补充说明:
当传递 JSON CLI 参数时,以下几组参数是等效的:--json-arg '{"key1": "value1", "key2": {"key3": "value2"}}'--json-arg.key1 value1 --json-arg.key2.key3 value2
推展阅读: