在 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)
ROCm10.0.0
PyTorch2.13.0+rocm10.0.0
vLLM0.27(ROCm 定制 wheel)
Python3.14

二、前提条件

  1. 操作系统:推荐 Ubuntu 24.04(官方镜像基于此)。
  2. 驱动:Instinct 和 Radeon 独显需要宿主机安装 amdgpu 驱动(对照 ROCm 10.0.0 兼容性矩阵)。Ryzen AI Max 这类 APU 走系统内核的 KFD 接口即可。
  3. Python 3.14:必须。ROCm 10.0.0 对应的 wheel 都是 cp314 构建。
  4. 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 官方文档

  1. (仅 Docker 方案)Docker Engine,并确保当前用户有权限访问 /dev/kfd/dev/dri(通常需加入 videorender 组)。

三、方案 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.0

2. 启动容器:

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.5

APU 是 CPU/GPU 共享统一内存,--gpu-memory-utilization 控制的是 vLLM 可向 GPU 侧申请的比例,太大可能挤占系统内存;建议从 0.5 起步再逐步上调。起服务后用 OpenAI SDK 指向 http://localhost:8000/v1 即可测试。

六、已知问题与避坑

  1. tensorizer 不兼容:vLLM 依赖的 tensorizer 版本有兼容性问题,运行报错时装不上就检查这个——按步骤 5 升级到 2.12.1 即可。
  2. 大模型预热时间过长:vLLM v0.21.0 ~ v0.25.0 在部分大模型推理负载上预热(warmup)明显变慢,v0.26.0 起已修复。本文用的 0.27 不受影响。
  3. gfx1103 稳定性:gfx1103(RDNA3 核显的 Ryzen 200 系列)运行部分 vLLM / ComfyUI 负载时可能出现偶发段错误或 GPU 挂起;gfx1151 不受此条影响。
  4. 别用 pip 直装 vLLM wheel:依赖解析会悄悄拉错版本,出各种诡异的运行时错误。永远用 uv pip

七、参考资料

标签: none

添加新评论