Amazon SageMaker AI で NVIDIA Isaac Lab を活用し、ロボット強化学習のスケールアップを実現
AWS は、NVIDIA Isaac Lab を活用した物理 AI ロボットの強化学習トレーニングを、SageMaker HyperPod と SageMaker Training Jobs の両環境で実行可能にするソリューションを発表し、実世界での訓練リスクを低減しながら計算リソースの運用負担を解消する道筋を示した。
キーポイント
物理 AI の生産化とシミュレーションの重要性
ロボット学習は現実世界での訓練が非効率かつ危険であるため、高忠実度シミュレーションへの移行が進んでおり、GPU 加速により数ヶ月分の学習を数時間に圧縮可能となっている。
SageMaker AI による計算リソースの最適化
Amazon SageMaker AI は、インフラ管理という付随的な作業からエンジニアを解放し、短時間の反復実験と長時間の生産向けトレーニングの両フェーズに対応する 2 つの計算オプション(HyperPod と Training Jobs)を提供する。
SageMaker HyperPod の耐障害性と制御
大規模分散学習においてハードウェア故障は避けられないため、SageMaker HyperPod はクラスタの回復力と制御に重点を置き、マルチノード環境でのトレーニング継続性を確保する。
Unitree H1 人型ロボットへの適用事例
本記事では具体的な実装例として、NVIDIA Isaac Lab を用いた Unitree H1 人型ロボットの学習を AWS の環境で実行する方法と、関連する GitHub リポジトリの提供が示されている。
影響分析・編集コメントを表示
影響分析
この発表は、物理 AI(Physical AI)分野における実用化の障壁である「計算リソースの管理コスト」と「現実世界での訓練リスク」を同時に解決する重要なステップです。AWS と NVIDIA の連携により、研究機関や企業が一からインフラを構築せずとも、大規模な分散学習環境を即座に利用できるようになるため、ロボット開発のスピードとスケールが劇的に向上すると予想されます。
編集コメント
物理 AI の実用化において、シミュレーションとクラウドインフラの連携は不可欠な要素となっています。AWS が提供する管理型サービスにより、複雑な分散学習環境の構築が容易になることは、ロボット開発者の生産性向上に直結する大きな進展です。
Physical AI は研究段階から生産段階へと移行しています。ロボットは、実世界でのトレーニングが遅く、高コストであり、しばしば危険である一方、GPU 加速シミュレーションでは数ヶ月にわたる学習を数時間に圧縮できるため、工場や倉庫、物流センターへの展開前に高精度なシミュレーションで訓練されるケースが増えています。
この変化は計算リソースの課題へと焦点を移します。荒れた地形での二足歩行のような複雑な動作に対する強化学習(Reinforcement Learning: RL)は計算集約型であり、単一ノードでのトレーニング実行では数時間から数日に及ぶこともあります。ロボット開発チームは研究段階で迅速に反復を行う必要があり、かつ計算クラスターの運用負荷を伴わずに、本番グレードの長期ホライズン(long-horizon)トレーニングジョブを実行する必要があります。
本記事では、Amazon SageMaker AI 上で NVIDIA Isaac Lab を用いて Unitree H1 二足歩行ロボットのポリシーを訓練する方法を、2 つの計算オプションであるAmazon SageMaker HyperPodおよびAmazon SageMaker Training Jobsの両方について解説します。このソリューションの完全なコードは、関連する GitHub リポジトリで公開されています。

*画像クレジット:NVIDIA*
1. なぜ物理 AI のトレーニングに Amazon SageMaker AI を使うのか
Amazon SageMaker AI は、機械学習(ML)トレーニングのための計算インフラストラクチャ管理という、差別化の難しい重労働を排除します。このサービスはインスタンスのプロビジョニング、ドライバーとネットワークの設定、ノードヘルスの監視、ジョブ完了時のリソース解放を自動で行うため、エンジニアリングのリソースをインフラストラクチャの下支えに費やすのではなく、ロボットポリシーの開発そのものに集中させることができます。これは特にインフラ負荷の高いロボットポリシー強化学習(RL)において重要です:実行は長期化し、GPU を大量に消費し、多くの場合複数のノードに分散されます。開発には通常 2 つのフェーズが含まれます:報酬関数、観測空間、モデルアーキテクチャを調整するための短期間の反復実験と、調整済み構成を収束させるまでの長期生産用実行です。SageMaker AI はこれらのフェーズに適した 2 つの計算オプションを提供します。
SageMaker HyperPod を用いたクラスター耐障害性と制御
SageMaker HyperPod は、大規模なファウンデーションモデルの分散トレーニングおよび推論のために特別に設計された管理型インフラストラクチャです。耐障害性は SageMaker HyperPod の中核にあります。スケールするとハードウェア障害が問題となり、マルチノードの強化学習(RL: Reinforcement Learning)実行における各障害は、学習進捗の喪失に加え、故障の検出、ノードの交換、最後のチェックポイントからの再起動に要する時間を意味します。SageMaker HyperPod は、各ノード上で基本的および詳細な健康診断を実行するヘルスモニタリングエージェントを実行しています。障害が検出されると、自動的に再起動または故障したインスタンスを置き換えます。自動再開機能により、交換されたノードの準備が整った後、トレーニングジョブは最後のチェックポイントから手動介入なしで再開されます。
Amazon Elastic Kubernetes Service (Amazon EKS) または Slurm と連携してオーケストレーションされる HyperPod は、クラスターノードへの直接アクセスと、実行間を跨いで持続する安定した環境を提供します。HyperPod の観測機能アドオンは、数百のクラスター、ノード、ジョブメトリクスを Amazon Managed Service for Prometheus へ公開し、事前構築された Amazon Managed Grafana ダッシュボードで可視化します。チームは、メトリクスパイプラインの設定を行うことなく、GPU 利用率、メモリ圧力、ネットワークスループット、タスクレベルのパフォーマンスを取得できます。Kueue を基盤とした HyperPod のタスクガバナンス機能により、管理者は計算クォータ、優先度、プリエンプション機能を備えた名前空間スコープのキューにクラスターを分割できます。割り当ては、インスタンス単位、全体 GPU 単位、または NVIDIA Multi-Instance GPU (MIG) を用いた GPU パーティション単位で定義可能です。微細なクォータはアクセラレーター、vCPU、メモリをカバーします。
Amazon SageMaker トレーニングジョブによるエフェメラルコンピューティング
SageMaker Training Jobs は、長期的なコンピューティングリソースを維持することなく、コンテナ化されたトレーニングワークロードを実行するための完全に管理されオンデマンド型のソリューションです。各ジョブは GPU インスタンスのプロビジョニングを行い、Amazon Elastic Container Registry (Amazon ECR) からコンテナを取得し、トレーニングスクリプトを実行した後、成果物を Amazon Simple Storage Service (Amazon S3) にアップロードします。そしてジョブが完了するとインスタンスを即座に終了させます。実行間隔におけるアイドル状態のコンピューティングコストは発生しません。このモデルは、報酬関数、観測空間、ネットワークアーキテクチャが短い実行期間の間で頻繁に変更されるポリシー開発の反復フェーズに適しています。また、多数の短時間ジョブを並列実行してその後リソースを解放するハイパーパラメータチューニングのスウィープにも適しています。
2. NVIDIA Isaac Lab とトレーニングタスク
NVIDIA Isaac Lab は、NVIDIA Isaac Sim を基盤としたオープンソースのロボット学習フレームワークです。GPU 並列シミュレーションを活用することで、1 つまたは複数の GPU 上で同時に数千ものロボットインスタンスを実行し、現実世界で数ヶ月かかる経験を数時間のシミュレーショントレーニングに変換します。Isaac Lab は、強化学習(Reinforcement Learning)と模倣学習(Imitation Learning)の両方において、タスク定義、観測・行動空間、報酬関数、およびトレーニングループを定義するための構造化された API を提供しています。

*画像クレジット:NVIDIA*
本記事のサンプルトレーニングタスクは「Isaac-Velocity-Rough-H1-v0」であり、Unitree H1 人型ロボットが粗い地形を歩きながら速度指令を追跡する学習を行います。このロボットは、手作業で生成された不均一な表面上でのバランス維持のために、19 の関節を協調させる必要があります。トレーニングには、Isaac Lab がサポートする複数の強化学習(RL)フレームワークの一つである skrl を通じて、近傍最適化ポリシー(PPO: Proximal Policy Optimization)が使用されます。ノード数を複数にスケールさせることで並列環境の数が倍増し、ポリシー更新ごとに多様な経験値を得られるようになり、収束が加速します。本ソリューションで提供されているスクリプトや設定を拡張することで、他のロボット学習タスクにも適用可能です。
3. ソリューション概要
付属の GitHub リポジトリにあるソリューションは、主に 2 つの部分で構成されています。(1) SageMaker HyperPod と SageMaker Training Jobs の両方でトレーニングコードを実行する単一の Docker イメージ、(2) 共有設定ファイルから Kubernetes マニフェストと SageMaker 起動スクリプトを生成するジェネレーター・スクリプトです。この 2 つのサービスオプションは、イメージの起動方法のみが異なります。すなわち、SageMaker HyperPod 上では Kubernetes PyTorchJob として起動するか、または SageMaker Training Job の場合は CreateTrainingJob API コールを通じて起動するかの違いだけです。
ここで使用されている H1 歩行タスクは、[Amazon Elastic Compute Cloud (Amazon EC2) および AWS Batch でワークロードを実行する] NVIDIA Isaac Lab on AWS workshop と同じです。SageMaker AI へ移行してもトレーニングコードは変更されず、マネージドクラスター、統合された障害回復機能、サーバーレスなトレーニングジョブ実行が追加されます。
トレーニングイメージ
トレーニングコンテナイメージは nvcr.io/nvidia/isaac-sim:5.1.0 をベースに構築されています。提供される Dockerfile は Isaac Lab v2.3.2 をクローンし、Isaac Sim にバンドルされた Python 環境へインストールするとともに、SageMaker Training Jobs のリソース設定を解析して torchrun を起動するエントリーポイントスクリプトをコピーします。完全な Dockerfile は docker/Dockerfile にあります。両方のサービスオプションは同じイメージを使用します。
実験追跡
トレーニングメトリクスは、追跡サーバーが構成されている場合に Amazon SageMaker managed MLflow (MLflow) にストリーミングされ、両方のバックエンド間で永続的かつ検索可能な実験追跡が可能になります。MLflow はオプトイン方式です:追跡 URI を空に設定すると完全に無効化されます。セクション 4.5 で構成方法について解説しています。
設定とジェネレータースクリプト
ジェネレータースクリプトは、config.yaml に定義された環境固有の変数を通じて設定されます。generate.py スクリプトはこの設定を読み取り、templates/ ディレクトリ内のテンプレートをレンダリングして、generated/ ディレクトリ下に適用可能なファイルとして生成します。
ジェネレーターの実行は単一のコマンドで完了します:
python generate.py
各バックエンドで使用される具体的なファイルについては、SageMaker HyperPod 向けの セクション 4 と SageMaker Training Jobs 向けの セクション 5 のウォークスルーでそれぞれ解説されています。
バックエンド間でのトレーニングトポロジー
提供されたソリューションでは、両方のパスは最終的に同じイメージ上で Isaac Lab の skrl トレーナーの torchrun 呼び出しで終了します。主な違いは、各環境がコンテナにどのようにトポロジーを提供するかという点です。SageMaker HyperPod では、Kubeflow Training Operator が MASTER_ADDR、MASTER_PORT、RANK、WORLD_SIZE を各ポッドに注入します。これらはポッドレベルのトポロジーを記述するものであり(WORLD_SIZE はポッド数、RANK は各ポッド内のインデックス)、エントリーポイントがこれらを torchrun に転送し、torchrun が各ポッド内の GPU ごとにプロセスを起動します。各ポッドごとのランチャーは MASTER_ADDR:MASTER_PORT を介して合流し、グローバルなプロセスグループを形成します。一方、SageMaker Training Jobs では、ホストリストが /opt/ml/input/config/resourceconfig.json に書き込まれ、コンテナのエントリーポイントが起動時にこれを解析します。
GPU インスタンスの互換性
Isaac Sim は NVIDIA Omniverse を基盤に構築されており、Omniverse RTX レンダラー(RT Cores 搭載 GPU が必要)を使用します。そのため、AWS の G シリーズ GPU インスタンスは Isaac Lab ワークロードに適しています。一方、P シリーズはデータセンター向け GPU で RT コアを搭載していないため、対応していません。サポート対象および非対応のハードウェアの完全なリストについては、Isaac Sim 5.1 要件ページをご覧ください。
インスタンスファミリー
GPU タイプと世代
RT コア / Isaac Sim の互換性
ml.g5
NVIDIA A10G (Ampere)
Yes
ml.g6
NVIDIA L4 (Ada Lovelace)
Yes
ml.g6e
NVIDIA L40S (Ada Lovelace)
Yes
ml.g7e
NVIDIA RTX PRO 6000 (Blackwell)
Yes
ml.p4d, ml.p4de, ml.p5, ml.p5e, ml.p5en, ml.p6-b200, ml.p6-b300, ml.p6e-gb200
NVIDIA A100 (Ampere), H100 / H200 (Hopper), B200 / B300 / GB200 (Blackwell)
No
本記事の例では、ml.g6.12xlarge インスタンスを全体で使用しています。必要に応じて config.yaml でインスタンスタイプを変更できます。ml.g6、ml.g6e、および ml.g7e ファミリーは、8xlarge サイズ以上で Elastic Fabric Adapter (EFA) をサポートしており、これにより NCCL はマルチノード集合演算に対してカーネルバイパス対応の RDMA 可能トランスポートを提供します。HyperPod で EFA を有効化するには、AWS EFA デバイスプラグインをインストールし、ポッド仕様で vpc.amazonaws.com/efa リソースを要求する必要があります。SageMaker Training Job では、コンテナイメージ内および仮想プライベートクラウド (VPC) 設定で EFA を構成する必要があります。EFA は、SageMaker HyperPod および SageMaker Training Job の両バックエンドに対して、本ソリューションを通じて自動的に構成されます。SageMaker Training Job のセットアップについては ドキュメント を参照してください。
セットアップ:リポジトリのクローンとイメージの構築
両方のウォークスルーで共有されるセットアップ手順は、2 つあります。1 つは関連するリポジトリをクローンすること、もう 1 つはトレーニングイメージをビルドすることです。
ソリューションのリポジトリをクローンします:
git clone https://github.com/awslabs/awsome-distributed-ai.git
cd awsome-distributed-ai/3.test_cases/pytorch/nvidia-isaac-lab
リポジトリには、両方のバックエンドで使用される Dockerfile、設定テンプレート、ジェネレーター、およびエントリーポイントスクリプトが含まれています。
リポジトリのルートからイメージをビルドし、Amazon ECR にプッシュします。
- セットアップに応じて環境変数を定義してください:
export AWS_REGION=us-east-1 # 対象リージョン
export ACCOUNT=$(aws sts get-caller-identity --query Account --output text)
- 対応する ECR リポジトリが存在するか確認し、存在しない場合は作成してください:
aws ecr describe-repositories --repository-names isaaclab-sagemaker --region "$AWS_REGION" 2>/dev/null || \
aws ecr create-repository --repository-name isaaclab-sagemaker --region "$AWS_REGION"
- Amazon ECR で認証を実行してください:
aws ecr get-login-password --region $AWS_REGION | \
docker login --username AWS --password-stdin \
$ACCOUNT.dkr.ecr.$AWS_REGION.amazonaws.com
- Docker イメージをビルドしてタグ付けしてください:
docker build -t isaaclab-sagemaker:5.1.0 -f docker/Dockerfile .
docker tag isaaclab-sagemaker:5.1.0 $ACCOUNT.dkr.ecr.$AWS_REGION.amazonaws.com/isaaclab-sagemaker:5.1.0
- Docker イメージを Amazon ECR にプッシュしてください:
docker push $ACCOUNT.dkr.ecr.$AWS_REGION.amazonaws.com/isaaclab-sagemaker:5.1.0
トレーニングジョブを使用したい場合は、セクション 5 へジャンプしてください。
4. ウォークスルー:Amazon EKS でオーケストレーションされた SageMaker HyperPod でのトレーニング
今回のウォークスルーでは、Amazon EKS によってオーケストレーションされている既存の SageMaker HyperPod クラスターを使用します。GPU インスタンスグループには、2 つの ml.g6.12xlarge ノード(それぞれ NVIDIA L4 を 4 基搭載し、合計 8 GPU)が含まれています。目標は、H1 ロコモーションタスクのための分散トレーニングジョブを実行することであり、ライブメトリクスを SageMaker managed MLflow で確認し、生成されたチェックポイントを FSx for Lustre に書き込むことです。

4.1 前提条件
本ソリューションを実行するには、以下の前提条件が整っている必要があります:
- ターゲットリージョンにおけるクラスターおよび選択した GPU インスタンスタイプに対して、十分なサービスクォータが存在すること。HyperPod クラスターは、SageMaker HyperPod 用に ml.g6.*(またはその他の GPU ファミリ)の対応するクォータを消費します。クラスターの作成やスケーリング前に AWS Service Quotas を通じて増額リクエストを行ってください。
- Amazon EKS によってオーケストレーションされ、2 つの ml.g6.12xlarge ノードからなる GPU インスタンスグループを持つ SageMaker HyperPod クラスター。Amazon EKS オーケストレーションによる SageMaker HyperPod クラスターの作成に関するドキュメントを参照してください。
- クラスターに対して設定された kubectl およびそこにインストールされた Kubeflow Training Operator(PyTorchJob カスタムリソースが認識されるように)。
- FSx for Lustre CSI Driver がインストールされており、HyperPod ノードと同じ VPC およびサブネット内に Amazon FSx for Lustre ファイルシステムが存在すること。このファイルシステムは、トレーニングジョブによって書き込まれるログおよびチェックポイント(checkpoint)を保存します。
4.2 マニフェストの構成と生成
- 例の設定ファイルをコピーする:
cp config.yaml.example config.yaml
- 環境値と AWS アカウント ID、リージョン、クラスターの詳細を入力してください:
aws:
account_id: "" # あなたの 12 桁の AWS アカウント ID
region: "" # 例:us-east-2
ecr:
repository: "isaaclab-sagemaker" # プッシュしたリポジトリと一致させる必要があります
tag: "5.1.0"
training:
task: "Isaac-Velocity-Rough-H1-v0"
max_iterations: 1000 # PPO(Proximal Policy Optimization)の反復回数;本番環境では増やしてください
framework: "skrl" # skrl | rsl_rl | rl_games | sb3
hyperpod_eks:
fsx:
file_system_id: ""
dns_name: ".fsx..amazonaws.com"
mount_name: "" # 8 文字の FSx マウント名
jobs:
training_job:
instance_type: "ml.g6.12xlarge"
gpus_per_node: 4
num_nodes: 2 # 単一ノード学習の場合は 1 に設定
fsx_log_dir: "/fsx/isaaclab-h1/logs"
重要な設定フィールドは以下の通りです:
aws, ecr — これらは、すべてのポッドとトレーニングジョブで参照されるコンテナイメージ URI(.dkr.ecr..amazonaws.com/:)を形成するために使用されます。hyperpod_eks.image を通じて明示的な URI をオーバーライドとして設定することも可能です
原文を表示
Physical AI is moving from research into production. Robots are increasingly trained in high-fidelity simulation before being deployed to factories, warehouses, and logistics centers, because training in the real world is slow, expensive, and often unsafe, while GPU-accelerated simulation can compress months of learning into hours.
This shifts the challenge to compute. Reinforcement learning (RL) for complex behaviors like humanoid locomotion on rough terrain is compute-intensive, with single-node training runs stretching from hours to days. Robotics teams need to iterate quickly during research and also run production-grade, long-horizon training jobs without the operational burden of maintaining compute clusters.
In this post, we show how to train robot policies for the Unitree H1 humanoid with NVIDIA Isaac Lab on Amazon SageMaker AI across two compute options: Amazon SageMaker HyperPod and Amazon SageMaker Training Jobs. The full code of this solution is available in the accompanying GitHub repository.

*Image credit: NVIDIA*
1. Why Amazon SageMaker AI for Physical AI training
Amazon SageMaker AI removes the undifferentiated heavy lifting of managing compute infrastructure for machine learning (ML) training. The service provisions instances, configures drivers and networking, monitors node health, and tears down resources when jobs finish, so engineering effort stays on developing the robot policy rather than on the infrastructure underneath it. This is especially relevant for robot policy RL, which is infrastructure heavy: runs are long, GPU intensive, and often distributed across multiple nodes. Development typically involves two phases: short iterative experiments to tune reward functions, observation spaces, and model architectures, and longer production runs that train a tuned configuration to convergence. SageMaker AI provides two compute options that fit these phases.
Cluster resiliency and control with SageMaker HyperPod
SageMaker HyperPod is a purpose-built, managed infrastructure for distributed training and inference of large-scale foundation models. Resiliency is at the core of SageMaker HyperPod. Hardware failures become an issue at scale, and each failure in a multi-node RL run means lost training progress plus time to detect the fault, replace the node, and restart from the last checkpoint. SageMaker HyperPod runs a health-monitoring agent on each node that performs basic and deep health checks. When a fault is detected, it automatically reboots or replaces the faulty instance. With auto-resume functionality, the training job restarts from the last checkpoint after the replacement node is ready, with no manual intervention.
Orchestrated with Amazon Elastic Kubernetes Service (Amazon EKS) or Slurm, HyperPod provides direct access to cluster nodes and a stable environment that persists across runs. The HyperPod observability add-on publishes hundreds of cluster, node, and job metrics to Amazon Managed Service for Prometheus and visualizes them in pre-built Amazon Managed Grafana dashboards. Teams get GPU utilization, memory pressure, network throughput, and task-level performance without setting up a metrics pipeline. HyperPod task governance, built on Kueue, lets administrators carve the cluster into namespace-scoped queues with compute quotas, priorities, and preemption. Allocations can be defined per instance, per whole GPU, or per GPU partition with NVIDIA Multi-Instance GPU (MIG). Fine-grained quotas cover accelerators, vCPU, and memory.
Ephemeral compute with SageMaker Training Jobs
SageMaker Training Jobs are a fully managed, on-demand way to run containerized training workloads without maintaining any long-lived compute. Each job provisions GPU instances, pulls the container from Amazon Elastic Container Registry (Amazon ECR), runs the training script, uploads artifacts to Amazon Simple Storage Service (Amazon S3), and terminates the instances when the job finishes. There is no idle compute cost between runs. This model fits the iteration phase of policy development, where reward functions, observation spaces, and network architectures change frequently between short runs. It is also a good fit for hyperparameter tuning sweeps, where many short runs run in parallel and then release their compute.
2. NVIDIA Isaac Lab and the training task
NVIDIA Isaac Lab is an open-source robot learning framework built on NVIDIA Isaac Sim. It uses GPU-parallel simulation to run thousands of robot instances simultaneously on one or multiple GPUs, turning what would be months of real-world experience into hours of simulated training. Isaac Lab provides structured APIs to define tasks, observation and action spaces, reward functions, and training loops for both reinforcement learning and imitation learning.

*Image credit: NVIDIA*
The sample training task in this post is Isaac-Velocity-Rough-H1-v0, where a Unitree H1 humanoid robot learns to track velocity commands while walking across rough terrain. The robot must coordinate its 19 joints to maintain balance over procedurally generated uneven surfaces. Training uses Proximal Policy Optimization (PPO) through skrl, one of several RL frameworks supported by Isaac Lab. Scaling to multiple nodes multiplies the number of parallel environments, producing more diverse experience per policy update and accelerating convergence. You can extend the scripts and configuration provided in this solution to other robot learning tasks.
3. Solution overview
The solution in the accompanying GitHub repository consists of two main parts: (1) a single Docker image that runs the training code on both SageMaker HyperPod and SageMaker Training Jobs, and (2) a generator script that renders the Kubernetes manifests and the SageMaker launch script from a shared configuration file. The two service options differ only in how the image is launched: as a Kubernetes PyTorchJob on SageMaker HyperPod, or through a CreateTrainingJob API call for a SageMaker Training Job.
The H1 locomotion task used here is the same as in the NVIDIA Isaac Lab on AWS workshop, which runs the workload on Amazon Elastic Compute Cloud (Amazon EC2) and AWS Batch. Moving to SageMaker AI keeps the training code unchanged and adds managed clusters, integrated fault recovery, and serverless training job execution.
Training image
The training container image is built from nvcr.io/nvidia/isaac-sim:5.1.0. The provided Dockerfile clones Isaac Lab v2.3.2, installs it into Isaac Sim’s bundled Python environment, and copies in the entrypoint script that parses the SageMaker Training Jobs resource config to launch torchrun. The full Dockerfile is in docker/Dockerfile. Both service options use the same image.
Experiment tracking
Training metrics are streamed to Amazon SageMaker managed MLflow for persistent, searchable experiment tracking across both backends when a tracking server is configured. MLflow is opt-in: leave the tracking URI empty to disable it entirely. Section 4.5 covers the configuration.
Configuration and the generator script
The generator script is configured through environment-specific variables defined in config.yaml. The generate.py script reads the configuration and renders the templates in templates/ into ready-to-apply files under generated/.
Running the generator is a single command:
python generate.pyThe specific files used by each backend are covered in the Section 4 and Section 5 walkthroughs for SageMaker HyperPod and SageMaker Training Jobs respectively.
Training topology across backends
In the provided solution, both paths end with the same torchrun invocation of Isaac Lab’s skrl trainer on the same image. The primary difference is how each environment provides the topology to the container. On SageMaker HyperPod, the Kubeflow Training Operator injects MASTER_ADDR, MASTER_PORT, RANK, and WORLD_SIZE into each pod. These describe the pod-level topology (WORLD_SIZE is the pod count, RANK is the per-pod index). The entrypoint forwards them to torchrun, which spawns one process per GPU within each pod. The per-pod launchers rendezvous through MASTER_ADDR:MASTER_PORT to form the global process group. On SageMaker Training Jobs, SageMaker writes the host list to /opt/ml/input/config/resourceconfig.json, and the container’s entrypoint parses it at startup.
GPU instance compatibility
Isaac Sim is built on NVIDIA Omniverse and uses the Omniverse RTX Renderer, which requires GPUs with hardware RT Cores. The G family of AWS GPU instances is suitable for Isaac Lab workloads. The P family is not, because it uses data center GPUs without RT Cores. See the Isaac Sim 5.1 requirements page for the full list of supported and unsupported hardware.
Instance family
GPU type and generation
RT Cores / Isaac Sim compatibility
ml.g5
NVIDIA A10G (Ampere)
Yes
ml.g6
NVIDIA L4 (Ada Lovelace)
Yes
ml.g6e
NVIDIA L40S (Ada Lovelace)
Yes
ml.g7e
NVIDIA RTX PRO 6000 (Blackwell)
Yes
ml.p4d, ml.p4de, ml.p5, ml.p5e, ml.p5en, ml.p6-b200, ml.p6-b300, ml.p6e-gb200
NVIDIA A100 (Ampere), H100 / H200 (Hopper), B200 / B300 / GB200 (Blackwell)
No
The examples in this post use ml.g6.12xlarge throughout. You can change the instance type in config.yaml. The ml.g6, ml.g6e, and ml.g7e families support Elastic Fabric Adapter (EFA) at the 8xlarge size and above, which gives NCCL a kernel-bypass, RDMA-capable transport for multi-node collectives. Enabling EFA on HyperPod requires the AWS EFA device plugin and requesting vpc.amazonaws.com/efa resources in the pod spec. On SageMaker Training Jobs, you must configure EFA in the container image and in the virtual private cloud (VPC) configuration. EFA is automatically configured through the solution for both SageMaker HyperPod and SageMaker Training Jobs backends. The SageMaker Training Job setup is in the documentation.
Setup: Clone the repository and build the image
Two setup steps are shared across both walkthroughs: cloning the accompanying repository and building the training image.
Clone the solution’s repository:
git clone https://github.com/awslabs/awsome-distributed-ai.git
cd awsome-distributed-ai/3.test_cases/pytorch/nvidia-isaac-labThe repository contains the Dockerfile, the configuration template, the generator, and the entrypoint scripts used by both backends.
Build the image from the repository root and push it to Amazon ECR.
- Define the environment variables according to your setup:
export AWS_REGION=us-east-1 # your region
export ACCOUNT=$(aws sts get-caller-identity --query Account --output text)- Check whether the corresponding ECR repository exists, and create it if not:
aws ecr describe-repositories --repository-names isaaclab-sagemaker --region "$AWS_REGION" 2>/dev/null || \
aws ecr create-repository --repository-name isaaclab-sagemaker --region "$AWS_REGION"- Authenticate with Amazon ECR:
aws ecr get-login-password --region $AWS_REGION | \
docker login --username AWS --password-stdin \
$ACCOUNT.dkr.ecr.$AWS_REGION.amazonaws.com- Build and tag the Docker image:
docker build -t isaaclab-sagemaker:5.1.0 -f docker/Dockerfile .
docker tag isaaclab-sagemaker:5.1.0 $ACCOUNT.dkr.ecr.$AWS_REGION.amazonaws.com/isaaclab-sagemaker:5.1.0- Push the Docker image to Amazon ECR:
docker push $ACCOUNT.dkr.ecr.$AWS_REGION.amazonaws.com/isaaclab-sagemaker:5.1.0If you want to use Training Jobs instead, jump to Section 5.
4. Walkthrough: training on SageMaker HyperPod with Amazon EKS
For this walkthrough, we use an existing SageMaker HyperPod cluster orchestrated by Amazon EKS, with a GPU instance group of two ml.g6.12xlarge nodes (4× NVIDIA L4 each, 8 GPUs total). The goal is a distributed training job for the H1 locomotion task, with live metrics in SageMaker managed MLflow and the resulting checkpoints written to FSx for Lustre.

4.1 Prerequisites
The solution requires the following prerequisites to be in place:
- Sufficient service quota for the cluster and the chosen GPU instance type in the target region. HyperPod clusters consume the corresponding ml.g6.* (or other GPU family) quota for SageMaker HyperPod. Request an increase through AWS Service Quotas before creating or scaling the cluster.
- A SageMaker HyperPod cluster orchestrated by Amazon EKS with a GPU instance group of two ml.g6.12xlarge nodes. See Creating a SageMaker HyperPod cluster with Amazon EKS orchestration.
- kubectl configured against the cluster, and the Kubeflow Training Operator installed in it so that PyTorchJob custom resources are recognized.
- The FSx for Lustre CSI Driver installed, and an Amazon FSx for Lustre file system in the same VPC and subnet as the HyperPod nodes. This file system stores the logs and checkpoints written by the training job.
4.2 Configure and generate manifests
- Copy the example configuration:
cp config.yaml.example config.yaml- Fill in your environment values and AWS account ID, Region, and cluster details:
aws:
account_id: "" # your 12-digit AWS account ID
region: "" # e.g. us-east-2
ecr:
repository: "isaaclab-sagemaker" # must match the repo you pushed to
tag: "5.1.0"
training:
task: "Isaac-Velocity-Rough-H1-v0"
max_iterations: 1000 # PPO iterations; bump for production runs
framework: "skrl" # skrl | rsl_rl | rl_games | sb3
hyperpod_eks:
fsx:
file_system_id: ""
dns_name: ".fsx..amazonaws.com"
mount_name: "" # the 8-character FSx mount name
jobs:
training_job:
instance_type: "ml.g6.12xlarge"
gpus_per_node: 4
num_nodes: 2 # set to 1 for single node training
fsx_log_dir: "/fsx/isaaclab-h1/logs"Important configuration fields include the following:
aws, ecr — these are used to form the container image URI (.dkr.ecr..amazonaws.com/:) referenced by every pod and training job. You can set an explicit URI through hyperpod_eks.image as an override
関連記事
実世界における自律型 AI の基盤
Amazon Science は、2026 年に AI が単なる知識を持つモデルから、物理世界で計画・ツール使用・多段階タスク実行を行う自律型エージェントへと転換する決定的な変化が訪れると発表しました。
NVIDIA Cosmos 3 で物理 AI の推論・世界モデル・行動モデルを開発する
NVIDIA は、ロボットや自律走行車などが現実世界を理解して動作するために必要な物理 AI の推論、世界モデル、行動モデルを構築できる「Cosmos 3」を発表した。
テック企業があなたの家事を撮影することに必死になっている理由
AI学習スタートアップのShiftは、ニューヨークやロンドンで無料で清掃サービスを提供する代わりに、利用者の自宅での様子を撮影してデータ収集を行う計画を発表した。
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み