当前位置: 首页 > news >正文

vllm 大模型推理框架

vLLM 通过命令行工具 python -m vllm.entrypoints.api_server 启动 OpenAI 兼容的 API 服务器,其参数涵盖了模型加载、推理、调度和服务的各个方面。

启动命令基本结构

bash
python -m vllm.entrypoints.api_server \--model <model_name_or_path> \[其他参数]

核心参数分类详解

1. 模型加载参数

 
参数默认值说明
--model 必填 模型名称或路径(Hugging Face 模型ID或本地路径)。
--tokenizer None 可选,单独指定 tokenizer 的名称或路径。如果未指定,则使用 --model 的值。
--tokenizer-mode auto Tokenizer 加载模式。auto(自动), slow(使用HF慢速tokenizer)。
--trust-remote-code False 重要:如果模型需要自定义代码(如某些国产模型),必须添加此参数以信任远程代码。
--download-dir None 模型下载的缓存目录。
--load-format auto 模型权重加载格式。auto, dummy(随机权重,用于测试), safetensors(强制使用 safetensors), npcache(串行缓存), tensorizer
--seed 0 随机数种子,用于可复现性。

2. 推理与调度参数(性能关键)

参数默认值说明
--tensor-parallel-size 1 张量并行的GPU数量。用于将模型层拆分到多个GPU上。例如,对于 7B/8B 模型,通常设为 1;对于 70B 模型,可设为 4 或 8。
--block-size 16 PagedAttention 的块大小。通常保持默认即可,调整它可能影响内存碎片和性能。
--swap-space 4 GPU显存不足时,用于交换到CPU内存的空间大小(GB)。
--gpu-memory-utilization 0.9 GPU显存利用率(0到1之间)。例如 0.9 表示使用 90% 的GPU显存。如果遇到 OOM,可以适当调高。
--max-num-batched-tokens None 一次前向传播中最大批处理的 token 数。vLLM 会自动调整,但可以手动设置以控制延迟。
--max-num-seqs 256 最大并发序列数(批大小)。如果请求排队严重,可以适当增大;如果显存小,可以减小。
--max-model-len None 手动指定模型上下文长度。vLLM 通常会从模型配置中读取,但如果读取失败或你想覆盖,可以用此参数。
--enforce-eager False 强制使用 eager 模式而非 CUDA graph。会降低性能,但用于调试。

3. 服务与API参数

 
参数默认值说明
--host 0.0.0.0 API 服务器监听的主机地址。0.0.0.0 表示监听所有网络接口。
--port 8000 API 服务器监听的端口。
--uvicorn-log-level info Uvicorn 服务器的日志级别。debuginfowarningerrorcritical
--api-key None 可选,设置 API 密钥以启用认证。如果设置,客户端必须在 Authorization 头中提供 Bearer <api-key>
--root-path None 在代理后面运行时,设置应用的根路径。

4. 量化与优化参数

参数默认值说明
--quantization None 量化方法。例如 awq(对于支持的 AWQ 量化模型), gptqsqueezellmfp8(H100等支持)。
--dtype auto 模型计算的数据类型。auto(自动从权重推断), half(torch.float16), bfloat16float(torch.float32)。
--revision None 指定加载的模型版本(git revision,如分支名或commit id)。

完整示例

示例 1:基础启动(7B模型,单卡)

bash
python -m vllm.entrypoints.api_server \--model Qwen/Qwen2.5-7B-Instruct \--tokenizer-mode auto \--trust-remote-code \--host 0.0.0.0 \--port 8000

示例 2:多GPU张量并行 + 高并发配置

bash
python -m vllm.entrypoints.api_server \--model Qwen/Qwen2.5-72B-Instruct \--tokenizer Qwen/Qwen2.5-72B-Instruct \--tensor-parallel-size 4 \--gpu-memory-utilization 0.95 \--max-num-seqs 512 \--trust-remote-code \--host 0.0.0.0 \--port 8000

示例 3:使用 AWQ 量化模型以节省显存

bash
python -m vllm.entrypoints.api_server \--model lmsys/vicuna-7b-v1.5-awq \--quantization awq \--gpu-memory-utilization 0.8

示例 4:设置API密钥和自定义上下文长度

bash
python -m vllm.entrypoints.api_server \--model meta-llama/Llama-3.1-8B-Instruct \--max-model-len 8192 \--api-key "your-secret-token-123" \--host 127.0.0.1
http://www.zskr.cn/news/21393.html

相关文章:

  • 2025 年铝外壳铝型材厂家选购指南:美容仪/充电宝/暴力风扇铝外壳铝型材,精选优质厂商助力企业高效选型
  • Windows 11 25H2来了,附升级教程及windows官方镜像下载
  • 我造了个程序员练兵场,专治技术焦虑症!
  • 原创2000万道+K12教育题库数据集:覆盖小学到高中全学段多学科智能教育训练数据,助力AI教育应用与个性化学习系统开发
  • 26Java基础之特殊文本文件、日志技术
  • AgentFounder浅析——Agent的演化历程与目标
  • Aniyomi扩展开发指南与Google Drive集成方案
  • 完整教程:ESD保护设计指南 - littelfuse
  • 【Python精讲 16】实战项目演练(二):用Flask/FastAPI发布你的第一个Web API - 详解
  • PMTU机制原理和缺陷
  • trading platform
  • zedboard + AD-FMCOMMS3-EBZ AD9361 (三) matlab demo 测试
  • .NET 构架下remoting和webservice
  • SIMATIC WinCC V8.1 安装教程与功能介绍(附详细图文步骤)超详细
  • 接触过的芯片型号之间区别
  • 关于并发和并行的理解
  • oracle多租户环境CDB与PDB执行
  • 2025 年自润滑轴承厂商最新推荐排行榜:聚焦高承载技术与全球客户口碑,助力企业精准选择优质供应商无油/复合/耐磨/无油向心关节轴承厂家推荐
  • 实用指南:【Linux系统】—— 环境变量
  • 2025 年 MBR 膜厂家最新推荐排行榜:权威评选优选品牌,污水处理设备选型指南全解析污水处理设备MBR膜厂家推荐
  • 图像去雾算法详解与MATLAB实现
  • 算法设计与分析作业
  • 2025年书包柜厂家最新推荐排行榜,学生书包柜,员工书包柜,更衣柜储物柜,智能书包柜公司口碑之选
  • 企业高效数据传输:数据摆渡解决方案全解析
  • 2025.10.13 测试
  • 2025 年工程管理软件平台公司最新推荐榜:聚焦数字化效能,优选靠谱服务商
  • uni-app x封装request,统一API接口请求
  • 2025年国内分散釜优质厂家排行榜:值得推荐的分散釜厂家有哪些?
  • Unity学习之垃圾回收GC - 指南
  • 告别词穷!我发现了一款免费无限量的 Midjourney 提示词神器!