多 GPU 设置

在 Clore.ai 跨多 GPU 运行大型 AI 模型

在 CLORE.AI 上跨多 GPU 运行大型 AI 模型。

circle-check

何时需要多 GPU?

模型大小
单 GPU 选项
多 GPU 选项

≤13B

RTX 3090(Q4)

不需要

30B

RTX 4090(Q4)

2x RTX 3090

70B

A100 40GB(Q4)

2x RTX 4090

70B FP16

-

2x A100 80GB

100B+

-

4x A100 80GB

405B

-

8x A100 80GB


多 GPU 概念

张量并行(TP)

在 GPU 之间拆分模型层。最适合推理。

GPU 0:第 1-20 层
GPU 1:第 21-40 层

优点: 更低延迟,设置简单 缺点: 需要高速互联

流水线并行(PP)

在不同 GPU 上处理不同批次。

优点: 更高吞吐量 缺点: 更高延迟,更复杂

数据并行(DP)

相同模型在多 GPU 上,不同数据。

优点: 简单,线性扩展 缺点: 每个 GPU 需要完整模型


LLM 多 GPU 设置

vLLM(推荐)

2 个 GPU:

4 个 GPU:

8 个 GPU(用于 405B):

Ollama 多 GPU

当可用时,Ollama 会自动使用多个 GPU:

限制为特定 GPU:

Text Generation Inference (TGI)

llama.cpp


图像生成 多 GPU

ComfyUI

ComfyUI 可以将不同模型卸载到不同 GPU:

在单独 GPU 上运行 VAE:

Stable Diffusion WebUI

在 webui-user.sh 中启用多 GPU:

FLUX 多 GPU


训练 多 GPU

PyTorch 分布式

启动:

DeepSpeed

启动:

Accelerate(HuggingFace)

配置:

Kohya 训练(LoRA)


GPU 选择

检查可用 GPU

选择特定 GPU

环境变量:

在 Python 中:


性能优化

连接
带宽
最适合

NVLink

600 GB/s

张量并行

PCIe 4.0

32 GB/s

数据并行

PCIe 5.0

64 GB/s

混合工作负载

检查 NVLink 状态:

最佳配置

GPU 数量
TP 大小
PP 大小
注意事项

2

2

1

简单张量并行

4

4

1

需要 NVLink

4

2

2

对 PCIe 友好

8

8

1

完整张量并行

8

4

2

混合并行

内存平衡

平均拆分(默认):

自定义拆分(不均衡 GPU):


# 使用固定种子以获得一致结果

"NCCL 错误"

"GPU X 内存不足"

"多 GPU 性能缓慢"

  1. 检查 NVLink 连接性

  2. 减少张量并行大小

  3. 改用流水线并行

  4. 检查 CPU 瓶颈

"未检测到 GPU"


成本优化

何时值得使用多 GPU

场景
单 GPU
多 GPU
胜者

偶尔使用 70B

A100 80GB($0.25/小时)

2x RTX 4090($0.20/小时)

多 GPU

70B 生产环境

A100 40GB($0.17/小时)

2x A100 40GB($0.34/小时)

单机(Q4)

训练 7B

RTX 4090($0.10/小时)

2x RTX 4090($0.20/小时)

取决于时间

具有成本效益的配置

模型变体
配置
≈成本/小时

70B 推理

2x RTX 3090

$0.12

70B 快速推理

2x A100 40GB

$0.34

70B FP16

2x A100 80GB

$0.50

训练 13B

2x RTX 4090

$0.20


示例配置

70B 聊天服务器

DeepSeek-V3(671B)

图像 + LLM 流水线


使用以下方式支付

最后更新于

这有帮助吗?