首页服务器教程vLLM部署大模型简易教程:GPU服务器运行Qwen并接入API

vLLM部署大模型简易教程:GPU服务器运行Qwen并接入API

2026-09-08 125

想把开源大模型接入自己的应用,或者给团队搭建一个共用的代码助手,可以在GPU服务器上部署vLLM。它能加载兼容的大模型,并提供OpenAI兼容接口,方便程序调用。

下面以Qwen2.5-Coder-7B-Instruct为例,介绍从环境准备到接口测试的基本步骤。这个模型偏向代码生成,适合用来测试编程问答和代码辅助功能。

一、准备GPU服务器

部署前先看显存。这个模型约有76亿参数,按BF16精度计算,仅模型权重就需要约15.2GB空间,运行时还要为缓存和其他开销预留显存。

RakSmart美国硅谷GPU服务器月付169美元起,提供GTX 750、GTX 1050、GTX 1080和AMD Radeon Pro WX 7100显卡方案,搭配32GB或64GB内存、1TB HDD或SSD及1个IP,DDoS防御可选。这几款采用较早期显卡,可供旧版GPU程序、部分图形处理和渲染项目比较,购买前需要确认显存、驱动及软件兼容性,不宜直接用于前文的vLLM部署Qwen 7B方案。具体带宽、升级选项和优惠以订单页面为准,更多配置可查看RakSmart美国GPU服务器介绍:点击直达RakSmart官网>>>

本教程建议使用Ubuntu 24.04 LTS,并选择已经安装好NVIDIA驱动的GPU镜像。磁盘需要同时容纳模型、Python依赖和缓存,建议预留至少60GB可用空间。

二、连接服务器,检查GPU

通过SSH登录服务器后,执行:

nvidia-smi

正常情况下,会显示显卡型号、驱动版本、显存总量和当前占用。

vLLM部署大模型简易教程:GPU服务器运行Qwen并接入API

如果提示命令不存在或无法连接驱动,先处理GPU驱动问题。nvidia-smi中的CUDA版本表示驱动支持的CUDA版本,不等于已经安装了相同版本的CUDA Toolkit。

接着安装Python虚拟环境工具和tmux。

sudo apt update
sudo apt install -y python3-venv python3-pip tmux curl

三、安装vLLM

创建独立目录与Python环境,避免和其他应用的依赖混在一起。

mkdir -p ~/vllm-demo
cd ~/vllm-demo
python3 -m venv .venv
source .venv/bin/activate

安装vLLM。

python -m pip install --upgrade pip
python -m pip install vllm

这条命令安装当前软件源中可用的版本。vLLM、PyTorch和NVIDIA驱动需要兼容,如果安装或启动时报CUDA错误,应核对该版本的驱动要求。

检查安装结果。

vllm --version
python -c "import torch; print('CUDA available:', torch.cuda.is_available()); print('GPU:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'none')"

出现CUDA available: True并正确显示GPU名称后,再加载模型。部署成功后,可以保存依赖版本,便于以后重建环境。

python -m pip freeze > requirements-installed.txt

四、启动Qwen模型

为了让SSH断开后程序继续运行,先创建tmux会话。

tmux new -s vllm

在会话中激活环境,并输入自己设置的API密钥。建议使用密码管理工具生成较长的随机密钥,并保存好。

cd ~/vllm-demo
source .venv/bin/activate
read -r -s -p "请输入API密钥:" VLLM_API_KEY
printf '\n'
export VLLM_API_KEY

启动模型。

vllm serve Qwen/Qwen2.5-Coder-7B-Instruct \
  --host 127.0.0.1 \
  --port 8000 \
  --dtype auto \
  --max-model-len 4096 \
  --max-num-seqs 2 \
  --gpu-memory-utilization 0.85 \
  --api-key "$VLLM_API_KEY"

这组参数用于先跑通服务。

  • --max-model-len 4096限制单次请求的上下文长度,输入和输出需要共同计入。
  • --max-num-seqs 2限制同时处理的序列数量。
  • --gpu-memory-utilization 0.85将显存使用目标设为85%,不代表一定不会显存不足。
  • --host 127.0.0.1让接口只监听服务器本机。

首次启动需要下载模型,耗时取决于服务器网络和下载源。等日志显示服务启动完成后,按Ctrl+B,松开后再按D,即可退出tmux界面,保留程序运行。

重新查看运行界面可以执行:

tmux attach -t vllm

tmux适合初次部署和测试,但不会在服务器重启后自动恢复服务。准备长期使用时,再配置systemd或容器管理。

五、通过SSH调用API

在自己电脑上打开一个终端,建立SSH。将用户名、IP和端口替换为实际信息。

ssh -N -o ExitOnForwardFailure=yes \
  -L 8000:127.0.0.1:8000 \
  -p 22 用户名@服务器IP

保持这个窗口开启。本机的8000端口会通过SSH连接到服务器上的vLLM接口,无需开放公网8000端口。

再打开一个本地终端。以下测试命令使用Bash,Windows用户可以在WSL中执行。

输入刚才保存的API密钥。

read -r -s -p "请输入API密钥:" VLLM_API_KEY
printf '\n'

发送一条中文请求。

curl -sS -w '\nHTTP %{http_code}\n' \
  http://127.0.0.1:8000/v1/chat/completions \
  -H "Authorization: Bearer $VLLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen2.5-Coder-7B-Instruct",
    "messages": [
      {
        "role": "user",
        "content": "请写一个Python函数,判断输入的整数是否为偶数。"
      }
    ],
    "temperature": 0,
    "max_tokens": 256
  }'

返回HTTP 200,并在choices中看到生成内容,说明接口已经可以调用。

还可以检查未携带密钥的请求是否被拒绝。

curl -sS -o /dev/null -w 'HTTP %{http_code}\n' \
  http://127.0.0.1:8000/v1/models

预期返回HTTP 401。如果无需密钥也能访问,应先检查鉴权设置。

支持自定义OpenAI兼容接口的客户端,可以填写以下信息:

配置项 内容
API地址 http://127.0.0.1:8000/v1
API Key 自己设置的密钥
模型名称 Qwen/Qwen2.5-Coder-7B-Instruct

这里的地址适用于运行SSH的电脑。其他设备或容器中的127.0.0.1指向它们自己,不能直接照填。

常见问题

启动时提示显存不足怎么办?

先用nvidia-smi检查是否有其他程序占用GPU,再尝试缩短上下文、降低并发。如果模型权重本身已经接近显存上限,就需要更大显存,或选择兼容的量化模型。

vLLM和Ollama选哪个?

个人试用、经常切换模型,可以先考虑Ollama。准备为多个用户或应用提供统一推理接口,可以考虑vLLM。具体吞吐仍取决于模型、GPU、输入长度和并发设置。

为什么没有直接开放8000端口?

初次部署使用SSH,方便控制访问范围。之后需要公开提供API时,再配置HTTPS、身份认证和访问限制。

24GB显存够不够?

对于本教程的7B模型,可以作为低并发、受限上下文的尝试起点,但不保证所有版本和参数组合都能运行。需要较长上下文或多人使用时,48GB显存会有更多调整空间。

模型跑通后,先用实际问题观察回答质量、响应时间和显存占用,再决定是否增加并发。GPU选型也应结合这些数据,避免只看显卡型号购买过高配置。

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。
检查GPU
下一篇:

已经没有下一篇了!

相关文章