GPU 故障检测及自愈:大幅提升 AI 场景的硬件故障运维效率

AIGC大模型GPU

picture.image

火山引擎云原生团队基于大量 AIGC 客户服务经验,结合针对大模型训练和在线推理业务的产品解决方案,推出 GPU 故障检测及自愈能力,帮助客户建设稳定、可靠的智算底座。

来源 | 火山引擎云原生团队

近日,IDC 发布 2024 年 AIGC 应用层十大趋势,指出以 AIGC 所代表的通用人工智能技术将引发全球范围内的持续激荡。应用层创新会成为新一年 AIGC 产业发展的确定方向,到 2025 年,35% 的企业会掌握使用 GenAI 开发数字产品和服务的方法,从而实现比竞争对手高出一倍的收入增长。

AI 的落地,一方面依赖于模型和算法,另一方面则依赖于芯片的算力。每一个拥有千亿甚至万亿级参数的超大模型底层都有庞大的算力支撑,运营一个典型的大模型服务一般也都需要数千台多 GPU 服务器。伴随越来越多企业入局,整个行业的算力产业转型升级也将加剧,一些算力隐患也正在逐渐浮出水面。

相较于传统 CPU 硬件,GPU 的一个缺陷是故障率较高,这一点在大规模应用场景下尤为明显:由于数量过于庞大,GPU 出现故障的风险也急剧提升;当 GPU 被用于构建超级算力集群协同作业,单点故障会迅速扩散,造成大规模的连锁反应,继而影响业务稳定。

针对上述问题,火山引擎云原生团队基于大量 AIGC 客户服务经验,结合针对大模型训练和在线推理业务的产品解决方案,推出 GPU 故障检测及自愈能力,帮助客户建设稳定、可靠的智算底座。

GPU 故障检测及自愈

能力概述

火山引擎云原生 AI 套件是基于容器服务,集成资源管理、硬件监控和性能加速等能力,针对异构计算场景推出的解决方案。它结合字节跳动内部大规模 AI 业务的云原生化应用实践,围绕 GPU 业务的特点,能够帮助用户实现底层复杂异构资源的统一接入和管理,包括 GPU、RDMA、高性能缓存、分布式存储等。

本次新推出的 GPU 故障检测及自愈能力,是云原生 AI 套件在 AI-Infra 运维能力上的进一步增强。它不仅能够帮助企业用户及时发现并告警 GPU 故障,还能够根据具体业务运行情况,执行用户授权的自愈恢复操作,从而建立完善的 GPU 故障应对机制和备份方案,保障计算资源的稳定运行。

在检测上,GPU 故障检测及自愈能力可以实现:

  • 快速发现:短至 5 分钟内发现并报警硬件故障事件
  • 多重视角:从集群、节点等视角全面展示指标/故障
  • 根因分析:基于事件、指标进行全链路的故障根因分析

在自愈上,它也能做到:

  • 快速止血:通过驱逐、污点等 Kubernetes 原生策略快速实现业务止血
  • 定制策略:支持 API 或 Webhook 调用实现用户定制的自愈策略
  • 故障恢复:在业务安全的前提下通过节点重启修复故障

如何实现检测和自愈

在大模型训练和 AIGC 业务场景下,GPU 故障的检测和自愈流程可以大致分为四个步骤:故障场景检测、故障事件生成、自愈策略执行和执行结果复验。

picture.image

为了实现这一流程,研发团队通常会遇到以下问题:1)应该检测哪些 GPU 故障场景?每个场景应该如何检测?2)当检测到故障时,如何通知用户?3)每一类场景的自愈策略是什么?由于 GPU 自愈策略与 Containerd 和 Kubelet 不同,执行步骤多、执行周期长,不同的企业运维管理流程对自愈策略也会有不同的要求。

火山引擎 GPU 故障检测及自愈能力结合字节跳动内部 GPU 运维管理实践和 AIGC 企业服务经验,在设计初期就整理了 GPU 常见的故障场景、检测方法和运维操作:

picture.image

当 GPU 发生故障时, GPU 故障检测及自愈能力能迅速做出以下反应:

  • 止血:禁止新的任务调度到有问题的节点上
  • 排干:待当前任务执行完成或驱逐任务 Pod 后,重启节点或下线维修
  • 如果执行重启节点,重启后需要重新对节点进行检测,如异常已排除,则让节点重新变为可调度;对于多次重启仍无法恢复的节点,将自动触发火山引擎运维系统的告警,并由火山引擎的运维团队进行物理服务器的替换和下线维修

相应的故障场景和自愈操作如下表所示:

picture.image

故障通知

除了检测,告警和通知也是 AI-Infra 可观测性的重要组成部分。

GPU 故障检测及自愈拥有完整的通知机制,它在检测出故障和进行自愈操作时的每一个步骤均设计了节点事件。当检测出故障时,云原生 AI 套件会在执行自愈操作的同时,将故障发生、自愈动作执行结果等一系列事件通过邮件、短信、飞书等渠道告知用户,方便用户快速识别告警的信息和重要程度,并采取除自愈之外的相应处理策略。

除了使用默认设置,用户也可根据需要,通过安装事件收集组件 event-collector 来持久化节点事件,自定义配置告警规则,及时掌握节点信息。

故障检测的事件如下:

picture.image

自愈操作的事件记录如下:

picture.image

AIGC 企业落地案例

某客户是一家领先的智能驾驶技术研发企业,在火山引擎中运维着数百节点的高性能 GPU 集群,用于进行数据标注。

在项目初期,火山引擎云原生 AI 套件基于容器服务 VKE 帮助客户实现了根据任务情况弹性伸缩资源,有效控制了成本,但随着 GPU 数量的提升,客户也遇到了新问题——算力集群在面对多个业务线时会出现利用率下降、GPU 算力无法发挥 100% 性能、GPU 故障影响范围扩大等问题,需要安排人力长期关注运维。

GPU 故障检测及自愈能力上线后,上述情况得到了明显改善。截至目前,该客户的 GPU 检查次数已超过 27 万次,平均每周都能使用 GPU 故障自愈自动化处理 20+ GPU 故障,并且实现了 5 分钟内发现故障,10 分钟完成故障自愈(命中故障自愈处理规则),硬件故障运维效率提升 6 倍以上。

相比较原始使用方式,GPU 故障检测及自愈能力帮助客户把故障直接影响任务数降低到个位数,把故障处理用时从小时级降低到分钟级,并避免了绝大部分的故障扩散,大大提高了资源使用效率和离线业务的成功率。

欢迎体验

目前,GPU 故障检测及自愈能力已经被集成到火山引擎 Serverless 容器 VCI 中,结合 Serverless GPU 只需为实际 GPU 用量付费的特性,更好地帮助企业解决 GPU 使用过程中经常出现的资源浪费、高成本、低弹性等问题。

除了 GPU 故障检测及自愈外,火山引擎云原生 AI 套件还提供了非常多针对 AI 场景的特色能力,包括对 AI 基础设施运维能力的增强、降低 AI 资源成本、提升 AI 应用效能等,详情参考:https://www.volcengine.com/docs/6460/1162075

在运维场景,容器服务 VKE 也集成了 AIOps 智能运维套件。其中集群巡检可以帮助用户发现容器服务集群中可能存在的潜在风险,并提供包括配置风险、资源异常、配额不足、资源水位等的解决建议;故障诊断则提供了面向集群资源的快速故障诊断能力,可以帮助用户定位集群资源的常见问题,并给出解决建议。

欢迎感兴趣的用户扫码咨询、体验、使用!

picture.image

相关链接

[1] 火山引擎: www.volcengine.com

[2] 火山引擎 VKE: www.volcengine.com/product/vke

火山引擎云原生团队

火山引擎云原生团队主要负责火山引擎公有云及私有化场景中 PaaS 类产品体系的构建,结合字节跳动多年的云原生技术栈经验和最佳实践沉淀,帮助企业加速数字化转型和创新。产品包括容器服务、镜像仓库、分布式云原生平台、函数服务、服务网格、持续交付、可观测服务等。

picture.image

picture.image

picture.image

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论