はじめに
本稿では、Meta AIが2025年6月11日に発表した「Introducing the V-JEPA 2 world model and new benchmarks for physical reasoning」という記事をもとに、AIが物理世界をどのように学習し、行動を計画するのかという最先端の研究について解説します。なお、「V-JEPA 2」は、人間のように周囲の環境を観察して世界の仕組みを学び、次に行うべき行動を予測・計画できる「ワールドモデル」と呼ばれるAIです。
引用元記事
- タイトル: Introducing the V-JEPA 2 world model and new benchmarks for physical reasoning
- 発行元: Meta AI
- 発行日: 2025年6月11日
- URL: https://ai.meta.com/blog/v-jepa-2-world-model-benchmarks/
Github
- タイトル: V-JEPA 2: Self-Supervised Video Models Enable Understanding, Prediction and Planning
- 発行元: facebookresearch
- URL: https://github.com/facebookresearch/vjepa2
要点
- V-JEPA 2は、ビデオデータから物理世界を学習するMetaの新しい「ワールドモデル」である。
- このモデルは、世界の動きを予測し、その予測に基づいてロボットが未知のタスクを計画・実行する能力を持つ。
- 学習は、人間によるラベル付けが不要な「自己教師あり学習」によって行われる。
- Metaはモデルと同時に、AIの物理的推論能力を評価するための3つの新しいベンチマーク(評価基準)も公開した。
- これは、人間のように世界を理解し、行動できるAIエージェントの実現に向けた重要な一歩である。
詳細解説
1. 「ワールドモデル」とは何か? – AIに”物理的直感”を
人間は、投げたボールが地面に落ちることや、押されたコップが倒れることを、いちいち計算しなくても直感的に理解できるはずです。これは、これまでの経験から「世界がどのように機能するか」という内部モデル(内的モデル)を脳内に持っているからです。このおかげで、私たちは次の一瞬に何が起こるかを予測し、どう行動すべきかを計画できます。
AIの世界における「ワールドモデル」もこれと同じ考え方です。AIが、まるで私たち人間が持つ物理的な直感のように、世界の仕組みを内部でシミュレートするためのモデルを指します。ワールドモデルを持つAIは、以下の3つの重要な能力を獲得することを目指しています。
- 理解 (Understanding): 映像に映る物体や人、その動きなどを正しく認識する能力。
- 予測 (Predicting): ある行動を取ったら、世界がどのように変化するかを予測する能力。
- 計画 (Planning): 予測能力を応用し、目標を達成するための一連の行動を計画する能力。
V-JEPA 2は、このワールドモデルをビデオから学習することで、より人間に近い知能の実現を目指しています。
2. V-JEPA 2の核心技術 – 「JEPA」アーキテクチャ
V-JEPA 2の根幹をなすのが、JEPA (Joint Embedding Predictive Architecture) という画期的な学習アーキテクチャです。これは、AI研究の第一人者であるヤン・ルカン氏が提唱するもので、従来のモデルとは一線を画すアプローチを取ります。
従来の多くのモデルは、ビデオの一部を隠し、その隠された部分の「ピクセル(画素)」を完全に復元しようと学習していました。しかしこの方法では、背景の雲の形や葉の揺れなど、本質的でない細部にまでリソースを割いてしまうという課題がありました。
一方、JEPAはピクセルそのものではなく、「抽象的な表現」を予測します。例えば、ビデオの中でボールが隠された場合、「そこにボールがあるはずだ」という概念的な情報を予測するのです。これにより、AIは世界のより本質的なルールや構造を効率的に学習できます。
V-JEPA 2の学習は、主に2つの段階で行われます。
- 第1段階(事前学習): 100万時間以上もの膨大なビデオデータを使い、世界の一般的な法則(物がどう動くか、どう相互作用するか)を自己教師あり学習で学びます。自己教師あり学習とは、人間が「これは猫」「これは車」とラベルを付けたデータを使わず、AIがデータ自体の構造から勝手に学習する方法で、膨大なデータを効率的に活用できます。
- 第2段階(行動条件付き学習): 次に、ロボットの行動データ(「アームを右に5cm動かした」など)と、その結果どうなったかという映像を学習させます。これにより、「特定の行動がどのような結果を生むか」を予測する能力を獲得し、計画立案が可能になります。
3. V-JEPA 2が可能にすること – ゼロショットでのロボット制御
V-JEPA 2の最も驚くべき成果の一つが、「ゼロショット」でのロボット制御です。ゼロショットとは、学習時に一度も見たことのない物体や、経験したことのない環境であっても、モデルがタスクをこなせる能力を指します。
実験では、V-JEPA 2を搭載したロボットが、訓練データには含まれていない物体を掴んで、指定された場所に置くというタスクに65%〜80%の成功率で成功しました。これは、ロボットが「現在の状態」と「目標の状態」を比較し、その差を埋めるために最も効果的だと”予測”される行動を繰り返し選択することで実現されます。
この能力は、工場のように決まった作業を繰り返すロボットだけでなく、家庭やオフィスなど、常に状況が変化する複雑な現実世界で活躍するAIエージェントにとって不可欠なものです。
4. 新しい3つの評価基準(ベンチマーク)の重要性
AIモデル開発において、その性能を正しく測るための「ものさし」、すなわちベンチマークは非常に重要です。MetaはV-JEPA 2と同時に、AIの物理的推論能力をより深く評価するための3つの新しいベンチマークを公開しました。
- IntPhys 2: 物理的に「ありえる」映像と「ありえない」映像のペアを見せ、AIが後者を見抜けるかをテストします。人間にとっては簡単ですが、現在のAIにはまだ難しい課題です。
- MVPBench: 表面的なヒントに頼らず、純粋な物理的理解を問う選択式の質問でAIを評価します。
- CausalVQA: 「もしボールがバットに当たらなかったら、どうなっていたか?」といった因果関係や反実仮想に関する質問に答えられるかをテストします。これは、より高度な推論能力を測るものです。
これらのベンチマークは、現在のAIモデルが持つ課題を浮き彫りにし、今後の研究開発の方向性を示す重要な役割を果たします。
V-JEPA 2の利用方法
利用可能なモデル
V-JEPA 2では、用途に応じて4つの異なるサイズのモデルが公開されています:
モデル | パラメータ数 | 解像度 | 特徴 |
---|---|---|---|
ViT-L/16 | 300M | 256×256 | 軽量で高速、一般的な用途に適している |
ViT-H/16 | 600M | 256×256 | 中程度の計算資源で高精度 |
ViT-G/16 | 1B | 256×256 | 最高精度、研究・業務用途向け |
ViT-G/16-384 | 1B | 384×384 | 高解像度版、詳細な映像解析に対応 |
環境セットアップ
必要な環境
- Python 3.12推奨
- PyTorch(CUDA対応を強く推奨)
- timm(Vision Transformer library)
- einops(テンソル操作ライブラリ)
インストール手順
# 1. Conda環境の作成
conda create -n vjepa2-312 python=3.12
conda activate vjepa2-312
# 2. リポジトリのクローンとインストール
git clone https://github.com/facebookresearch/vjepa2.git
cd vjepa2
pip install -e . # 開発モードでインストール
# 3. 追加ライブラリ(ノートブック実行時)
pip install jupyter scipy
基本的な使用方法
1. PyTorch Hub経由での利用
import torch
# プリプロセッサーの読み込み
processor = torch.hub.load('facebookresearch/vjepa2', 'vjepa2_preprocessor')
# モデルの読み込み(用途に応じて選択)
vjepa2_vit_large = torch.hub.load('facebookresearch/vjepa2', 'vjepa2_vit_large')
vjepa2_vit_huge = torch.hub.load('facebookresearch/vjepa2', 'vjepa2_vit_huge')
vjepa2_vit_giant = torch.hub.load('facebookresearch/vjepa2', 'vjepa2_vit_giant')
vjepa2_vit_giant_384 = torch.hub.load('facebookresearch/vjepa2', 'vjepa2_vit_giant_384')
2. HuggingFace経由での利用
from transformers import AutoImageProcessor, AutoModel
# 利用可能なモデル
hf_models = [
"facebook/vjepa2-vitl-fpc64-256",
"facebook/vjepa2-vith-fpc64-256",
"facebook/vjepa2-vitg-fpc64-256",
"facebook/vjepa2-vitg-fpc64-384"
]
# モデルとプロセッサーの読み込み
hf_repo = "facebook/vjepa2-vitg-fpc64-256" # 例:Giant版
model = AutoModel.from_pretrained(hf_repo)
processor = AutoVideoProcessor.from_pretrained(hf_repo)
デモンストレーション実行
基本デモの実行
# サンプル動画での分類デモ
python -m notebooks.vjepa2_demo
# Jupyter ノートブックでのインタラクティブデモ
jupyter notebook notebooks/vjepa2_demo.ipynb
Google Colab での実行
GitHubリポジトリにはGoogle Colabリンクも提供されており、環境構築なしで手軽に試すことができます。
ロボット制御(Action-Conditioned版)
V-JEPA 2-ACモデルの利用
import torch
# Action-Conditioned版の読み込み
vjepa2_encoder, vjepa2_ac_predictor = torch.hub.load(
'facebookresearch/vjepa2',
'vjepa2_ac_vit_giant'
)
エネルギーランドスケープの可視化
# ロボット軌道のエネルギーランドスケープ分析
jupyter notebook notebooks/vjepa_droid/energy_landscape.ipynb
評価・ベンチマーク実行
事前学習済み評価プローブの利用
V-JEPA 2では、以下のベンチマークで事前学習済みの評価プローブが提供されています:
- Something-Something v2: 動画理解(77.3%の精度)
- Diving48: アクション認識(90.2%の精度)
- EPIC-KITCHENS-100: アクション予測(39.7%の精度)
ローカルでの評価実行
# Something-Something v2での評価
python -m evals.main --fname configs/eval/vitl16/ssv2.yaml \
--devices cuda:0 cuda:1
# 推論のみ実行(事前学習済みプローブ使用)
python -m evals.main --fname configs/inference/vitl/ssv2.yaml \
--devices cuda:0
分散実行(SLURM環境)
python -m evals.main_distributed \
--fname configs/eval/vitl/ssv2.yaml \
--time 8600 \
--account my_account --qos=my_qos
独自データでの学習
事前学習の実行
# ローカルでの学習
python -m app.main --fname configs/train/vitl16/pretrain-256px-16f.yaml \
--devices cuda:0
# 分散学習
python -m app.main_distributed \
--fname configs/train/vitl16/pretrain-256px-16f.yaml \
--time 6000 \
--account my_account --qos=my_qos
Action-Conditioned学習
# V-JEPA 2からV-JEPA 2-ACへの追加学習
python -m app.main --fname configs/train/vitg16/droid-256px-8f.yaml \
--devices cuda:0
パフォーマンス結果
映像理解ベンチマーク
ベンチマーク | V-JEPA 2 | 従来最高性能 |
---|---|---|
EPIC-KITCHENS-100 | 39.7% | 27.6% (PlausiVL) |
Something-Something v2 | 77.3% | 69.7% (InternVideo2-1B) |
Diving48 | 90.2% | 86.4% (InternVideo2-1B) |
MVP (Video QA) | 44.5% | 39.9% (InternVL-2.5) |
TempCompass | 76.9% | 75.3% (Tarsier 2) |
ロボット制御タスク
タスク | Reach | Cup把握 | Box把握 | Cup運搬 | Box運搬 |
---|---|---|---|---|---|
Octo | 100% | 10% | 0% | 10% | 10% |
Cosmos | 80% | 0% | 20% | 0% | 0% |
V-JEPA 2-AC | 100% | 60% | 20% | 80% | 50% |
技術仕様・システム要件
推奨システム要件
- GPU: NVIDIA GPU(CUDA対応)8GB以上推奨
- メモリ: 32GB以上推奨
- ストレージ: モデルサイズに応じて5-20GB程度
プロジェクト構造
vjepa2/
├── app/ # 学習ループ
│ ├── vjepa/ # ビデオJEPA事前学習
│ ├── vjepa_droid/ # Action-Conditioned学習
│ └── main.py # ローカル実行エントリーポイント
├── configs/ # 実験設定ファイル
│ ├── train/ # 学習設定
│ └── eval/ # 評価設定
├── evals/ # 評価ループ
├── src/ # コアパッケージ
│ ├── datasets/ # データセット
│ ├── models/ # モデル定義
│ └── utils/ # ユーティリティ
└── notebooks/ # デモ・サンプル
まとめ
本稿で解説したV-JEPA 2は、単にビデオの内容を認識するだけでなく、その背後にある物理法則を学び、未来を予測し、行動を計画するという、真の「ワールドモデル」の実現に向けた大きな飛躍を示すものです。
JEPAアーキテクチャという効率的な学習方法により、AIは人間のように世界のより本質的なルールを捉えることが可能になりました。そして、その成果はゼロショットでのロボット制御という形で具体的に示されています。
GitHubで公開されたコードとモデルにより、研究者や開発者は実際にV-JEPA 2を試すことができ、さらなる応用展開が期待されます。まだ人間に及ばない部分も多いですが、V-JEPA 2と新しいベンチマークの公開は、研究コミュニティ全体の進歩を加速させ、いつの日か私たちの日常を助けてくれる賢いAIエージェントの登場を予感させます。今後の更なる発展に大いに期待したいと思います。