要約
pip install nvidia-cosmosまたは NGC コンテナを利用して、10 分以内に Cosmos をインストール可能- ロボティクスのポリシー事前学習用合成データ生成:
cosmos generate --model cosmos-70b --task rollout - Isaac Lab へのデプロイ前に物理的妥当性を検証:
cosmos validate --physics-checks - NVIDIA Omniverse 統合により、Cosmos → Isaac Lab → デプロイまでコード変更なしでパイプライン化
- コスト:Pro プランで $0.50/GPU時間から、または 100 GPU時間/月無料
1. Cosmos とは:予測・転移・推論モデル
NVIDIA Cosmos は、Physical AI 用のワールド基盤モデルで、以下の機能を提供します:
- 予測:ダイナミック環境(ロボット操作、自動運転車両の軌道など)の将来状態を予測
- 転移:合成データから実世界データへの知識転移(例:構造的 → 写実的データへの適応)
- 推論:物理的制約(衝突回避、エネルギー保存則など)に基づく論理判断
主要コンポーネント
| モデルタイプ | 用途 | 例コマンド |
|---|---|---|
| 予測 | ロボットの軌道や自動運転車両の経路をシミュレーション。 | cosmos predict --model cosmos-70b --input trajectory.json --output future_states/ |
| 転移 | ドメインランダマイズにより、合成データを実世界分布に適応。 | cosmos transfer --source synthetic --target real --model cosmos-70b |
| 推論 | 物理的妥当性を検証(例:「このロボット動作は物理的に可能か?」)。 | cosmos reason --check physics --input motion_data.npz |
研究背景: Cosmos 1.2(2026 年 6 月リリース)では、Blackwell GPU 対応とマルチノード学習が追加され、大規模 Physical AI ワークロードに対応 NVIDIA Cosmos リリースノート。
2. アクセスと NVIDIA オープンモデルライセンス
ステップ 1:アクセス登録
-
**無料プラン(100 GPU時間/月)**または Pro/Enterprise プランに登録:
# NVIDIA Cosmos ポータルへアクセス curl -X POST "https://api.nvidia.com/cosmos/v1/register" \ -H "Authorization: Bearer YOUR_NVIDIA_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]", "plan": "free"}'- 出力例:
{"status": "approved", "api_key": "abc123..."}
- 出力例:
-
CLI をインストール:
pip install nvidia-cosmos --extra-index-url https://pypi.nvidia.com
ステップ 2:ライセンスの同意
Cosmos は、NVIDIA オープンモデルライセンス(Apache 2.0 類似だが、以下の制限あり)を使用します:
- 再配布:事前学習モデルの再配布禁止
- 商用利用:有料プランが必要
- 修正:コアトレーニングループの変更禁止
ライセンス同意:
cosmos license accept
期待される出力:
ユーザー [email protected] のライセンスが承認されました
モデルアクセス権限が付与されました:cosmos-70b, cosmos-vision-1.2
3. ポリシー事前学習用合成ロールアウトの生成
Cosmos を利用して、ロボティクスのポリシー事前学習用合成データを生成します(例:強化学習)。
ステップ 1:ロボット環境の定義
robot_config.json を作成:
{
"robot": {
"type": "ur5e",
"dof": 6,
"base_pose": [0, 0, 0.5, 0, 0, 0, 1]
},
"environment": {
"objects": [
{"type": "cube", "dimensions": [0.1, 0.1, 0.1], "pose": [0.2, 0.2, 0.1, 0, 0, 0, 1]},
{"type": "sphere", "radius": 0.05, "pose": [0.3, 0.1, 0.15, 0, 0, 0, 1]}
],
"gravity": [0, 0, -9.81]
}
}
ステップ 2:合成ロールアウトの生成
Cosmos を実行し、10,000 件の合成軌道を生成:
cosmos generate \
--model cosmos-70b \
--task rollout \
--config robot_config.json \
--output synthetic_rollouts/ \
--num_rollouts 10000 \
--duration 10.0 # ロールアウトあたりの秒数
期待される出力:
ロールアウト生成中... [======================================] 100%
10,000 件のロールアウトを synthetic_rollouts/ に保存
ファイル:synthetic_rollouts/rollout_0001.npz, ..., rollout_10000.npz
ステップ 3:ロールアウトの検証
物理的妥当性を確認(例:衝突なし、関節制限内):
cosmos validate \
--input synthetic_rollouts/ \
--physics-checks \
--output validation_report.json
期待される出力:
{
"valid_rollouts": 9987,
"invalid_reasons": [
{"type": "collision", "count": 12},
{"type": "joint_limit", "count": 1}
]
}
4. Cosmos Transfer:構造データから写実データへの転移
Cosmos を利用して、ドメインランダマイズを行い、合成データを実世界分布に適応します。
ステップ 1:ソースとターゲットデータセットの準備
- ソース:合成データ (
synthetic_rollouts/) - ターゲット:実世界データ (
real_rollouts/)
ステップ 2:転移の実行
cosmos transfer \
--source synthetic_rollouts/ \
--target real_rollouts/ \
--model cosmos-70b \
--output transferred_data/ \
--iterations 5
期待される出力:
ドメイン転移中... [======================] 100%
10,000 件の転移サンプルを transferred_data/ に保存
ステップ 3:結果の可視化
NVIDIA Omniverse を利用して転移データを可視化:
cosmos visualize \
--input transferred_data/rollout_0001.npz \
--output visualization.usd
Omniverse で開く:
omniverse --scene visualization.usd
5. 物理的信頼性の検証
ポリシー学習前に、合成データの物理的妥当性を確認します。
ステップ 1:物理チェックの実行
cosmos validate \
--input synthetic_rollouts/ \
--physics-checks \
--output physics_report.json
主要チェック項目:
- 衝突検出:オブジェクト間の干渉なし
- 関節制限:ロボットの関節が有効範囲内
- エネルギー保存:運動エネルギー・位置エネルギーの不自然な変動なし
ステップ 2:実データとの比較
cosmos compare \
--synthetic synthetic_rollouts/ \
--real real_rollouts/ \
--metrics physics_fidelity \
--output comparison.json
期待される出力:
{
"physics_fidelity": 0.92,
"metrics": {
"collision_rate": {"synthetic": 0.001, "real": 0.0012},
"joint_limit_violations": {"synthetic": 0.0005, "real": 0.0003}
}
}
6. パイプライン:Cosmos → Isaac Lab → デプロイ
ステップ 1:Cosmos データを Isaac Lab へエクスポート
cosmos export \
--input synthetic_rollouts/ \
--format isaac \
--output isaac_data/
出力:Isaac Lab 互換の .json と .npz ファイル
ステップ 2:Isaac Lab で学習
エクスポートしたデータを用いて 強化学習 を実行:
isaac lab train \
--policy ur5e_policy \
--data isaac_data/ \
--iterations 1000
ステップ 3:エッジデバイスへデプロイ
学習済みポリシーを Jetson Orin にエクスポート:
isaac lab export \
--policy ur5e_policy \
--target jetson \
--output ur5e_policy_jetson.tar
Jetson へ転送:
scp ur5e_policy_jetson.tar user@jetson-ip:/home/user/
ssh user@jetson-ip "tar -xvf ur5e_policy_jetson.tar && ./run_policy"
7. コストとコンピュートの考慮事項
コンピュート要件
| タスク | 推奨 GPU | 所要時間 |
|---|---|---|
| 10K ロールアウト生成 | 1x A100/H100/Blackwell | 2–4 時間 |
| ドメイン転移 | 4x A100 (マルチ GPU) | 1–2 時間 |
| 物理検証 | 1x CPU(GPU 不要) | <1 分 |
| Isaac Lab 学習 | 8x A100(分散処理) | 6–12 時間 |
コスト内訳(Pro プラン)
| リソース | コスト(USD) |
|---|---|
| 1x A100(1 時間) | $0.50 |
| 4x A100(1 時間) | $2.00 |
| 8x A100(12 時間) | $48.00 |
| パイプライン全体 | ~$50–$100(スケールにより変動) |
コスト削減のヒント:トレーニングには スポットインスタンスを利用し、30–50% 削減可能 NVIDIA Cloud ドキュメント。
次のステップ
- Cosmos Vision の実験:写実的シーン合成用に
cosmos generate --task visionを試す - LangChain との統合:Physical AI 推論用 カスタム LLM として Cosmos を活用:
from langchain import LLMChain from nvidia_cosmos import CosmosLLM llm = CosmosLLM(model="cosmos-70b") chain = LLMChain(llm=llm, prompt="このロボット軌道について説明してください...") - エッジ最適化:TensorRT を利用し、Cosmos 推論を Jetson Orin にデプロイ:
cosmos export --model cosmos-70b --target jetson --output cosmos_jetson.tar
Physical AI インフラコンサルティング(Cosmos 統合、デプロイ、コスト最適化を含む)については、Hyperion Consulting の AI ツールアドバイザリ をご覧ください。
