NVIDIAのAIを小型化、手軽に試す方法
NVIDIA’s Cosmos-Framework Tutorial: Designing a Colab-Friendly Miniature of Cosmos 3 World Models with Omnimodal Mixture-of-Transformers

NVIDIAの高性能AI「Cosmos 3」の小型版が公開され、一般的なPCでもその仕組みを学び、体験できるようになったため、より多くの人がAI研究に触れる機会が増えます。
このチュートリアルでは、NVIDIAのcosmos-frameworkを、実際のCosmos 3のチェックポイントを実行する際のハードウェアの限界を正直に認めつつ、Colabで使いやすい実用的な観点から探求します。まず、現在のランタイム、GPU機能、CUDAの利用可能性、メモリ、ディスク容量を確認し、標準的なColabハードウェアで完全なCosmos 3の推論が現実的ではない理由を理解します。そこで立ち止まるのではなく、フレームワークの実際の構造、CLI surface、input schema、およびmodel modesを、実践的なミニチュア実装の基盤として使用します。¥n次に、コンパクトなomnimodal Mixture-of-Transformers world modelを構築し、訓練します。これは、テキスト、ビジョン、アクションのストリームに対して、モダリティ固有のエキスパートルーティングを伴う共有のcross-modal attentionというCosmosの核となるアイデアを反映しています。合成された物理世界のデータ、training-loss tracking、およびautoregressive rolloutを使用して、モデルがモダリティ間の関係をどのように学習し、簡略化されながらも技術的に意味のある方法で将来のlatent statesを予測するかを示します。¥nColab Hardware Limitsを調査¥nコードをコピー¥n別のブラウザを使用¥nimport os, sys, json, time, math, textwrap, subprocess, shutil, platform¥nfrom pathlib import Path¥ndef rule(title=""):¥n line = "=" * 86¥n print("\n" + line + ("\n " + title if title else "") + "\n" + line)¥ndef spark(vals, width=60):¥n """1次元シーケンス用の小さなASCIIスパークライン(プロットライブラリなしで動作)。"""¥n if not vals: return ""¥n blocks = "▁▂▃▄▅▆▇█"¥n lo, hi = min(vals), max(vals)¥n rng = (hi - lo) or 1.0¥n step = max(1, len(vals) // width)¥n s = "".join(blocks[min(len(blocks) - 1, int((v - lo) / rng * (len(blocks) - 1)))] for v in vals[::step])¥n return s¥nrule("SECTION 0 — 環境プローブ: あなたが持っているもの vs. Cosmos 3が実際に必要とするもの")¥nIN_COLAB = "google.colab" in sys.modules¥nprint(f"Google Colab内で実行中: {IN_COLAB}")¥nprint(f"Python: {platform.python_version()} ({platform.system()})")¥ntry:¥n import torch¥nexcept ModuleNotFoundError:¥n print("torchが見つかりません — CPUビルドをインストール中(数秒かかります)...")¥n subprocess.run([sys.executab
この記事について質問
記事の内容に答えます。記事外のことは都度ウェブで調べます。