SageMaker AI コンソールを使用した SageMaker HyperPod の開始方法 - Amazon SageMaker AI

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

SageMaker AI コンソールを使用した SageMaker HyperPod の開始方法

次のチュートリアルでは、新しい SageMaker HyperPod クラスターを作成し、SageMaker AI コンソール UI を使用して Slurm でセットアップする方法を示します。このチュートリアルに従うことで、3 つの Slurm ノード (my-controller-groupmy-login-groupworker-group-1) を持つ HyperPod クラスターを作成できます。

クラスターを作成する

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

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

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

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

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

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

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

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

Quick Setup

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

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

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

重要

一度に 1 つのインスタンスグループを追加できます。複数のインスタンスグループを作成するには、インスタンスグループごとにプロセスを繰り返します。

インスタンスグループを追加するには、次の手順に従います。

  1. インスタンスグループタイプで、インスタンスグループのタイプを選択します。このチュートリアルでは、 のコントローラー (ヘッド)my-controller-group、 のログインmy-login-group、 のコンピューティング (ワーカー) を選択しますworker-group-1

  2. Name に、インスタンスグループの名前を指定します。このチュートリアルでは、my-controller-groupmy-login-groupworker-group-1 という名前の 3 つのインスタンスグループを作成します。

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

  4. インスタンスタイプで、インスタンスグループのインスタンスを選択します。このチュートリアルでは、my-controller-groupml.c5.xlargemy-login-groupml.m5.4xlargeworker-group-1ml.trn1.32xlarge を選択します。

    アカウントで十分なクォータを持つインスタンスタイプを選択するか、「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. インスタンスグループの追加 を選択します。

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

カスタムセットアップ

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

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

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

クラスター作成のネットワーク設定を構成します。これらの設定は、クラスターの作成後に変更することはできません。

  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. セキュリティグループの場合、セキュリティグループを作成するか、VPC 内のリソース間通信を許可するルールで設定された最大 5 つのセキュリティグループを選択します。

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

重要

一度に 1 つのインスタンスグループを追加できます。複数のインスタンスグループを作成するには、インスタンスグループごとにプロセスを繰り返します。

インスタンスグループを追加するには、次の手順に従います。

  1. インスタンスグループタイプで、インスタンスグループのタイプを選択します。このチュートリアルでは、 のコントローラー (ヘッド)my-controller-group、 のログインmy-login-group、 のコンピューティング (ワーカー) を選択しますworker-group-1

  2. Name に、インスタンスグループの名前を指定します。このチュートリアルでは、my-controller-groupmy-login-groupworker-group-1 という名前の 3 つのインスタンスグループを作成します。

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

  4. インスタンスタイプで、インスタンスグループのインスタンスを選択します。このチュートリアルでは、my-controller-groupml.c5.xlargemy-login-groupml.m5.4xlargeworker-group-1ml.trn1.32xlarge を選択します。

    アカウントで十分なクォータを持つインスタンスタイプを選択するか、「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. インスタンスグループの追加 を選択します。

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

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

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

HyperPod がユーザーに代わって必要な AWS リソースを実行およびアクセスできるようにする 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 クラスターの作成

クラスターを削除してリソースをクリーンアップする

SageMaker HyperPod クラスターは、作成のテストに成功した後、クラスターを削除するまで InService 状態で実行され続けます。オンデマンド料金に基づく継続的なサービス料金が発生しないように、使用していないときは、オンデマンド SageMaker AI インスタンスを使用して作成されたクラスターを削除することをお勧めします。このチュートリアルでは、2 つのインスタンスグループで構成されるクラスターを作成しました。そのうちの 1 つは C5 インスタンスを使用しているため、「SageMaker HyperPod クラスターを削除する」の手順に従ってクラスターを削除してください。

ただし、リザーブドコンピューティングキャパシティでクラスターを作成した場合、クラスターのステータスはサービス請求には影響を与えません。

このチュートリアルで使用した S3 バケットからライフサイクルスクリプトをクリーンアップするには、クラスターの作成時に使用した S3 バケットに移動し、ファイルを完全に削除します。

クラスターでワークロードの実行をテストした場合、データをアップロードしたかどうか、またはジョブで Amazon FSx for Lustre や Amazon Elastic File System などの異なる S3 バケットやファイルシステムサービスにアーティファクトが保存されたかどうかを確認してください。料金の発生を防ぐには、ストレージまたはファイルシステムからすべてのアーティファクトとデータを削除します。