SageMaker HyperPod よくある質問 - Amazon SageMaker

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

SageMaker HyperPod よくある質問

以下のよくある質問を使用して、 の使用に関する問題のトラブルシューティングを行います SageMaker HyperPod。

Q: Amazon で SageMaker HyperPod クラスターのロググループが見つからないのはなぜですか CloudWatch?

デフォルトでは、エージェントログとインスタンス起動ログは HyperPod プラットフォームアカウントの に送信されます CloudWatch。ユーザーライフサイクルスクリプトの場合、ライフサイクル設定ログはアカウントの に送信されます CloudWatch。

HyperPod サービスチームが提供するサンプルライフサイクルスクリプトを使用すると、 に書き込まれたライフサイクル設定ログが見つかることが予想され/var/log/provision/provisioning.log、この問題は発生しません。

ただし、ライフサイクルプロビジョニングからログを収集するためにカスタムパスを使用していて、アカウントの にロググループが表示されない場合は CloudWatch、ライフサイクルスクリプトで指定されたログファイルパスと、 HyperPod クラスターインスタンスで実行されている CloudWatch エージェントが検索する内容の不一致が原因である可能性があります。この場合、 CloudWatch エージェントにログを送信するようにライフサイクルスクリプトを適切に設定し、それに応じて CloudWatch エージェント設定も設定する必要があります。問題を解決するには、次のいずれかのオプションを選択します。

  • オプション 1: ライフサイクルスクリプトを更新して にログを書き込む/var/log/provision/provisioning.log

  • オプション 2: CloudWatch エージェントを更新して、ライフサイクルプロビジョニングのログ記録用のカスタムパスを探します。

    1. 各 HyperPod クラスターインスタンスには、 の JSON 形式の CloudWatch エージェント設定ファイルが含まれています/opt/aws/amazon-cloudwatch-agent/sagemaker_cwagent_config.json。設定ファイルで、フィールド名 を見つけますlogs.logs_collected.files.collect_list.file_path。によるデフォルト設定では HyperPod、キーと値のペアは「」に記載されている"file_path": "/var/log/provision/provisioning.log"とおりである必要があります SageMaker HyperPod インスタンスレベルでのログ記録。次のコードスニペットは、JSON ファイルが HyperPod デフォルト設定でどのように表示されるかを示しています。

      "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/var/log/provision/provisioning.log", "log_group_name": "/aws/sagemaker/Clusters/[ClusterName]/[ClusterID]", "log_stream_name": "LifecycleConfig/[InstanceGroupName]/{instance_id}", "retention_in_days": -1 } ] } }, "force_flush_interval": 3 }
    2. "file_path" フィールド名の値を、ライフサイクルスクリプトで使用するカスタムパスに置き換えます。例えば、 に書き込むようにライフサイクルスクリプトを設定した場合は/var/log/custom-provision/custom-provisioning.log、次のように値を更新してそれと一致させます。

      "file_path": "/var/log/custom-provision/custom-provisioning.log"
    3. 設定ファイルを使用して CloudWatch エージェントを再起動し、カスタムパスの適用を完了します。例えば、次の CloudWatch コマンドは、ステップ 1 の CloudWatch エージェント設定ファイルを使用して CloudWatch エージェントを再起動する方法を示しています。詳細については、 CloudWatch 「 エージェント のトラブルシューティング」も参照してください。

      sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \ -a fetch-config -m ec2 -s -c \ file:/opt/aws/amazon-cloudwatch-agent/sagemaker_cwagent_config.json

Q: slurm.confや などの Slurm 設定ファイルでは、どの特定の設定が HyperPod 管理されますかgres.conf

で Slurm クラスターを作成すると HyperPod、 HyperPod エージェントは で slurm.confおよび gres.conf ファイルを設定し、クラスター作成リクエストとライフサイクルスクリプトに基づいて Slurm HyperPod クラスター/opt/slurm/etc/を管理します。次のリストは、 HyperPod エージェントが処理および上書きする特定のパラメータを示しています。

重要

によって管理されるこれらのパラメータは変更しないことを強くお勧めします HyperPod。

  • HyperPod ではslurm.conf、、、ClusterName、、SlurmctldHostおよび の基本的なパラメータを設定しますPartitionNameNodeName

    また、 自動再開機能を有効にするには、次のように設定された TaskPluginおよび SchedulerParametersパラメータ HyperPod が必要です。 HyperPod エージェントは、デフォルトで必要な値を使用してこれら 2 つのパラメータを設定します。

    TaskPlugin=task/none SchedulerParameters=permit_job_expansion
  • NodeName ではgres.conf、GPU ノード HyperPod を管理します。

Q: の Slurm ノードで Docker を実行するにはどうすればよいですか HyperPod?

で実行されている Slurm ノードで Docker を実行しやすくするために HyperPod、 HyperPod サービスチームはクラスター作成のライフサイクル設定の一部として含めることができるセットアップスクリプトを提供します。詳細については、「が提供するベースライフサイクルスクリプトから開始する HyperPod」および「で Slurm コンピューティングノードで Docker コンテナを実行する HyperPod」を参照してください。

Q: Slurm で Docker または Enroot コンテナを起動するために、P インスタンスのローカル NVMe ストアを使用する方法を教えてください。

ヘッドノードのデフォルトのルートボリュームは通常 100GB の EBS ボリュームに制限されるため、ローカル NVMe インスタンスストアを使用するように Docker と Enroot を設定する必要があります。NVMe ストアをセットアップし、Docker コンテナの起動に使用する方法については、「」を参照してくださいで Slurm コンピューティングノードで Docker コンテナを実行する HyperPod

Q: EFA セキュリティグループを設定する方法を教えてください。

EFA 対応インスタンスで HyperPod クラスターを作成する場合は、セキュリティグループ自体との間で送受信されるすべてのトラフィックを許可するようにセキュリティグループを設定してください。詳細については、「Amazon EC2 ユーザーガイド」の「ステップ 1: EFA 対応セキュリティグループを準備する」を参照してください。 Amazon EC2

Q: HyperPod クラスターノードをモニタリングするにはどうすればよいですか? からエクスポートされた CloudWatch メトリクスはありますか HyperPod?

HyperPod クラスターのリソース使用率を観測できるように、 HyperPod クラスターを Amazon Managed Grafana および Amazon Managed Service for Prometheus と統合することをお勧めします。さまざまなオープンソースの Grafana ダッシュボードとエクスポーターパッケージを使用すると、 HyperPod クラスターリソースに関連するメトリクスをエクスポートおよび視覚化できます。Amazon Managed Grafana と Amazon Managed Service for Prometheus SageMaker HyperPod のセットアップの詳細については、「」を参照してくださいSageMaker HyperPod クラスターリソースのモニタリング。現在、 SageMaker HyperPod は Amazon へのシステムメトリクスのエクスポートをサポートしていないことに注意してください CloudWatch。

Q: HyperPod クラスターノードにストレージを追加できますか? クラスターインスタンスのローカルインスタンスストアは限られています。

デフォルトのインスタンスストレージがワークロードに対して不十分な場合は、インスタンスごとに追加のストレージを設定できます。2024 年 6 月 20 日のリリースから、 SageMaker HyperPod クラスター内の各インスタンスに Amazon Elastic Block Store (EBS) ボリュームを追加できます。この機能は、2024 年 6 月 20 日より前に作成されたクラスターの SageMaker HyperPod既存のインスタンスグループには適用できないことに注意してください。この機能は、2024 年 6 月 20 日より前に作成された既存の SageMaker HyperPod クラスターにパッチを適用し、新しいインスタンスグループを追加することで利用できます。この機能は、2024 年 6 月 20 日以降に作成されたすべての SageMaker HyperPod クラスターで完全に有効です。