在 Ryzen AI Max+ 395(gfx1151)上用 pip 部署 vLLM:ROCm 10.0.0 完整中文教程
在 Ryzen AI Max+ 395(gfx1151)上用 pip 部署 vLLM:ROCm 10.0.0 完整中文教程
本文根据 AMD ROCm AI Ecosystem 官方文档《vLLM inference and serving on ROCm》改写,针对 AMD Ryzen AI Max+ 395(gfx1151)+ ROCm 10.0.0 + vLLM 0.27 + pip 安装这一具体组合整理。官方原文覆盖多种硬件/版本组合的分支较多,本文只保留与你这套配置相关的路径,并补充了说明。
一、这套方案是什么
vLLM 是当下最流行的开源 LLM 推理与服务框架,以高吞吐、显存利用率高(PagedAttention 等技术)著称。AMD 官方为 ROCm 平台维护了专门的 vLLM 构建版本,安装方式有两种:
- Docker 镜像(官方推荐,最省事)
- pip 手动安装(需要自定义环境、不想用容器时选这个)
本文两条路都讲,以 pip 为主线。适用硬件包括 Ryzen AI Max 系列(gfx1151)、Ryzen AI 9 系列(gfx1150)、Ryzen AI 5/7(gfx1152)、Ryzen 200 系列(gfx1103)等 APU,以及 Instinct / Radeon 独显。
本文目标版本组合:
| 组件 | 版本 |
|---|---|
| 硬件 | AMD Ryzen AI Max+ 395(gfx1151,Strix Halo) |
| ROCm | 10.0.0 |
| PyTorch | 2.13.0+rocm10.0.0 |
| vLLM | 0.27(ROCm 定制 wheel) |
| Python | 3.14 |
二、前提条件
- 操作系统:推荐 Ubuntu 24.04(官方镜像基于此)。
- 驱动:Instinct 和 Radeon 独显需要宿主机安装 amdgpu 驱动(对照 ROCm 10.0.0 兼容性矩阵)。Ryzen AI Max 这类 APU 走系统内核的 KFD 接口即可。
- Python 3.14:必须。ROCm 10.0.0 对应的 wheel 都是
cp314构建。 - uv:强烈推荐。
⚠️ 为什么必须用
uv pip装 vLLM wheel:vLLM 的传递依赖非常多,直接用 pip 从 wheel URL 安装时,pip 可能静默地从 PyPI 拉取不兼容的依赖版本;而uv pip的依赖解析更可预测,会尊重 wheel 捆绑/要求的确切版本。安装 uv:
curl -LsSf https://astral.sh/uv/install.sh | sh(参见 uv 官方文档)
- (仅 Docker 方案)Docker Engine,并确保当前用户有权限访问
/dev/kfd和/dev/dri(通常需加入video、render组)。
三、方案 A:Docker 一键起步(推荐尝鲜)
1. 拉取官方镜像(ROCm 10.0.0 + Python 3.14 + PyTorch 2.12 + vLLM 0.27):
docker pull rocm/vllm:rocm10.0.0_ubuntu24.04_py3.14_pytorch_2.12.0_vllm_0.27.02. 启动容器:
docker run -it --rm \
--device /dev/kfd \
--device /dev/dri \
--network=host \
--ipc=host \
--group-add=video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-v <你的模型目录>:/app/models \
-e HF_HOME="/app/models" \
rocm/vllm:rocm10.0.0_ubuntu24.04_py3.14_pytorch_2.12.0_vllm_0.27.0 \
bash参数要点:/dev/kfd(GPU 计算节点)和 /dev/dri(渲染节点)必须透传;--ipc=host 避免共享内存不足;HF_HOME 指向挂载目录,Hugging Face 模型缓存就会落在宿主机上,不用反复下载。
3. 进入容器后,按 vLLM 0.27 官方使用文档 启动推理服务即可。
四、方案 B:pip 手动安装(主线教程)
步骤 1:创建并激活虚拟环境
python3.14 -m venv .venv
source .venv/bin/activate步骤 2:安装 ROCm 版 PyTorch
gfx1151(Ryzen AI Max+ 395 等)专用命令——注意这一档的 PyTorch 版本是 2.13.0,比其他 GPU 的 2.12.0 更新:
python -m pip install --index-url https://stable.repo.amd.com/rocm/whl-next/ \
"torch[device-gfx1151]==2.13.0+rocm10.0.0" \
"torchvision[device-gfx1151]==0.28.0+rocm10.0.0" \
"torchaudio==2.11.0.2+rocm10.0.0"这一步会连带安装 ROCm 核心运行库,无需单独装 ROCm 工具包。
其他 gfx 架构对应命令(gfx950 / gfx942 / gfx1100 系列 / gfx1150 / gfx1152 等)
其他设备统一使用 torch==2.12.0+rocm10.0.0 + torchvision==0.27.0+rocm10.0.0 + torchaudio==2.11.0+rocm10.0.0,只需替换 device-gfxXXXX 后缀:
# 以 gfx1150(Ryzen AI 9 HX 370 等)为例
python -m pip install --index-url https://stable.repo.amd.com/rocm/whl-next/ \
"torch[device-gfx1150]==2.12.0+rocm10.0.0" \
"torchvision[device-gfx1150]==0.27.0+rocm10.0.0" \
"torchaudio==2.11.0+rocm10.0.0"支持的后缀:gfx950、gfx942、gfx1200、gfx1201、gfx1100、gfx1101、gfx1102、gfx1103、gfx1150、gfx1151、gfx1152、gfx1153。
步骤 3:安装 Flash Attention 与 AITER
python -m pip install --extra-index-url https://rocm.frameworks.amd.com/whl-multi-arch/vllm/ \
"flash-attn==2.8.3" \
"amd-aiter==0.1.20.post1"flash-attn:ROCm 上的注意力加速内核(配合后面的 Triton 环境变量使用)。- AITER:AMD 的 AI Tensor Engine,为 vLLM 提供高性能算子。
步骤 4:用 uv 安装 vLLM 0.27 wheel
uv pip install https://rocm.frameworks.amd.com/whl-multi-arch/vllm/vllm/vllm-0.27.1.dev5%2Brocm10.0.0.gf46a9dfe2.d20260826-cp314-cp314-linux_x86_64.whl注意这里必须用 uv pip 而不是 pip(原因见前提条件第 4 条)。
步骤 5:升级 tensorizer(官方已知问题的规避方案)
vLLM 自带的 tensorizer 依赖存在兼容性问题,会导致运行报错,需手动升级:
python -m pip install --upgrade "tensorizer==2.12.1"步骤 6:设置环境变量
防止运行时出现 ROCm 平台识别和 Flash Attention 可用性相关的报错:
export PYTHONPATH=$VIRTUAL_ENV/lib/python3.14/site-packages/_rocm_sdk_core/share/amd_smi
export FLASH_ATTENTION_TRITON_AMD_ENABLE=TRUE想永久生效就写进 ~/.bashrc。
步骤 7:验证安装
python -c "import vllm; print('vLLM version:', vllm.__version__)"
python -c "import torch; print('PyTorch:', torch.__version__); print('HIP available:', torch.cuda.is_available()); print('HIP built:', torch.backends.hip.is_built() if hasattr(torch.backends, 'hip') else 'N/A')"
python -c "import flash_attn; print('flash-attn:', flash_attn.__version__)"期望看到:vLLM 0.27.x、PyTorch 2.13.0+rocm10.0.0、HIP available: True。全部通过后,参照 vLLM 0.27 使用文档 启动推理。
五、跑起来:一个简单的冒烟测试
装好后可以用 OpenAI 兼容 API 快速起服务(以 Ryzen AI Max+ 395 的 128GB 统一内存为例,跑 7B~14B 量化模型很舒服):
vllm serve Qwen/Qwen3-8B \
--max-model-len 8192 \
--gpu-memory-utilization 0.5APU 是 CPU/GPU 共享统一内存,--gpu-memory-utilization 控制的是 vLLM 可向 GPU 侧申请的比例,太大可能挤占系统内存;建议从 0.5 起步再逐步上调。起服务后用 OpenAI SDK 指向 http://localhost:8000/v1 即可测试。
六、已知问题与避坑
- tensorizer 不兼容:vLLM 依赖的
tensorizer版本有兼容性问题,运行报错时装不上就检查这个——按步骤 5 升级到 2.12.1 即可。 - 大模型预热时间过长:vLLM v0.21.0 ~ v0.25.0 在部分大模型推理负载上预热(warmup)明显变慢,v0.26.0 起已修复。本文用的 0.27 不受影响。
- gfx1103 稳定性:gfx1103(RDNA3 核显的 Ryzen 200 系列)运行部分 vLLM / ComfyUI 负载时可能出现偶发段错误或 GPU 挂起;gfx1151 不受此条影响。
- 别用 pip 直装 vLLM wheel:依赖解析会悄悄拉错版本,出各种诡异的运行时错误。永远用
uv pip。
七、参考资料
- 官方原文:vLLM inference and serving on ROCm(页面提供设备/ROCm 版本/vLLM 版本/Docker 或 pip 的交互式筛选,本教程对应
fam=ryzen&gpu=max-395&rocm-ver=10.0.0&vllm-ver=0.27&i=pip) - ROCm 兼容性矩阵
- vLLM 0.27 使用文档
- AITER 项目