vLLM的安装多卡部署大语言模型
vLLM是一个专为大规模语言模型设计的高性能推理库,由加州大学伯克利分校的研究团队开发。它通过PagedAttention、连续批处理和优化的CUDA内核等技术,显著提升了大语言模型的推理性能和内存效率,特别适合生产环境中的模型服务部署。
vLLM支持多种部署方式,包括单机部署、多卡分布式部署和集群部署。本教程将重点介绍单机多卡部署的完整流程,从环境准备到服务提供的每个步骤。
1. 环境准备与安装
1.1 创建虚拟环境
使用conda创建独立的Python环境:
# 创建名为vllm的虚拟环境,Python版本3.10
conda create -n vllm python=3.10
# 激活虚拟环境
conda activate vllm1.2 安装vLLM
vLLM支持多种安装方式,推荐使用pip安装:
# 方法1:使用pip安装(推荐,速度更快)
# 先下载Pytorch 具体选用版本请参考本文头部的
前置教程中的内容
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple
# 方法2:从源码安装(适合开发者),网盘中的代码即包括了源码
git clone https://github.com/vllm-project/vllm.gitcd vllmpip install -e .3. 模型下载与管理
网盘中已包含相关模型,可跳过此步骤
使用Git克隆模型仓库是最可靠的方式,特别适合大文件的下载:
# 创建模型目录
mkdir -p /mnt/c/modelscd /mnt/c/models# git lfs
初始化
git lfs install
# 下载Qwen3-0.6B模型
网盘中提供了相应的模型文件,此步可跳过
git clone https://www.modelscope.cn/Qwen/Qwen3-0.6B.git4. 启动vLLM服务
4.1 基础服务启动
启动vLLM服务非常简单,以下是最基础的启动命令:
# 启动单GPU服务vllm serve /mnt/c/models/Qwen3-0.6B \ --port 8800 \ --host 0.0.0.0 \ --dtype half \ --gpu-memory-utilization 0.5 \ --max-model-len 8192参数说明:
--host 0.0.0.0:允许外部访问--dtype half:使用半精度浮点数,减少显存占用--gpu-memory-utilization 0.5:使用GPU的50%显存--port 8000:服务端口--max-model-len 8192:限制单次输入的最大token数量,防止内存溢出
4.2 多卡分布式部署
对于需要更高性能的场景,可以使用多GPU并行推理:
# 双卡并行部署(张量并行)
vllm serve /mnt/c/models/Qwen3-0.6B \ --port 9000 \ --host 0.0.0.0 \ --dtype=half \ --gpu-memory-utilization 0.85 \ --max-model-len 6000 \ --tensor-parallel-size 25. 详细参数说明
5.1 并行计算参数
5.2 内存优化参数
5.3 计算精度与加速参数
5.4 模型与推理控制参数
5.5 服务与日志配置参数
5.6 参数优化建议
通过合理组合这些参数,可以显著优化大语言模型的推理效率、内存占用和服务稳定性。
6. API使用与集成
6.1 OpenAI兼容API
vLLM提供完全兼容OpenAI的API接口,支持标准的Chat Completions格式:
基础API调用
# 新建wsl命令行,粘贴下面命令,使用curl调用API:
curl -X POST 'http://localhost:8000/v1/chat/completions' \ --header 'Content-Type: application/json' \ --data-raw '{ "model": "/mnt/c/models/Qwen3-0.6B", "messages": [ {"role": "system", "content": "you are a helpful assistant"}, {"role": "user", "content": "你好,请介绍一下vLLM"} ], "max_tokens": 1000, "temperature": 0.7, "stream": false }'7.2 ApiPost测试
ApiPost是一款强大的API测试工具,可以方便地测试vLLM服务:
下载安装ApiPost
创建API请求
将7.1节中的API调用Curl命令复制,在ApiPost的+按钮中选择从cURL导入的页面中粘贴,将自动解析为Api请求,点击发送按钮即可,显示如下结果则表示服务调用成功:{ "id": "chatcmpl-66ba9c6a287044629302294b5b06e116", "object": "chat.completion", "created": 1760833573, "model": "/mnt/c/models/Qwen3-0.6B", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "<think>\n好的,用户让我介绍一下vLLM。首先,我需要确认vLLM是什么。vLLM是阿里巴巴集团旗下的智能语音服务,主要提供语音识别和生成服务。接下来,我要确保回答准确,涵盖关键信息,比如服务范围、应用场景、技术特点等。同时,要保持回答简洁明了,避免使用专业术语过多,让用户容易理解。另外,还要注意用户可能的深层需求,比如他们是否想了解vLLM的具体功能或如何使用,所以回答中可以适当提到这些方面。最后,检查一下有没有遗漏的重要信息,确保回答全面。\n</think>\n\nvLLM是阿里巴巴集团旗下的智能语音服务,主要提供语音识别和生成两大核心功能。服务范围覆盖语音助手、智能客服、自然语言处理等场景,支持多语言、多模态交互。技术方面,vLLM依托阿里巴巴的AI平台,结合深度学习模型,具备高效、精准的语音处理能力,广泛应用于企业语音助手、智能客服系统及跨平台语音交互解决方案中。", "refusal": null, "annotations": null, "audio": null, "function_call": null, "tool_calls": [], "reasoning_content": null }, "logprobs": null, "finish_reason": "stop", "stop_reason": null, "token_ids": null } ] ...}
8. 总结
本教程详细介绍了vLLM的安装、配置、部署和使用的完整流程。vLLM作为目前最先进的大语言模型推理引擎之一,为AI应用的开发和部署提供了强大的技术支持。掌握vLLM的使用将大大提升您在大模型应用开发中的效率和性能。