大模型选择和私有化部署
摘要:文章重点介绍了当前主流AI大模型(如GPT-4o、Claude-3.5、Gemini-1.5等)的应用建议,特别详细分析了Qwen3系列模型的技术特性。Qwen3-235B和30B-MoE模型在编码、数学等任务中表现优异,支持思维/非思维模式切换和多语言处理。文章还对比了Ollama和vLLM两种部署方案,推荐企业使用vLLM进行高性能推理,并提供了详细的vLLM部署参数说明和Qwen3模型
强烈建议:在大模型开发中,要熟悉各种顶级的AI大模型的使用和微调。包括:gpt-4o, gpt-o1-mini, gpt-o3,claude-3.5-sonnet,claude-3.7-sonnet,gemini-1.5, deepseek系列, qwen系列。
1、Deepseek-V3




2、Qwen3
4月29日,发布了 Qwen3 系列模型。我们的旗舰模型**Qwen3-235B-A22B**在编码、数学、通用能力等基准测试中,与 DeepSeek-R1、o1、o3-mini、Grok-3 和 Gemini-2.5-Pro 等其他顶级模型相比,取得了极具竞争力的成绩。此外,小型 MoE 模型**Qwen3-30B-A3B 的**激活参数量是 QwQ-32B 的 10 倍,即使是像 Qwen3-4B 这样的微型模型,其性能也能与 Qwen2.5-72B-Instruct 相媲美。

开源的Qwen3-235B-A22B是一个大型模型,总参数量达 2350 亿,激活参数量达 220 亿;Qwen3-30B-A3B是一个较小的 MoE 模型,总参数量达 300 亿,激活参数量达 30 亿。此外,六个Dense模型也已开源,包括 Qwen3-32B 、 Qwen3-14B 、 Qwen3-8B 、 Qwen3-4B 、Qwen3-1.7B 和 Qwen3-0.6B ,它们均遵循 Apache 2.0 许可证。
Qwen3 的亮点包括:
- 各种尺寸的密集和混合专家 (MoE) 模型 ,有 0.6B、1.7B、4B、8B、14B、32B 和 30B-A3B、235B-A22B 可供选择。
- 思维模式(用于复杂的逻辑推理、数学和编码)和 非思维模式 (用于高效、通用的聊天)之间的无缝切换,确保在各种场景下实现最佳性能。
- 推理能力大幅增强 ,在数学、代码生成、常识逻辑推理等方面超越了之前的QwQ(思维模式)和Qwen2.5指令模型(非思维模式)。
- 卓越的人类偏好一致性 ,擅长创意写作、角色扮演、多轮对话和指令遵循,提供更自然、更具吸引力和身临其境的对话体验。
- 精通Agent能力 ,能够以思考和非思考两种模式与外部工具精准集成,并增强了对 MCP 的支持,在基于Agent的复杂任务中取得开源模型的领先性能。
- 支持 100 多种语言和方言,支持119 种语言和方言
3、私有化部署

显存计算器
- 大模型显存需求分析工具 | LlamaFactory | LlamaFactory:
https://www.llamafactory.cn/tools/gpu-memory-estimation.html
一、下载模型
打开网站:https://www.modelscope.cn/organization/Qwen?tab=collection

|
Shell |


二、通过vllm server命令部署
企业生产环境中,不要使用Ollama部署

以下是Ollama和vLLM在部署方面的对比表格:
|
对比维度 |
Ollama |
vLLM |
|
定位 |
轻量化本地部署工具,适合个人开发者和快速原型验证 |
高性能推理框架,面向企业级生产环境和高并发场景 |
|
部署复杂度 |
低,支持一键安装和运行(如 ollama run命令) |
中高,需配置Python环境、API服务接口和分布式集群 |
|
硬件要求 |
支持CPU/GPU,最低配置为16GB内存(运行7B模型) |
强制需要GPU(如NVIDIA Tesla系列),显存要求较高 |
|
并发能力 |
有限,适合单会话或少量并发 |
支持高并发,通过连续批处理(Continuous Batching)优化吞吐量1 |
|
资源占用 |
单机环境下资源占用低,启动快 |
资源占用高但利用率优,支持多机多卡扩展 |
|
延迟表现 |
实时交互场景延迟更低 |
通过批处理平衡延迟与吞吐,适合高吞吐场景 |
|
生态支持 |
丰富的预置模型(如Llama系列),支持跨平台(Windows/macOS/Linux) |
聚焦推理优化,企业级功能丰富(如分布式推理、量化支持) |
|
典型安装命令 |
curl -fsSL https://ollama.com/install.sh | sh(Linux)1 |
pip install vllm + 配置API服务 |
|
适用场景 |
快速原型验证、本地开发、教育演示、资源受限环境 |
企业级API服务、高并发聊天机器人、多GPU集群任务 |
|
模型格式支持 |
GGUF格式(适合量化与跨平台) |
HuggingFace Transformers格式(.bin/.safetensors) |
|
长上下文支持 |
默认4K-8K tokens |
支持32K-128K tokens(依赖PagedAttention技术) |
|
量化支持 |
自动支持Q4_0、Q5_K等量化格式 |
需外部工具(如bitsandbytes)实现量化 |
vllm的命令说明
首先需要安装: pip install vllm
usage: vllm serve [-h] [--host HOST] [--port PORT]
[--uvicorn-log-level {debug,info,warning,error,critical,trace}]
[--disable-uvicorn-access-log] [--allow-credentials]
[--allowed-origins ALLOWED_ORIGINS]
[--allowed-methods ALLOWED_METHODS]
[--allowed-headers ALLOWED_HEADERS] [--api-key API_KEY]
[--lora-modules LORA_MODULES [LORA_MODULES ...]]
[--prompt-adapters PROMPT_ADAPTERS [PROMPT_ADAPTERS ...]]
[--chat-template CHAT_TEMPLATE]
[--chat-template-content-format {auto,string,openai}]
[--response-role RESPONSE_ROLE] [--ssl-keyfile SSL_KEYFILE]
[--ssl-certfile SSL_CERTFILE] [--ssl-ca-certs SSL_CA_CERTS]
[--enable-ssl-refresh] [--ssl-cert-reqs SSL_CERT_REQS]
[--root-path ROOT_PATH] [--middleware MIDDLEWARE]
[--return-tokens-as-token-ids]
[--disable-frontend-multiprocessing]
[--enable-request-id-headers] [--enable-auto-tool-choice]
[--tool-call-parser {granite-20b-fc,granite,hermes,internlm,jamba,llama3_json,mistral,phi4_mini_json,pythonic} or name registered in --tool-parser-plugin]
[--tool-parser-plugin TOOL_PARSER_PLUGIN] [--model MODEL]
[--task {auto,generate,embedding,embed,classify,score,reward,transcription}]
[--tokenizer TOKENIZER] [--hf-config-path HF_CONFIG_PATH]
[--skip-tokenizer-init] [--revision REVISION]
[--code-revision CODE_REVISION]
[--tokenizer-revision TOKENIZER_REVISION]
[--tokenizer-mode {auto,slow,mistral,custom}]
[--trust-remote-code]
[--allowed-local-media-path ALLOWED_LOCAL_MEDIA_PATH]
[--download-dir DOWNLOAD_DIR]
[--load-format {auto,pt,safetensors,npcache,dummy,tensorizer,sharded_state,gguf,bitsandbytes,mistral,runai_streamer,fastsafetensors}]
[--config-format {auto,hf,mistral}]
[--dtype {auto,half,float16,bfloat16,float,float32}]
[--kv-cache-dtype {auto,fp8,fp8_e5m2,fp8_e4m3}]
[--max-model-len MAX_MODEL_LEN]
[--guided-decoding-backend GUIDED_DECODING_BACKEND]
[--logits-processor-pattern LOGITS_PROCESSOR_PATTERN]
[--model-impl {auto,vllm,transformers}]
[--distributed-executor-backend {ray,mp,uni,external_launcher}]
[--pipeline-parallel-size PIPELINE_PARALLEL_SIZE]
[--tensor-parallel-size TENSOR_PARALLEL_SIZE]
[--data-parallel-size DATA_PARALLEL_SIZE]
[--enable-expert-parallel]
[--max-parallel-loading-workers MAX_PARALLEL_LOADING_WORKERS]
[--ray-workers-use-nsight] [--block-size {8,16,32,64,128}]
[--enable-prefix-caching | --no-enable-prefix-caching]
[--prefix-caching-hash-algo {builtin,sha256}]
[--disable-sliding-window] [--use-v2-block-manager]
[--num-lookahead-slots NUM_LOOKAHEAD_SLOTS] [--seed SEED]
[--swap-space SWAP_SPACE] [--cpu-offload-gb CPU_OFFLOAD_GB]
[--gpu-memory-utilization GPU_MEMORY_UTILIZATION]
[--num-gpu-blocks-override NUM_GPU_BLOCKS_OVERRIDE]
[--max-num-batched-tokens MAX_NUM_BATCHED_TOKENS]
[--max-num-partial-prefills MAX_NUM_PARTIAL_PREFILLS]
[--max-long-partial-prefills MAX_LONG_PARTIAL_PREFILLS]
[--long-prefill-token-threshold LONG_PREFILL_TOKEN_THRESHOLD]
[--max-num-seqs MAX_NUM_SEQS] [--max-logprobs MAX_LOGPROBS]
[--disable-log-stats]
[--quantization {aqlm,awq,deepspeedfp,tpu_int8,fp8,ptpc_fp8,fbgemm_fp8,modelopt,nvfp4,marlin,gguf,gptq_marlin_24,gptq_marlin,awq_marlin,gptq,compressed-tensors,bitsandbytes,qqq,hqq,experts_int8,neuron_quant,ipex,quark,moe_wna16,torchao,None}]
[--rope-scaling ROPE_SCALING] [--rope-theta ROPE_THETA]
[--hf-token [HF_TOKEN]] [--hf-overrides HF_OVERRIDES]
[--enforce-eager]
[--max-seq-len-to-capture MAX_SEQ_LEN_TO_CAPTURE]
[--disable-custom-all-reduce]
[--tokenizer-pool-size TOKENIZER_POOL_SIZE]
[--tokenizer-pool-type TOKENIZER_POOL_TYPE]
[--tokenizer-pool-extra-config TOKENIZER_POOL_EXTRA_CONFIG]
[--limit-mm-per-prompt LIMIT_MM_PER_PROMPT]
[--mm-processor-kwargs MM_PROCESSOR_KWARGS]
[--disable-mm-preprocessor-cache] [--enable-lora]
[--enable-lora-bias] [--max-loras MAX_LORAS]
[--max-lora-rank MAX_LORA_RANK]
[--lora-extra-vocab-size LORA_EXTRA_VOCAB_SIZE]
[--lora-dtype {auto,float16,bfloat16}]
[--long-lora-scaling-factors LONG_LORA_SCALING_FACTORS]
[--max-cpu-loras MAX_CPU_LORAS] [--fully-sharded-loras]
[--enable-prompt-adapter]
[--max-prompt-adapters MAX_PROMPT_ADAPTERS]
[--max-prompt-adapter-token MAX_PROMPT_ADAPTER_TOKEN]
[--device {auto,cuda,neuron,cpu,tpu,xpu,hpu}]
[--num-scheduler-steps NUM_SCHEDULER_STEPS]
[--use-tqdm-on-load | --no-use-tqdm-on-load]
[--multi-step-stream-outputs [MULTI_STEP_STREAM_OUTPUTS]]
[--scheduler-delay-factor SCHEDULER_DELAY_FACTOR]
[--enable-chunked-prefill [ENABLE_CHUNKED_PREFILL]]
[--speculative-config SPECULATIVE_CONFIG]
[--model-loader-extra-config MODEL_LOADER_EXTRA_CONFIG]
[--ignore-patterns IGNORE_PATTERNS]
[--preemption-mode PREEMPTION_MODE]
[--served-model-name SERVED_MODEL_NAME [SERVED_MODEL_NAME ...]]
[--qlora-adapter-name-or-path QLORA_ADAPTER_NAME_OR_PATH]
[--show-hidden-metrics-for-version SHOW_HIDDEN_METRICS_FOR_VERSION]
[--otlp-traces-endpoint OTLP_TRACES_ENDPOINT]
[--collect-detailed-traces COLLECT_DETAILED_TRACES]
[--disable-async-output-proc]
[--scheduling-policy {fcfs,priority}]
[--scheduler-cls SCHEDULER_CLS]
[--override-neuron-config OVERRIDE_NEURON_CONFIG]
[--override-pooler-config OVERRIDE_POOLER_CONFIG]
[--compilation-config COMPILATION_CONFIG]
[--kv-transfer-config KV_TRANSFER_CONFIG]
[--worker-cls WORKER_CLS]
[--worker-extension-cls WORKER_EXTENSION_CLS]
[--generation-config GENERATION_CONFIG]
[--override-generation-config OVERRIDE_GENERATION_CONFIG]
[--enable-sleep-mode] [--calculate-kv-scales]
[--additional-config ADDITIONAL_CONFIG] [--enable-reasoning]
[--reasoning-parser {deepseek_r1,granite}]
[--disable-cascade-attn]
[--disable-chunked-mm-input [DISABLE_CHUNKED_MM_INPUT]]
[--disable-log-requests] [--max-log-len MAX_LOG_LEN]
[--disable-fastapi-docs] [--enable-prompt-tokens-details]
[--enable-server-load-tracking]
命名参数详解
- --host主机名。
- --port端口号。
默认值:8000
- --uvicorn-log-level可能选项:debug, info, warning, error, critical, trace
uvicorn 的日志级别。
默认值:“info”
- --disable-uvicorn-access-log禁用 uvicorn 访问日志。
默认值:False
- --allow-credentials允许凭据。
默认值:False
- --allowed-origins允许的来源。
默认值:[‘*’]
- --allowed-methods允许的方法。
默认值:[‘*’]
- --allowed-headers允许的标头。
默认值:[‘*’]
- --api-key如果提供,服务器将要求在标头中提供此密钥。
- --lora-modules:LoRA 模块配置,格式为 ‘name=path’ 或 JSON 格式。示例(旧格式):<span class="pre">'name=path'</span> 示例(新格式):<span class="pre">{"name":</span><span> </span><span class="pre">"name",</span><span> </span><span class="pre">"path":</span><span> </span><span class="pre">"lora_path",</span><span> </span><span class="pre">"base_model_name":</span><span> </span><span class="pre">"id"}</span>
- --prompt-adapters提示适配器配置,格式为 name=path。可以指定多个适配器。
- --chat-template指定模型的聊天模板文件路径或单行形式的模板。
- --chat-template-content-format可能选项:auto, string, openai
在聊天模板中渲染消息内容的格式。
- “string” 将内容渲染为字符串。示例:<span class="pre">"Hello</span><span> </span><span class="pre">World"</span>
- “openai” 将内容渲染为字典列表,类似于 OpenAI 模式。示例:<span class="pre">[{"type":</span><span> </span><span class="pre">"text",</span><span> </span><span class="pre">"text":</span><span> </span><span class="pre">"Hello</span><span> </span><span class="pre">world!"}]</span>
默认值:“auto”
- --response-role如果 <span class="pre">request.add_generation_prompt=true</span>,则返回的角色名称。
默认值:assistant
- --ssl-keyfileSSL 密钥文件的文件路径。
- --ssl-certfileSSL 证书文件的文件路径。
- --ssl-ca-certsCA 证书文件。
- --enable-ssl-refresh当 SSL 证书文件更改时刷新 SSL 上下文
默认值:False
- --ssl-cert-reqs是否需要客户端证书(请参阅 stdlib ssl 模块)。
默认值:0
- --root-path当应用程序位于基于路径的路由代理之后时,FastAPI root_path。
- --middleware要应用于应用程序的其他 ASGI 中间件。我们接受多个 --middleware 参数。该值应为导入路径。如果提供了函数,vLLM 将使用 <span class="pre">@app.middleware('http')</span> 将其添加到服务器。如果提供了类,vLLM 将使用 <span class="pre">app.add_middleware()</span> 将其添加到服务器。
默认值:[]
- --return-tokens-as-token-ids当指定 <span class="pre">--max-logprobs</span> 时,将单个 token 表示为 ‘token_id:{token_id}’ 形式的字符串,以便可以识别不可 JSON 编码的 token。
默认值:False
- --disable-frontend-multiprocessing如果指定,将在与模型服务引擎相同的进程中运行 OpenAI 前端服务器。
默认值:False
- --enable-request-id-headers如果指定,API 服务器将在响应中添加 X-Request-Id 标头。注意:在高 QPS 下,这会降低性能。
默认值:False
- --enable-auto-tool-choice为支持的模型启用自动工具选择。使用 <span class="pre">--tool-call-parser</span> 指定要使用的解析器。
默认值:False
- --tool-call-parser根据您使用的模型选择工具调用解析器。这用于将模型生成的工具调用解析为 OpenAI API 格式。<span class="pre">--enable-auto-tool-choice</span> 需要此参数。
- --tool-parser-plugin指定工具解析器插件,用于将模型生成的工具解析为 OpenAI API 格式,在此插件中注册的名称可在 <span class="pre">--tool-call-parser</span> 中使用。
默认值:“”
- --model 要使用的 huggingface 模型的名称或路径。
默认值:“facebook/opt-125m”
- --task可能选项:auto, generate, embedding, embed, classify, score, reward, transcription
模型要执行的任务。即使同一个模型可以用于多个任务,每个 vLLM 实例也仅支持一个任务。当模型仅支持一个任务时,可以使用 <span class="pre">"auto"</span> 选择它;否则,您必须明确指定要使用的任务。
默认值:“auto”
- --tokenizer要使用的 huggingface 分词器的名称或路径。如果未指定,将使用模型名称或路径。
- --hf-config-path要使用的 huggingface 配置的名称或路径。如果未指定,将使用模型名称或路径。
- --skip-tokenizer-init跳过分词器和反分词器的初始化。期望输入中提供有效的 prompt_token_ids,并且 prompt 为 None。生成的输出将包含 token ID。
默认值:False
- --revision要使用的特定模型版本。它可以是分支名称、标签名称或提交 ID。如果未指定,将使用默认版本。
- --code-revision用于 Hugging Face Hub 上模型代码的特定修订版本。它可以是分支名称、标签名称或提交 ID。如果未指定,将使用默认版本。
- --tokenizer-revision要使用的 huggingface 分词器的修订版本。它可以是分支名称、标签名称或提交 ID。如果未指定,将使用默认版本。
- --tokenizer-mode可能选项:auto, slow, mistral, custom
分词器模式。
- “auto” 将在可用时使用快速分词器。
- “slow” 将始终使用慢速分词器。
- “mistral” 将始终使用 mistral_common 分词器。
- “custom” 将使用 –tokenizer 选择预注册的分词器。
默认值:“auto”
- --trust-remote-code信任来自 huggingface 的远程代码。
默认值:False
- --allowed-local-media-path允许 API 请求从服务器文件系统指定的目录读取本地图像或视频。这是一个安全风险。仅应在受信任的环境中启用。
- --download-dir下载和加载权重的目录。
- --load-format可能选项:auto, pt, safetensors, npcache, dummy, tensorizer, sharded_state, gguf, bitsandbytes, mistral, runai_streamer, fastsafetensors
要加载的模型权重的格式。
- “auto” 将尝试加载 safetensors 格式的权重,如果 safetensors 格式不可用,则回退到 pytorch bin 格式。
- “pt” 将加载 pytorch bin 格式的权重。
- “safetensors” 将加载 safetensors 格式的权重。
- “npcache” 将加载 pytorch 格式的权重,并存储 numpy 缓存以加速加载。
- “dummy” 将使用随机值初始化权重,主要用于性能分析。
- “tensorizer” 将使用 CoreWeave 的 tensorizer 加载权重。有关更多信息,请参阅“示例”部分中的“张量化 vLLM 模型”脚本。
- “runai_streamer” 将使用 Run:ai Model Streamer 加载 Safetensors 权重。
- “bitsandbytes” 将使用 bitsandbytes 量化加载权重。
- “sharded_state” 将从预分片检查点文件加载权重,支持高效加载张量并行模型
- “gguf” 将从 GGUF 格式文件加载权重(详细信息请参阅 ggml-org/ggml)。
- “mistral” 将从 Mistral 模型使用的合并 safetensors 文件加载权重。
默认值:“auto”
- --config-format可能选项:auto, hf, mistral
要加载的模型配置的格式。
- “auto” 将尝试加载 hf 格式的配置,如果不可用,则尝试加载 mistral 格式
默认值:“ConfigFormat.AUTO”
- --dtype可能选项:auto, half, float16, bfloat16, float, float32
模型权重和激活的数据类型。
- “auto” 将对 FP32 和 FP16 模型使用 FP16 精度,对 BF16 模型使用 BF16 精度。
- “half” 表示 FP16。推荐用于 AWQ 量化。
- “float16” 与 “half” 相同。
- “bfloat16” 在精度和范围之间取得平衡。
- “float” 是 FP32 精度的简写。
- “float32” 表示 FP32 精度。
默认值:“auto”
- --kv-cache-dtype可能选项:auto, fp8, fp8_e5m2, fp8_e4m3
kv 缓存存储的数据类型。如果为 “auto”,将使用模型数据类型。CUDA 11.8+ 支持 fp8 (=fp8_e4m3) 和 fp8_e5m2。ROCm (AMD GPU) 支持 fp8 (=fp8_e4m3)
默认值:“auto”
- --max-model-len模型上下文长度。如果未指定,将自动从模型配置中派生。支持 k/m/g/K/M/G 人类可读格式。示例:- 1k → 1000 - 1K → 1024
- --guided-decoding-backend默认情况下,哪个引擎将用于引导解码(JSON 模式/正则表达式等)。当前支持 mlc-ai/xgrammar 和 guidance-ai/llguidance.Valid。有效的后端值包括 “xgrammar”、“guidance” 和 “auto”。使用 “auto” 时,我们将根据请求内容和后端库当前支持的内容做出有主见的决定,因此行为可能会在每个版本中更改。
默认值:“xgrammar”
- --logits-processor-pattern可选的正则表达式模式,用于指定可以使用 logits_processors 额外完成参数传递的有效 logits 处理器限定名称。默认为 None,表示不允许任何处理器
- --model-impl可能选项:auto, vllm, transformers
要使用的模型实现。
- “auto” 将尝试使用 vLLM 实现(如果存在),如果 vLLM 实现不可用,则回退到 Transformers 实现。
- “vllm” 将使用 vLLM 模型实现。
- “transformers” 将使用 Transformers 模型实现。
默认值:“auto”
- --distributed-executor-backend可能选项:ray, mp, uni, external_launcher
用于分布式模型工作程序的后端,可以是 “ray” 或 “mp”(多进程)。如果 pipeline_parallel_size 和 tensor_parallel_size 的乘积小于或等于可用 GPU 的数量,“mp” 将用于保持在单个主机上处理。否则,如果安装了 Ray,则默认为 “ray”,否则将失败。请注意,tpu 仅支持 Ray 进行分布式推理。
- --pipeline-parallel-size, -pp流水线并行阶段数。
默认值:1
- --tensor-parallel-size, -tp张量并行副本数。
默认值:1
- --data-parallel-size, -dp数据并行副本数。MoE 层将根据 tensor-parallel-size 和 data-parallel-size 的乘积进行分片。
默认值:1
- --enable-expert-parallel对 MoE 层使用专家并行而不是张量并行。
默认值:False
- --max-parallel-loading-workers在多个批次中顺序加载模型,以避免在使用张量并行和大型模型时出现 RAM OOM。
- --ray-workers-use-nsight如果指定,则使用 nsight 分析 Ray 工作程序。
默认值:False
- --block-size可能选项:8, 16, 32, 64, 128
token 块大小,用于 token 的连续块。在 neuron 设备上将被忽略,并设置为 <span class="pre">--max-model-len</span>。在 CUDA 设备上,仅支持最大为 32 的块大小。在 HPU 设备上,块大小默认为 128。
- --enable-prefix-caching, --no-enable-prefix-caching启用自动前缀缓存。使用 <span class="pre">--no-enable-prefix-caching</span> 显式禁用。
- --prefix-caching-hash-algo可能选项:builtin, sha256
设置前缀缓存的哈希算法。选项包括 ‘builtin’(Python 的内置哈希)或 ‘sha256’(抗冲突但具有一定开销)。
默认值:“builtin”
- --disable-sliding-window禁用滑动窗口,限制为滑动窗口大小。
默认值:False
- --use-v2-block-manager[已弃用] 块管理器 v1 已被删除,SelfAttnBlockSpaceManager(即块管理器 v2)现在是默认设置。将此标志设置为 True 或 False 对 vLLM 行为没有影响。
默认值:True
- --num-lookahead-slots推测解码所需的实验性调度配置。这将在未来被推测配置取代;它目前的存在是为了启用正确性测试。
默认值:0
- --seed操作的随机种子。
- --swap-space每个 GPU 的 CPU 交换空间大小 (GiB)。
默认值:4
- --cpu-offload-gb每个 GPU 要卸载到 CPU 的空间,以 GiB 为单位。默认值为 0,表示不卸载。直观地看,此参数可以看作是增加 GPU 内存大小的虚拟方法。例如,如果您有一个 24 GB GPU 并将其设置为 10,则实际上可以将其视为 34 GB GPU。然后,您可以加载一个 13B 模型和 BF16 权重,这至少需要 26GB GPU 内存。请注意,这需要快速的 CPU-GPU 互连,因为模型的一部分在每次模型前向传递中都会从 CPU 内存动态加载到 GPU 内存。
默认值:0
- --gpu-memory-utilization用于模型执行器的 GPU 内存的比例,范围为 0 到 1。例如,值为 0.5 表示 50% 的 GPU 内存利用率。如果未指定,将使用默认值 0.9。这是一个按实例限制,仅适用于当前的 vLLM 实例。如果您在同一 GPU 上运行另一个 vLLM 实例,则无关紧要。例如,如果您在同一 GPU 上运行两个 vLLM 实例,则可以将每个实例的 GPU 内存利用率设置为 0.5。
默认值:0.9
- --num-gpu-blocks-override如果指定,则忽略 GPU 性能分析结果,并使用此 GPU 块数。用于测试抢占。
- --max-num-batched-tokens每次迭代的最大批处理 token 数。
- --max-num-partial-prefills对于分块预填充,最大并发部分预填充数。
默认值:1
- --max-long-partial-prefills对于分块预填充,将并发预填充的最大提示数(提示长度超过 –long-prefill-token-threshold)。将此值设置得小于 –max-num-partial-prefills 将允许较短的提示在某些情况下跳过较长提示的队列,从而提高延迟。
默认值:1
- --long-prefill-token-threshold对于分块预填充,如果提示长度超过此 token 数,则该请求被认为是长的。
默认值:0
- --max-num-seqs每次迭代的最大序列数。
- --max-logprobs要返回的最大对数概率数,logprobs 在 SamplingParams 中指定。
默认值:20
- --disable-log-stats禁用日志统计信息。
默认值:False
- --quantization, -q可选选项:aqlm, awq, deepspeedfp, tpu_int8, fp8, ptpc_fp8, fbgemm_fp8, modelopt, nvfp4, marlin, gguf, gptq_marlin_24, gptq_marlin, awq_marlin, gptq, compressed-tensors, bitsandbytes, qqq, hqq, experts_int8, neuron_quant, ipex, quark, moe_wna16, torchao, None
用于量化权重的技术。如果为 None,我们首先检查模型配置文件中的 quantization_config 属性。如果该属性也为 None,我们则假定模型权重未被量化,并使用 dtype 来确定权重的data type(数据类型)。
- --rope-scalingRoPE scaling(RoPE 缩放)配置,JSON 格式。例如:<span class="pre">{"rope_type":"dynamic","factor":2.0}</span>
- --rope-thetaRoPE theta。与 rope_scaling 配合使用。在某些情况下,更改 RoPE theta 可以提高缩放模型的性能。
- --hf-token用作远程文件 HTTP bearer authorization(持有者授权)的token(令牌)。如果为 True,将使用运行 huggingface-cli login 时生成的token(存储在 ~/.huggingface 中)。
- --hf-overridesHuggingFace 配置的额外参数。这应该是一个 JSON 字符串,将被解析为一个字典。
- --enforce-eager始终使用 eager-mode(eager 模式) PyTorch。如果为 False,将结合使用 eager mode 和 CUDA graph(CUDA 图)以获得最大的性能和灵活性。
默认值:False
- --max-seq-len-to-captureCUDA graphs(CUDA 图)覆盖的最大序列长度。当序列的上下文长度大于此值时,我们将回退到 eager mode(eager 模式)。此外,对于 encoder-decoder(编码器-解码器)模型,如果 encoder input(编码器输入)的序列长度大于此值,我们也将回退到 eager mode(eager 模式)。
默认值:8192
- --disable-custom-all-reduce请参阅 ParallelConfig。
默认值:False
--tokenizer-pool-size用于异步 tokenization(分词)的 tokenizer pool(分词器池)的大小。如果为 0,将使用同步 tokenization(分词)。
默认值:0
--tokenizer-pool-type用于异步 tokenization(分词)的 tokenizer pool(分词器池)的类型。如果 tokenizer_pool_size 为 0,则忽略此项。
默认值:“ray”
--tokenizer-pool-extra-configtokenizer pool(分词器池)的额外配置。这应该是一个 JSON 字符串,将被解析为一个字典。如果 tokenizer_pool_size 为 0,则忽略此项。
--limit-mm-per-prompt对于每个 multimodal plugin(多模态插件),限制每个 prompt(提示)允许的输入实例数量。期望一个逗号分隔的项目列表,例如:image=16,video=2 允许每个 prompt(提示)最多 16 张图像和 2 个视频。默认为每种模态 1。
--mm-processor-kwargs多模态输入映射/处理的覆盖设置,例如,图像处理器。例如:<span class="pre">{"num_crops":</span><span> </span><span class="pre">4}</span>。
--disable-mm-preprocessor-cache如果为 true,则禁用 multi-modal preprocessor/mapper(多模态预处理器/映射器)的缓存。(不推荐)
默认值:False
--enable-lora如果为 True,启用 LoRA adapters(LoRA 适配器)的处理。
默认值:False
--enable-lora-bias如果为 True,为 LoRA adapters(LoRA 适配器)启用 bias(偏置)。
默认值:False
--max-loras单个 batch(批次)中 LoRA 的最大数量。
默认值:1
--max-lora-rankLoRA rank(LoRA 秩)的最大值
默认值:16
--lora-extra-vocab-sizeLoRA adapter(LoRA 适配器)中可能存在的额外 vocabulary(词汇表)的最大大小(添加到基础模型 vocabulary(词汇表))。
默认值:256
--lora-dtype可选选项:auto, float16, bfloat16
LoRA 的data type(数据类型)。如果为 auto,将默认为基础模型 dtype。
默认值:“auto”
--long-lora-scaling-factors指定多个 scaling factors(缩放因子)(可以与基础模型 scaling factor 不同 - 请参阅例如 Long LoRA),以允许同时使用使用这些 scaling factors 训练的多个 LoRA adapters(LoRA 适配器)。如果未指定,则仅允许使用使用基础模型 scaling factor 训练的 adapters(适配器)。
--max-cpu-loras存储在 CPU 内存中的 LoRA 的最大数量。必须 >= max_loras。
--fully-sharded-loras默认情况下,只有一半的 LoRA 计算通过 tensor parallelism(张量并行)进行分片。启用此选项将使用 fully sharded layers(完全分片层)。在高序列长度、最大 rank(秩)或 tensor parallel size(张量并行大小)下,这可能更快。
默认值:False
--enable-prompt-adapter如果为 True,启用 PromptAdapters(Prompt 适配器)的处理。
默认值:False
--max-prompt-adapters一个 batch(批次)中 PromptAdapters(Prompt 适配器)的最大数量。
默认值:1
--max-prompt-adapter-tokenPromptAdapters tokens(Prompt 适配器令牌)的最大数量
默认值:0
--device可选选项:auto, cuda, neuron, cpu, tpu, xpu, hpu
vLLM 执行的 device type(设备类型)。
默认值:“auto”
--num-scheduler-steps每个 scheduler call(调度器调用)的最大 forward steps(前向步骤)数。
默认值:1
--use-tqdm-on-load, --no-use-tqdm-on-load加载模型权重时是否启用/禁用进度条。
默认值:True
--multi-step-stream-outputs如果为 False,则 multi-step(多步)将在所有步骤结束时 stream outputs(流式输出)
默认值:True
--scheduler-delay-factor在调度下一个 prompt(提示)之前,应用延迟(延迟因子乘以先前的 prompt latency(提示延迟))。
默认值:0.0
--enable-chunked-prefill如果设置,prefill requests(预填充请求)可以基于 max_num_batched_tokens 进行分块。
--speculative-configspeculative decoding(推测解码)的配置。应为 JSON 字符串。
--model-loader-extra-configmodel loader(模型加载器)的额外配置。这将传递给与所选 load_format(加载格式)对应的 model loader(模型加载器)。这应该是一个 JSON 字符串,将被解析为一个字典。
--ignore-patterns加载模型时要忽略的 pattern(模式)。默认值为 original/**/*,以避免重复加载 llama 的 checkpoints(检查点)。
默认值:[]
--preemption-mode如果为 ‘recompute’,引擎通过重新计算执行 preemption(抢占);如果为 ‘swap’,引擎通过 block swapping(块交换)执行 preemption(抢占)。
--served-model-nameAPI 中使用的 model name(s)(模型名称)。如果提供了多个名称,服务器将响应任何提供的名称。响应的 model 字段中的模型名称将是列表中的第一个名称。如果未指定,模型名称将与 <span class="pre">--model</span> 参数相同。请注意,如果提供多个名称,此名称也将用于 prometheus metrics(普罗米修斯指标)的 model_name tag content(标签内容)中,metrics tag(指标标签)将采用第一个名称。
--qlora-adapter-name-or-pathQLoRA adapter(QLoRA 适配器)的名称或路径。
--show-hidden-metrics-for-version启用自指定版本以来已隐藏的 deprecated(已弃用) Prometheus metrics(普罗米修斯指标)。例如,如果先前已弃用的 metric(指标)自 v0.7.0 版本以来已被隐藏,您可以使用 –show-hidden-metrics-for-version=0.7 作为临时应急方案,同时迁移到新 metrics(指标)。该 metric(指标)很可能在即将发布的版本中被完全删除。
--otlp-traces-endpointOpenTelemetry traces(OpenTelemetry 追踪)将被发送到的目标 URL。
--collect-detailed-traces有效选项为 model, worker, all。仅当设置了 <span class="pre">--otlp-traces-endpoint</span> 时,设置此项才有意义。如果设置,它将为指定的模块收集 detailed traces(详细追踪)。这涉及使用可能代价高昂和/或阻塞的操作,因此可能会对性能产生影响。
--disable-async-output-proc禁用 async output processing(异步输出处理)。这可能会导致性能降低。
默认值:False
--scheduling-policy可选选项:fcfs, priority
要使用的 scheduling policy(调度策略)。“fcfs”(先到先服务,即按照到达顺序处理请求;默认)或 “priority”(基于给定的 priority(优先级)处理请求(值越低表示越早处理),并以到达时间决定任何并列情况)。
默认值:“fcfs”
--scheduler-cls要使用的 scheduler class(调度器类)。“vllm.core.scheduler.Scheduler” 是默认的 scheduler(调度器)。可以是直接的类,也可以是 “mod.custom_class” 形式的类路径。
默认值:“vllm.core.scheduler.Scheduler”
--override-neuron-config覆盖或设置 neuron device configuration(neuron 设备配置)。例如:<span class="pre">{"cast_logits_dtype":</span><span> </span><span class="pre">"bloat16"}</span>。
--override-pooler-config覆盖或设置 pooling models(池化模型)的 pooling method(池化方法)。例如:<span class="pre">{"pooling_type":</span><span> </span><span class="pre">"mean",</span><span> </span><span class="pre">"normalize":</span><span> </span><span class="pre">false}</span>。
--compilation-config, -O模型的 torch.compile 配置。当它是一个数字(0, 1, 2, 3)时,它将被解释为 optimization level(优化级别)。注意:级别 0 是默认级别,没有任何优化。级别 1 和 2 仅用于内部测试。级别 3 是推荐用于生产的级别。要指定完整的 compilation config(编译配置),请使用 JSON 字符串。按照传统编译器的惯例,也支持不带空格地使用 -O。-O3 等同于 -O 3。
--kv-transfer-configdistributed KV cache transfer(分布式 KV 缓存传输)的配置。应为 JSON 字符串。
--worker-cls用于 distributed execution(分布式执行)的 worker class(工作进程类)。
默认值:“auto”
--worker-extension-clsworker cls(工作进程类)之上的 worker extension class(工作进程扩展类),如果您只想向 worker class(工作进程类)添加新功能而不更改现有功能,这将非常有用。
默认值:“”
--generation-configgeneration config(生成配置)的文件夹路径。默认为 ‘auto’,generation config(生成配置)将从模型路径加载。如果设置为 ‘vllm’,则不加载 generation config(生成配置),将使用 vLLM 默认值。如果设置为文件夹路径,generation config(生成配置)将从指定的文件夹路径加载。如果在 generation config(生成配置)中指定了 max_new_tokens,则它将为所有请求设置服务器范围内的输出 tokens(令牌)数量限制。
默认值:auto
--override-generation-config以 JSON 格式覆盖或设置 generation config(生成配置)。例如:<span class="pre">{"temperature":</span><span> </span><span class="pre">0.5}</span>。如果与 –generation-config=auto 一起使用,override parameters(覆盖参数)将与模型的默认配置合并。如果 generation-config 为 None,则仅使用 override parameters(覆盖参数)。
--enable-sleep-mode为引擎启用 sleep mode(睡眠模式)。(仅支持 cuda 平台)
默认值:False
--calculate-kv-scales当 kv-cache-dtype 为 fp8 时,启用 k_scale 和 v_scale 的动态计算。如果 calculate-kv-scales 为 false,则 scales(缩放)将从模型 checkpoint(检查点)加载(如果可用)。否则,scales(缩放)将默认为 1.0。
默认值:False
--additional-configJSON 格式的指定平台的 additional config(附加配置)。不同的平台可能支持不同的配置。确保配置对于您正在使用的平台有效。输入格式类似于 ‘{“config_key”:”config_value”}’
--enable-reasoning是否为模型启用 reasoning_content(推理内容)。如果启用,模型将能够生成 reasoning content(推理内容)。
默认值:False
--reasoning-parser可选选项:deepseek_r1, granite
根据您正在使用的模型选择 reasoning parser(推理解析器)。这用于将 reasoning content(推理内容)解析为 OpenAI API 格式。 <span class="pre">--enable-reasoning</span> 需要此项。
--disable-cascade-attn为 V1 禁用 cascade attention(级联注意力)。虽然 cascade attention(级联注意力)不会改变数学上的正确性,但禁用它可以用于防止潜在的数值问题。请注意,即使将其设置为 False,cascade attention(级联注意力)也仅在 heuristic(启发式)表明它有利时才使用。
默认值:False
--disable-chunked-mm-input为 V1 禁用 multimodal input chunking attention(多模态输入分块注意力)。如果设置为 true 并且启用了 chunked prefill(分块预填充),我们不希望部分调度 multimodal item(多模态项目)。这确保了如果一个请求具有混合 prompt(提示)(例如文本 tokens TTTT 后跟图像 tokens IIIIIIIIII),其中只能调度一些图像 tokens(例如 TTTTIIIII,留下 IIIII),它将分步调度为 TTTT 和 IIIIIIIIII。
默认值:False
--disable-log-requests禁用 logging requests(请求日志记录)。
默认值:False
--max-log-len日志中打印的最大 prompt characters(提示字符)或 prompt ID numbers(提示 ID 号)数量。默认值 None 表示无限制。
--disable-fastapi-docs禁用 FastAPI 的 OpenAPI schema(OpenAPI 模式)、Swagger UI 和 ReDoc endpoint(ReDoc 端点)。
默认值:False
--enable-prompt-tokens-details如果设置为 True,则在 usage(用量)中启用 prompt_tokens_details。
默认值:False
--enable-server-load-tracking如果设置为 True,则在 app state(应用状态)中启用 tracking server_load_metrics(跟踪服务器负载指标)。
默认值:False
Qwen3的部署命令和API调用
Plain Text
python -m vllm.entrypoints.openai.api_server \
--model /root/autodl-tmp/models/Qwen/Qwen3-8B \
--served-model-name qwen3-8b \
--max-model-len 8k \
--host 0.0.0.0 \
--port 6006 \
--dtype bfloat16 \
--gpu-memory-utilization 0.8 \
--enable-auto-tool-choice \
--tool-call-parser hermes \
--enable-reasoning \
--reasoning-parser deepseek_r1 \
python -m vllm.entrypoints.openai.api_server \
--model /root/autodl-tmp/models/Qwen/Qwen2___5-Omni-3B \
--served-model-name qwen-omni-3b \
--max-model-len 16k \
--host 0.0.0.0 \
--port 6006 \
--dtype float16 \
--gpu-memory-utilization 0.8
-- deepseek-r1-0528-qwen3-8B
python -m vllm.entrypoints.openai.api_server \
--model /root/autodl-tmp/models/deepseek-ai/DeepSeek-R1-0528-Qwen3-8B \
--served-model-name ds-qwen3-8b \
--max-model-len 8k \
--host 0.0.0.0 \
--port 6006 \
--dtype bfloat16 \
--gpu-memory-utilization 0.8 \
--enable-auto-tool-choice \
--tool-call-parser hermes

更多推荐



所有评论(0)