设计工具
AI

您是否正在为“检查点”烦恼?

Wes Vaske、Sagy Volkov | 2025 年 2 月

前言:

数十年来,软件一直使用检查点来保存系统状态。检查点有多种实现方式和用途,有的只是简单地将一块数据从内存转储到存储设备;有的用来表明代码中的一部分已执行完毕;还有的用来确认一段代码或软件已正确执行并通过了测试。

进入 AI 时代后,检查点发生了哪些变化? 来自客户和合作伙伴的反馈表明,AI 系统中的检查点正在成为一项挑战。为此我们撰写了 AI 检查点系列博客,包括三个部分。本文是第一篇,我们将首先探讨 AI 检查点的基本原理及重要性。在第二篇博客中,我们将讨论检查点的性能要求。最后,在第三篇博客中,我们将展示美光与 Lightbits 合作打造的存储系统如何解决各种检查点问题。

什么是 AI 系统中的检查点?

AI 检查点用来保存 AI 训练任务在某个时间点的状态。如果在随后的运行中出现问题,我们可以从上次安全保存数据的时间点继续训练,而无需从头开始执行训练任务。该功能类似于我们在电子游戏中选择了“保存游戏”选项一样。

AI 训练成为企业的一项重要工作负载已逾五年,为何我们现在才开始讨论检查点问题? 答案是:AI 检查点与两个因素有关。一个是企业正在训练的模型类型;另一个则是训练方式的基本原理。

Transformer 模型的兴起

Transformer 模型已在数据中心内部占据了主导地位。本博客不会对 Transformer 模型进行详细介绍,我们仅关注该模型带来的主要影响,那就是如何实现并行性。

Transformer 模型(如 ChatGPT、Llama、Gemini 等)可以摄取序列数据(如句子和段落),然后将其转换为可在大量硬件上并行处理的向量。

对于之前的模型,在集群中添加更多 GPU 会导致训练性能迅速降低,而能够支持并行处理的 Transformer 模型解决了这一问题,并引发了大型 AI 训练集群的爆炸式增长。(此处的大型集群是指拥有 1,000 台服务器和 10,000 个 GPU 的集群。)

AI 训练的基本原理

我们可以将训练分解为几个步骤:

  1. 训练新数据(从数据中学习,获得新的模型权重)
  2. 在所有 GPU 之间共享新的模型权重

在如今的 AI 训练中,这两个步骤是同步执行的。这意味着所有 GPU 都会停止训练,开始共享新的模型权重,然后再继续在新的数据上执行训练。所有标准训练过程都在不断重复上述两个步骤。如果某个器件在训练期间发生故障,整个集群必须全部停止,并从上一个检查点重新加载训练数据。

故障率等式

器件故障率

接下来我们需要面对一个问题:当我们向系统内添加可能出现故障的器件后,如何重新计算系统的故障率?

这是一个统计问题,我们需要计算使用 GPU 在对一批数据进行训练时不发生故障的概率。

当我们使用上面的等式来估算集群的故障率时,可以看出,集群的故障率时会随着集群的大小以指数形式变化。我们可以将其可视化为平均无故障时间 (MTTF),如下图所示:

平均无故障时间图表

从图中我们可以看到,随着集群大小的增加,MTTF 急剧缩短。在一个由 24,000 个加速器组成的集群中,预计每两小时就会发生一次故障。从图的最右侧我们可以看到,对于如今的很多超大型集群,MTTF 不到 30 分钟。

为何存储系统对 AI 检查点很重要

我们已对 AI 训练及其流程有了一些了解,接下来我们来讨论一些现实中的场景。

我们以一个大型开放式大语言模型为例,比如 Llama 3,它有 4,050 亿个参数,对应的检查点数据量约为 5TB。

假设我们想在平均无故障时间之内检查 20 次,以实现高达 95% 的有效集群吞吐量。

对于一个包含 24,000 个加速器、MTTF 为 124 分钟的集群,这意味着我们会每隔 6 分钟检查一次。这种情况下,每天将有 233 个检查点(每个检查点 5TB 数据量),集群每天会向存储系统写入高达 1.1 PB 的检查点数据。如果以这样的频率持续运行 24 小时,那么整个集群在此期间必须持续保持 13 GB/s 的写入吞吐量。

从这个例子中,我们可以看到检查点功能高度依赖于存储系统的性能。有鉴于此,美光和 Lightbits 积极支持在 MLPerf Storage 基准测试套件(MLCommons 的一部分)中加入针对检查点的基准测试,从而帮助客户了解构建 AI 解决方案时对集群和存储系统的要求。

结论及下一篇博客介绍

在本博客中,我们讨论了为何检查点是 AI 训练中的重要因素,以及为何高性能存储解决方案对于检查点功能至关重要。

请继续关注本系列博客的下一篇,我们将在其中讨论大规模系统(企业级系统、云服务提供商和超大规模系统)中检查点的存储要求。

如需详细了解 Lightbits 与美光合作打造的先进存储和内存解决方案,请访问:www.lightbitslabs.com/micron/

SMTS 系统性能工程师

Wes Vaske

Wes Vaske 现任美光科技技术团队高级成员 (SMTS) 和系统性能工程师。Wes 在存储解决方案和 AI 基础设施领域拥有深厚的技术积累。他负责提升美光在数据智能和机器学习方面的能力,并发挥着关键作用。他擅长针对 AI 训练系统开展基准测试,并致力于优化存储产品性能,以满足下一代 GPU 的需求。加入美光前,Wes 在戴尔公司担任系统工程师。他拥有爱荷华州立大学学士学位。

杰出性能架构师

Lightbits Labs guest author Sagy Volkov

Sagy Volkov 曾在 Openshift Container Storage(OCS,现已更名为“ODF”)担任性能架构师。加入 OCS 前,他在 ScaleIO(现为 Dell PowerFlex)负责领导性能工程团队和企业咨询团队,并设计了 ScaleIO 存储装置的架构。Sagy 现任 Lightbits Labs 杰出性能架构师,专注于提升 NVMe/TCP 以及相关应用程序的性能。Sagy 曾在 KubeCon、DoK、CNS、DevConf、EMC World 和 Red Hat 峰会等知名会议上担任演讲嘉宾。