AIGC宇宙 AIGC宇宙

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

作者:清源
2024-07-29 05:54
每 3 个小时 1 次、平均 1 天 8 次,Llama 3.1 405B 预训练老出故障,H100 是罪魁祸首?最近有人从 Meta 发布的 92 页超长 Llama 3.1 论文中发现了华点:Llama 3.1 在为期 54 天的预训练期间,经历了共 466 次任务中断。其中只有 47 次是计划内的,419 次纯属意外,意外中 78% 已确认或怀疑是硬件问题导致。而且 GPU 问题最严重,占了 58.7%。Llama 3.1 405 模型是在一个含 16384 块 Nvidia H100 80GB GPU 集群

每 3 个小时 1 次、平均 1 天 8 次,Llama 3.1 405B 预训练老出故障,H100 是罪魁祸首?

最近有人从 Meta 发布的 92 页超长 Llama 3.1 论文中发现了华点:

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

Llama 3.1 在为期 54 天的预训练期间,经历了共 466 次任务中断。其中只有 47 次是计划内的,419 次纯属意外,意外中 78% 已确认或怀疑是硬件问题导致。

而且 GPU 问题最严重,占了 58.7%

Llama 3.1 405 模型是在一个含 16384 块 Nvidia H100 80GB GPU 集群上进行训练的。虽说针对大规模系统有句老话:唯一确定的就是会出故障。

但这一问题还是引起不少网友关注。

放慢速度,check 一下产品吧。

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

老出故障,咋整?

具体来看,在 419 次意外中断中,148 次(30.1%)是由各种 GPU 故障(包括 NVLink 故障)引起的,72 次(17.2%)可以具体到是由 HBM3 内存故障引起。

鉴于 H100 的 700W 高功耗和热应力,出现这样的结果也并不意外。

有意思的是,54 天内只有两次是 CPU 出现了故障。

除了 GPU 外的另一半故障由众多因素导致,比如软件 Bug、网络电缆等等。

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

不过最终,Llama 3.1 团队保持了超 90% 的有效训练时间。只有三起故障需要人工大幅介入,其余的都自动化处理了。

那么他们是如何应对的?

为了增加有效训练时间,Llama 3.1 团队表示减少了任务启动和 checkpointing 时间,并开发了一些工具来快速诊断和解决问题。

其中广泛使用了 PyTorch 的内置 NCCL flight recorder(Ansel 等人 2024 年开发),是一个可以把集体元数据和堆栈跟踪记录到一个循环缓冲区里的功能,这样就能快速诊断大规模卡顿和性能问题,特别是跟 NCCLX 有关的问题。

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

用这个工具,团队能有效记录每次通信事件和每个集体操作的持续时间,在 NCCLX Watchdog 或 Heartbeat 超时时还能自动导出跟踪数据。

还可以根据需要,通过在线配置更改(Tang 等人 2015 年提出的方法)来选择性地启用一些计算量更大的跟踪操作和元数据收集,而不需要重新发布代码或重启任务。

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

团队表示,在大规模训练中调试问题很复杂,因为网络同时使用了 NVLink 和 RoCE。通过 NVLink 传输数据通常是通过 CUDA 内核发出的加载 / 存储操作来完成的,如果远程 GPU 或 NVLink 连接出了问题,往往表现为 CUDA 内核里的加载 / 存储操作卡住了,却不会返回明确的错误代码。

而 NCCLX 通过与 PyTorch 紧密配合,提高了故障检测和定位的速度和准确性,让 PyTorch 能够访问 NCCLX 的内部状态并跟踪相关信息。

虽然无法完全避免 NVLink 故障导致的卡顿,但系统会监控通信库状态,在发现卡顿时自动超时。

此外,NCCLX 还会跟踪每次 NCCLX 通信的内核和网络活动,并在失败时提供 NCCLX 集体操作内部状态“快照”,包括所有等级之间已完成和待处理的数据传输。团队通过分析这些数据来调试 NCCLX 的扩展问题。

有时,硬件问题可能导致某些部分虽然看起来还在运行,但速度变慢,这种情况很难被发现。即使只有一个部分变慢,也可能拖慢数千个其它 GPU 的速度。

为此团队开发了一些工具,可以优先处理某些可能有问题的进程组的通信。通常只需要调查几个最可疑的对象,就能有效找出那些变慢的部分。

团队还观察到了一个有趣的现象 —— 环境因素对大规模训练性能的影响。在训练 Llama 3.1 405B 时,吞吐量会根据一天中时间的不同而有 1-2% 的变化。这是因为中午温度较高,影响了 GPU 动态电压和频率调节。

在训练过程中,数万个 GPU 可能会同时增加或减少功耗,比如在所有 GPU 等待 checkpointing 或集体通信完成时,或者在整个训练任务启动 / 关闭时。这种情况发生,可能导致数据中心的瞬时功耗波动达到数十兆瓦,对电网来说是个不小的考验。

团队最后还表示:

随着未来更大的 Llama 模型扩展训练规模,这一挑战将持续存在。

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

AI 集群问题正待破壁

Meta2022 年首次分享了其 AI 研究超级集群(RSC)的详细信息,当时拥有 16000 个 NVIDIA A100 GPU,帮助其构建了第一代 AI 模型,在 Llama 初代和 Llama 2 开发中都发挥了重要作用。

来自 Meta

今年三月份,Meta 又公开了 24576 个 NVIDIA H100 GPU 的 AI 集群,支持 Llama 3 及之后模型。

更是定下了到今年年底增加 350000 个 NVIDIA H100 GPU 的目标,作为整体算力的一部分(整体算力近 600000 个 H100 GPU)。

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

这么大的规模,emmm 可不是个持续性的挑战嘛。当然,大规模 AI 集群会给模型训练造成故障是一个有些“远古”的问题,很早之前就有相关研究。

H100 本身什么含金量无需多言。

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

在去年最新 MLPerf 训练基准测试中,英伟达 H100 集群,横扫八项测试,全部创下新纪录,并且在大语言模型任务中表现尤为突出。

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

11 分钟内训练一遍 GPT-3,8 秒训完 BERT。在大语言模型任务中,H100 集群的加速性能逼近线性增长。即随着集群处理器数量增加,加速效果也几乎同比增加。

意味着在集群内 GPU 之间的通信效率非常高。

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

除此之外,H100 还完成了推荐算法、CV、医学图像识别以及语音识别等任务,是唯一一个参加 8 项测试的集群。

不过,SemiAnalysis 一个月前的一篇文章指出,构建大规模 AI 算力集群非常复杂,远远不只是有没有钱买卡的事。

在电力、网络设计、并行、可靠性等很多方面都面临局限。

Llama3.1 训练平均 3 小时故障一次,H100 万卡集群好脆弱,气温波动都会影响吞吐量

参考链接:

[1]https://ai.meta.com/research/publications/the-llama-3-herd-of-models/

[2]https://engineering.fb.com/2024/03/12/data-center-engineering/building-metas-genai-infrastructure/

[3]https://www.semianalysis.com/p/100000-h100-clusters-power-network

本文来自微信公众号:量子位(ID:QbitAI),作者:西风

相关标签:

相关资讯

小扎自曝砸重金训 Meta Llama 4 模型:24 万块 GPU 齐发力,预计 2025 年发布

Llama 3.1 刚发布不久,Llama 4 已完全投入训练中。这几天,小扎在二季度财报会上称,Meta 将用 Llama 3 的十倍计算量,训练下一代多模态 Llama 4,预计在 2025 年发布。这笔账单,老黄又成为最大赢家十倍计算量,是什么概念?要知道,Llama 3 是在两个拥有 24,000 块 GPU 集群完成训练。也就是说,Llama 4 训练要用 24 万块 GPU。那么,Meta 存货还够不够?还记得小扎曾在年初宣布,计划到年底要部署 35 万块英伟达 H100。他还透露了更多的细节,Meta
8/5/2024 1:30:22 PM
汪淼

真·ChatGPT平替:无需显卡,MacBook、树莓派就能运行LLaMA

Meta 在上个月末发布了一系列开源大模型 ——LLaMA(Large Language Model Meta AI),参数量从 70 亿到 650 亿不等。由于模型参数量较少,只需单张显卡即可运行,LLaMA 因此被称为 ChatGPT 的平替。发布以来,已有多位开发者尝试在自己的设备上运行 LLaMA 模型,并分享经验。
3/14/2023 2:16:00 PM
机器之心

刚刚,Llama 3.2 来了!支持图像推理,还有可在手机上运行的版本

今天凌晨,大新闻不断。一边是 OpenAI 的高层又又又动荡了,另一边被誉为「真・Open AI」的 Meta 对 Llama 模型来了一波大更新:不仅推出了支持图像推理任务的新一代 Llama 11B 和 90B 模型,还发布了可在边缘和移动设备上的运行的轻量级模型 Llama 3.2 1B 和 3B。不仅如此,Meta 还正式发布了 Llama Stack Distribution,其可将多个 API 提供商打包在一起以便模型方便地调用各种工具或外部模型。此外,他们还发布了最新的安全保障措施。真・Open AI
9/26/2024 2:33:00 PM
机器之心
  • 1