专栏名称: 云头条
引领科技变革,连接技术与商业
目录
相关文章推荐
英国大家谈  ·  英国大家谈商务合作及转载须知 ·  9 小时前  
英国那些事儿  ·  又不离了?!侃爷为比安卡砸2500万拍电影, ... ·  2 天前  
51好读  ›  专栏  ›  云头条

训练 Llama 3 时:16384 个 GPU 集群,3 个小时出现一次故障!

云头条  · 公众号  ·  · 2024-07-29 23:30

正文

Meta 最近发布了一篇研究论文,详细介绍了其 Llama 3 405B 模型在由 16384 个英伟达 H100 80GB GPU 组成的集群上进行训练。
训练整整进行了 54 天,在此期间,集群遇到了 419 次意外部件故障,平均每三个小时发生一次故障。
在一半的故障情形下,GPU 或其板载 HBM3 内存是罪魁祸首。

正如超级计算行业有句老话,大规模系统唯一可以确定的就是肯定会出故障。
超级计算机是极其复杂的设备,使用数万个处理器、数十万个芯片以及数百英里长的电缆。在一台复杂的超级计算机中,每隔几个小时就出现故障司空见惯。
不管出现怎样的此类局部故障,开发人员的主要本领就是确保系统保持运行。

16384 个 GPU 进行训练的庞大规模和同步特性使其容易出现故障。
如果不能正确地减少故障,单单一个 GPU 故障就可能会中断整个训练任务,需要重新启动。
然而,Llama 3 团队做到了有效训练时间超过 90%。

在 54 天的训练期间,出现了 466 次任务中断,其中 47 次是计划中的,419 次是意外的。
计划中的中断归因于自动化维护,而意外的中断主要源于硬件问题。
GPU 问题是最大的一类诱因,占意外中断总数的 58.7%。
只有三起事故需要大量的人工干预,其余由自动化技术处理。
在 419 次意外中断中,148 次(30.1%)是由各种 GPU 故障(包括 NVLink 故障)引起的,而 72 次(17.2%)是由 HBM3 内存故障引起的,考虑到英伟达的 H100 GPU 耗电量约 700W,并且承受很大的热应力,这不足为奇。
值得关注的是,54 天内只有两个 CPU 出现了故障。

不过虽然 GPU 是最重要的、恰好也是很脆弱的部件,41.3% 的意外中断是由多种因素引起的,包括软件错误、网络电缆和网络适配器。

为了提高效率,Meta 的团队减少了任务启动和检查点时间,并开发了专有的诊断工具。
PyTorch 的 NCCL飞行记录器被广泛用于快速诊断和解决挂起和性能问题,尤其是与 NCCLX 相关的问题。这个工具捕获集合元数据和堆栈跟踪,帮助快速解决问题。

NCCLX 在故障检测和定位方面发挥了至关重要的作用,尤其是针对与 NVLink 和RoCE 相关的问题。与 PyTorch 集成便于监测和自动超时断开由 NVLink故障引起的通信中断。

使用专门的工具可以识别掉队的 GPU,掉队的 GPU 可能降低另外数千个 GPU 的速度。这类工具优先处理有问题的通信,从而能够有效地检测和及时解决掉队的 GPU,从而确保尽量减少降速问题,保持整体训练效率。

环境因素(比如中午的温度波动)会引起吞吐量变化 1%至 2%,从而影响训练性能。GPU 的动态电压和频率缩放受到了这些温度变化的影响,不过这不是一个大问题。

Llama 3 405B LLM 训练团队遇到的另一个挑战是数万个 GPU 的功耗同时发生变化,这对他们的数据中心电网造成了压力。这些波动有时达到几十兆瓦,超出了电网的极限,这就意味着 Meta 必须确保其数据中心有足够的电力。

考虑到一个由 16384 个 GPU 组成的集群在 54 天内就遇到了 419次故障(每24小时7.76次,或每3小时一次故障),现在我们只想知道 xAI 由 100000 个 H100 GPU 组成的集群多久会遇到一次故障,毕竟其可能出现故障的部件数量增加了六倍。








请到「今天看啥」查看全文