关键字: [亚马逊云科技, HyperPod, Gpu 集群训练, 故障检测自动恢复, 节点健康检查, 集群通信压测, 备用资源池维护]
在这个演讲中,演讲者介绍了亚马逊云科技的HyperPod弹性设计,用于应对GPU集群训练过程中的故障。他解释了大型GPU集群在长时间运行时容易发生故障的原因,并分享了一些知名模型在训练过程中遇到的故障案例。HyperPod通过节点和集群层面的健康检查、压力测试、自动恢复等功能,帮助降低故障对训练任务的影响,减少资源浪费。演讲者还分享了一些最佳实践建议,如利用成熟的调度平台、定期创建检查点等,以提高GPU集群训练的可靠性。
以下是小编为您整理的本次演讲的精华。
在当今的人工智能时代,大规模语言模型和其他复杂的深度学习模型已经成为各大科技公司和研究机构的重点关注领域。然而,训练这些庞大的模型需要耗费大量的计算资源,尤其是GPU资源。由于GPU硬件的固有缺陷和极限工作状态,故障发生的风险一直存在,给训练任务带来严重的中断和资源浪费。
首先,让我们来看一下一些知名开源模型在预训练过程中遇到的GPU故障问题。Meta在训练OPT模型时,使用了A100 GPU集群,但实际GPU故障率高达0.0588%。虽然这个数字看似很低,但当集群规模很大或运行时间很长时,集群作为整体发生故障的频率就会大幅增加。例如,Meta发现即使故障率只有万分之五,但由于集群规模庞大,训练任务可能每几个小时就会中断一次。
另一个案例是MPT模型,它在上百个A100 GPU上进行训练,在9.5天的时间里就发生了4次硬件故障,每小时的故障率约为0.03%。最引人注目的是拉马405B模型,当时是开源社区中规模最大的模型之一。它使用了1.6万多个GPU进行训练,在54天的时间里发生了惊人的417次故障,故障率高达0.016%。
这些故障主要源于硬件问题,如电压异常、GPU过热、功率过高等。以拉马405B模型为例,根据其技术报告,近47%的故障是由于GPU电压异常和GPU与显存交互异常导致的。另外,像H100 GPU的功率高达700瓦,而上一代A100的功率为400瓦,功率的大幅提升加剧了过热问题。还有一些潜在的问题,如中午温度升高导致冷却系统出现问题,会导致训练吞吐量波动1%-2%,但任务表面上仍在正常运行,难以检测到异常。
一旦发生GPU故障导致任务中断,剩余的GPU资源就会被闲置,造成巨大的资源浪费。以拉马405B模型为例,当一台实例出现故障时,整个任务都会中断,而其他实例被占用的情况下,中断的任务只能等待故障实例修复后才能恢复。从发现故障到恢复训练是一个漫长的过程,需要人工介入定位故障原因、重启机器或更换新机器、进行压测等,效率低下且成本高昂。
因此,在GPU集群训练中实现弹性(resilience)设计,快速发现和自动修复故障,对于提高训练效率和节省资源成本至关重要。亚马逊云科技的HyperPod就提供了这样一种解决方案。
HyperPod上的MHA代理可以进行基本的健康状况检查,通过读取状态的方式,不会对集群造成额外的开销。但仅依赖这一层面的检查是不够的,HyperPod还提供了针对节点本身以及整个集群的深度检查能力。
对于单个节点,HyperPod会进行压测,检查该节点上的任务是否能够正常运行,并达到预期的性能水平。例如,它会检测一些常见的GPU故障类型,如XID错误、ECC内存错误等,并根据不同错误码采取相应的措施,比如重启机器或替换机器。而对于整个集群,则需要检查集群内不同节点之间的通信情况,特别是在进行模型并行或数据并行训练时,不同节点之间需要频繁交换梯度或模型切片信息,通信状况直接影响训练效率。HyperPod会对集群通信进行压测,检查是否符合预期性能,如测试NCCL等通信库的性能。
最重要的是,HyperPod具备自动恢复的能力。它内部有一套机制,可根据不同的错误码决定采取不同的恢复措施,如重启机器、从备用资源池中拉取新机器替换故障机器等。HyperPod会在后台为用户维护一个备用资源池,因此用户无需为备用资源付出额外的成本。例如,如果用户的训练任务需要32个节点,HyperPod就会为其准备33个节点,其中一个作为备用,一旦有节点发生故障,就可以立即用备用节点替换,确保训练任务不受影响。
除了故障检测和自动恢复,HyperPod还提供了全面的观测能力,包括TensorBoard等监控模型收敛情况,以及GPU利用率、CPU内存、机器间RDMA通信等底层指标的监控。由于HyperPod的调度器是基于亚马逊云服务EKS的高可用Kubernetes集群,因此具有非常好的可扩展性和可观测性,用户可以按需查看集群、作业、节点组、单个节点的各种指标。如果觉得EKS的监控体系还不够精细,HyperPod也支持集成第三方监控系统,如Prometheus和Grafana,让用户能够查看到更加详细的集群健康状态。
HyperPod的自动化解决方案不仅提高了GPU集群训练的效率,也极大地节省了运营成本。根据演讲者提供的数据,Meta公司在训练OPT模型时,使用A100 GPU集群的实际故障率高达0.0588%。虽然这个比例看似很低,但由于集群规模庞大,训练任务可能每几个小时就会中断一次,给资源利用率带来严重影响。另一个例子是MPT模型,在上百个A100 GPU上训练时,仅9.5天就发生了4次硬件故障,每小时的故障率约为0.03%,频率之高令人震惊。最极端的案例是拉马405B模型,使用了1.6万多个GPU进行训练,在54天内发生了高达417次故障,故障率高达0.016%,给训练带来了巨大的挑战和资源浪费。
通过HyperPod的自动化管理,这些导致训练中断和资源闲置的故障都可以得到快速发现和修复,从而最大限度地减少资源浪费,提高训练效率。HyperPod不仅能自动检测故障,还能根据不同错误码采取不同的恢复措施,如重启机器或从备用资源池中拉取新机器替换故障机器,全程自动化、无需人工干预,大大提高了运维效率。而且,HyperPod会在后台为用户维护备用资源池,用户无需为此支付额外成本。
总的来说,亚马逊云科技的HyperPod通过自动化的方式,实现了对GPU集群训练任务的弹性管理,能够快速发现和自动恢复各种硬件故障,最大限度地减少训练中断带来的资源浪费,提高了训练效率,降低了运营成本。这种解决方案无疑会为科技公司和研究机构训练大规模人工智能模型提供有力支持。
下面是一些演讲现场的精彩瞬间:
CSMaker不仅提供基本的监控、压测和集群状态检查功能,更具备自动恢复的能力,避免了人工介入的不便。
在当今的人工智能训练环境中,GPU集群的可靠性和弹性设计至关重要。亚马逊云科技的HyperPod弹性设计应对GPU集群训练故障,旨在解决这一挑战。该设计采用了多重措施来确保训练任务的连续性和高效性。
首先,HyperPod集成了健康检查代理(MHA),能够实时监控GPU集群的状态,并进行深度检查以确保集群内各节点之间的通信和性能符合预期。其次,HyperPod具备自动恢复能力,可根据故障类型自动重启或替换故障节点,减少人工干预。此外,它还提供了丰富的观测能力,如TensorBoard、GPU利用率监控等,帮助用户全面了解训练过程。
最后,HyperPod建立在亚马逊云科技的高可用Kubernetes集群之上,具有强大的可扩展性和可观察性。用户可以根据需求灵活调整集群规模,并通过Prometheus和Grafana等工具对集群进行细粒度监控。总的来说,HyperPod弹性设计为GPU集群训练提供了全方位的弹性和可靠性保障,有助于提高训练效率和资源利用率。
我们正处在Agentic AI爆发前夜。2025亚马逊云科技中国峰会提出,企业要从“成本优化”转向“创新驱动”,通过完善的数据战略和AI云服务,把握全球化机遇。亚马逊将投入1000亿美元在AI算力、云基础设施等领域,通过领先的技术实力和帮助“中国企业出海“和”服务中国客户创新“的丰富经验,助力企业在AI时代突破。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038688/viewspace-3091377/ ,如需转载,请注明出处,否则将追究法律责任。