自制AI算力网络(GPU集群)——上篇

-
本地大模型推理;
-
小规模 LoRA / QLoRA 微调;
-
多卡并行推理;
-
小模型训练实验;
-
RAG、本地知识库、Agent 系统测试。
-
多节点分布式训练;
-
大模型微调;
-
并行推理服务;
-
多用户共享算力;
-
Slurm / Kubernetes 集群调度实验;
-
NCCL、RDMA、RoCE 等高性能通信测试。
|
档位 |
典型配置 |
适合场景 |
|---|---|---|
|
低配方案 |
RTX 3090 / 4090 + 二手服务器主机 |
本地推理、小模型微调 |
|
中配方案 |
EPYC / Ryzen 主机 + 多张消费级或企业级 GPU + 10G / 40G 网卡 |
多卡训练、小型实验室 |
|
高配方案 |
多节点 GPU 服务器 + 40G / 100G IB 或 RoCE 网络 |
分布式训练、多人共享算力平台 |
-
是否需要独立电路;
-
电源功率是否足够;
-
机箱风道是否合理;
-
是否需要开放式矿架或服务器机箱;
-
房间空调是否能承受持续热负荷;
-
是否存在噪声、灰尘、安全隐患。
-
24GB 显存:适合 7B、13B 模型推理和轻量微调;
-
48GB—96GB 显存:适合更大模型量化推理、多卡切分;
-
128GB 以上显存:可以尝试 70B 级别量化模型部署;
-
192GB 以上显存:更适合多模型并行、大上下文推理或分布式微调。
-
10GbE:入门级多节点互联;
-
40GbE / 40G IB:更适合训练和并行任务;
-
100GbE / 100G IB / RoCE:适合较严肃的分布式训练场景。

-
GPU 间距更大,散热压力小;
-
更容易观察线缆、电源和风扇状态;
-
便于后期更换显卡、扩展网卡或调整风道;
-
成本低,几百元到一两千元即可搭建基础支架;
-
对家庭环境更友好,维护门槛低。
-
支持多 PCIe 插槽的服务器主板;
-
AMD EPYC 平台,例如 EPYC 7002 / 7003 系列;
-
Ryzen Threadripper / Threadripper Pro 平台;
-
二手服务器平台或工作站平台。
-
给 GPU 提供足够 PCIe 通道;
-
负责数据加载、预处理和调度;
-
支撑多进程、多用户任务;
-
避免 GPU 等待 CPU 或内存数据。
-
加载大模型权重;
-
数据集预处理;
-
多进程并行训练;
-
本地向量数据库;
-
RAG 知识库服务;
-
多用户共享环境;
-
大量模型文件缓存和切换。
|
节点规模 |
建议内存 |
|---|---|
|
2 GPU |
64GB—128GB |
|
4 GPU |
128GB—256GB |
|
8 GPU |
256GB—512GB |
|
多用户共享节点 |
512GB+ 更稳妥 |
-
显存容量:24GB 是比较实用的起点;
-
功耗水平:3090 / 4090 单卡功耗都不低;
-
散热结构:涡轮卡更适合密集部署,开放式三风扇卡需要更大间距;
-
供电接口:8pin、12VHPWR 等接口需要认真检查线缆和电源适配。
-
不同 GPU 性能不同,训练时可能出现负载不均;
-
不同驱动、CUDA、PyTorch 版本要兼容;
-
分布式训练时通常会受最慢 GPU 影响;
-
推理服务中可以按 GPU 性能分配不同任务;
-
混用显卡时功耗和散热更难统一管理。
-
多个高功率 PSU;
-
单个 PSU 1500W+;
-
品牌电源优先;
-
使用可靠的电源同步启动适配器;
-
GPU 供电线不要随意一分二;
-
12VHPWR 线缆必须插紧,避免弯折过度;
-
给电源保留 20%—30% 冗余。
-
主 PSU 负责主板、CPU、部分 GPU;
-
副 PSU 负责剩余 GPU;
-
使用同步启动器让多个电源同时启动;
-
每个 PSU 的负载尽量均衡。
-
NVMe SSD:用于系统盘、模型权重、缓存、Conda 环境、Docker 镜像;
-
大容量 SATA SSD / HDD:用于数据集、日志、备份、归档文件;
|
用途 |
推荐配置 |
|---|---|
|
系统盘 |
1TB NVMe SSD |
|
模型缓存盘 |
2TB—4TB NVMe SSD |
|
数据集盘 |
4TB—16TB SATA SSD / HDD |
|
多用户共享 |
可考虑 NAS 或独立存储节点 |
/├── system 系统与基础环境├── /models 大模型权重├── /datasets 数据集├── /workspace 用户项目├── /docker 镜像与容器数据└── /logs 训练与推理日志
-
大尺寸轴流风扇正面送风;
-
箱式风扇直接吹 GPU 背板;
-
保持 GPU 间距;
-
风从一侧进入,另一侧排出;
-
避免热风在房间内循环;
-
夏季要考虑空调持续制冷能力;
-
定期清理灰尘。
-
1 张 10G 网卡,作为入门级高速互联;
-
条件允许可上 40G 网卡;
-
Mellanox ConnectX 系列是常见选择;
-
多节点训练建议使用独立交换机;
-
管理网络和训练网络最好分开。
|
网络类型 |
用途 |
|---|---|
|
管理网络 |
SSH、远程管理、Web 服务、文件访问 |
|
训练网络 |
NCCL 通信、分布式训练、节点间高速数据交换 |
-
GPU 是否固定牢靠;
-
主板是否有绝缘垫片;
-
电源是否有独立固定位置;
-
风扇是否能正对 GPU;
-
线缆走线是否不会压迫显卡和风扇。
-
CPU 散热器要适配服务器主板孔位;
-
内存尽量按主板推荐通道插满;
-
服务器主板通常需要特定供电接口;
-
第一次点亮时只插最小硬件组合,便于排错。
-
PCIe 插槽带宽是否足够;
-
是否需要主动散热;
-
驱动是否与系统兼容;
-
光模块或 DAC 线缆是否匹配交换机。
-
高负载 GPU 尽量使用 x16;
-
低负载推理卡可以接受较低带宽;
-
riser 线质量非常关键;
-
线缆不要过度弯折;
-
每张卡安装后最好逐张识别测试。
-
主板 ATX 24pin;
-
CPU 供电;
-
GPU 8pin / 12VHPWR 供电;
-
SSD / 风扇供电;
-
多 PSU 同步启动线。
-
一张 GPU 尽量使用独立供电线;
-
不要让单根线长期满载;
-
不要使用劣质转接头;
-
12VHPWR 接头必须完全插入;
-
多 PSU 负载要均衡;
-
所有线缆远离风扇叶片。
冷风进入 → 正吹GPU正面/背板 → 热风排出 → 房间空调带走热量
-
大尺寸箱式风扇;
-
工业轴流风扇;
-
GPU 背板辅助风扇;
-
CPU 独立散热器;
-
网卡小风扇。
-
GPU 核心温度;
-
GPU 显存温度;
-
CPU 温度;
-
SSD 温度;
-
网卡温度;
-
房间环境温度。
nvidia-smi
确认系统能够识别所有 GPU。
nvidia-smi topo -m
查看 GPU 之间的 PCIe 拓扑关系。
-
riser 线接触不良;
-
PCIe 插槽设置问题;
-
BIOS 中 Above 4G Decoding 未开启;
-
电源供电不足;
-
驱动版本不兼容;
-
某张显卡本身存在故障。
-
所有 GPU 是否能持续识别;
-
满载时是否掉卡;
-
GPU 温度是否可控;
-
显存温度是否过高;
-
电源是否稳定;
-
系统是否重启或死机;
-
风扇和线缆是否过热。
节点1:8 GPU + 10G/40G网卡节点2:8 GPU + 10G/40G网卡节点3:8 GPU + 10G/40G网卡节点4:8 GPU + 10G/40G网卡 ↓ 10G / 40G / 100G 交换机
-
SSH 免密登录;
-
统一用户和目录;
-
NFS / NAS / 分布式存储;
-
PyTorch Distributed;
-
NCCL;
-
Slurm 或 Kubernetes;
-
监控系统;
-
日志系统;
-
远程电源管理。
-
RTX 4090 不支持 NVLink;
-
RTX 3090 支持 NVLink,但需要桥接器;
-
A100、H100 等数据中心 GPU 的 NVLink / NVSwitch 能力更强;
-
NVLink 是否能发挥作用,还取决于主板拓扑、驱动和软件框架。
-
PCIe 代际:PCIe 3.0、4.0、5.0 带宽差异明显;
-
通道数量:x16、x8、x4 对性能有影响;
-
拓扑结构:不同 GPU 是否挂在同一个 CPU、同一个 PCIe Switch 或跨 NUMA 节点。
nvidia-smi topo -m
这个命令会显示 GPU 与 GPU、GPU 与 CPU、GPU 与网卡之间的连接关系。对于多 GPU 训练,尽量让 GPU 与高速网卡处在更优的 PCIe / NUMA 拓扑位置上,避免数据绕远路。
-
InfiniBand
-
RoCE Ethernet
-
低延迟;
-
高带宽;
-
支持 RDMA;
-
CPU 开销低;
-
NCCL 支持成熟;
-
适合多节点分布式训练。
-
Mellanox / NVIDIA ConnectX-6 网卡;
-
ConnectX-7 网卡;
-
100G / 200G / 400G IB 交换机;
-
DAC 铜缆或光模块;
-
NVIDIA MLNX_OFED / MOFED 驱动。
-
性价比高;
-
以太网生态成熟;
-
便于与现有网络融合;
-
可以使用 25G / 40G / 100G / 200G Ethernet;
-
支持 RDMA,性能明显优于普通 TCP/IP 网络。
-
小型实验室;
-
成本敏感型集群;
-
已有高速以太网交换机;
-
主要做推理服务或中小规模训练;
-
有一定网络配置能力的团队。
-
多节点文件传输;
-
简单分布式推理;
-
轻量级多节点实验;
-
Slurm / Kubernetes 学习;
-
小规模 RAG 或模型服务集群。
|
网络档位 |
适合场景 |
|---|---|
|
1G Ethernet |
仅适合管理网络,不适合训练通信 |
|
10G Ethernet |
入门级多节点互联 |
|
25G Ethernet |
更推荐的小型 AI 集群起点 |
|
40G Ethernet / IB |
训练和并行任务更合适 |
|
100G Ethernet / IB |
严肃分布式训练起点 |
|
200G / 400G IB |
高性能 AI 训练集群 |
-
每个节点安装 1 张或 2 张 ConnectX-6/7 网卡;
-
配置 IB 或 Ethernet 模式;
-
使用 100G / 200G / 400G 交换机;
-
根据距离选择 DAC 铜缆或光模块;
-
训练网络与管理网络分离;
-
GPU 与网卡尽量放在同一 NUMA 域或更优 PCIe 拓扑下。
lspci | grep -i mellanox
或:
lspci | grep -i nvidia
第二步:安装 MOFED / MLNX_OFED 驱动
ibv_devicesibstatibstatus
如果是以太网模式,可以查看网口:
ip link show
第三步:设置 IP 地址
sudo ip addr add 192.168.100.1/24 dev ens5f0sudo ip link set ens5f0 up
其他节点可以依次设置为:
192.168.100.2192.168.100.3192.168.100.4
建议训练网络单独规划一个网段,例如:
管理网络:192.168.1.0/24训练网络:192.168.100.0/24
ping 192.168.100.2
如果 ping 不通,优先检查:
-
网卡是否识别;
-
IP 是否配置正确;
-
网口是否 up;
-
线缆或光模块是否匹配;
-
交换机端口是否启用;
-
防火墙是否阻断;
-
IB / Ethernet 模式是否一致。
iperf3 -s
在节点 1 上测试:
iperf3 -c 192.168.100.2
如果是 10G 网络,实际 TCP 带宽接近 9Gbps 左右比较正常;如果是 25G、40G、100G 网络,也可以通过 iperf3 初步判断是否跑到了合理水平。
all_reduce_perf
它可以测试多 GPU 间 AllReduce 通信带宽。AllReduce 是分布式训练中最核心的通信操作之一,因此非常有代表性。
./build/all_reduce_perf -b 8 -e 4G -f 2 -g 8
其中:
-b 8-e 4G-f 2-g 8-
带宽是否接近预期;
-
是否有明显抖动;
-
是否出现 timeout;
-
是否出现 GPU 掉卡;
-
是否有 NCCL WARN / ERROR;
-
多节点扩展效率是否合理。
nvidia-smi topo -m
和:
lspci -vv
检查网卡和 GPU 的拓扑与 PCIe 链路状态。
-
管理网络;
-
训练网络;
-
存储网络。
export NCCL_SOCKET_IFNAME=ens5f0
如果使用 IB/RDMA,还需要检查相关 NCCL 参数和驱动是否生效。
ip link show ens5f0
设置 MTU:
sudo ip link set dev ens5f0 mtu 9000
前提是交换机也支持并正确配置相同 MTU。
-
PCIe 拓扑;
-
GPU 是否稳定识别;
-
单机 nvidia-smi topo -m;
-
单机 nccl-tests
-
10G / 25G Ethernet;
-
独立训练网段;
-
ping / iperf 测试;
-
PyTorch 分布式基础测试。
-
40G / 100G 网络;
-
ConnectX-5/6 网卡;
-
RoCE 或 IB;
-
独立高速交换机;
-
NCCL 性能测试;
-
Slurm 或 Kubernetes 调度。
-
ConnectX-6 / ConnectX-7;
-
100G / 200G / 400G IB;
-
IB 交换机;
-
GPU Direct RDMA;
-
NCCL 深度调优;
-
网络、存储、调度一体化设计。

夜雨聆风