从 0 到 1 搭建 AI 训练平台:架构设计与技术选型
搭建 AI 训练平台不是堆 GPU 就行。本文分享从 0 到 1 的完整架构设计和选型建议。
一、需求分析(先想清楚再动手)
核心问题清单
典型场景配置
| 场景 | 卡数 | 网络 | 存储 | 适用团队 |
|---|---|---|---|---|
| 小型实验室 | 8-16 卡 | 单机 NVLink | 本地 SSD | 5-10 人 |
| 中型企业 | 64-128 卡 | RoCE 200G | 分布式存储 | 20-50 人 |
| 大型平台 | 512+ 卡 | InfiniBand | 并行文件系统 | 100+ 人 |
二、硬件架构设计
GPU 选型决策树
预算充足 + 追求性能 → H100/A100
预算中等 + 国内部署 → A800/昇腾 910B
预算紧张 + 中小模型 → A10/L40S网络架构(关键瓶颈)
单机内:
- NVLink 必须(A100/H100 标配)
- PCIe 4.0 x16 是底线
- 首选:InfiniBand NDR/HDR(延迟<1μs)
- 备选:RoCE v2(延迟 2-5μs)
- 底线:100G 以太网(延迟 10μs+)
存储架构
| 层级 | 类型 | 容量 | 用途 |
|---|---|---|---|
| L1 | NVMe SSD | 4-8TB/节点 | 缓存、临时数据 |
| L2 | 分布式存储 | 100-500TB | 数据集、检查点 |
| L3 | 对象存储 | PB 级 | 归档、备份 |
三、软件栈设计
核心组件
用户层:JupyterLab + VSCode Remote
调度层:Kubernetes + Volcano/KubeFlow
框架层:PyTorch + DeepSpeed + Megatron
监控层:Prometheus + Grafana + WandB
存储层:Ceph + MinIOKubernetes 配置示例
yaml
apiVersion: v1
kind: Pod
metadata:
name: pytorch-training
spec:
containers:
- name: pytorch
image: pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime
resources:
limits:
nvidia.com/gpu: 8
volumeMounts:
- name: dataset
mountPath: /data
volumes:
- name: dataset
persistentVolumeClaim:
claimName: ceph-dataset-pvc四、资源调度策略
多租户隔离
方案 1:Namespace 隔离
bash
kubectl create namespace team-a
kubectl create namespace team-b方案 2:配额管理
yaml
apiVersion: v1
kind: ResourceQuota
metadata:
name: gpu-quota
namespace: team-a
spec:
hard:
requests.nvidia.com/gpu: "32"
limits.nvidia.com/gpu: "32"优先级调度
| 优先级 | 队列 | GPU 配额 | 抢占权 |
|---|---|---|---|
| P0 | 紧急任务 | 20% | 可抢占所有 |
| P1 | 重点项目 | 50% | 可抢占 P2/P3 |
| P2 | 常规训练 | 30% | 不可抢占 |
五、监控与运维
关键指标
| 指标 | 告警阈值 | 说明 |
|---|---|---|
| GPU 利用率 | <50% 持续 1h | 资源浪费 |
| 显存使用率 | >95% | OOM 风险 |
| 网络吞吐 | <80% 峰值 | 网络瓶颈 |
| 存储 IO | <500MB/s | 存储瓶颈 |
| 训练效率 | <70% | 需要优化 |
监控面板示例
promql
# GPU 利用率
avg(rate(nvidia_smi_gpu_utilization[5m])) * 100
# 训练效率
sum(rate(training_samples_processed_total[1h])) /
(count(nvidia_smi_gpu_utilization) * theoretical_peak_samples)六、成本优化
资源复用策略
成本分摊
团队成本 = GPU 时薪 × 使用时长 × 权重系数
权重系数:
- A100/H100: 1.5
- A800/A10: 1.0
- T4/L4: 0.5七、学习大鳄的建议
"平台搭建最大的坑不是一次性投入,而是运维成本。我的建议是:先上云验证架构,再考虑自建;先用开源方案,再考虑自研。"
实施路线图:
最后忠告: 不要过度设计。80% 的团队用不到千卡集群,先把 8 卡用好再说。
*生成时间:2026-04-06 | 模板:AI 平台搭建 | 学习大鳄出品*