这里写自定义目录标题
vllm server 命令大全
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
基本用法
vllm serve <model_tag> [options]
- model_tag: 这是必选参数,指定要加载和服务的模型标签。模型标签可以是 Hugging Face 模型库中的模型名称,也可以是本地模型文件的路径。
主要选项
–additional-config: 以 JSON 格式提供额外的平台配置。不同平台支持不同的配置,确保配置对当前平台有效。
示例:–additional-config ‘{“config_key”:“config_value”}’
–allow-credentials: 允许跨域请求携带凭证(如 cookies)。
–allowed-headers: 允许的请求头。
–allowed-local-media-path: 允许 API 请求从服务器文件系统读取本地图片或视频。这是一个安全风险,建议仅在受信任的环境中使用。
–allowed-methods: 允许的 HTTP 方法。
–allowed-origins: 允许的跨域请求来源。
–api-key: 如果提供,服务器将要求在请求头中提供此 API 密钥。
–block-size: 指定连续 token 块的 token 块大小。在 CUDA 设备上,仅支持最大 32 的块大小。
–calculate-kv-scales: 启用动态计算 k_scale 和 v_scale,当 kv-cache-dtype 为 fp8 时使用。
–chat-template: 指定聊天模板的文件路径或单行模板。
–chat-template-content-format: 指定聊天模板中消息内容的渲染格式,支持 string 和 openai 两种格式。
–code-revision: 指定 Hugging Face Hub 上模型代码的特定版本(分支名、标签名或提交 ID)。
–collect-detailed-traces: 收集指定模块的详细跟踪信息,可能影响性能。
–compilation-config: 指定模型的 torch.compile 配置,可以是优化级别(0-3)或 JSON 字符串。
–config: 从 YAML 配置文件中读取 CLI 选项。
–config-format: 指定模型配置的加载格式,支持 auto、hf 和 mistral。
–cpu-offload-gb: 指定每个 GPU 的 CPU 卸载空间(GiB),默认值为 0,表示不卸载。
–device: 指定 vLLM 执行的设备类型,支持 auto、cuda、neuron、cpu 等。
–disable-async-output-proc: 禁用异步输出处理,可能降低性能。
–disable-custom-all-reduce: 禁用自定义的 all-reduce 操作。
–disable-fastapi-docs: 禁用 FastAPI 的 OpenAPI 文档、Swagger UI 和 ReDoc 端点。
–disable-frontend-multiprocessing: 如果指定,OpenAI 前端服务器将与模型服务引擎在同一进程中运行。
–disable-log-requests: 禁用请求日志记录。
–disable-log-stats: 禁用统计信息日志记录。
–disable-logprobs-during-spec-decoding: 在推测解码期间禁用 token 对数概率的计算。
–disable-mm-preprocessor-cache: 禁用多模态预处理器/映射器的缓存。
–disable-sliding-window: 禁用滑动窗口,限制为滑动窗口大小。
–distributed-executor-backend: 指定分布式模型工作器的后端,支持 ray 和 mp(多进程)。
–download-dir: 指定下载和加载权重的目录,默认为 Hugging Face 的默认缓存目录。
–dtype: 指定模型权重和激活的数据类型,支持 auto、half、float16、bfloat16 等。
–enable-auto-tool-choice: 启用自动工具选择,适用于支持的工具调用模型。
–enable-chunked-prefill: 启用分块预填充,基于 max_num_batched_tokens。
–enable-lora: 启用 LoRA 适配器的处理。
–enable-lora-bias: 启用 LoRA 适配器的偏置。
–enable-prefix-caching: 启用自动前缀缓存。
–enable-prompt-adapter: 启用 PromptAdapter 的处理。
–enable-prompt-tokens-details: 启用 prompt_tokens_details 在 usage 中的返回。
–enable-reasoning: 启用模型的推理内容生成。
–enable-request-id-headers: 在 API 响应中添加 X-Request-Id 头,可能在高 QPS 下影响性能。
–enable-sleep-mode: 启用引擎的睡眠模式,仅支持 CUDA 平台。
–enforce-eager: 始终使用 PyTorch 的 eager 模式。
–fully-sharded-loras: 启用完全分片的 LoRA 层。
–generation-config: 指定生成配置的文件夹路径。
–gpu-memory-utilization: 指定模型执行器使用的 GPU 内存比例,范围为 0 到 1。
–guided-decoding-backend: 指定用于引导解码(如 JSON schema / regex)的引擎。
–hf-overrides: 提供 HuggingFace 配置的额外参数,以 JSON 字符串形式。
–host: 指定服务器的主机名。
–ignore-patterns: 指定加载模型时忽略的模式。
–kv-cache-dtype: 指定 KV 缓存的数据类型,支持 auto、fp8、fp8_e5m2 等。
–kv-transfer-config: 指定分布式 KV 缓存传输的配置,以 JSON 字符串形式。
–limit-mm-per-prompt: 限制每个提示的多模态输入实例数量。
–load-format: 指定模型权重的加载格式,支持 auto、pt、safetensors 等。
–logits-processor-pattern: 指定有效的 logits 处理器正则表达式模式。
–long-lora-scaling-factors: 指定多个 LoRA 适配器的缩放因子。
–long-prefill-token-threshold: 指定分块预填充中长提示的 token 阈值。
–lora-dtype: 指定 LoRA 的数据类型,支持 auto、float16、bfloat16。
–lora-extra-vocab-size: 指定 LoRA 适配器中额外词汇表的最大大小。
–lora-modules: 指定 LoRA 模块的配置,格式为 name=path 或 JSON。
–max-cpu-loras: 指定 CPU 内存中存储的最大 LoRA 数量。
–max-log-len: 指定日志中打印的提示字符或提示 ID 的最大数量。
–max-logprobs: 指定返回的最大对数概率数量。
–max-long-partial-prefills: 指定分块预填充中长提示的最大并发数量。
–max-lora-rank: 指定 LoRA 的最大秩。
–max-loras: 指定单个批次中的最大 LoRA 数量。
–max-model-len: 指定模型的上下文长度。
–max-num-batched-tokens: 指定每次迭代的最大批处理 token 数量。
–max-num-partial-prefills: 指定分块预填充的最大并发数量。
–max-num-seqs: 指定每次迭代的最大序列数量。
–max-parallel-loading-workers: 指定并行加载模型的工作线程数量。
–max-prompt-adapter-token: 指定 PromptAdapter 的最大 token 数量。
–max-prompt-adapters: 指定单个批次中的最大 PromptAdapter 数量。
–max-seq-len-to-capture: 指定 CUDA 图覆盖的最大序列长度。
–middleware: 指定要应用到应用的额外 ASGI 中间件。
–mm-processor-kwargs: 指定多模态输入映射/处理的覆盖参数。
–model: 指定要使用的 Hugging Face 模型的名称或路径。
–model-impl: 指定模型的实现方式,支持 auto、vllm、transformers。
–model-loader-extra-config: 指定模型加载器的额外配置,以 JSON 字符串形式。
–multi-step-stream-outputs: 如果为 False,则多步推理将在所有步骤结束时流式输出。
–ngram-prompt-lookup-max: 指定推测解码中 ngram 提示查找窗口的最大大小。
–ngram-prompt-lookup-min: 指定推测解码中 ngram 提示查找窗口的最小大小。
–num-gpu-blocks-override: 如果指定,忽略 GPU 分析结果并使用此 GPU 块数量。
–num-lookahead-slots: 指定推测解码的实验性调度配置。
–num-scheduler-steps: 指定每次调度调用的最大前向步骤数量。
–num-speculative-tokens: 指定推测解码中从草稿模型采样的 token 数量。
–otlp-traces-endpoint: 指定 OpenTelemetry 跟踪的目标 URL。
–override-generation-config: 以 JSON 格式覆盖或设置生成配置。
–override-neuron-config: 覆盖或设置 neuron 设备配置。
–override-pooler-config: 覆盖或设置池化模型的池化方法。
–pipeline-parallel-size: 指定管道并行的阶段数量。
–port: 指定服务器的端口号。
–preemption-mode: 指定抢占模式,支持 recompute 和 swap。
–prompt-adapters: 指定 PromptAdapter 的配置,格式为 name=path。
–qlora-adapter-name-or-path: 指定 QLoRA 适配器的名称或路径。
–quantization: 指定权重量化方法,支持 aqlm、awq、deepspeedfp 等。
–ray-workers-use-nsight: 如果指定,使用 nsight 分析 Ray 工作线程。
–reasoning-parser: 指定推理解析器,用于将推理内容解析为 OpenAI API 格式。
–response-role: 指定如果 request.add_generation_prompt=true 时返回的角色名称。
–return-tokens-as-token-ids: 当 --max-logprobs 指定时,将单个 token 表示为 token_id:{token_id} 形式的字符串。
–revision: 指定模型的特定版本(分支名、标签名或提交 ID)。
–root-path: 指定 FastAPI 的 root_path,当应用位于基于路径的路由代理后时使用。
–rope-scaling: 以 JSON 格式指定 RoPE 缩放配置。
–rope-theta: 指定 RoPE theta,与 rope_scaling 一起使用。
–scheduler-cls: 指定调度器类。
–scheduler-delay-factor: 指定调度延迟因子。
–scheduling-policy: 指定调度策略,支持 fcfs 和 priority。
–seed: 指定操作的随机种子。
–served-model-name: 指定 API 中使用的模型名称。
–skip-tokenizer-init: 跳过 tokenizer 和 detokenizer 的初始化。
–spec-decoding-acceptance-method: 指定推测解码中的接受方法,支持 rejection_sampler 和 typical_acceptance_sampler。
–speculative-disable-by-batch-size: 如果新请求的排队数量大于此值,则禁用推测解码。
–speculative-disable-mqa-scorer: 如果为 True,则在推测解码中禁用 MQA 评分器。
–speculative-draft-tensor-parallel-size: 指定推测解码中草稿模型的张量并行副本数量。
–speculative-max-model-len: 指定草稿模型支持的最大序列长度。
–speculative-model: 指定推测解码中使用的草稿模型名称。
–speculative-model-quantization: 指定草稿模型的权重量化方法。
–ssl-ca-certs: 指定 CA 证书文件。
–ssl-cert-reqs: 指定是否需要客户端证书。
–ssl-certfile: 指定 SSL 证书文件路径。
–ssl-keyfile: 指定 SSL 密钥文件路径。
–swap-space: 指定每个 GPU 的 CPU 交换空间大小(GiB)。
–task: 指定模型的任务,支持 auto、generate、embedding 等。
–tensor-parallel-size: 指定张量并行的副本数量。
–tokenizer: 指定 Hugging Face tokenizer 的名称或路径。
–tokenizer-mode: 指定 tokenizer 模式,支持 auto、slow、mistral 等。
–tokenizer-pool-extra-config: 指定 tokenizer 池的额外配置,以 JSON 字符串形式。
–tokenizer-pool-size: 指定用于异步 tokenization 的 tokenizer 池大小。
–tokenizer-pool-type: 指定用于异步 tokenization 的 tokenizer 池类型。
–tokenizer-revision: 指定 Hugging Face tokenizer 的版本(分支名、标签名或提交 ID)。
–tool-call-parser: 指定工具调用解析器,用于将模型生成的工具调用解析为 OpenAI API 格式。
–tool-parser-plugin: 指定工具解析器插件,用于解析模型生成的工具调用。
–trust-remote-code: 信任 Hugging Face 的远程代码。
–typical-acceptance-sampler-posterior-alpha: 指定 TypicalAcceptanceSampler 中基于熵的 token 接受阈值的缩放因子。
–typical-acceptance-sampler-posterior-threshold: 指定 TypicalAcceptanceSampler 中 token 接受的后验概率下限阈值。
–use-v2-block-manager: [已弃用] 块管理器 v1 已被移除,v2 是默认值。
–uvicorn-log-level: 指定 uvicorn 的日志级别,支持 debug、info、warning 等。
–worker-cls: 指定分布式执行的工作线程类。
总结
vllm serve 提供了丰富的配置选项,允许用户根据需求灵活地调整模型服务的各个方面,包括模型加载、推理、并行化、日志记录等。通过合理配置这些选项,可以优化模型的性能和资源利用率。