HyperPod マネージド階層チェックポイント
このセクションでは、マネージド階層チェックポイントの仕組みと、それが大規模モデルのトレーニングにもたらす利点について説明します。
Amazon SageMaker HyperPod マネージド階層チェックポイントは、大規模な生成 AI モデルをより効率的にトレーニングするのに役立ちます。クラスターの CPU メモリを含む複数のストレージ階層を使用します。このアプローチにより、リカバリ時間が短縮され、トレーニングの進捗状況の損失を最小限に抑えられます。トレーニングインフラストラクチャ内で十分に活用されていないメモリリソースも活用します。
マネージド階層チェックポイントを使用すると、チェックポイントをより高い頻度でメモリに保存できます。チェックポイントは定期的に耐久性に優れたストレージに保持されます。これにより、トレーニングプロセス中にパフォーマンスと信頼性の両方が維持されます。
このガイドでは、Amazon EKS HyperPod クラスターの PyTorch フレームワークでマネージド階層チェックポイントをセットアップ、設定、使用する方法について説明します。
マネージド階層チェックポイントの仕組み
マネージド階層チェックポイントでは、多層ストレージアプローチを使用します。CPU メモリは、モデルチェックポイントを保存するプライマリ階層として機能します。セカンダリ階層には、Amazon S3 などの永続的ストレージオプションが含まれます。
チェックポイントを保存すると、システムはクラスターノード全体わたって割り当てられたメモリスペースにチェックポイントを保存します。隣接するコンピューティングノード間でデータを自動的にレプリケートするため、信頼性が向上します。このレプリケーション戦略により、単一ノードまたは複数ノードの障害から保護しながら、リカバリオペレーションのための高速アクセスが提供されます。
システムは設定に従って、定期的にチェックポイントを永続ストレージに保存します。これにより、トレーニングの進捗状況の長期的な耐久性が確保されます。
主なコンポーネントは以下のとおりです。
-
メモリ管理システム: チェックポイントストレージ用のサービスとして分散メモリを提供するメモリ管理デーモン
-
HyperPod Python ライブラリ: 分散ストレージ API とのインターフェイスを提供し、階層間でのチェックポイントの保存、読み込み、管理のためのユーティリティを提供します。
-
チェックポイントレプリケーション: 耐障害性のためにチェックポイントを複数のノードに自動的にレプリケートします。
このシステムは、シンプルな API コールを介して PyTorch トレーニングループとシームレスに統合されます。既存のコードへの変更は最小限で済みます。
利点
マネージド階層チェックポイントは、大規模なモデルトレーニングにいくつかの利点をもたらします。
-
使いやすさの向上: チェックポイントの保存、レプリケーション、永続性、復旧を管理します。
-
チェックポイントオペレーションの高速化: メモリベースのストレージは、ディスクベースのチェックポイントと比較して保存とロードの時間を短縮し、リカバリを高速化します。
-
耐障害性: ノード間の自動チェックポイントレプリケーションは、ハードウェアノードの障害から保護します。
-
最小限のコード変更: シンプルな API 統合により、既存のトレーニングスクリプトで必要な変更はわずかです。
-
トレーニングスループットの向上: チェックポイントのオーバーヘッドが減ると、実際のトレーニングに費やす時間が増大します。