vLLM怎么用 大模型推理加速引擎教程
更新时间:2026-10-09 12:02:49 发布时间:1小时前 阅读:3次vLLM是一个大模型推理加速引擎,适合高吞吐量地运行Llama、Qwen等模型。它通过PagedAttention和连续批处理等机制提升显存利用率与请求处理能力;部署成API服务后,通常能提高整体吞吐量和并发处理能力,但实际速度还取决于显卡、模型大小和请求长度。下面从安装、离线测试到启动服务走一遍。
第一步:安装vLLM
先准备一台装有兼容GPU的Linux机器,并确认驱动、CUDA、Python版本与所选vLLM安装方式匹配。不同硬件平台的安装步骤并不完全一样,不要把某个CUDA环境下的命令直接照搬到其他设备上。新手建议先查看官方安装说明,选定平台和对应版本,再开始配置。
在适配的Python环境中,可以用uv安装,例如执行:uv pip install vllm –torch-backend auto。这里的自动后端选项会为受支持的CUDA环境选择PyTorch构建;如果你的机器使用ROCm、CPU或其他硬件,应按该平台的安装说明操作。安装完成后运行:python -c “import vllm; print(vllm.__version__)”,确认导入成功。
接着确认模型文件从哪里加载:可以使用模型仓库标识,也可以准备本地模型目录。第一次加载远程模型时,需要网络连接,并确保模型文件和配置能够访问;若需认证,按模型仓库要求配置凭证。先选一个显存能够容纳的小型指令模型试跑,成功后再换更大的模型,排错会容易很多。
第二步:离线推理测试
离线推理适合批量处理文本、写脚本做验证,不需要启动HTTP服务。新建Python脚本,导入LLM和SamplingParams,加载模型后准备提示词列表,再调用generate生成结果。最简单的思路是:LLM(model=”模型名称”)创建引擎,SamplingParams(temperature=0.7, max_tokens=128)设置生成参数,随后遍历输出并打印文本。
运行脚本时,把“模型名称”替换成实际模型标识或本地目录。首次启动通常还要加载权重,等待时间可能较长;观察终端是否出现显存不足、模型格式不支持或文件缺失等报错。若是聊天指令模型,直接把普通提示词交给generate未必会套用聊天模板;可使用llm.chat传入role和content格式的消息,或先用对应分词器套用模型模板。
调整批处理和并发
离线任务可把多个提示词组成列表一次传入generate,让引擎调度批量请求;在线服务则会持续接收请求并进行连续批处理。不要只追求把并发开到最大:并发增加可能提升整体吞吐量,也可能让显存压力和排队延迟上升。建议用真实长度的输入做小规模压测,同时记录吞吐、响应时间和显存占用。
如果显存吃紧,先降低同时处理的请求量、缩短输入或生成长度,或者换更小、量化过的模型;每次只调整一项并重新测试。服务启动参数中可按需设置最大模型上下文长度、显存利用率目标和最大并发序列数,参数名称与可用范围应以当前安装版本的帮助信息为准。不同模型和显卡的最佳值不一样,别照抄别人的压测结果。
第三步:启动OpenAI兼容API服务
准备好模型后,在终端运行:vllm serve Qwen/Qwen2.5-1.5B-Instruct。模型标识可换成你有权使用且受支持的模型;本地文件则填本地路径。默认服务地址是http://localhost:8000。若要让局域网内其他机器访问,可设置监听地址和端口,例如添加–host 0.0.0.0 –port 8000;同时应按实际部署配置网络访问控制。
服务启动后,可用/v1/chat/completions测试聊天接口,或用/v1/completions测试文本补全接口。请求体中的model要与服务加载的模型名称对应,messages里放入用户消息。也可以在Python客户端中使用OpenAI库,把base_url设为http://localhost:8000/v1,并将api_key设为占位值;客户端发出的请求便会转到本地vLLM服务。
上线前还要验证模型是否支持所需接口与聊天模板,检查端口连通、日志和错误返回,并用多用户请求测试实际并发。需要托管式部署、少维护服务器时,也可以了解国内云端推理方案,例如火山引擎;如果要自己管理GPU、模型版本和服务参数,vLLM则提供更直接的本地部署方式。润灭建议先用小模型跑通全流程,再逐步扩大模型与流量。volcengine.cgref.cn