基于真实环境: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 的支持已经很成熟,适合"今天就要用起来"的人。
# 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验证显存占用:
# 另一个终端,看 GPU 显存
rocm-smi路线二:vLLM(高性能推理)
需要高并发、API 服务、或想榨干吞吐时上 vLLM。它支持 PagedAttention,吞吐显著高于普通加载方式。
# 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 格式),迁移成本很低。