
微软在github发布了《我的世界大模型》:MineWorld,基于《我的世界》的实时交互式世界模型。
项目地址:https://github.com/microsoft/mineworld

我们推出 MineWorld,这是《我的世界》上的一个交互式世界模型,相比现有方法具有多项关键突破:
-
️ 高生成质量 。基于视觉-动作自回归 Transformer 构建,MineWorld 能根据视觉和动作输入生成连贯、高保真的画面帧。 -
️ 强可控性 。我们提出了动作跟随能力的基准测试,MineWorld 在其中展现出精准且一致的行为表现。 -
️ 快速推理速度 。通过 Diagonal Decoding 技术,MineWorld 实现了每秒 4 到 7 帧的生成速率,能在开放式游戏环境中实现实时交互。
安装配置
-
克隆此仓库并进入 MineWorld 文件夹:
git clone https://github.com/microsoft/mineworld.git
cd mineworld
-
我们提供了 requirements.txt
文件用于配置 pip 环境。
# 1. Prepare conda environment
conda create -n mineworld python=3.10
# 2. Activate the environment
conda activate mineworld
# 3. install our environment
pip3 install -r requirements.txt
我们推荐使用高端 GPU 进行推理。所有测试和开发均在 A100 和 H100 GPU 上完成。
模型检查点
下载预训练模型 https://huggingface.co/microsoft/mineworld。每个检查点在本仓库的 configs
文件夹中都有同名配置文件。所有模型共享相同的 VAE 检查点及配置。数据结构如下:
└── checkpoints
├── 300M_16f.ckpt
├── 700M_16f.ckpt
├── 700M_32f.ckpt
├── 1200M_16f.ckpt
└── 1200M_32f.ckpt
└── vae
├── config.json
└── vae.ckpt
└── validation
└── validation.zip
└── gradio_scene
├── scene.mp4
└── scene.jsonl
推理
我们提供两种使用模型的方式:通过网页演示进行交互,或本地运行以复现论文中的评估结果。除了下载检查点并放入 checkpoints
文件夹外,运行网页演示时还需下载 scene.mp4
和 scene.jsonl
文件,请确保它们位于同一目录下。
运行网页演示
要启动网页版游戏,请运行以下命令:
python mineworld.py --scene "path/to/scene.mp4"
--model_ckpt "path/to/ckpt"
--config "path/to/config"
演示程序运行后,您可以通过命令行中显示的本地 URL 或公开 URL 访问网站。初始化和首次操作可能因编译需要而耗时较长。
您可以使用 --reference_frame
选项指定参考帧数,该数值应大于 4
且小于模型上下文长度(即根据所用模型为 16
或 32
)。通常参考帧数越高,视觉质量越好。设置初始状态后,通过在聊天框中选择选项来执行游戏动作。点击”运行”按钮推进游戏进程,界面会分别显示最近 8
帧和最新一帧画面。玩家还可设置动作重复次数来多次执行同一动作。
网页演示中各按钮功能说明如下:
Start frame: select a frame in scene.mp4 with its frame index Jump to start frame: use the selected frame as the initial state Camera `X` and `Y`: control the camera movements between `-90` and `90` degrees Other action buttons: same as the actions in Minecraft Generate video: save previous game progress
运行本地推理
要在本地运行推理,请使用以下命令:
python inference.py \
--data_root "/path/to/validation/dataset" \
--model_ckpt "path/to/ckpt" \
--config "path/to/config" \
--demo_num 1 \
--frames 15 \
--accelerate-algo 'naive' \
--top_p 0.8 \
--output_dir "path/to/output"
查看 scripts/inference_16f_models.sh
获取示例。若要在朴素自回归解码和对角线解码之间切换,请将命令中的 --accelerate-algo
参数分别改为 naive
和 image_diagd
。
完成一组视频的推理后,您可以通过运行以下脚本来计算指标并复现论文中的数值结果:
bash scripts/setup_metrics.sh # only required in the first time
bash scripts/compute_metrics.sh
评估输出将具有以下结构:
└── videos
├── inference_setting1
├── clip_1.mp4
└── clip_1.json
├── inference_setting2
├── clip_1.mp4
└── clip_1.json
└── metrics_log
├── fvd_inference_setting1.json
├── fvd_inference_setting2.json
├── idm_inference_setting1.json
├── idm_inference_setting2.json
└── latest_metrics.csv
所有结果将被汇总到 metrics_log/latest_metrics.csv
。
预期用途
我们的模型仅在《我的世界》游戏领域进行训练。作为世界模型,将提供游戏场景的初始图像,用户需从动作列表中选择一个动作。随后,模型将生成执行所选动作后的下一场景。
超出适用范围
除《我的世界》模型外,我们的模型并非专为其他任务或场景设计。
开发者应预料到在超出适用范围的场景中生成结果可能出现失败。
开发者应了解并遵守适用于其使用场景的法律法规(包括隐私、贸易合规法律等),并在特定下游应用场景(尤其是高风险场景)中使用前,对隐私、安全性和公平性进行评估与风险缓解。
️ 风险与限制
需注意的本模型部分限制包括:
-
服务质量:MineWorld 仅基于《我的世界》训练,因此无法生成其他视频领域(如网络视频)的内容,且该模型无法生成更高分辨率的视频。 -
信息可靠性:MineWorld 基于固定分辨率的视频进行训练,因此由于分辨率较低,结果可能会丢失细节信息。 -
MineWorld 继承了其训练数据中存在的任何偏见、错误或遗漏特征,这些特征可能因 AI 生成的解释而被放大。 -
MineWorld 为研究和实验目的开发。在考虑将其应用于商业或现实场景前,需进一步测试和验证。 -
输入非《我的世界》的其他图像将导致生成不连贯的影像,应避免此类操作。 -
用户需以合法且符合道德规范的方式获取数据集。这可能包括确保获得适当的版权授权、使用音频/图像前取得内容许可,以及在研究使用前对数据进行匿名化处理。
✏️ BibTeX
@article{guo2025mineworld,
title={MineWorld: a Real-Time and Open-Source Interactive World Model on Minecraft},
author={Guo, Junliang and Ye, Yang and He, Tianyu and Wu, Haoyu and Jiang, Yushu and Pearce, Tim and Bian, Jiang}
year={2025},
journal={arXiv preprint arXiv:2504.08388},
}
致谢
本代码库借鉴了 VPT 和 generative-models 的代码。我们感谢他们的努力与创新,这些贡献使得开发过程更加高效便捷。
感谢所有为该项目贡献智慧与努力的人们。
☎️ 联系方式
我们诚挚欢迎听众的反馈与合作。如果您有建议、疑问或发现技术存在意外/冒犯性行为,请通过 junliangguo AT microsoft.com
联系我们。
(文:路过银河AI)