NVIDIA / AMD / 昇腾 NPU / Apple Silicon / CPU 五大硬件平台的开源大模型部署完整指南。 主指南:LLM部署微调学习指南.md 更新日期:2026-04-27
不同硬件平台的开源大模型支持成熟度差异巨大。本文档帮你快速判断:你手上的硬件能跑什么、跑不动什么、需要装哪些东西。
目录
- 硬件平台总览
- 一、NVIDIA GPU(主流)
- 二、AMD GPU(ROCm)
- 三、昇腾 NPU(华为)
- 四、Apple Silicon(MLX)
- 五、CPU(llama.cpp / GGUF)
- 六、Intel GPU(IPEX-LLM)
- 跨平台性能对比
- 选型决策
硬件平台总览
| 平台 | 生态成熟度 | 推理 | 微调 | 国内可得性 | 性价比 |
|---|---|---|---|---|---|
| NVIDIA GPU | ★★★★★ | ★★★★★ | ★★★★★ | 限制供应 | 中 |
| AMD GPU(ROCm) | ★★★ | ★★★★ | ★★★ | 容易 | 较高 |
| 昇腾 NPU | ★★★ | ★★★★ | ★★★ | 国产首选 | 高(企业) |
| Apple Silicon | ★★★ | ★★★★(M3+) | ★★ | 容易 | 中 |
| CPU(GGUF) | ★★★★ | ★★(小模型) | × | 任何 PC | 极低门槛 |
| Intel GPU(Arc) | ★★ | ★★★ | ★ | 容易 | 较高 |
总原则:
- 学习阶段:Apple Silicon 或 CPU(GGUF)可零成本起步
- 工作机:NVIDIA(4090 / 5090)生态最全,文档最多
- 企业/云:NVIDIA(A100 / H100)或昇腾(国产合规)
- 避坑:不要买消费级 AMD 显卡(RX 6000/7000)做大模型,ROCm 在消费卡上不稳定
一、NVIDIA GPU(主流)
self-llm 教程默认平台,所有代码都是基于 NVIDIA + CUDA 写的。本节主要讲如何根据 NVIDIA 卡型号做对应配置。
1.1 显卡能力对照
| 显卡 | 显存 | FP16 算力(TFLOPS) | 推荐用途 | 7B 推理速度 |
|---|---|---|---|---|
| RTX 3060 | 12 GB | ~13 | 学习、小模型推理 | ~25 tok/s |
| RTX 3090 | 24 GB | ~36 | 7B 推理+LoRA | ~40 tok/s |
| RTX 4090 | 24 GB | ~83 | 主力开发 | ~80 tok/s |
| RTX 5090 | 32 GB | ~120 | 旗舰 | ~120 tok/s |
| A100 40G | 40 GB | ~78 | 企业生产 | ~100 tok/s |
| A100 80G | 80 GB | ~78 | 大模型微调 | ~100 tok/s |
| H100 80G | 80 GB | ~756(FP8) | 顶级 | ~250 tok/s |
| H200 | 141 GB | ~756(FP8) | 大模型推理之王 | ~270 tok/s |
注:tok/s 是单 batch 单流推理速度,vLLM 多并发能更高。
1.2 CUDA 与驱动配置
驱动版本:NVIDIA 驱动 535+ 才能用 CUDA 12.x。
CUDA 版本选择:
- CUDA 11.8:兼容性好,适合老卡
- CUDA 12.1:推荐,主流 PyTorch / vLLM 都支持
- CUDA 12.4+:最新功能(FP8 等),需要新卡(40 系 / H100)
安装顺序(全新机器):
# 1. 装驱动(Ubuntu)
sudo ubuntu-drivers autoinstall
sudo reboot
# 2. 验证
nvidia-smi # 应显示驱动版本和显卡信息
# 3. CUDA Toolkit 不需要单独装,PyTorch 会自带 CUDA runtime
# 直接装 PyTorch 即可
pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu121
1.3 多卡配置
单机多卡:几乎零配置,PyTorch 和 vLLM 自动支持。
# vLLM 4 卡
python -m vllm.entrypoints.openai.api_server \
--model ./Qwen2.5-72B-Instruct \
--tensor-parallel-size 4
注意:--tensor-parallel-size 必须能整除模型的注意力头数。Qwen2.5-72B 有 64 个头,可以填 1/2/4/8。
多机多卡(超大模型):需要 NCCL + Ray 集群,超出本指南范围,看 vLLM 官方文档。
1.4 NVLink vs PCIe
A100/H100 多卡之间走 NVLink(900 GB/s),消费卡(3090/4090)只有 PCIe(64 GB/s)。消费卡多卡训练通信会成为瓶颈,所以:
- 消费卡多卡:适合张量并行的纯推理(通信少),不适合需要大量 all-reduce 的训练
- A100/H100 多卡:训练推理都行
1.5 NVIDIA 平台典型问题
问题 1:Could not load library libcudnn_cnn_infer.so.8
原因:CUDA 12 的 cuDNN 版本和 PyTorch 不匹配。
解法:pip install nvidia-cudnn-cu12
问题 2:多卡推理负载不均 原因:tensor_parallel_size 不是 2 的幂或不整除头数。 解法:改成合法值;或降级到单卡推理。
问题 3:Windows 下 vLLM 报错 原因:vLLM 官方不支持 Windows 原生。 解法:用 WSL2 + Ubuntu(显卡直通,性能损失 <5%)。
二、AMD GPU(ROCm)
AMD 大学计划赞助了 self-llm 项目,所以仓库里有专门的 AMD 教程。但消费级和数据中心级体验差很多。
2.1 哪些 AMD 卡能用
| 卡 | ROCm 支持 | 实际可用性 |
|---|---|---|
| MI300X (192GB) | ✅ 官方 | 数据中心级,与 H100 竞争 |
| MI250 / MI250X | ✅ 官方 | 企业级,性能接近 A100 |
| MI210 | ✅ 官方 | 性能不如 A100 |
| RX 7900 XTX (24GB) | ⚠️ 半官方 | 消费卡里最好的,但 bug 多 |
| RX 7900 XT / 7800 XT | ⚠️ 社区 | 不推荐 |
| RX 6000 系列 | ⚠️ 老 | 兼容差,放弃 |
| Radeon AI Pro | ✅ 官方 | 工作站卡,推荐 |
核心建议:做严肃工作买 MI300X / MI250;消费级随便玩可买 7900 XTX;其他都别想了。
2.2 ROCm 环境配置(Ubuntu)
# 1. 添加 ROCm 仓库(Ubuntu 22.04 为例)
wget https://repo.radeon.com/amdgpu-install/6.2/ubuntu/jammy/amdgpu-install_6.2.60200-1_all.deb
sudo apt install ./amdgpu-install_6.2.60200-1_all.deb
# 2. 安装 ROCm
sudo amdgpu-install --usecase=hiplibsdk,rocm,dkms
sudo reboot
# 3. 验证
rocminfo # 显示 GPU 设备
rocm-smi # 类似 nvidia-smi
# 4. 装 ROCm 版 PyTorch
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.2
# 5. 验证 PyTorch
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name())"
# 注意:即使是 AMD,API 名字仍叫 cuda(为了兼容)
2.3 主要库的 AMD 支持
| 库 | AMD 支持 | 备注 |
|---|---|---|
| transformers | ✅ 完全 | 改一行 device_map="cuda" |
| accelerate | ✅ 完全 | 自动识别 ROCm |
| peft / LoRA | ✅ 完全 | 无差异 |
| bitsandbytes | ⚠️ 实验性 | ROCm 版叫 bitsandbytes-rocm,QLoRA 可用但不稳 |
| vLLM | ✅ 0.5+ | 官方支持,装 vllm-rocm |
| Flash Attention | ✅ 2.x | rocBLAS 后端 |
| DeepSpeed | ✅ | ROCm 后端 |
2.4 vLLM on AMD
# 安装 ROCm 版
pip install vllm-rocm # 或从源码编译
# 启动(命令完全相同)
python -m vllm.entrypoints.openai.api_server \
--model ./Qwen2.5-7B-Instruct \
--max-model-len 8192
2.5 Gemma3 + Ryzen AI 300 系列
self-llm 仓库特别支持了 AMD Ryzen AI 300 系列处理器(集成的 NPU + GPU),用 lemonade-server 部署:
# 安装 lemonade-server
pip install lemonade-sdk
# 启动 Gemma3 在 NPU 上
lemonade serve --model gemma3-1b --device hybrid
性能:比纯 CPU 快 3-5 倍,但仅限 1-3B 小模型。
2.6 AMD 平台典型问题
问题 1:HIP error: invalid device function
原因:GPU 架构不支持(常见于消费卡)。
解法:设环境变量 HSA_OVERRIDE_GFX_VERSION=11.0.0(7900 XTX)或 10.3.0(6000 系)。
问题 2:vLLM 启动比 NVIDIA 慢很多 原因:ROCm 没有 CUDA Graph 等价物,首次编译耗时。 解法:可以接受,后续推理速度正常。
问题 3:bitsandbytes 在 AMD 上不工作
解法:用 optimum-quanto 或 auto-gptq 替代做量化。
2.7 性能对比(7B 推理)
| 卡 | 推理速度 | 价格 |
|---|---|---|
| MI300X | ~280 tok/s | 企业级 |
| 7900 XTX | ~60 tok/s | ¥7000 |
| RTX 4090 | ~80 tok/s | ¥15000 |
| MI250 | ~100 tok/s | 二手 ¥30000 |
7900 XTX 是消费 AMD 卡里最有性价比的,接近 4090 性能但显存一致。
三、昇腾 NPU(华为)
self-llm 已经支持昇腾 NPU(support_model_Ascend.md),是国产合规场景的首选。
3.1 硬件型号
Atlas A2 系列(昇腾 910B 芯片):
- Atlas 800I A2:推理服务器(8 卡)
- Atlas 800T A2:训练服务器
- Atlas 300I A2:推理卡(单卡 64GB,可插服务器)
Atlas A3 系列(昇腾 910C 芯片,新一代):
- Atlas 800I A3:推理(性能接近 H100)
- Atlas 800T A3:训练
3.2 软件栈
昇腾的软件栈是独立体系,不基于 CUDA。核心组件:
应用层:transformers / vLLM / MindIE
↓
中间层:torch-npu(PyTorch 适配层)
↓
计算引擎:CANN(类似 CUDA Toolkit)
↓
驱动层:NPU 驱动 + 固件
↓
硬件:昇腾 910B / 910C
3.3 环境配置
# 1. 安装 NPU 驱动和固件(由华为提供)
# 通常云服务商(华为云)预装好
# 2. 安装 CANN(类似 CUDA Toolkit)
# 从 https://www.hiascend.com 下载对应版本
# 3. 安装 Python 环境
conda create -n ascend_llm python=3.9
conda activate ascend_llm
# 4. 安装 torch-npu(关键)
pip install torch==2.1.0 --index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install torch_npu==2.1.0.post3 --index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 5. 配置环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh
# 6. 验证
python -c "import torch; import torch_npu; print(torch.npu.is_available())"
3.4 transformers 在昇腾上跑
只需把 cuda 改成 npu:
import torch
import torch_npu # 关键:必须 import
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_PATH = "./Qwen2.5-7B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
MODEL_PATH,
torch_dtype=torch.float16, # 昇腾推荐 FP16,不是 BF16
trust_remote_code=True
).to("npu:0") # ← 关键
# 推理代码完全相同
inputs = tokenizer("你好", return_tensors="pt").to("npu:0")
outputs = model.generate(**inputs, max_new_tokens=128)
3.5 MindIE:昇腾原生推理引擎
类似 vLLM,华为自研的推理引擎,在昇腾上性能最好。
# 安装(需要华为账号下载)
# pip install mindie
# 启动 OpenAI 兼容服务
python -m mindie.entrypoints.openai_server \
--model ./Qwen2.5-7B-Instruct \
--device npu:0
性能:MindIE 在昇腾上比 vLLM-npu 快约 30%,是生产环境推荐。
3.6 vLLM 在昇腾上
vLLM 官方有 npu 适配版本:
pip install vllm-ascend # 社区维护
python -m vllm.entrypoints.openai.api_server \
--model ./Qwen2.5-7B-Instruct \
--device npu \
--max-model-len 8192
3.7 昇腾平台典型问题
问题 1:AttributeError: module 'torch' has no attribute 'npu'
原因:没 import torch_npu。
解法:import torch_npu 必须放在 import torch 之后。
问题 2:某些模型不支持
原因:特殊算子未在昇腾实现。
解法:看 self-llm 的 support_model_Ascend.md 列表;不支持的模型只能等社区适配。
问题 3:精度问题(BF16 输出乱码) 原因:910B 对 BF16 支持不完美。 解法:用 FP16,或用 INT8 量化。
问题 4:微调速度慢 原因:torch_npu 的某些算子没充分优化。 解法:用华为 MindSpore + MindFormers 框架(脱离 PyTorch),性能最佳但学习曲线陡。
3.8 何时选昇腾
- 强制要求:政府/金融/国企的国产化合规场景
- 性价比:同等算力比 NVIDIA 便宜(企业采购)
- 算力密度:Atlas 800I A2 单机 8 卡 512GB HBM,适合大模型部署
不推荐:个人学习(生态远不如 NVIDIA)、研究新模型(适配滞后)。
四、Apple Silicon(MLX)
M1/M2/M3/M4 系列芯片可以跑大模型,因为统一内存架构(CPU/GPU 共享内存)显存可以做到 64-192GB。
4.1 哪些 Mac 能用
| 芯片 | 内存范围 | 推荐用途 |
|---|---|---|
| M1 (8-16GB) | 8-16 GB | 1-3B 模型推理 |
| M2 (8-24GB) | 8-24 GB | 1-7B 推理 |
| M3 / M4 (16-128GB) | 16-128 GB | 主力学习/开发 |
| M3 Ultra / M4 Max | 64-192 GB | 70B 模型推理 |
关键认知:M 系列的"统一内存"意味着 64GB 内存的 Mac 可以加载 60GB 的模型(NVIDIA 24GB 显存的 4090 做不到)。
4.2 三条技术路线
路线 1:llama.cpp + GGUF(最广泛)
- 跨平台 C++ 实现,Metal 后端硬件加速
- 模型用 GGUF 格式(各种量化)
- 见第五章 CPU/GGUF 节,Mac 上自动用 Metal
路线 2:MLX(Apple 官方) Apple 自家的 ML 框架,专为 Apple Silicon 优化:
pip install mlx-lm
# 推理
python -m mlx_lm.generate \
--model mlx-community/Qwen2.5-7B-Instruct-4bit \
--prompt "你好" \
--max-tokens 256
# 启动 OpenAI 兼容服务
python -m mlx_lm.server \
--model mlx-community/Qwen2.5-7B-Instruct-4bit \
--port 8080
路线 3:Ollama(最简单) 零配置一键部署:
# 安装 Ollama
brew install ollama
# 启动服务
ollama serve
# 下载并运行模型
ollama run qwen2.5:7b # 自动下载并跑
ollama run llama3.1:8b
ollama run deepseek-coder:6.7b
# 已支持的中文模型
ollama run qwen2.5:0.5b # 边缘设备
ollama run qwen2.5:7b
ollama run qwen2.5:14b
ollama run qwen2.5:32b
ollama run qwen2.5:72b # M3 Ultra 192GB 才能跑
4.3 性能参考
| Mac | 模型 | 速度 |
|---|---|---|
| M2 Max (32GB) | Qwen2.5-7B Q4 | ~25 tok/s |
| M3 Max (64GB) | Qwen2.5-14B Q4 | ~30 tok/s |
| M3 Max (128GB) | Qwen2.5-32B Q4 | ~15 tok/s |
| M3 Ultra (192GB) | Qwen2.5-72B Q4 | ~10 tok/s |
参考:同尺寸下,M3 Max 推理速度约为 RTX 4090 的 1/3,但能跑更大模型。
4.4 微调能力(弱项)
Apple Silicon 微调支持差:
- MLX 支持 LoRA 微调(
mlx-lm有 lora 子命令),但生态不如 PyTorch - 训练速度只有 NVIDIA 的 1/5 到 1/10
- 不推荐用 Mac 做微调,推理足够
4.5 Apple Silicon 典型问题
问题 1:模型加载占内存巨大 原因:MLX 加载时会把权重展开到 RAM。 解法:用量化版(Q4 / Q5),内存占用减半。
问题 2:Ollama 模型从哪下载?
解法:Ollama 有自己的 registry(类似 Docker Hub),自动从 ollama.com 拉取。国内速度慢的话:OLLAMA_HOST=hf-mirror.com ollama pull ...
问题 3:CPU 不被充分利用 原因:Metal 后端用的是 GPU,CPU 在等待。 解法:这是正常的,不是 bug。
五、CPU(llama.cpp / GGUF)
完全没有显卡也能跑大模型,代价是慢。llama.cpp 是这条路线的开山之作。
5.1 GGUF 格式
GGUF(GPT-Generated Unified Format)是为 CPU 推理优化的模型格式:
- 支持各种量化(Q2_K / Q3_K / Q4_K / Q5_K / Q8_0 等)
- 单文件,加载快
- 完整支持中文模型
5.2 llama.cpp 安装
# 编译(macOS / Linux)
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
# CPU 版
make
# GPU 加速(可选)
make GGML_CUDA=1 # NVIDIA
make GGML_METAL=1 # Apple Silicon(默认开)
make GGML_HIPBLAS=1 # AMD ROCm
make GGML_VULKAN=1 # 跨平台 GPU
Windows 用户:用 winget install llama.cpp 或下载预编译二进制。
5.3 下载 GGUF 模型
HuggingFace 上有大量 GGUF 量化版,搜 qwen2.5 GGUF:
# 用 huggingface-cli
pip install huggingface_hub
huggingface-cli download Qwen/Qwen2.5-7B-Instruct-GGUF \
qwen2.5-7b-instruct-q4_k_m.gguf \
--local-dir ./models
或国内 ModelScope:
modelscope download --model Qwen/Qwen2.5-7B-Instruct-GGUF \
--local_dir ./models
5.4 量化等级如何选
| 后缀 | 文件大小(7B) | 质量损失 | 速度 |
|---|---|---|---|
| Q2_K | ~3 GB | 大(可感知降智) | 最快 |
| Q3_K_M | ~3.5 GB | 较大 | 较快 |
| Q4_K_M | ~4.5 GB | 小(默认推荐) | 中 |
| Q5_K_M | ~5.5 GB | 极小 | 慢 |
| Q6_K | ~6.5 GB | 几乎无 | 较慢 |
| Q8_0 | ~8 GB | 无 | 最慢 |
推荐:Q4_K_M 性价比最高,7B 模型 ~4.5GB,在 16GB 内存的笔记本流畅跑。
5.5 命令行推理
# 单次推理
./llama-cli \
-m ./models/qwen2.5-7b-instruct-q4_k_m.gguf \
-p "用三句话介绍量子计算" \
-n 256 \
-t 8 # CPU 线程数
# 交互式聊天
./llama-cli \
-m ./models/qwen2.5-7b-instruct-q4_k_m.gguf \
-i \
-cnv # 对话模式
5.6 启动 OpenAI 兼容服务
./llama-server \
-m ./models/qwen2.5-7b-instruct-q4_k_m.gguf \
--port 8080 \
-c 4096 # 上下文长度
调用方式和 vLLM 完全一样:
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8080/v1", api_key="x")
resp = client.chat.completions.create(
model="qwen2.5",
messages=[{"role": "user", "content": "你好"}]
)
5.7 CPU 推理性能
| CPU | 模型 | 速度 |
|---|---|---|
| i5-12500 (6核) | Qwen2.5-7B Q4 | ~6 tok/s |
| i7-13700K (16核) | Qwen2.5-7B Q4 | ~10 tok/s |
| i9-14900K (24核) | Qwen2.5-7B Q4 | ~14 tok/s |
| AMD Ryzen 7950X | Qwen2.5-7B Q4 | ~12 tok/s |
| Apple M2 Max | Qwen2.5-7B Q4 | ~25 tok/s(用 Metal) |
6-10 tok/s 是 CPU 的常态,适合做演示和单用户工具,不要用于多用户服务。
5.8 自己量化模型
如果 HuggingFace 上没有现成的 GGUF,可以自己转:
# 1. 用 transformers 格式的模型转 GGUF
python convert-hf-to-gguf.py ./models/Qwen2.5-7B-Instruct \
--outfile qwen2.5-7b.gguf \
--outtype f16
# 2. 量化到 Q4
./llama-quantize qwen2.5-7b.gguf qwen2.5-7b-q4_k_m.gguf q4_k_m
5.9 何时选 CPU 路线
- 没有显卡的笔记本/台式机
- 极小型部署(单用户聊天工具)
- 需要在客户端本地跑(隐私应用)
- 学习模型量化和优化原理
- 端侧部署原型验证
六、Intel GPU(IPEX-LLM)
Intel Arc 显卡(A770 / B580)和 Xeon 处理器,通过 IPEX-LLM 框架支持开源大模型。生态最不成熟但价格便宜。
6.1 适用场景
- 已经有 Intel Arc 显卡(A770 16GB ~¥2500)
- 服务器有 Xeon 集成显卡 / 数据中心 GPU
- 不要为了大模型专门买 Intel GPU——优先级低于 NVIDIA / AMD
6.2 IPEX-LLM 安装
# 创建环境
conda create -n ipex python=3.11
conda activate ipex
# 安装 IPEX-LLM
pip install --pre --upgrade ipex-llm[xpu] \
--extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/cn/
# 验证
python -c "import torch; import intel_extension_for_pytorch as ipex; print(torch.xpu.is_available())"
6.3 推理示例
import torch
from ipex_llm.transformers import AutoModelForCausalLM
from transformers import AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"./Qwen2.5-7B-Instruct",
load_in_4bit=True, # IPEX-LLM 自带 INT4 量化
trust_remote_code=True
)
model = model.to("xpu") # ← Intel GPU 设备名
tokenizer = AutoTokenizer.from_pretrained("./Qwen2.5-7B-Instruct")
inputs = tokenizer("你好", return_tensors="pt").to("xpu")
outputs = model.generate(**inputs, max_new_tokens=128)
6.4 性能(A770 16GB)
- Qwen2.5-7B Q4:~30 tok/s(比 4090 慢 60%)
- 微调:LoRA 可用,但速度只有 NVIDIA 的 1/3
跨平台性能对比
以 Qwen2.5-7B-Instruct(Q4 / FP16) 推理为例:
| 平台 | 配置 | 速度(tok/s) | 显存/内存 | 价格 |
|---|---|---|---|---|
| NVIDIA H100 | FP16 | ~250 | 16 GB / 80 GB | 企业级 |
| NVIDIA 4090 | FP16 | ~80 | 16 GB / 24 GB | ¥15000 |
| NVIDIA 3090 | FP16 | ~40 | 16 GB / 24 GB | ¥6000 二手 |
| AMD MI300X | FP16 | ~280 | 16 GB / 192 GB | 企业级 |
| AMD 7900 XTX | FP16 | ~60 | 16 GB / 24 GB | ¥7000 |
| 昇腾 910B | FP16 | ~100 | 16 GB / 64 GB | 企业级 |
| Apple M3 Max 64GB | Q4 | ~30 | 4.5 GB / 64 GB | ¥30000 整机 |
| Apple M2 Max 32GB | Q4 | ~25 | 4.5 GB / 32 GB | ¥25000 整机 |
| Intel Arc A770 | Q4 | ~30 | 4.5 GB / 16 GB | ¥2500 |
| i9-14900K CPU | Q4 | ~14 | 4.5 GB RAM | ¥4000 |
结论:
- 学习起步:i9 + 32GB 内存的 PC 就能跑(¥6000)
- 流畅开发:RTX 3090 二手(¥6000)
- 生产推荐:RTX 4090 / A100(¥15000+)
- 极致性能:H100 / H200(企业)
选型决策
我应该买什么硬件?
预算 < ¥5000?
└─ 买 32GB 内存的 PC,跑 GGUF + Ollama,只能玩小模型
预算 ¥5000-10000?
├─ 二手 3090(¥6000):学习 + 微调 7B,主流配置
└─ 5800X + 64GB RAM(¥6000):纯 CPU 路线,慢但能跑
预算 ¥10000-20000?
├─ RTX 4090(¥15000)+ 64GB RAM:几乎能做所有事
└─ M3 Max 64GB Mac(¥30000+):便携 + 大内存,但微调弱
预算 ¥20000+?
├─ 双 4090(¥30000):多模型并行 / 张量并行
└─ A100 40G(¥80000+):企业级
我是企业,要合规?
└─ 昇腾 910B / 800I A2(咨询华为云)
我已经有 X,该怎么办?
| 现有硬件 | 推荐 |
|---|---|
| 笔记本 + 集成显卡 | Ollama + Qwen2.5-1.5B,够用 |
| 笔记本 + GTX 1660(6GB) | llama.cpp + GGUF Q4,跑 7B 模型 |
| RTX 2080 Ti(11GB) | LoRA 微调 7B(QLoRA)、推理 13B 量化 |
| RTX 3060(12GB) | LoRA 微调 7B,推理 14B 量化 |
| RTX 3090 / 4090(24GB) | 主力配置,什么都能做 |
| MacBook Pro M2/M3 | Ollama 推理,微调用云 |
| 服务器有 V100 32GB | LoRA 微调 7B,生产部署 |
| 公司有 A100 集群 | 直接上 70B 模型 + DeepSpeed |
实用脚本:硬件检测
文件名:detect_hw.py
"""检测当前硬件,推荐合适的部署方案。"""
import platform
import psutil
def detect():
info = {}
# CPU
info['os'] = platform.system()
info['cpu'] = platform.processor()
info['cpu_cores'] = psutil.cpu_count(logical=False)
info['ram_gb'] = round(psutil.virtual_memory().total / 1024**3, 1)
# GPU 检测
info['gpu'] = []
# NVIDIA
try:
import torch
if torch.cuda.is_available():
for i in range(torch.cuda.device_count()):
info['gpu'].append({
'type': 'NVIDIA',
'name': torch.cuda.get_device_name(i),
'vram_gb': round(torch.cuda.get_device_properties(i).total_memory / 1024**3, 1)
})
except ImportError:
pass
# AMD ROCm(也走 cuda 接口)
# 略
# Apple Silicon
if info['os'] == 'Darwin' and 'arm' in platform.machine().lower():
try:
import torch
if torch.backends.mps.is_available():
info['gpu'].append({
'type': 'Apple Silicon',
'name': platform.machine(),
'vram_gb': info['ram_gb'] # 统一内存
})
except ImportError:
pass
return info
def recommend(info):
print(f"\n操作系统: {info['os']}")
print(f"CPU: {info['cpu']} ({info['cpu_cores']} 核)")
print(f"内存: {info['ram_gb']} GB")
if info['gpu']:
for g in info['gpu']:
print(f"GPU: {g['type']} {g['name']} ({g['vram_gb']} GB)")
else:
print("GPU: 未检测到")
print("\n=== 推荐方案 ===")
if not info['gpu']:
if info['ram_gb'] >= 16:
print("→ 路线:CPU + GGUF")
print("→ 推荐模型:Qwen2.5-3B Q4 或 Qwen2.5-7B Q4")
print("→ 工具:llama.cpp 或 Ollama")
else:
print("→ 内存太小,只能跑 1B 以下模型")
return
g = info['gpu'][0]
vram = g['vram_gb']
if g['type'] == 'NVIDIA':
if vram >= 24:
print("→ 路线:transformers + vLLM,主力配置")
print(f"→ 可微调:Qwen2.5-7B / 14B(LoRA)")
print(f"→ 可推理:Qwen2.5-32B(量化)、Qwen2.5-14B(FP16)")
elif vram >= 16:
print("→ 路线:transformers + LoRA")
print(f"→ 可微调:Qwen2.5-7B(LoRA)")
print(f"→ 可推理:Qwen2.5-7B(FP16)、Qwen2.5-14B(量化)")
elif vram >= 8:
print("→ 路线:QLoRA + 量化推理")
print(f"→ 可微调:Qwen2.5-7B(QLoRA 4bit)")
print(f"→ 可推理:Qwen2.5-3B(FP16)、7B(INT4)")
else:
print("→ 路线:GGUF / 小模型")
print(f"→ 推荐:Qwen2.5-1.5B 或 MiniCPM-2B")
elif g['type'] == 'Apple Silicon':
print("→ 路线:Ollama 或 MLX")
if info['ram_gb'] >= 64:
print("→ 可推理:Qwen2.5-32B Q4 或 70B Q4")
elif info['ram_gb'] >= 32:
print("→ 可推理:Qwen2.5-14B Q4 或 7B FP16")
else:
print("→ 可推理:Qwen2.5-7B Q4")
print("→ 微调能力弱,建议云端做训练")
if __name__ == "__main__":
info = detect()
recommend(info)
执行:
python detect_hw.py
总结
| 平台 | 一句话总结 |
|---|---|
| NVIDIA | 生态之王,什么都最快最稳 |
| AMD | 性价比可观,但消费卡坑多,数据中心卡(MI300)真香 |
| 昇腾 | 国产合规首选,生态尚可,文档不全 |
| Apple Silicon | 推理友好,大内存优势,微调弱 |
| CPU | 零成本起步,小模型可用,不要用于生产 |
| Intel GPU | 价格便宜,生态最弱,只买现成不专门买 |
绝大多数人:RTX 3090(二手)或 4090(全新)→ 学完所有内容 → 再决定下一步硬件升级。