优化GPU集群以训练生成式AI模型:全面指南

realtime news  Aug 14, 2024 13:02  UTC 05:02

1 Min Read

训练生成式AI模型需要昂贵的尖端硬件,如H100 GPU和快速存储,通过包含Infiniband链路、交换机、收发器和以太网连接的多网络拓扑互连。尽管高性能计算(HPC)和AI云服务提供了这些专业集群,但它们需要大量的资本投入。然而,据together.ai称,并不是所有的集群都是一样的。

GPU集群测试简介

GPU集群的可靠性差异显著,问题从小到大。例如,Meta报告称在其Llama 3.1模型的54天训练中,GPU问题占所有意外问题的58.7%。Together AI为许多AI初创公司和财富500强公司提供服务,已制定了一个健全的验证框架,以在部署前确保硬件质量。

Together AI的集群测试过程

验收测试的目标是确保硬件基础设施符合规定要求,并提供满足高要求AI/ML工作负载的可靠性和性能。

1. 准备和配置

初始阶段包括在GPU集群环境中配置新硬件,模拟最终使用场景。这包括安装NVIDIA驱动程序、Infiniband的OFED驱动程序、CUDA、NCCL、HPCX,以及配置SLURM集群和PCI设置以提高性能。

2. GPU验证

验证从确保GPU类型和数量符合预期开始。使用类似DCGM Diagnosticsgpu-burn的压力测试工具来测量负载下的功耗和温度。这些测试有助于识别诸如NVML驱动程序不匹配或“GPU掉线”等问题。

3. NVLink和NVSwitch验证

在单个GPU验证之后,使用工具如NCCL tests和nvbandwidth测量GPU之间通过NVLink的通信。这些测试有助于诊断诸如NVSwitch损坏或NVLinks掉线等问题。

4. 网络验证

对于分布式训练,使用Infiniband或RoCE网络结构验证网络配置。使用如ibping、ib_read_bw、ib_write_bw和NCCL tests等工具,以确保最佳性能。这些测试结果良好表明该集群将能够很好地执行分布式训练工作负载。

5. 存储验证

存储性能对于机器学习工作负载至关重要。使用类似fio的工具,衡量不同存储配置的性能特征,包括随机读、随机写、持续读和持续写。

6. 模型构建

最后阶段包括运行与客户使用案例相关的参考任务。这确保集群能够实现预期的端到端性能。一个流行的任务是使用如PyTorch的完全分片并行(FSPD)框架构建模型,以评估训练吞吐量、模型计算利用率、GPU利用率和网络通信延迟。

7. 可观察性

连续监控硬件故障是必需的。Together AI使用Telegraf来收集系统指标,确保最大正常运行时间和可靠性。监控内容包括集群级别和主机级别的指标,如CPU/GPU使用率、可用内存、磁盘空间和网络连接。

结论

验收测试对于提供顶级计算资源的AI/ML初创公司来说是不可或缺的。全面和结构化的方法确保稳定和可靠的基础设施,以支持预期的GPU工作负载。鼓励公司对交付的GPU集群进行验收测试,并报告任何问题以便解决。



Read More