Amazon EKS オーケストレーションを使用した SageMaker HyperPod クラスターの作成 - Amazon SageMaker AI

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

Amazon EKS オーケストレーションを使用した SageMaker HyperPod クラスターの作成

次のチュートリアルでは、新しい SageMaker HyperPod クラスターを作成し、SageMaker AI コンソール UI を使用して Amazon EKS オーケストレーションでセットアップする方法を示します。

クラスターを作成する

SageMaker HyperPod クラスターページに移動し、Amazon EKS オーケストレーションを選択するには、次の手順に従います。

  1. https://console.aws.amazon.com/sagemaker/ で Amazon SageMaker AI コンソールを開きます。

  2. 左側のナビゲーションペインで HyperPod クラスターを選択し、クラスター管理を選択します。

  3. SageMaker HyperPod クラスターページで、HyperPod クラスターの作成を選択します。

  4. HyperPod クラスターの作成ドロップダウンで、Amazon EKS によってオーケストレーションされた を選択します。

  5. EKS クラスターの作成ページで、2 つのオプションが表示されます。ニーズに最適なオプションを選択します。

    1. クイックセットアップ - デフォルト設定をすぐに開始するには、クイックセットアップを選択します。このオプションを使用すると、SageMaker AI はクラスターの作成中に VPC、サブネット、セキュリティグループ、Amazon S3 バケット、IAM ロール、FSx for Lustre などの新しいリソースを作成します。

    2. カスタムセットアップ - 既存の AWS リソースと統合したり、特定のネットワーク、セキュリティ、ストレージ要件を設定したりするには、カスタムセットアップを選択します。このオプションでは、既存のリソースを使用するか、新しいリソースを作成するかを選択できます。また、ニーズに最適な設定をカスタマイズできます。

Quick Setup

クイックセットアップセクションで、以下の手順に従って Amazon EKS オーケストレーションで HyperPod クラスターを作成します。

新しいクラスターの名前を指定します。クラスターの作成後に名前を変更することはできません。

インスタンスグループを追加するには、グループの追加を選択します。インスタンスグループごとに異なる方法で設定でき、さまざまなインスタンスタイプを持つ複数のインスタンスグループで構成される異種クラスターを作成できます。クラスターをデプロイするには、少なくとも 1 つのインスタンスグループを追加する必要があります。インスタンスグループを追加するには、次の手順に従います。

  1. インスタンスグループタイプで、標準または制限付きインスタンスグループ (RIG) を選択します。通常、追加のセキュリティ制限なしで汎用コンピューティング環境を提供する Standard を選択します。制限付きインスタンスグループ (RIG) は、Amazon Nova などの基本モデルのカスタマイズに特化した環境です。Amazon Nova モデルのカスタマイズ用に RIG を設定する方法の詳細については、「」を参照してくださいAmazon SageMaker HyperPod での Amazon Nova のカスタマイズ HyperPod

  2. Name に、インスタンスグループの名前を指定します。

  3. インスタンス容量 では、オンデマンド容量またはトレーニングプランのいずれかを選択して、コンピューティングリソースを予約します。

  4. インスタンスタイプで、インスタンスグループのインスタンスを選択します。アカウントで十分なクォータを持つインスタンスタイプを選択するか、「SageMaker HyperPod クォータ」に従って追加のクォータをリクエストしてください。

  5. インスタンス数には、クラスター使用量のインスタンスクォータを超えない整数を指定します。このチュートリアルでは、3 つのグループすべてに「1」と入力します。

  6. ターゲットアベイラビリティーゾーンで、インスタンスをプロビジョニングするアベイラビリティーゾーンを選択します。アベイラビリティーゾーンは、高速コンピューティングキャパシティーの場所に対応する必要があります。

  7. インスタンスあたりの追加のストレージボリューム (GB) - オプションで、1~16384 の整数を指定して、追加の Elastic Block Store (EBS) ボリュームのサイズをギガバイト (GB) 単位で設定します。EBS ボリュームは、インスタンスグループの各インスタンスにアタッチされます。追加の EBS ボリュームのデフォルトのマウントパスは /opt/sagemaker です。クラスターが正常に作成されたら、クラスターインスタンス (ノード) に SSH 接続し、df -h コマンドを実行して EBS ボリュームが正しくマウントされているかどうかを確認できます。追加の EBS ボリュームをアタッチすると、「Amazon Elastic Block Store ユーザーガイド」の「Amazon EBS ボリューム」セクションで説明されているように、インスタンスから独立した永続性を持つ安定したストレージが実現します。

  8. インスタンスのディープヘルスチェックで、オプションを選択します。ディープヘルスチェックは、作成中およびソフトウェア更新後にインスタンスの状態をモニタリングし、有効にすると再起動または置換によって障害のあるインスタンスを自動的に復旧します。

  9. インスタンスグループの追加 を選択します。

このセクションでは、クラスター作成プロセス中に作成されるすべての新しい AWS リソースを含む、クラスター作成のすべてのデフォルト設定を一覧表示します。デフォルト設定を確認します。

カスタムセットアップ

カスタムセットアップセクションで、以下の手順に従って Amazon EKS オーケストレーションで最初の HyperPod クラスターを作成します。

新しいクラスターの名前を指定します。クラスターの作成後に名前を変更することはできません。

インスタンス復旧の場合は、自動 - 推奨またはなしを選択します。

クラスター内およびクラスターin-and-outのネットワーク設定を構成します。Amazon EKS による SageMaker HyperPod クラスターのオーケストレーションの場合、VPC は選択した EKS クラスターで設定された内容に自動的に設定されます。

  1. VPC の場合は、SageMaker AI に VPC へのアクセスを許可する VPC が既にある場合は、独自の VPC を選択します。新しい VPC を作成するには、Amazon Virtual Private Cloud ユーザーガイド」の「VPC の作成」の手順に従います。これを None のままにして、デフォルトの SageMaker AI VPC を使用できます。

  2. VPC IPv4 CIDR ブロックの場合は、VPC の開始 IP を入力します。

  3. アベイラビリティーゾーンでは、HyperPod がクラスターのサブネットを作成するアベイラビリティーゾーン (AZ) を選択します。高速コンピューティング容量の場所に一致する AZs を選択します。

  4. セキュリティグループ (複数可) では、Amazon EKS クラスターにアタッチされているか、Amazon EKS クラスターに関連付けられたセキュリティグループによってインバウンドトラフィックが許可されているセキュリティグループを選択します。新しいセキュリティグループを作成するには、Amazon VPC コンソールに移動します。

オーケストレーターとして使用する Amazon EKS クラスターを作成または選択するには、次の手順に従います。

  1. EKS クラスターの場合は、新しい Amazon EKS クラスターを作成するか、既存のクラスターを使用するかを選択します。

    新しい EKS クラスターを作成する必要がある場合は、Amazon EKS コンソールを開くことなく、EKS クラスターセクションからクラスターを作成できます。

    注記

    HyperPod 用に選択した VPC サブネットは、プライベートでなければなりません。

    新しい EKS クラスター作成リクエストを送信したら、EKS クラスターが になるまで待ちますActive

  2. Kubernetes バージョンの場合は、ドロップダウンメニューからバージョンを選択します。Kubernetes バージョンの詳細については、「Amazon EKS ユーザーガイド」の「EKS での Kubernetes バージョンライフサイクルを理解する」を参照してください。

  3. 演算子 で、デフォルトの Helm チャートとアドオンを使用する または演算子をインストールしない を選択します。オプションはデフォルトでデフォルトの Helm チャートとアドオンを使用します。これは EKS クラスターに演算子をインストールするために使用されます。デフォルトの Helm チャートとアドオンの詳細については、GitHub リポジトリhelm_chartの「」を参照してください。詳細については、「Helm を使用した Amazon EKS クラスターへのパッケージのインストール」を参照してください。

  4. 有効になっている演算子については、有効になっている演算子のリストを表示します。演算子を編集するには、上部のチェックボックスをオフにし、EKS クラスターに対して有効にする演算子を選択します。

    注記

    EKS で HyperPod を使用するには、EKS クラスターで演算子を有効にする Helm チャートとアドオンをインストールする必要があります。これらのコンポーネントは、EKS を HyperPod のコントロールプレーンとして設定し、ワークロード管理とオーケストレーションに必要なセットアップを提供します。

インスタンスグループを追加するには、グループの追加を選択します。インスタンスグループごとに異なる方法で設定でき、さまざまなインスタンスタイプを持つ複数のインスタンスグループで構成される異種クラスターを作成できます。クラスターをデプロイするには、少なくとも 1 つのインスタンスグループを追加する必要があります。インスタンスグループを追加するには、次の手順に従います。

  1. インスタンスグループタイプで、標準または制限付きインスタンスグループ (RIG) を選択します。通常、追加のセキュリティ制限なしで汎用コンピューティング環境を提供する Standard を選択します。制限付きインスタンスグループ (RIG) は、Amazon Nova などの基盤モデルのカスタマイズに特化した環境です。Amazon Nova モデルのカスタマイズ用に RIG を設定する方法の詳細については、「」を参照してくださいAmazon SageMaker HyperPod での Amazon Nova のカスタマイズ HyperPod

  2. Name に、インスタンスグループの名前を指定します。

  3. インスタンス容量については、オンデマンド容量またはトレーニングプランを選択してコンピューティングリソースを予約します。

  4. インスタンスタイプで、インスタンスグループのインスタンスを選択します。アカウントで十分なクォータを持つインスタンスタイプを選択するか、「SageMaker HyperPod クォータ」に従って追加のクォータをリクエストしてください。

  5. インスタンス数には、クラスター使用量のインスタンスクォータを超えない整数を指定します。このチュートリアルでは、3 つのグループすべてに「1」と入力します。

  6. ターゲットアベイラビリティーゾーンで、インスタンスをプロビジョニングするアベイラビリティーゾーンを選択します。アベイラビリティーゾーンは、高速コンピューティングキャパシティーの場所に対応する必要があります。

  7. インスタンスあたりの追加のストレージボリューム (GB) - オプションで、1~16384 の整数を指定して、追加の Elastic Block Store (EBS) ボリュームのサイズをギガバイト (GB) 単位で設定します。EBS ボリュームは、インスタンスグループの各インスタンスにアタッチされます。追加の EBS ボリュームのデフォルトのマウントパスは /opt/sagemaker です。クラスターが正常に作成されたら、クラスターインスタンス (ノード) に SSH 接続し、df -h コマンドを実行して EBS ボリュームが正しくマウントされているかどうかを確認できます。追加の EBS ボリュームをアタッチすると、「Amazon Elastic Block Store ユーザーガイド」の「Amazon EBS ボリューム」セクションで説明されているように、インスタンスから独立した永続性を持つ安定したストレージが実現します。

  8. インスタンスのディープヘルスチェックでは、オプションを選択します。ディープヘルスチェックは、作成中およびソフトウェア更新後にインスタンスの状態をモニタリングし、有効にすると再起動または置換によって障害のあるインスタンスを自動的に復旧します。詳細については、「ディープヘルスチェック」を参照してください。

  9. インスタンスグループの追加 を選択します。

デフォルトのライフサイクルスクリプトを使用するか、Amazon S3 バケットに保存されるカスタムライフサイクルスクリプトを使用するかを選択できます。デフォルトのライフサイクルスクリプトは、Awesome Distributed Training GitHub リポジトリで表示できます。ライフサイクルスクリプトの詳細については、「」を参照してくださいライフサイクルスクリプトを使用した SageMaker HyperPod クラスターのカスタマイズ

  1. ライフサイクルスクリプトの場合は、デフォルトまたはカスタムのライフサイクルスクリプトの使用を選択します。

  2. ライフサイクルスクリプトの S3 バケットでは、新しいバケットを作成するか、既存のバケットを使用してライフサイクルスクリプトを保存するかを選択します。

HyperPod がユーザーに代わって必要な AWS リソースを実行およびアクセスできるようにする IAM ロールを選択または作成します。詳細については、「SageMaker HyperPod の IAM ロール」を参照してください。

HyperPod クラスターでプロビジョニングする FSx for Lustre ファイルシステムを設定します。

  1. ファイルシステムの場合は、既存の FSx for Lustre ファイルシステムを選択するか、新しい FSx for Lustre ファイルシステムを作成するか、FSx for Lustre ファイルシステムをプロビジョニングしないでください。

  2. ストレージ単位あたりのスループットについては、プロビジョニングされたストレージの TiB ごとに利用できるスループットを選択します。

  3. ストレージ容量には、容量値を TB 単位で入力します。

  4. データ圧縮タイプで、LZ4 を選択してデータ圧縮を有効にします。

  5. Lustre バージョンの場合は、新しいファイルシステムに推奨される値を表示します。

タグ - オプション、新しいクラスターにキーと値のペアを追加し、クラスターを AWS リソースとして管理します。詳細については、「AWS リソースのタグ付け」を参照してください。

リソースのデプロイ

高速セットアップまたはカスタムセットアップを使用してクラスター設定を完了したら、次のオプションを選択してリソースのプロビジョニングとクラスターの作成を開始します。

  • Submit-SageMaker AI は、デフォルトの設定リソースのプロビジョニングとクラスターの作成を開始します。

  • CloudFormation テンプレートパラメータのダウンロード - 設定パラメータ JSON ファイルをダウンロードし、 AWS CLI コマンドを実行して CloudFormation スタックをデプロイし、設定リソースをプロビジョニングしてクラスターを作成します。必要に応じて、ダウンロードしたパラメータ JSON ファイルを編集できます。このオプションを選択した場合は、「」の詳細な手順を参照してくださいAWS CloudFormation テンプレートを使用した SageMaker HyperPod クラスターの作成