stable-worldmodel 是一个面向世界模型研究的开源平台,旨在提供可复现的研究与评估流程。它由 galilai-group 维护,代码托管在 GitHub 上。
用途 该平台为世界模型研究的三个核心阶段——数据收集、训练和基于模型预测控制(MPC)的评估——提供单一、统一的接口,并覆盖大量标准化环境。它附带常见基线模型和规划求解器的参考实现,使研究代码可以专注于模型和目标本身,而非基础设施。
主要能力
- 统一接口:整合数据收集、训练和评估流程。
- 标准化环境:环境来自 DeepMind Control Suite、Gymnasium classic control、OGBench、Craftax、Arcade Learning Environment(100+ Atari 游戏)以及经典世界模型基准(Two-Room、PushT)。大多数环境附带独立可控的视觉和物理变化因子(如光照、纹理、动态、形态),便于评估零样本泛化到分布偏移,无需额外设置。添加新环境只需符合 Gymnasium 接口。
- 参考实现:scripts/train/ 中提供参考实现,lewm.py 实现 LeWM,prejepa.py 复现 DINO-WM。
- 数据集格式:默认数据集格式基于 Lance 技术栈(lancedb、pylance、pyarrow),作为单独的可选依赖提供,避免仅需求解器和世界模型的用户安装约 410 MB 的原生 wheel。支持 LeRobot 数据集(需 Python 3.12+,通过 pip install 'stable-worldmodel[lerobot]' 安装)。
- 格式注册表:记录、加载和转换都通过一个小型格式注册表进行,可选择匹配权衡的后端,或注册自己的后端。每个写入器接受 mode 参数('append' 默认、'overwrite'、'error'),重新运行 world.collect 会扩展现有数据集而非失败。
- 命令行界面:安装后提供 swm 命令,用于检查/转换数据集、环境和检查点,无需编写代码。
- 存储:数据集和检查点存储在 $STABLEWM_HOME(默认为 ~/.stable_worldmodel/),可通过环境变量覆盖。
使用方式 安装:可通过 pip 安装,数据相关依赖作为额外项([data])提供,LeRobot 支持通过 pip install 'stable-worldmodel[lerobot]' 安装。从源码安装(开发):可参考仓库说明。 快速开始:仓库提供 Quick Start 指南。 训练:参考 scripts/train/ 中的实现,或使用 HuggingFace 对象存储直接训练而无需本地下载数据集(见 notebook)。 评估:使用内置求解器和基线进行基于 MPC 的评估。 文档:完整文档位于 galilai-group.github.io/stable-worldmodel,包含 API 参考、教程和指南。
适用场景 适用于世界模型研究,包括数据收集、模型训练、规划求解器评估、零样本泛化测试等。适合需要标准化环境和可复现评估的研究人员。
限制 该库处于活跃开发中,API 可能在小版本之间发生变化。部分功能(如 LeRobot 数据集支持)需要 Python 3.12+。数据相关依赖体积较大(约 410 MB),作为可选额外项安装。