基于llama.cpp的多GPU LLM:tensor-split 2× RTX 3090
单张 24 GB 显存的 RTX 4090 不足以在保持 Q8 完整质量、使用 256k token 上下文的情况下运行 2026 年最好的模型。两张二手 RTX 3090(共 48 GB 显存)能以更低的价格满足需求。但您需要知道如何将模型分配到两张显卡上,如何选择按层拆分或张量并行,以及如何配置硬件以确保长期稳定运行。本指南涵盖三种常用工具(llama.cpp、Ollama、vLLM)及需要避开的陷阱。
您正在挑选电脑吗? 按预算推荐 →
本地 AI 的高性价比之选: GMKtec EVO-X2 64 GB / 1 TB (Ryzen AI Max+ 395).
迷你 PC 是一台完整的机器:请检查可用内存和引擎兼容性。它不能替代 macOS/MLX 或 CUDA。
为什么选择它?我们的完整资料: GMKtec EVO-X2 64 GB / 1 TB (Ryzen AI Max+ 395) →
预算有限: RTX 5060 · 大型模型: RTX 5090 · Mac Studio.
移动场景: 本地 AI 选哪款笔记本电脑 →
联盟链接——可能产生佣金,但您无需额外付费。作为亚马逊合作伙伴,QuelLLM 将从符合条件的购买中获利。
#为何需要多 GPU?
- 模型大小超过单张显卡的显存容量
- Qwen3-Coder 30B-A3B 的 Q8 版本占用 32 GB;使用 256k 上下文时,KV 缓存会让总内存需求远超这一数值。没有哪张消费级 GPU 能单卡容纳它,RTX 5090(32 GB)除外——即便如此,也没有余量留给较大的上下文。
- 团队吞吐量
- 通过 vLLM 实现双卡张量并行,可并行服务用户数量提升 2 倍。
- 冗余
- 其中一张显卡故障,另一张则以降级模式继续运行(使用更小的模型)。
- Fine-tuning
- 对一个 24B 模型进行 LoRA 微调,模型、优化器和梯度合计需要 30 GB 显存。两块各有 24 GB 显存的显卡就很宽裕了。
#两种策略:按层拆分与张量并行
- 按层拆分(层并行,layer parallelism)
- 第1至40层在GPU 0上,第41至80层在GPU 1上。从一层传递到下一层时,会复制一个激活向量。延迟略高。llama.cpp和Ollama支持这种方式。
- 张量并行
- 每一层都被拆分成多个部分,分配到多个 GPU 上并行处理。需要显卡之间进行快速通信。性能更好,但实现复杂。vLLM 和 ExLlamaV2 支持这种方式。
#硬件:注意细节
- PCIe
- 每个GPU至少需要PCIe x8接口。主板必须配备2个专用于CPU的PCIe 5.0 x16接口,而非通过芯片组实现的x16 + x4组合。
- 电源
- 2× 3090 = 700 瓦仅GPU。加上CPU、RAM、SSD:目标功率在1200-1600瓦(80+金牌或铂金认证)。
- 间距
- RTX 3090/4090 显卡为 3 个插槽。在 7 个插槽的主板上,两块显卡会直接接触。需使用 PCIe 扩展器或水冷散热以确保稳定运行。
- 通风
- 在双卡负载下,通风不良的机箱温度可达 85-90°C。热节流会导致性能下降 30%。
#1. 使用llama.cpp的多GPU模式
--tensor-split 指定每个 GPU 上的层比例。对于两张相同的显卡:0.5,0.5。对于一张 24 GB 的 3090 和一张 12 GB 的 4070:0.67,0.33(3090 承担三分之二)。
#2. Ollama多显卡支持
Ollama会自动检测多个GPU,并将模型分配到所有可用的GPU上。可调整的设置不多,但开箱即用。
#3. 使用 vLLM 实现张量并行
vLLM 将每一层并行分布在 2 个 GPU 上。与单个 GPU 相比,聚合吞吐量几乎翻倍,通信开销约为 10%。
#NVLink 有用吗?
NVLink 可实现 GPU 之间的高带宽连接(3090 上为 112 GB/s)。部分 RTX 3090 配有 NVLink 接口;4090 已不再配备该接口;RTX Quadro / A 系列则全部配备。
- 对 llama.cpp split-layer(按层拆分)的影响
- 非常低。层间传输数据量很小。
- vLLM 张量并行的影响
- 更显著:启用NVLink后,吞吐量提升5%至15%。
- 对微调的影响
- 影响很大:梯度通信量很大。如果计划进行多 GPU 微调,建议使用 NVLink。
#预期性能
在2× RTX 3090上,Qwen3-Coder 30B-A3B Q8_0,使用llama.cpp并启用分层切分:
- 单个提示
- 约 55 tok/s。单块 3090 的显存装不下 Q8 版本的模型(32 GB)。速度依然很高:这是一个激活参数量为 30 亿的混合专家(MoE)模型。
- 首个 token 延迟
- 约 200 毫秒(相比之下,在单张 GPU 上运行的小模型约为 80 毫秒)。
- 相同显卡下使用 vLLM 张量并行
- 单请求约 65 token/秒,但在 10 个请求并行时,总吞吐量约为 400 token/秒。
有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。