WHAMMを試してみる
1. Worldモデルとは?WHAMMとは?
1-1. Worldモデルとは
まずWHAMMを理解するために、前提となる 「Worldモデル」(ワールドモデル) の概念から説明します。ここでいうWorldモデルとは、AIが内部に持つ環境のシミュレーターのようなものです。現在の状態と行動を入力すると、もっとも起こりうる次の状態を予測・生成してくれるモデルで、いわばAIの中に構築された “小さな世界” といえます。
参考
1-2. Worldモデルを触ってみよう
下記リンクでWorldモデルを体験することができます。
(今回のWorldモデルがバイオレンス系のゲームを学習/生成されており、年齢制限があるため、18歳以上の方のみ同意を押して実行してください)
copilotのトップページに飛んでしまう場合は、chromeのシークレットウィンドウなどでアクセスしてみてください。
キーボード等で操作してみると、比較的自然に映像が出現していることがわかりますが、これがゲームエンジン等で計算された結果ではなく、前の数フレームからAIが生成した結果となっています。そのため、例えば敵が出現したときに180度振り返り、さらにもう一度180度振り返ってみると、その敵が消失していたり、本来合計360度振り返る前と同じ空間にいるはずが、目の前の道が変わっていたりします。
1-3. WHAMMとは
上記のWorldモデルの流れを発展させ、Microsoft Researchが2025年に発表したのがWHAMM(ワム、World and Human Action MaskGIT Model)です。WHAMMはMicrosoftのゲーム用AIモデル群「Muse」ファミリーに属するモデルで、直前にNature誌で報告されたWHAM (World and Human Action Model) の後継となる対話型・実時間型の世界モデルです。
WHAMM最大の特徴は、ユーザーが実際に操作して遊べるリアルタイムのゲーム映像を生成できる点にあります。研究チームは「モデルの中でプレイできるようにすること」を目標に掲げ、コントローラーやキーボードからの入力に反応して即座に次のゲーム映像を生成する仕組みを実現しました。
2. WHAMMを試してみる
では、WHAMMの環境を構築し、ローカルサーバーを動かした上で、WHAMMクライアントを動かしてみます。
WHAMMサーバーに関しては、今回はwindowsマシン上でWSL2 (Ubuntu) 上で環境構築を行います。また、記事では仮想環境にvenvを使用していますが、anacondaを用いて仮想環境を構築してみます。
- 環境 : WSL2 (Ubuntu 20.04.6LTS) on windows11
- リポジトリ :
https://huggingface.co/microsoft/wham
2.1 環境構築
WHAMMモデルのダウンロード
まず、WHAMMモデルをダウンロードしておきます。軽量な方で試してみます。
こちらから、「WHAM with 200M parameters, model size: 3.7GB」をクリックして、modelファイルをダウンロードしておいてください。
仮想環境の作成・アクティベート
python3.9で仮想環境作成し、
conda create -n wham python=3.9
アクティベートを行います。
conda activate wham
リポジトリのcloneとインストール
リポジトリをhugging faceからcloneし、依存ライブラリをインストールします。
GIT_LFS_SKIP_SMUDGE=1 git clone git@hf.co:microsoft/WHAM
cd WHAM
./setup_local.sh
サーバー実行
まず、WHAMフォルダ内にmodelsフォルダを作成し、DLしたモデルファイル(ここでは、「WHAM_200M.ckpt」ファイル)を配置してください。
次に、下記コマンドで、サーバーを実行します。
python run_server.py --model models/WHAM_200M.ckpt
すると、下記のように立ち上がったサーバーのアドレスが表示されます。
2.2 demonstratorの実行
次に、クライアントアプリであるdemonstratorを起動します。
wham/wham_demonstrator/WHAMDemonstrator.exeをダブルクリックすると、下図のような画面が表示されます。
まず、Service Url(一番上の赤枠)に、先ほどサーバー側に表示されたURLを指定します。
次に、1.0フレーム(一番下の赤枠)をクリックしてこの時点での画像を表示させておいた状態で、
Predict from Input(中央下の赤枠)をクリックして、次の1フレームを生成することができます。
生成したときの様子は下図のようになります。Predict from Inputボタンが押されると、サーバー側で処理が走り、処理が終わると1.1フレーム目が生成されるのが見えるはずです。
3. Worldモデル関連の最新の研究・展望について
Worldモデルは近年研究が進みつつあります。直近の画像処理系の学会であるCVPR2025でも、いくつかWorldモデルに関連した研究が発表されています。
例えば、「GEM: A Generalizable Ego-Vision Multimodal World Model for Fine-Grained Ego-Motion, Object Dynamics, and Scene Composition Control」が提案されています。GEMモデルは、参照フレーム、疎な特徴量、人物姿勢、および一人称視点の軌道(ego-trajectories)を用いて、将来のフレームを予測するモデルです。
この一例を下記GIF画像に示します。左側の映像に対して、右側の映像は「もしバイクの車線が変更されたら」の結果としての映像が出力されています。すなわち、「もし~したら」を入力画像として、その結果としての映像をAIが生成することができる、というわけです。
xRでの応用を考えた場合、このようなWorldモデルによって、ある種の「未来予測」であったり、「もし過去に~していたらどうなる?」といったシミュレーションができるのではないかと、個人的には考えています。
4. おわりに
Worldモデル、およびそのモデルの一つであるWHAMMについて説明しました。
また、WSLの環境にて、生成サーバーを立ち上げて、demonstratorを実行する手順を紹介しました。
今後は、別のWHAMMモデルの研究紹介などを行っていければと考えています。

株式会社ホロラボの技術に関するブログ集です。 ホロラボは「フィジカルとデジタルをつなげ、新たな世界を創造する」をミッションに、XRや空間コンピューティングを軸にした価値を提供する企業です。 お問い合わせは👉のURLよりお願いします! hololab.co.jp/#contact
Discussion