技术深度解析
mlcommons/training仓库是一套精心设计的参考实现集合,旨在标准化AI训练性能测量。其核心为六个基准任务提供完整的训练脚本和配置文件:图像分类(ResNet-50)、目标检测(SSD)、自然语言处理(BERT)、翻译(Transformer)、推荐系统(DLRM)和强化学习(MiniGo)。每个实现均针对PyTorch和TensorFlow进行了优化,并最近加入了JAX支持。
架构与工程选择
该仓库的架构遵循模块化设计。每个基准任务都有一个专用目录,包含:
- `main.py` 或 `run.py`:训练入口点
- `configs/`:YAML或JSON配置文件,指定超参数、学习率调度和数据增强管道
- `models/`:模型定义,通常使用NVIDIA的apex或Hugging Face的transformers
- `data/`:数据加载和预处理脚本,包括分布式训练的分片处理
- `utils/`:用于日志记录、检查点和性能测量的实用函数
一个关键技术亮点是混合精度训练的使用,通过NVIDIA的自动混合精度(AMP)和TensorFloat-32(TF32)在Ampere和Hopper GPU上实现。例如,BERT基准使用LAMB优化器,配合预热调度和65,536个token的批次大小,实现了最先进的吞吐量。DLRM基准则采用嵌入袋操作和稀疏特征交互,需要精细的内存管理。
分布式训练支持
该仓库支持跨多个GPU和节点的分布式训练,使用NCCL和Horovod。对于GPT-3 175B基准(v3.0版本新增),它实现了张量并行(Megatron-LM风格)和流水线并行。配置针对特定硬件进行了调优——例如,NVIDIA DGX A100提交使用每节点8个GPU,通过NVLink互连;而AMD MI250提交使用每节点4个GPU,通过Infinity Fabric互连。
基准性能数据
| 基准任务 | 模型 | 参数量 | 训练时间(8×A100 80GB) | 训练时间(8×H100 80GB) | 加速比 |
|---|---|---|---|---|---|
| 图像分类 | ResNet-50 | 2500万 | 22分钟 | 11分钟 | 2.0倍 |
| 目标检测 | SSD | 2400万 | 45分钟 | 23分钟 | 1.96倍 |
| 自然语言处理 | BERT-Large | 3.4亿 | 45分钟 | 22分钟 | 2.05倍 |
| 翻译 | Transformer | 2.13亿 | 30分钟 | 15分钟 | 2.0倍 |
| 推荐系统 | DLRM | 12亿 | 60分钟 | 31分钟 | 1.94倍 |
| 强化学习 | MiniGo | 1000万 | 90分钟 | 47分钟 | 1.91倍 |
*数据要点:H100在所有基准测试中相比A100实现了约2倍的加速,但差异(1.91倍至2.05倍)表明,内存密集型工作负载(DLRM、MiniGo)从原始计算改进中获益较少,而计算密集型任务(BERT、ResNet)则接近理想缩放。*
值得关注的开源仓库
- mlcommons/training:官方仓库,拥有1,755个星标,每日更新。包含NVIDIA、Intel和Google的提交脚本。
- NVIDIA/DeepLearningExamples:包含许多MLPerf模型的优化实现,集成了TensorRT和Triton。
- Hugging Face/transformers:用于BERT和GPT-3基准测试,提供符合MLPerf要求的自定义训练循环。
关键玩家与案例分析
NVIDIA 在MLPerf提交中占据主导地位,在其A100和H100 GPU上持续取得顶级成绩。其策略是将硬件(NVLink、NVSwitch)与软件(CUDA、cuDNN、TensorRT)紧密集成。在H100提交中,NVIDIA使用了3,584个H100 GPU,在11分钟内训练了GPT-3 175B——这一壮举需要自定义张量并行和流水线调度。
AMD 凭借MI250和MI300X加速器取得了显著进展。在最新的MLPerf v3.1中,AMD在BERT和DLRM上取得了有竞争力的结果,尽管在吞吐量上仍落后NVIDIA 15-20%。AMD的优势在于内存带宽(MI300X为5.2 TB/s,而H100为3.35 TB/s),这对内存密集型工作负载有利。
Intel 专注于Habana Gaudi2和即将推出的Gaudi3。其提交在ResNet-50和BERT上表现出色,但由于稀疏嵌入操作优化不足,在DLRM上落后。Intel的策略针对注重成本的客户,提供有竞争力的性价比。
Google 使用TPU v4和v5p进行提交,由于TPU的矩阵乘法单元,通常在NLP任务上取得顶级结果。然而,Google很少提交所有基准测试,而是专注于TPU擅长的BERT和Transformer。
| 厂商 | 加速器 | 最佳基准任务 | 训练时间(8×加速器) | 云服务每小时价格 |
|---|---|---|---|---|
| NVIDIA | H100 SXM | BERT-Large | 22分钟 | $4.50 |
| AMD | MI300X | DLRM | 31分钟 | $3.80 |
| Intel | Gaudi2 | ResNet-50 | 23分钟 | $2.50 |
| Google | TPU v5p | BERT-Large | 18分钟 | $6.00 |
*数据要点:虽然NVIDIA在绝对性能上领先,但Intel在图像分类任务中提供了最佳的性价比。AMD的MI300X在内存密集型工作负载上具有竞争力,而Google的TPU在NLP任务中表现出色,但价格最高。*