简述如何部署vllm
时间: 2025-06-30 14:20:09 浏览: 2
<think>我们被要求回答如何部署vLLM模型,并参考了提供的引用内容。根据引用内容,部署vLLM模型需要以下步骤:1.准备工作:包括安装基础组件,创建Python虚拟环境。2.安装vLLM:在虚拟环境中使用pip安装vLLM,并指定镜像源以加速下载。3.下载模型:可以使用modelscope下载模型,或者直接准备好模型文件(如safetensors或GGUF格式)。4.部署模型:使用vllmserve命令启动服务,指定模型路径、tokenizer(如果是GGUF模型需要单独指定)、以及其他参数(如最大模型长度、端口等)。我们将按照这些步骤详细说明。注意:引用中提到了两种模型部署方式:一种是safetensors格式的模型,另一种是GGUF量化模型。我们将分别说明。同时,引用[3]提到vLLM对GPU的要求:计算能力7.0或更高(如V100,T4, RTX20xx,A100, L4,H100等)。步骤详细说明如下:</think>### 部署 vLLM 模型的完整指南
vLLM(Virtual Large Language Models)是一种高效的大型语言模型部署框架,通过**分页注意力机制**和**连续批处理技术**显著提升推理性能[^1]。以下是具体部署流程:
#### 一、环境准备
1. **硬件要求**
- GPU:需支持 Compute Capability 7.0+(如 V100/T4/A100/H100)[^3]
- 显存:至少 20GB(具体取决于模型大小)
2. **创建虚拟环境**
```bash
python3 -m venv ~/vllm # 创建环境
source ~/vllm/bin/activate # 激活环境
```
#### 二、安装依赖
```bash
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple # 使用清华源加速
```
验证安装:`vllm --version`
#### 三、模型下载
以 DeepSeek-R1 模型为例:
```bash
modelscope download --model 'unsloth/DeepSeek-R1-Distill-Qwen-1.5B' \
--local_dir 'unsloth/DeepSeek-R1-Distill-Qwen-1.5B'
```
#### 四、启动服务
**方式1:部署原生模型**(safetensors格式)
```bash
vllm serve ~/ollama/unsloth/DeepSeek-R1-Distill-Qwen-1.5B \
--enable-reasoning \
--reasoning-parser deepseek_r1 \
--dtype float16 \
--cpu-offload-gb 4 \ # GPU显存不足时启用CPU卸载
--max-model-len 16380 \
--api-key YOUR_SECRET_KEY \ # 设置访问密钥
--port 16144
```
**方式2:部署量化模型**(GGUF格式)
```bash
vllm serve ~/ollama/unsloth/DeepSeek-R1-Distill-Qwen-1.5B-GGUF/DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf \
--tokenizer ~/ollama/unsloth/DeepSeek-R1-Distill-Qwen-1.5B \ # 需单独指定tokenizer
--enable-reasoning \
--reasoning-parser deepseek_r1 \
--max-model-len 16380 \
--api-key YOUR_SECRET_KEY \
--port 16145
```
#### 五、验证部署
访问 API 端点:
```bash
curl http://localhost:16144/v1/completions \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "DeepSeek-R1", "prompt": "你好,vLLM!"}'
```
#### 关键参数说明
| 参数 | 作用 | 示例值 |
|------|------|--------|
| `--dtype` | 计算精度 | `float16`/`bfloat16` |
| `--max-model-len` | 最大上下文长度 | 16380 |
| `--cpu-offload-gb` | CPU卸载显存(GB) | 4 |
| `--tensor-parallel-size` | 张量并行数 | 2(多卡时) |
> **性能优化提示**:
> - 使用 `--quantization awq` 可启用4bit量化[^3]
> - 添加 `--swap-space 16` 增加KV缓存交换空间
> - 多GPU部署需设置 `--tensor-parallel-size`
[^1]: vLLM 通过虚拟化技术实现资源高效利用
[^2]: 实际部署需注意模型与tokenizer路径匹配
[^3]: 硬件兼容性是部署成功的前提条件
阅读全文
相关推荐






