HyperPod 托管层检查点 - Amazon SageMaker AI

HyperPod 托管层检查点

此部分介绍托管层检查点的工作原理,以及它为大规模模型训练带来的优势。

Amazon SageMaker HyperPod 托管层检查点有助于更高效地训练大规模生成式人工智能模型。它使用多个存储层,包括集群的 CPU 内存。此方法可以缩短恢复时间,并最大限度地减少训练进度损失;还能有效利用训练基础设施中未充分利用的内存资源。

托管层检查点支持以更高频率将检查点保存到内存中。此功能会定期将检查点保存到持久性存储中。这有助于在训练过程中同时保障性能与可靠性。

本指南介绍如何在 Amazon EKS HyperPod 集群上使用 PyTorch 框架设置、配置和使用托管层检查点。

托管层检查点的工作原理

托管层检查点使用多层存储方法。CPU 内存用作存储模型检查点的主层。辅助层包括 Amazon S3 等持久性存储选项。

保存检查点时,系统会将其存储在跨集群节点分配的内存空间中。它会在相邻的计算节点间自动复制数据,以提高可靠性。此复制策略可防范单个或多个节点故障,并提供快速访问权限以进行恢复操作。

系统还会根据您的配置定期将检查点保存到持久性存储中。这可确保训练进度的长期持久性。

关键组件包括:

  • 内存管理系统:一种内存管理进程守护程序,可提供解耦式内存即服务以用于检查点存储

  • HyperPod Python 库:对接解耦式存储 API,并提供用于跨层保存、加载和管理检查点的实用程序

  • 检查点复制:自动在多个节点间复制检查点以实现容错能力

系统通过简单的 API 调用与 PyTorch 训练循环无缝集成。这只需对现有代码进行极少的更改。

优势

托管层检查点为大规模模型训练提供了多项优势:

  • 提高了可用性:管理检查点的保存、复制、持久化和恢复操作

  • 更快的检查点操作:与基于磁盘的检查点相比,基于内存的存储缩短了保存和加载时间,从而加快了恢复速度

  • 容错能力:跨节点自动复制检查点,可防范硬件节点故障

  • 极少的代码更改:简单的 API 集成只需对现有训练脚本进行极少的修改

  • 提高训练吞吐量:减少检查点开销,这意味着更多时间可用于实际训练