本教程将详细介绍如何在 Windows 系统上使用 AMD 显卡部署 Qwen3.5-27B 模型。我们将使用 WSL2 + Ubuntu + ROCm 的方案,并通过 SGLang 或 vLLM 推理框架来运行模型。
目录
系统要求
硬件要求
最低配置:
- 显卡:AMD Radeon RX 7000 系列(7900 XTX/7900 XT/7800 XT/7700 XT)或 AMD Instinct 系列(MI300X/MI325X/MI35X)
- 显存:24GB VRAM(推荐 32GB+)
- 内存:32GB RAM(推荐 64GB+)
- 存储:100GB 可用空间(SSD 推荐)
推荐配置(生产环境):
- 显卡:AMD Instinct MI300X 或多卡 RX 7900 XTX
- 显存:80GB+ VRAM
- 内存:128GB+ RAM
- 存储:500GB NVMe SSD
软件要求
- 操作系统:Windows 10(Build 19041+)或 Windows 11
- WSL 版本:WSL 2
- Linux 发行版:Ubuntu 22.04 或 Ubuntu 24.04
- Python:3.10(Ubuntu 22.04)或 3.12(Ubuntu 24.04)
- ROCm:7.2+
- Docker:最新版本
支持的 AMD 显卡
根据 ROCm 7.2 官方支持列表:
| 系列 | 型号 |
|---|---|
| Radeon RX 9000 | 9070 XT / 9070 / 9060 XT / 9060 |
| Radeon RX 7000 | 7900 XTX / 7900 XT / 7900 GRE / 7800 XT / 7700 XT / 7700 |
| Radeon PRO W7000 | W7900 / W7800 / W7700 |
| Instinct | MI300X / MI325X / MI35X / MI250X / MI210 |
部署方案选择
本教程提供两种部署方案:
方案一:Docker + SGLang(推荐)
优点:
- 环境隔离,不影响系统
- AMD 官方优化的容器镜像
- 开箱即用,配置简单
- 适合快速测试和开发
缺点:
- 需要安装 Docker
- 容器开销略高
方案二:原生安装 + vLLM
优点:
- 性能最优
- 更灵活的配置选项
- 适合生产环境
缺点:
- 安装步骤较多
- 环境配置复杂
- 可能遇到依赖冲突
本教程将详细介绍两种方案的部署步骤。
前置准备
1. 安装 WSL2
如果你还没有安装 WSL2,请按照以下步骤操作:
1.1 启用 WSL
以管理员身份打开 PowerShell:
# 安装 WSL2
wsl --install
# 重启计算机
1.2 安装 Ubuntu
# 查看可用的 Linux 发行版
wsl --list --online
# 安装 Ubuntu 24.04(推荐)
wsl --install -d Ubuntu-24.04
# 或安装 Ubuntu 22.04
wsl --install -d Ubuntu-22.04
1.3 验证 WSL 版本
wsl --list --verbose
确认输出显示 VERSION 为 2:
NAME STATE VERSION
* Ubuntu-24.04 Running 2
2. 安装 AMD 驱动
2.1 下载驱动
访问 AMD 官方驱动下载页面,下载 AMD Software: Adrenalin Edition 26.1.1 或更新版本:
https://www.amd.com/en/support
2.2 安装驱动
- 运行下载的安装程序
- 选择”快速安装”
- 等待安装完成
- 重启计算机(必须)
2.3 验证驱动
重启后,右键点击桌面空白处,选择”AMD Software: Adrenalin Edition”,确认驱动版本。
3. 安装 ROCm for WSL2
打开 WSL Ubuntu 终端,执行以下步骤:
3.1 更新系统
sudo apt update
sudo apt upgrade -y
3.2 下载并安装 ROCm
根据你的 Ubuntu 版本选择:
Ubuntu 24.04:
# 下载安装脚本
wget https://repo.radeon.com/amdgpu-install/7.2/ubuntu/noble/amdgpu-install_7.2.70200-1_all.deb
# 安装脚本
sudo apt install ./amdgpu-install_7.2.70200-1_all.deb
# 安装 ROCm
sudo amdgpu-install -y --usecase=wsl,rocm --no-dkms
Ubuntu 22.04:
# 下载安装脚本
wget https://repo.radeon.com/amdgpu-install/7.2/ubuntu/jammy/amdgpu-install_7.2.70200-1_all.deb
# 安装脚本
sudo apt install ./amdgpu-install_7.2.70200-1_all.deb
# 安装 ROCm
sudo amdgpu-install -y --usecase=wsl,rocm --no-dkms
3.3 验证 ROCm 安装
rocminfo
如果看到你的显卡信息(如 Radeon RX 7900 XTX),说明 ROCm 安装成功。
方案一:使用 Docker + SGLang 部署
1. 安装 Docker Desktop
1.1 下载并安装
访问 Docker 官网下载 Docker Desktop for Windows:
https://www.docker.com/products/docker-desktop
1.2 配置 Docker
安装完成后:
- 启动 Docker Desktop
- 进入 Settings → Resources → WSL Integration
- 启用你的 Ubuntu 发行版
- 点击 Apply & Restart
1.3 验证 Docker
在 WSL Ubuntu 终端中:
docker --version
docker run hello-world
2. 拉取 SGLang ROCm 镜像
AMD 提供了预构建的 SGLang 容器镜像,包含所有必要的依赖:
docker pull rocm/sgl-dev:v0.5.8.post1-rocm720-mi30x-20260215
镜像包含:
- ROCm 7.2 运行时
- Triton 支持
- SGLang 服务器及依赖
- 优化的 GPU 内核
3. 启动 Docker 容器
docker run -it \
--device /dev/dri --device /dev/kfd \
--network host --ipc host \
--group-add video \
--security-opt seccomp=unconfined \
-v $(pwd):/workspace \
rocm/sgl-dev:v0.5.8.post1-rocm720-mi30x-20260215 /bin/bash
参数说明:
--device /dev/dri --device /dev/kfd:允许访问 AMD GPU--network host:使用主机网络--ipc host:共享主机 IPC 命名空间--group-add video:添加 video 组权限-v $(pwd):/workspace:挂载当前目录到容器
4. 启动 SGLang 服务器
在容器内执行:
python3 -m sglang.launch_server \
--port 8000 \
--model-path Qwen/Qwen3.5-27B \
--tp-size 1 \
--attention-backend triton \
--reasoning-parser qwen3 \
--tool-call-parser qwen3_coder \
--mem-fraction-static 0.8 \
--context-length 262144
参数说明:
--port 8000:API 服务端口--model-path Qwen/Qwen3.5-27B:模型路径(首次运行会自动下载)--tp-size 1:张量并行大小(单卡为 1,多卡根据 GPU 数量设置)--attention-backend triton:使用 Triton 优化的注意力内核--reasoning-parser qwen3:启用 Qwen3 推理解析器--tool-call-parser qwen3_coder:启用工具调用支持--mem-fraction-static 0.8:GPU 内存使用比例--context-length 262144:最大上下文长度
首次运行注意事项:
- 模型会从 Hugging Face 自动下载(约 54GB)
- 下载时间取决于网络速度
- 可以提前手动下载模型到本地
5. 验证服务
服务启动后,打开新的终端窗口测试:
curl http://localhost:8000/v1/models
预期输出:
{
"object": "list",
"data": [
{
"id": "Qwen/Qwen3.5-27B",
"object": "model",
"created": 1234567890,
"owned_by": "sglang"
}
]
}
方案二:原生安装 + vLLM 部署
1. 安装 Python 环境
1.1 安装 Miniconda
# 下载 Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 安装
bash Miniconda3-latest-Linux-x86_64.sh
# 激活 Conda
source ~/.bashrc
1.2 创建 Python 环境
根据 Ubuntu 版本选择:
Ubuntu 24.04:
conda create -n qwen python=3.12 -y
conda activate qwen
Ubuntu 22.04:
conda create -n qwen python=3.10 -y
conda activate qwen
2. 安装 PyTorch for ROCm
2.1 下载 PyTorch Wheel 文件
Ubuntu 24.04 (Python 3.12):
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/torch-2.9.1%2Brocm7.2.0.lw.git7e1940d4-cp312-cp312-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/torchvision-0.24.0%2Brocm7.2.0.gitb919bd0c-cp312-cp312-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/triton-3.5.1%2Brocm7.2.0.gita272dfa8-cp312-cp312-linux_x86_64.whl
Ubuntu 22.04 (Python 3.10):
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/torch-2.9.1%2Brocm7.2.0.lw.git7e1940d4-cp310-cp310-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/torchvision-0.24.0%2Brocm7.2.0.gitb919bd0c-cp310-cp310-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/triton-3.5.1%2Brocm7.2.0.gita272dfa8-cp310-cp310-linux_x86_64.whl
2.2 安装 PyTorch
Ubuntu 24.04:
pip install torch-2.9.1+rocm7.2.0.lw.git7e1940d4-cp312-cp312-linux_x86_64.whl \
torchvision-0.24.0+rocm7.2.0.gitb919bd0c-cp312-cp312-linux_x86_64.whl \
triton-3.5.1+rocm7.2.0.gita272dfa8-cp312-cp312-linux_x86_64.whl
Ubuntu 22.04:
pip install torch-2.9.1+rocm7.2.0.lw.git7e1940d4-cp310-cp310-linux_x86_64.whl \
torchvision-0.24.0+rocm7.2.0.gitb919bd0c-cp310-cp310-linux_x86_64.whl \
triton-3.5.1+rocm7.2.0.gita272dfa8-cp310-cp310-linux_x86_64.whl
2.3 更新 HSA 运行时库
# 定位 torch 库位置
location=$(pip show torch | grep Location | awk -F ": " '{print $2}')
# 进入 torch 库目录
cd ${location}/torch/lib/
# 移除不兼容的 HSA 运行时库
rm libhsa-runtime64.so*
2.4 处理 NumPy 兼容性
pip install numpy==1.26.4
3. 安装 vLLM
3.1 安装 Transformers(从源码)
pip install git+https://github.com/huggingface/transformers.git@main
3.2 安装 vLLM
pip install vllm --torch-backend=auto --extra-index-url https://wheels.vllm.ai/nightly
4. 启动 vLLM 服务器
vllm serve Qwen/Qwen3.5-27B \
--port 8000 \
--tensor-parallel-size 1 \
--max-model-len 262144 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder
多卡部署(如果有多张 GPU):
vllm serve Qwen/Qwen3.5-27B \
--port 8000 \
--tensor-parallel-size 2 \
--max-model-len 262144 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder
性能优化建议
1. 显存优化
如果遇到显存不足(OOM)错误:
# 减少上下文长度
--max-model-len 131072 # 从 262144 减少到 131072
# 调整 GPU 内存使用比例
--gpu-memory-utilization 0.85 # 默认 0.9
# 启用 CPU offload(牺牲速度换取显存)
--cpu-offload-gb 8
2. 批处理优化
# 增加批处理大小以提高吞吐量
--max-num-seqs 256
# 调整 KV cache 块大小
--block-size 16
3. 量化选项
如果显存仍然不足,可以使用量化版本:
# 使用 AWQ 4-bit 量化(需要量化模型)
vllm serve Qwen/Qwen3.5-27B-AWQ \
--quantization awq \
--port 8000
4. 多步预测(MTP)
启用多步预测以提升生成速度:
SGLang:
python -m sglang.launch_server \
--model-path Qwen/Qwen3.5-27B \
--port 8000 \
--speculative-algo NEXTN \
--speculative-num-steps 3 \
--speculative-eagle-topk 1 \
--speculative-num-draft-tokens 4
vLLM:
vllm serve Qwen/Qwen3.5-27B \
--port 8000 \
--speculative-config '{"method":"qwen3_next_mtp","num_speculative_tokens":2}'
故障排除
问题 1:rocminfo 无法识别 GPU
解决方法:
- 确认 Windows 驱动已正确安装
- 确保已重启计算机
- 重新安装 ROCm
问题 2:Docker 无法访问 GPU
解决方法:
# 检查设备权限
ls -l /dev/dri /dev/kfd
# 添加用户到 video 和 render 组
sudo usermod -a -G video,render $USER
# 重新登录或重启 WSL
wsl --shutdown
问题 3:模型下载失败
解决方法:
使用镜像站点:
# 设置 Hugging Face 镜像
export HF_ENDPOINT=https://hf-mirror.com
# 或手动下载模型
git lfs install
git clone https://huggingface.co/Qwen/Qwen3.5-27B
问题 4:显存不足(OOM)
解决方法:
- 减少上下文长度:
--max-model-len 131072 - 降低 GPU 内存使用:
--gpu-memory-utilization 0.8 - 使用量化模型
- 考虑升级显卡或使用多卡
问题 5:推理速度慢
解决方法:
- 启用多步预测(MTP)
- 调整批处理大小
- 使用 Triton 优化的内核
- 检查是否有其他程序占用 GPU
性能基准测试
在不同硬件配置下的性能参考:
| 显卡 | 显存 | 上下文长度 | 吞吐量(tokens/s) | 延迟(首 token) |
|---|---|---|---|---|
| RX 7900 XTX | 24GB | 32K | ~45 | ~200ms |
| RX 7900 XTX | 24GB | 128K | ~30 | ~350ms |
| 2× RX 7900 XTX | 48GB | 262K | ~60 | ~250ms |
| MI300X | 192GB | 262K | ~120 | ~150ms |
实际性能取决于具体配置和工作负载
下一步
现在你已经成功部署了 Qwen3.5-27B,在下一篇文章中,我们将介绍:
- 如何通过 API 调用模型
- 文本、图像、视频输入的使用方法
- 工具调用和 Agent 开发
- 最佳实践和采样参数调优
参考资源
内容基于 AMD 官方文档和社区实践改编,遵循内容许可限制