基于 AutoDL 平台搭建 vLLM Qwen 大模型推理服务

搭建部署在 AutoDL V100 32G GPU Ubuntu 环境下的 QWen2.5-7B-Instruct 模型的 vLLM 推理流程,支持在本地浏览器访问。具体流程如下:

1、服务器选型

  • AutoDL:选用 V100 32G 容器
  • vLLM
  • HuggingFace
  • WebUI

2、环境搭建

2.1、VSCode 连接 AutoDL 远程服务器

VSCode 安装 Remote-SSH 插件

点击 VSCode SSH + 按钮添加 AutoDL 中创建的容器账号和密码,建立 SSH 远程连接。

使用 VSCode 连接上 AutoDL 容器后,点击 VSCode 菜单栏中的 Terminal,创建新的命令行终端:

由于 AutoDL 的容器中无法直接访问 HuggingFace 官网,导致开启 vLLM 服务过程中部分子任务无法自动执行,需要配置国内镜像。

以下大部分命令均是在 VSCode 创建的新的命令行终端里面执行:

2.2、安装依赖库

1、安装 huggingface hub

bash 复制代码
pip install -U huggingface_hub

2、设置镜像

bash 复制代码
export HF_ENDPOINT=https://hf-mirror.com
export HF_TOKEN="你自己的HuggingFace的AccessToken"

可以在 HuggingFace 官网的 Access Tokens 中创建一个新的 Token,对应的 Token 填入到 HF_TOKEN 中即可。

3、AutoDL Ubuntu 容器中登录 HuggingFace

bash 复制代码
hf auth login --token $HF_TOKEN
hf auth whoami #看是否登录成功

4、安装 WebUI

bash 复制代码
pip install webui

5、安装 vLLM

bash 复制代码
pip install vllm

安装好 vLLM 后,启动服务:

bash 复制代码
# Launch vLLM with a language model
vllm serve Qwen/Qwen2.5-7B-Instruct

由于 Qwen2.5-7B-Instruct 模型较大,需要耐心等待程序自动下载模型文件,大约需要 10 分钟。

程序执行完成后,可以验证一下服务是否成功启动,VSCode 开启新的命令行终端,执行下述指令:

bash 复制代码
curl -o- localhost:8000/v1/models

如果返回 json 形式的内容,则证明 vLLM 服务成功开启。

2.3、模型文件迁移

由于 AutoDL 系统盘容量默认 30G,下载完 QWen2.5-7B-Instruct 文件后,此时的系统盘基本全满,无法执行后续的任务。需要将系统盘中的大模型文件迁移到数据盘中,此时的数据盘有 50G 容量。可以使用以下指令查看内存占用情况:

bash 复制代码
source ~/.bashrc

可以看到此时的系统盘占用接近 100%,需要迁移数据到数据盘。

AutoDL 数据盘默认路径为 /root/autodl-tmp(可扩容、空间充足),先创建专门存放模型的目录,避免文件混乱:

bash 复制代码
# 1. 创建模型目标目录(数据盘内)
mkdir -p /root/autodl-tmp/huggingface/models

# 2. 进入该目录,确认路径有效(可选,验证用)
cd /root/autodl-tmp/huggingface/models
pwd

输出应为 /root/autodl-tmp/huggingface/models,说明目标目录创建成功。

使用 mv 命令直接迁移(比 cp 更高效,无需额外占用系统盘空间),替换以下命令中的「模型原路径」为第一步找到的实际路径。

bash 复制代码
# 迁移默认缓存路径的模型(示例,替换为你的实际原路径)
mv /root/.cache/huggingface/hub/models--Qwen--Qwen2.5-7B-Instruct /root/autodl-tmp/huggingface/models/

# 若为手动指定路径(示例),替换为你的实际路径即可
# mv /root/workspace/Qwen2.5-7B-Instruct /root/autodl-tmp/huggingface/models/
迁移注意事项
  1. 模型文件较大(约 14GB 左右),迁移过程耗时 2-5 分钟,期间不要关闭终端、不要中断命令;
  2. 若提示「权限不足」,在命令前添加 sudo 即可(AutoDL 根用户通常无需);
  3. 迁移完成后,系统盘的原模型目录会消失,文件全部转移到数据盘。

迁移后模型路径变了,直接运行代码会找不到模型,建立软链接可以让原调用路径「指向」数据盘的新模型,相当于给新路径建了一个「快捷方式」,代码无需做任何修改。

bash 复制代码
# 场景 1:默认缓存路径(原路径 → 数据盘新路径)
ln -s /root/autodl-tmp/huggingface/models/models--Qwen--Qwen2.5-7B-Instruct /root/.cache/huggingface/hub/models--Qwen--Qwen2.5-7B-Instruct

# 场景 2:手动指定路径(原手动路径 → 数据盘新路径,替换为你的实际路径)
# ln -s /root/autodl-tmp/huggingface/models/Qwen2.5-7B-Instruct /root/workspace/Qwen2.5-7B-Instruct

执行以下命令,若能看到「箭头指向数据盘路径」,说明软链接创建成功:

bash 复制代码
# 验证默认缓存路径的软链接
ls -lh ~/.cache/huggingface/hub/ | grep Qwen2.5-7B-Instruct

# 验证手动路径的软链接(可选)
# ls -lh /root/workspace/ | grep Qwen2.5-7B-Instruct

此时,Qwen2.5-7B-Instruct 大模型文件已经成功地从系统盘迁移至数据盘,并且已经创建了软链接。执行以下指令,可以看到内存占用情况:

2.4、开启服务

系统盘数据已经成功迁移至数据盘,可以继续开启各项服务。

1、开启 vLLM 服务:

由于启动 vllm 服务需要找到包含 config.json 的最终模型根目录,需要将启动指令改成下述类似,具体路径每个人根据实际情况进行调整:

bash 复制代码
vllm serve ./.cache/huggingface/hub/models--Qwen--Qwen2.5-7B-Instruct/snapshots/a09a35458c702b33eeacc393d103063234e8bc28/ --host 0.0.0.0 --port 8000 --served-model-name Qwen2.5-7B-Instruct

测试 vllm 是否成功启动:

bash 复制代码
curl -o- localhost:8000/v1/models

2、开启 WebUI 服务:

bash 复制代码
open-webui serve --host 0.0.0.0 --port 8080

3、开启本地 SSH 隧道

在本地 Windows/MacOS 命令行终端里面创建 SSH 隧道:

bash 复制代码
ssh -N -L 8001:127.0.0.1:8000 -L 8081:127.0.0.1:8080 -p 15414 root@region-46.seetacloud.com

也可以通过 AutoDL 客户端工具来实现:AutoDL帮助文档

在本地浏览器中输入 http://localhost:8081 即可访问到 AutoDL 远程服务器中开启的 WebUI 端口,此时输入注册的账号、密码即可登录。

登录后,在页面的右上角圆圈中找到管理员面板:

在 设置 中找到 外部连接:

点击 右边 + 添加

填入 http://localhost:8000 ,即 AutoDL 容器中开启的 vllm 服务 url ,保存。

此时就可以和 AutoDL 中部署的 QWen2.5-7B-Instruct 大模型愉快的聊天了:

相关推荐
华如锦1 天前
一.2部署——大模型服务快速部署vLLM GPU 安装教程 (Linux)
java·linux·运维·人工智能·后端·python·vllm
wxl7812271 天前
零基础10分钟部署MinerU:Docker Compose一键搭建指南
api·gradio·docker compose·vllm·mineru2.7.1
HyperAI超神经2 天前
【vLLM 学习】Rlhf
人工智能·深度学习·学习·机器学习·vllm
Java后端的Ai之路2 天前
【大模型技术栈】-Qwen与DeepSeek如何构建智能大脑?
大模型·qwen·deepseek
ouliten3 天前
vllm笔记(1):最基础的离线推理
笔记·vllm·模型推理
越努力越幸运~3 天前
AMD AI MAX +395迷你主机 架构1151安装 vllm部署大模型操作记录
ai·vllm·rocm·ai max+395
Lkygo3 天前
Embedding 和 Reranker 模型
人工智能·embedding·vllm·sglang
wangqiaowq4 天前
vllm 部署验证
vllm
CodeCaptain4 天前
通过huggingface的hf download下载的Qwen模型,如何使用用Docker 启动 vLLM 服务
docker·ai·vllm