# AMD 显卡本地部署大模型完全指南（ROCm 实战）

> 基于你的 AMD 显卡，从零完成大模型本地部署的实战指南：ROCm 环境搭建、Ollama 与 vLLM 两种方案、27B 量化模型实测速度与显存占用，以及驱动、镜像、量化三大常见坑。

# AMD 显卡本地部署大模型完全指南（ROCm 实战）

> 基于真实环境：i5-9600KF / 32GB 内存 / AMD Radeon AI PRO R9700（32GB GDDR6，RDNA4）/ Linux + ROCm，运行 Qwen 27B Q4 量化模型。

## 为什么选择 AMD 本地部署

N 卡生态成熟，但价格长期偏高，且推理这种"买断"场景下，同等预算在 A 卡上往往能多拿一倍显存。32GB 显存意味着：7B 模型轻松跑、27B Q4 量化能完整装进显存（27B Q4 约需 16-18GB 显存）、甚至能摸到 32B 模型的门槛。对不依赖云端、有隐私要求的个人和小团队，这是一条性价比很高的路线。

## 硬件门槛先说清楚

- **显存是第一指标**：Q4 量化下，模型参数量 ≈ 需要 GB 数（27B Q4 ≈ 16GB+，留系统开销建议 24GB 起步）
- **CPU 不用太强**：推理主要在 GPU 上，但内存带宽影响"CPU 部分"的速度，32GB 内存是稳妥配置
- **系统**：推荐 Linux（Ubuntu 22.04/24.04 或 Debian 12+），ROCm 对 Linux 支持最完整；Windows 走 WSL2 也可，性能略有损耗

## 路线一：Ollama（最快上手）

Ollama 对 ROCm 的支持已经很成熟，适合"今天就要用起来"的人。

```bash
# 1. 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 2. 确认 ROCm 环境（Ollama 发行版自带 ROCm 依赖）
ollama --version

# 3. 拉取模型（27B Q4，约 17GB 下载）
ollama pull qwen3:27b-q4

# 4. 运行（默认全量放显存）
ollama run qwen3:27b-q4
```

验证显存占用：

```bash
# 另一个终端，看 GPU 显存
rocm-smi
```

## 路线二：vLLM（高性能推理）

需要高并发、API 服务、或想榨干吞吐时上 vLLM。它支持 PagedAttention，吞吐显著高于普通加载方式。

```bash
# 1. Python 环境（推荐 3.10-3.12）
python3 -m venv vllm && source vllm/bin/activate

# 2. 安装带 ROCm 支持的 vLLM（按对应 ROCm 版本选 wheel）
pip install vllm --extra-index-url https://wheels.vllm.ai/rocm

# 3. 启动服务
python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen3-27B \
  --quantization fp8 \
  --gpu-memory-utilization 0.9
```

注意两点：
- `--gpu-memory-utilization` 别拉满 1.0，留 5-10% 给系统，否则容易 OOM
- 量化方式要和你拉的模型权重匹配（Q4 模型用对应 quantization 参数）

## 实测表现（R9700 32GB，供参考）

以下为 27B Q4 在本机的典型表现区间（不同上下文长度会有浮动）：

- **显存**：加载后常驻约 18-20GB，27B Q4 完整进显存，不占用 CPU 内存做 KV
- **首 token 延迟**：短输入约 0.5-1 秒
- **生成速度**：短上下文下大致 15-25 token/s 区间；长上下文（>8K）会因 KV 缓存变大而下降
- **多并发**：vLLM 方案下 2-4 路并发仍可用；单路并发追求极致延迟则 Ollama 更省心

一个容易踩的认知误区：**多卡层切分不能加速单流推理**。把一个模型切成两层放两张卡，单条请求的速度不会变快（每 token 要等两张卡都算完），真正加速单流要靠更强的单卡或更好的量化/attention 优化。层切分的价值在"装下更大模型"和"多模型常驻"。

## 三大常见坑

### 坑 1：驱动与 ROCm 版本不匹配

症状：`rocm-smi` 能看到卡，但跑模型报 HIP 错误。
解法：ROCm 版本、内核驱动（amdgpu）、以及框架 wheel 三者必须对齐。原则：**先定 ROCm 版本，再装对应驱动和 wheel**，不要各装各的最新版。装完第一步永远先跑 `rocm-smi` 确认驱动识别正常。

### 坑 2：镜像/容器里的 ROCm 版本过旧

用 Docker 跑时，镜像内置的 ROCm 往往落后于你新显卡的要求（新卡需要新 ROCm 才认识）。解法：选 ROCm 版本较新的基础镜像，或自己 `FROM rocm/dev-ubuntu-24.04:latest` 一类的新 tag；进容器先 `rocm-smi` 验卡。

### 坑 3：量化与加载参数不匹配

Q4 的模型用 fp8 参数加载、或 Q8 模型按 Q4 分配显存，轻则报错，重则显存爆掉。解法：加载参数永远**跟着模型文件名走**，不确定就先 `grep` 一下模型 README 里的 suggested 参数。

## 适合谁

- 有 A 卡（尤其 24GB 以上显存）、预算有限但想跑 20B+ 模型的个人开发者
- 数据不能上云、需要本地推理的小团队
- 想把本地模型接到自己的工作流里（写作、代码、知识库检索）的人

选型建议：先 Ollama 跑通、确认体验 → 有并发/性能需求再上 vLLM。两条路线的模型权重通用（都是 GGUF 或 HF 格式），迁移成本很低。


---
来源：https://laobanclaw.top/articles/amd-llm-rocm-guide/（AI 军火库）
