如何增强大规模AI加速的硬件可靠性?GPU集群常见可靠性问题及解决方案
发布时间: 2024-07-31 14:58

生成式人工智能等高级人工智能算法高度依赖硬件性能和可靠性。这些模型的训练和推理所涉及的计算复杂性和规模需要强大而可靠的硬件。


硬件故障、过热和计算效率低下等问题可能会严重影响生成式 AI 模型的开发和部署。这使得关于硬件可靠性很重要,尽管有时会被忽视,在人工智能社区中。


如何增强大规模AI加速的硬件可靠性?


确保硬件可靠性对于 AI 开发至关重要。不可靠的硬件可能会带来负面影响,从丢失宝贵的训练数据和进度等小麻烦到导致数月训练成果付诸东流的灾难性故障。在本文中,我们将研究与传统内部部署硬件设置相关的挑战,并讨论为什么云 GPU 提供了实现和维持高水平硬件可靠性的可行解决方案。


人工智能中的硬件可靠性是什么?


硬件可靠性指底层计算基础设施在指定时间内持续无故障地执行其预期功能的能力。这涵盖多个方面,包括预防硬件故障、缓解错误和从中断中恢复。


在用于 AI 训练和推理的 GPU 集群中,可靠性是指互联 GPU并支持基础设施在较长时间内持续无故障地执行其预期功能,这是对人工智能训练很重要以及其他需要持续处理能力的高性能计算任务。


可靠性可以通过以下指标来量化:平均故障间隔时间 (MTBF),它估计发生故障之前的平均运行时间;平均修复时间 (MTTR),它测量发生故障后恢复系统的平均时间。较高的 MTBF 表示更高的可靠性,因为它意味着故障间隔时间更长,而较低的 MTTR 值表示系统可以快速恢复到运行状态,从而最大限度地减少停机时间。


GPU 集群中常见的可靠性问题


1、GPU HBM ECC 错误:


HBM(高带宽内存)ECC(错误纠正码)错误指的是高速存储器中发生的错误用于现代 GPU。ECC 是一种旨在检测和纠正内存错误以维护数据完整性并防止崩溃或故障的机制。


HBM ECC 错误可分为两类:


  • 可纠正错误:这些是 ECC 机制可以检测和纠正的小错误,不会影响 GPU 的运行。

  • 无法纠正的错误:这些是 ECC 机制无法纠正的更严重错误。它们可能导致数据损坏、崩溃或 GPU 中的其他故障。


不同的事情可能会导致GPU HMB ECC 错误; 这里有几个:


  • 制造缺陷: HBM 芯片或互连中的缺陷可能导致运行期间出现错误。

  • 磨损:随着时间的推移,HBM 组件会因热量、电压波动或粒子辐射等因素而性能下降,从而增加出现错误的可能性。

  • 超频:将 GPU 推至超出其工厂指定的极限可能会给 HBM 带来压力并增加出现错误的风险。

  • 软件问题:有故障的驱动程序或软件错误也可能触发 HBM ECC 错误。


错误处理机制


减少 HMB ECC 错误发生几率的最佳方法之一是使用具有错误处理机制的 GPU,例如 NVIDIA H100。您可以开始使用只需单击几下即可在捷智算上完成。


2、GPU 驱动程序卡住:


GPU 驱动程序卡住会导致控制图形处理单元 (GPU) 的软件停止响应或变得无响应。这可能表现在以下几种方面:


  • 屏幕冻结:显示屏可能完全冻结,没有任何移动或对输入做出响应。

  • 黑屏:屏幕可能变黑,但计算机仍保持通电状态。

  • 错误消息:您可能会看到诸如“显示驱动程序停止响应并已恢复”或类似通知的错误消息。

  • 性能问题:即使显示器没有完全冻结,您仍然可能会在图形密集型应用程序中遇到延迟、卡顿或其他性能问题。


集群中 GPU 驱动程序问题的一些原因包括:


  • 驱动程序不兼容:集群内的不同 GPU 可能具有不同的驱动程序版本或配置,从而导致冲突和不稳定。

  • 通信问题: GPU 之间的软件或网络通信问题可能导致驱动程序挂起或崩溃。

  • 工作负载不平衡:如果工作负载在 GPU 之间分布不均匀,某些 GPU 可能会超载,从而导致驱动程序因压力过大或资源耗尽而崩溃。

  • 硬件故障:故障的 GPU 或其他硬件组件可能会触发驱动程序错误,从而影响整个集群。


驱动程序卡住可能会导致正在运行的作业或任务失败,从而导致延迟和生产力下降。频繁的驱动程序崩溃会使整个集群不稳定,需要重新启动或手动干预才能恢复功能。即使集群保持运行,驱动程序问题也会导致性能下降和 GPU 资源利用率低下。


3、光纤收发器故障:


光模块是 GPU 集群中不可或缺的组件,通过光纤电缆实现 GPU、服务器和存储系统之间的高速通信,有助于实现 AI 工作负载的高效数据传输和协调。


光纤收发器故障图


光纤收发器可能由于以下原因发生故障:


  • 热应力:光收发器在运行过程中会产生热量,过多的热量会降低其性能并缩短其使用寿命。冷却不足或环境温度过高会加速这一过程。

  • 激光器退化:由于老化、温度波动和高功率操作等因素,光收发器内的激光器会随着时间的推移而退化。

  • 物理损坏:物理压力(例如振动、冲击或误操作)可能会损坏光收发器内的精密组件。

  • 制造缺陷:制造过程中的缺陷可能导致光收发器过早失效。


光纤收发器故障可能会中断 GPU 与集群中其他组件之间的通信,从而导致性能下降、错误甚至整个系统中断。


如果在关键数据传输过程中发生故障,则可能导致数据丢失或损坏。更换发生故障的光纤收发器需要停机和维护,这会影响生产力并可能产生巨额成本。


4、NIC 过热:


网络接口卡 (NIC) 在高负载条件下可能会过热,尤其是在通风不良的环境中。过热可能会导致 NIC 故障或降低性能。


由于 GPU 之间传输的数据量巨大,AI 工作负载的高吞吐量可能会将 NIC 推向极限,从而产生大量热量,从而加剧 NIC 过热。


当 NIC 过热时,其性能会下降,导致数据传输速率变慢、延迟增加和潜在错误。长时间暴露在高温下会损坏 NIC 组件,缩短其使用寿命并可能导致永久性故障。


处理可靠性问题时面临的挑战之一是GPU 直接连接通过 PCIe 交换机相互连接,因此在网络架构层面没有容错能力。这意味着如果一个 NIC、收发器或 GPU 发生故障,整个服务器将被视为宕机。


如何预防硬件可靠性问题


上述挑战强调了采取主动措施来避免或至少减少硬件可靠性问题的重要性。以下是一些有助于提高 GPU 可靠性的步骤:


1、使用容错技术:


容错是指设计系统即使个别组件发生故障也能继续运行,有时容量会降低。冗余是容错的一个基本方面,可以在多个级别实施。


在硬件层面,整合冗余电源、网络接口和存储设备可确保当其中一个发生故障时,另一个可以无缝接管。准备好热插拔备件以便立即更换 GPU 等关键组件,可以显著减少停机时间。


对于数据,跨多个存储位置或云服务的实时复制可防止因存储故障而导致数据丢失。此外,软件级容错技术(例如检查点)可以帮助保留长期运行的 AI 工作负载的进度,使其能够在发生中断时从保存的状态恢复。


使用像 Oobleck 这样的容错训练技术将会很有益。Oobleck 提供了一种容错方法用于深度神经网络 (DNN) 的大规模分布式训练。其工作原理如下:


Oobleck容错训练技术


管道模板:Oobleck 使用规划-执行协同设计方法。它首先生成管道模板,定义要为管道分配多少个节点、要创建的阶段以及如何将模型层映射到 GPU。这种解耦允许通过使用新的管道模板替换丢失的节点来快速恢复故障。


冗余计算:Oobleck 实例化多个 ( f + 1) 逻辑等效的管道副本,以容忍任何f 个同时发生的故障。这种冗余确保即使多个节点发生故障,训练也可以继续进行,而无需完全重启。

检查点:虽然传统的检查点方法涉及存储训练进度并在故障后从最新的检查点重新启动,但 Oobleck 通过动态重新配置训练作业而无需大量开销来缩短恢复时间。

无需重启即可恢复:Oobleck 允许在发生指定数量的同时故障时无需重启即可进行重新配置,从而保证容错能力。这样可以最大限度地减少停机时间,即使在频繁发生故障的情况下也能保持较高的训练吞吐量。


Oobleck已经在 GPT-3 等大型模型上进行评估,展示了其保持高吞吐量和有效容错的能力。该系统旨在处理现代人工智能模型日益增长的复杂性和规模,为分布式训练环境提供弹性和高效的解决方案。


2、通过精简设计和智能管理实现软件弹性


虽然强大的硬件必不可少,但软件在确保集群可靠性方面也发挥着重要作用。复杂、结构不良的代码库可能会导致错误和漏洞。因此,采用精简和模块化的设计方法非常重要。


分解复杂代码将其拆分成更小、更易于管理且具有明确接口的模块,可以提高代码的可维护性,并降低级联故障的风险。此外,彻底的错误处理自动化测试有助于在问题影响集群运行之前识别并纠正问题。


3、硬件可靠性


基础可靠的GPU集群在于选择高质量的硬件组件。具有内置错误纠正机制的 GPU(例如 ECC 内存)可以自动检测并纠正内存错误,防止崩溃和数据损坏。


选择具有有效热节流功能的 GPU 可确保动态调整性能以保持安全的工作温度,防止热损坏。投资企业级网络接口卡 (NIC) 和耐用的光学收发器可进一步增强集群内通信基础设施的弹性。


此外,适当的冷却和气流管理有助于防止过热,从而可以显著增加组件的寿命和可靠性。


通过结合容错设计原则、强大的软件实践和高质量的硬件组件,组织可以创建能够抵御故障的 GPU 集群,确保不间断运行并最大限度地提高其 AI 投资的价值。


虽然上述策略可以增强本地 GPU 集群的可靠性,但构建和维护此类基础设施所固有的复杂性和成本可能会成为沉重的负担。


云服务捷智算平台凭借其可扩展且可管理的基础设施,为寻求简化 AI 计划并专注于核心研发的组织提供了极具吸引力的替代方案。具体方法如下。


云 GPU 如何解决 AI 硬件可靠性问题


云 GPU 的优势之一是其固有的可扩展性。组织可以根据其工作负载需求轻松扩展或缩减其 GPU 资源,无需在硬件上进行大量前期投资。这种弹性使他们能够处理峰值工作负载,而不会在需求较低的时期过度配置资源,从而确保最佳的成本效益。


  • 内置冗余和高可用性:云提供商通常在设计其基础设施时会考虑冗余。例如,捷智算提供云环境中可用的多个关键组件实例,例如服务器、存储设备和网络基础设施。如果一个组件发生故障,工作负载可以无缝转移到另一个组件,从而最大限度地减少停机时间并确保高可用性。

  • 托管基础设施并减轻维护负担:云提供商负责管理底层硬件基础设施,包括维护、更新和维修。这为组织节省了宝贵的时间和资源,使他们可以专注于核心 AI 研发活动,而不是处理复杂的硬件管理。

  • 全球覆盖和可访问性:只要有互联网连接,世界上任何地方都可以访问云 GPU,从而使地理位置分散的团队能够在 AI 项目上无缝协作,并且允许组织在发生区域性中断时在不同位置快速启动新资源,从而促进灾难恢复。

  • 成本效率和按需付费模式:云 GPU 提供商如捷智算通常采用即用即付模式,即组织只需为实际使用的资源付费,这样就无需进行大量的前期投资,并且可以实现更可预测的预算。此外,捷智算还提供按需、按需和定制合同的 GPU,以满足您的工作负载,从而进一步优化成本效率。

  • 解决可靠性挑战:云 GPU 服务可以有效解决前面讨论的许多可靠性挑战。例如,云基础设施内置的冗余可降低单点故障的风险。托管基础设施可确保定期更新和维护硬件,从而降低因过时的组件或软件而出现问题的可能性。此外,云提供商通常制定了强大的灾难恢复计划,以确保在发生重大中断时业务连续性。


捷智算平台提供最新的 NVIDIA GPU,以最低的速度加快您的模型训练和推理。

粤公网安备 44030502006483号、 粤ICP备15047669号
  • 捷易科技联系人