【NVIDIAのAI基盤モデル】Cosmosの仕組みと使い方、シミュレーション技術の可能性を徹底解説
- 物理AI向けの開発プラットフォーム
- 未来予測の動画生成が可能
- デモ版の用意があり、手軽に実行可能
2025年1月7日、NVIDIAがPhysical AI(物理AI)向けの開発プラットフォームをリリース!
リリースされた「Cosmos」はロボット開発や自動運転技術などの分野で物理AIシステムの開発を加速させるために活用されます。
本記事では、Cosmosとは何か・何ができるのか、どうやって使うのかについて解説をします。本記事を最後までお読みいただければ、Cosmosの活用方法が理解できるでしょう。
ぜひ最後までお読みください!
Cosmosの概要
Cosmosは物理世界をシミュレートするための「World Foundation Model(WFM)」(=世界基盤モデル)を構築し、ロボット、自動運転、そのほかの応用分野における物理的AIシステムの設計・開発を加速させることを目的にリリースされました。
Cosmosの特徴
Cosmosの特徴は3つです。
- World Foundation Models
- データ処理とトークナイザー
- 未来予測とシミュレーション
それぞれ解説します。
World Foundation Models
World Foundation Models(WFM:世界基盤モデル)は、物理AIの開発をサポートするために開発された、物理世界のデジタルツインとして機能するモデル。WFMを使って動画の生成が可能です。
デジタルツイン:現実世界にある人や物体、コトをサイバー空間上に再現する技術。
WFMは、現実世界の物理法則を理解し、それに基づいて将来の状態を予測またはシミュレーションします。
WFMは事前学習と事後学習が行われており、事前学習済みWFMでは、大規模な動画データセットを用いて学習させた汎用的なモデル。現実世界の物理法則や一般的な行動に関する知識を学習しています。
一方で、事後学習済みWFMは、事前学習済みモデルを特定の物理AI環境で収集したデータセットでファインチューニングすることで、特定のタスクや環境に特化したモデルを構築可能です。
また、それぞれのWFMは異なるアーキテクチャを採用しており、拡散モデルと自己回帰モデルがその代表例。
拡散モデルは、ガウスノイズからノイズを徐々に取り除くことで動画を生成するのに対し、自己回帰モデルは過去に生成された内容に基づいて動画を部分的に生成します。これらのモデルにより、複雑な動画生成タスクを分割して処理しやすくし、高品質なシミュレーションが可能。
データ処理とトークナイザー
Cosmosでは、大規模な動画データセットを効率的に活用するため、動画データの収集とキュレーションを行います。
独自のデータとオープンデータソースの両方から動画を集め、それらを利活用して多様なシーンをカバーするデータセットを構築。
収集される動画には、自動車の運転やロボット操作、人間の動作などが含まれており、データの多様性を維持しながらも重複を除き、高品質で学習に適したデータセットを作り上げます。
トークナイザーは、動画データを効率的に処理するための技術であり、データを圧縮して効率的な表現であるトークンに変換します。この変換により、モデル学習時の計算負荷を大幅に軽減しつつ、元の動画情報を最大限に保持可能です。
トークナイザーは、エンコーダとデコーダという2つの主要なコンポーネントで構成。
エンコーダは動画をトークンに圧縮する役割を担い、デコーダはそのトークンをもとに元の動画を再構築します。
未来予測とシミュレーション
Cosmosは、過去の観測データなどを入力として受け取り、それに基づいた将来の状態を予測します。これによりシミュレーション動画を生成できます。
動画の生成はText2World・Video2World・行動とシミュレーションの統合の3つがあります。
Text2Worldはテキストプロンプトを入力することで、その内容を基に未来の状態をシミュレーションした動画を生成します。Video2Worldは過去の動画データを入力とし、それに基づいて未来をシミュレーション。行動とシミュレーションの統合では、行動指令や環境変化を考慮し、物理法則に基づいたリアルな動画シミュレーションを生成。
Cosmosのライセンス
CosmosのライセンスはApache2.0。
Apache 2.0はOSSで広く使われているライセンスです。著作権表示や改変内容の明示といった基本的な項目を守れば、商用利用も可能。
利用用途 | 可否 |
---|---|
商用利用 | ⭕️ |
改変 | ⭕️ |
配布 | ⭕️ |
特許使用 | ⭕️ |
私的使用 | ⭕️ |
なお、物理シミュレーションが可能なGenesisについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
Cosmosの使い方
Cosmosの使い方はHugging FaceもしくはGitHubに掲載されています。
また、GitHubにはデモ版のリンクも掲載されているので、実装できる環境にない場合には、デモ版を使ってみるのもいいでしょう。
実際にデモ版を使ってみます。
cosmos-1_0-diffusion-7bでもcosmos-1_0-diffusion-5bどちらでも大丈夫なので、クリックすると早速プロンプトを入力する画面が表示されます。
今回は以下のようにプロンプトを入力しました。
A self-driving car navigating a busy urban street at night. The headlights illuminate the road as pedestrians cross a crosswalk and neon lights from nearby stores reflect on the car’s glossy surface.
日本語訳:交通量の多い都会の夜道を走る自動運転車。歩行者が横断歩道を渡る際、ヘッドライトが道路を照らし、近くの店のネオンが車の光沢のある表面に反射する。
生成された動画がこちら。
かなりリアルですが、よくみると前輪の動きが非現実的に見えます。また、左側の横断歩道を渡っていると人の歩き方も少し気になる歩き方をしているような気がします。
CosmosをGoogle Colaboratoryで実装する
google colaboratoryでもCosmosの実装ができるので、実装してみましょう。以下のコードはGitHubに記載されているものです。
必要ライブラリのインストールはこちら
!pip install torch torchvision transformers huggingface_hub
!pip install safetensors
!pip install nemo_toolkit[all]
!pip install hydra-core braceexpand webdataset ijson
Huging Faceにログインはこちら
from huggingface_hub import login
# Hugging Faceにログイン
login(token="your_hugging_face_token")
GitHubのクローンはこちら。
!git clone https://github.com/NVIDIA/Cosmos.git
!PYTHONPATH=$(pwd)/Cosmos python Cosmos/cosmos1/scripts/download_diffusion.py --mode checkpoints
プロンプト入力はこちらです。
PROMPT = "A humanoid robot organizing items in a futuristic warehouse with glowing blue lights."
動画生成はこちらです
!PYTHONPATH=$(pwd)/Cosmos python Cosmos/cosmos1/models/diffusion/inference/text2world.py \
--checkpoint_dir checkpoints \
--diffusion_transformer_dir Cosmos-1.0-Diffusion-7B-Text2World \
--prompt "$PROMPT" \
--video_save_name generated_video.mp4
ここでエラーになり、色々試してもダメだったので、issuesを確認すると同じようにgoogle colaboratoryでエラーが出ている方がいました。
そちらを参考にもう一度コードを書き直します。
!git clone https://github.com/NVIDIA/Cosmos.git
%cd Cosmos
!pip install -r requirements.txt
!pip install torch torchvision transformers accelerate safetensors
from huggingface_hub import login
login(token="your_hugging_face_token")
!PYTHONPATH=$(pwd) python cosmos1/scripts/download_diffusion.py --model_sizes 7B --model_types Text2World
動画生成はこちら
!PYTHONPATH=$(pwd) python cosmos1/models/diffusion/inference/text2world.py \
--checkpoint_dir checkpoints \
--diffusion_transformer_dir Cosmos-1.0-Diffusion-7B-Text2World \
--prompt "A robot walking in a futuristic warehouse with glowing blue lights." \
--video_save_name generated_video.mp4
こちらで実行してもやはり画像のようなエラーが出てしまいます。
元々、このエラーが出てしまうからissuesを見にいったのですが、解決されませんでした。
google colaboratoryでの実装はまだ難しいのかもしれませんので、しばらくはデモ版の利用になりそうです。
Cosmosでどういった動画が生成できるのかを検証
CosmosはこれまでになかったAIモデルなので、どういった動画を生成できるのかまだまだ未知数です。
そこで、Cosmosでどういった動画が生成できるのかを試してみます。Cosmosの特徴は現実世界の物理法則を理解している、という点なので、それを踏まえて動画を生成してみたいと思います。
生成する動画は次の3つです。
- ボールの落下と跳ね返り
- ドミノ倒しの連鎖反応
- 燃焼とロケットの打ち上げ
NVIDIAのデモ版で生成していきます。
ボールの落下と跳ね返り
ボールの落下と跳ね返りのプロンプトはこちらです。
A red rubber ball is dropped from a height of 10 meters onto a hard concrete surface. It bounces multiple times, each bounce decreasing in height due to energy loss, until it comes to rest. The sound of each impact echoes faintly in the background.
日本語訳:赤いゴムボールを10メートルの高さから硬いコンクリートの上に落とす。ボールは何度もバウンドし、バウンドするたびにエネルギーが失われて高さが低くなり、やがて静止する。衝撃音がかすかに響く。
赤いゴムボールが何度もバウンドして…とプロンプトでは入力していますが、一度もバウンドせずにボールは転がっていってしまいましたね。
細かいプロンプトは遵守されないのかもしれません。
ドミノ倒しの連鎖反応
次がドミノ倒しの連鎖反応です。
プロンプトはこちらです。
A series of meticulously arranged dominoes begins to topple, one after another, creating a cascading effect. The chain reaction travels around sharp corners, over small bridges, and ends with a final domino triggering a lever that releases a small toy car.
日本語訳:緻密に配置されたドミノが次々と倒れ始め、連鎖的な効果を生み出す。連鎖反応は鋭角を回り、小さな橋を越え、最後のドミノがレバーを作動させて小さなおもちゃの車を放出して終わる。
こちらは動画が生成されず、以下のメッセージが表示されました。
AIガイドラインによりプロンプトがブロックされ、Cosmosでサポートされていない旨のメッセージが表示されました。
燃焼とロケットの打ち上げ
最後にロケットの打ち上げです。
プロンプトはこちら。
A small experimental rocket ignites its fuel, creating a controlled combustion that propels it upward. The exhaust gases expand rapidly, leaving a trail of smoke, while the rocket accelerates until fuel depletion causes it to arc downward.
日本語訳:小型の実験用ロケットが燃料に点火し、制御された燃焼を起こし、ロケットを上昇させる。排気ガスは急速に膨張し、煙の軌跡を残しながら、燃料が枯渇して下方に弧を描くまでロケットは加速する。
こちらは無事に生成されましたが、「うーん」っていう印象です。というのも、ロケット発射の段階から出力されるかと思っていましたが、上昇中から落下してしまいました。
また、最後の方に一部モザイクがかかっているので、これはプロンプトにはない部分です。
なお、動画生成AI最高のパラメータ数のHunyuanVideoについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
まとめ
本記事ではCosmosの概要から使い方について解説をしました。
Cosmosは、物理AIを活用した未来予測や高度なシミュレーションで、業務効率化や新たなビジネス価値の創出を可能にするプラットフォームです。製品開発や自動運転、ロボット技術など、幅広い分野での応用が期待されています。
まだまだCosmosでできることが未知数なので、色々試しながら、どういったことが得意なのか、できるのかを調査していきたいと思います。
ぜひ皆さんも本記事を参考にCosmosを使ってみてください!
最後に
いかがだったでしょうか
未来予測や高度なシミュレーションで、コスト削減や業務効率化、リスク回避を実現することが可能です。
株式会社WEELは、自社・業務特化の効果が出るAIプロダクト開発が強みです!
開発実績として、
・新規事業室での「リサーチ」「分析」「事業計画検討」を70%自動化するAIエージェント
・社内お問い合わせの1次回答を自動化するRAG型のチャットボット
・過去事例や最新情報を加味して、10秒で記事のたたき台を作成できるAIプロダクト
・お客様からのメール対応の工数を80%削減したAIメール
・サーバーやAI PCを活用したオンプレでの生成AI活用
・生徒の感情や学習状況を踏まえ、勉強をアシストするAIアシスタント
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。