View a markdown version of this page

チュートリアル - Amazon SageMaker HyperPod チェックポイントレス事前トレーニングまたはカスタムモデルの微調整 - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

チュートリアル - Amazon SageMaker HyperPod チェックポイントレス事前トレーニングまたはカスタムモデルの微調整

HyperPod でカスタムモデルを使用してチェックポイントレストレーニングを実行するには、次の一連のステップが必要です。

前提条件

環境のセットアップを開始する前に、以下を確認します。

Kubernetes 環境のセットアップ

Kubernetes 環境を設定するには、以下を実行します。

  1. 仮想環境をセットアップします。Python が 3.10 以上 3.14 未満を使用していることを確認します。

    python3 -m venv ${PWD}/venv source venv/bin/activate
  2. kubectl と eksctl をセットアップする

  3. Kubernetes クラスターに接続する

    aws eks update-kubeconfig --region "${CLUSTER_REGION}" --name "${CLUSTER_NAME}"
  4. 依存関係のインストール

    # install SageMaker HyperPod checkpointless training. git clone git@github.com:aws/sagemaker-hyperpod-checkpointless-training.git cd sagemaker-hyperpod-checkpointless-training

チェックポイントレストレーニングの変更手順

カスタムモデルのチェックポイントレストレーニングを段階的に採用するには、統合ガイド (ここでは Llama 3 70b 事前トレーニングを例として使用) に従ってください。これには、以下が含まれます。

  • 高速コミュニケーターの作成

  • メモリマップデータローダー (MMAP)

  • 処理中およびチェックポイントレスリカバリ

コンポーネント 1: 高速コミュニケーターの作成

これは、ワーカー間の接続を確立する時間を最適化するためです。コードの変更は不要で、env 変数の設定のみが必要

# Enable Rootless features export HPCT_USE_ROOTLESS=1 && \ sysctl -w net.ipv4.ip_local_port_range="20000 65535" && \ hyperpodrun --nproc_per_node=8 \ ... --inprocess-restart \ ...

完全な変更は、llama3 70 トレーニング前起動ジョブ設定で確認できます。

コンポーネント 2: メモリマップデータローダー (MMAP)

プリフェッチされたデータサンプルを保存し、データの前処理を待つことなくすぐにトレーニングを開始するための MMAP キャッシュ。既存のデータローダーをラップすることで、採用するコードの変更を最小限に抑える必要があります。

data_module = MMAPDataModule( data_module=base_data_module, mmap_config=CacheResumeMMAPConfig(cache_dir=…) )

コンポーネント 3 および 4: 処理中およびチェックポイントレスリカバリ

これにより、トレーニングプロセスを再起動したり、チェックポイントからロードしたりすることなく、障害復旧が可能になります。追加のコード変更が必要 (戦略とトレーニング設定の更新、既存のメインのラップ)

@HPWrapper( health_check=CudaHealthCheck(), hp_api_factory=HPAgentK8sAPIFactory(), abort_timeout=60.0, ...) def run_main( cfg, caller: Optional[HPCallWrapper] = None): ... CheckpointlessMegatronStrategy( **self.cfg.strategy, ddp=self.ddp, )

完全な変更は llama3 70 トレーニング前エントリスクリプトにあり、対応するトレーニング設定の変更は llama3 70b トレーニング設定にあります。

トレーニングの起動

kubectl を使用してチェックポイントレストレーニングを起動できるようになりました。

kubectl apply -f your_job_config.yaml