10分钟上手ABot-World:从Docker安装到第一次无限世界Rollout的快速开始指南
【免费下载链接】ABot-WorldInfinite Interactive World Rollout on a Single Desktop GPU项目地址: https://gitcode.com/gh_mirrors/ab/ABot-World
ABot-World 是一个可在单张桌面级显卡上实现实时、无限「世界 Rollout(世界延展生成)」的开源交互世界模型。它把 NVIDIA RTX 5090 变成一台真正的实时世界模拟器:720P 分辨率、16 FPS、约 1.2 秒延迟、仅占 19 GB 显存,你可以像玩游戏一样用键盘实时驱动世界画面,而不是一段被动播放的视频。本文将带你用 Docker 在 10 分钟内完成安装,并跑通第一次无限世界 Rollout。
ABot-World 能做什么?🎮
| 核心能力 | 说明 |
|---|---|
| 动作驱动的世界控制 | 世界画面实时响应用户按键(前进/转向/视角),持续探索而非播放预生成视频 |
| 实时桌面级推理 | 单张 RTX 5090 达到 720P / 16 FPS / 1.2s 延迟 / 19 GB 显存 |
| 无限世界 Rollout | 打破固定视频长度限制,支持开放式、无上限的交互生成 |
| 开放式世界想象 | 通过 LongForcing 训练,Rollout 过程中持续拓展新场景与新动态,避免画面"锁死" |
一句话理解:给它一张首帧图片和一段 Prompt,它就能让这个世界"活"起来,并且随你的操作无限走下去。
运行前的硬件与环境要求 ✅
官方测试环境为 Ubuntu 22.04、CUDA 12.8、Python 3.12。建议对照检查:
- 显卡:NVIDIA GPU,驱动支持 CUDA 12.8。RTX 5090 完整支持;RTX 3090 / 4090(24 GB)在原理上也能运行(官方已在 RTX 4090 上验证推理)
- 显存:约 19 GB 峰值占用
- 内存:建议 64 GB 系统内存
- 系统:Linux(强烈不推荐 Windows)
- 软件:Docker + NVIDIA Container Toolkit(Docker 路线)
更多硬件兼容细节可参考 FAQ.md。
第一步:克隆仓库并拉取 Docker 镜像 🐳
Docker 是官方推荐的安装方式——预构建镜像里已包含 PyTorch 2.8、FlashAttention、SageAttention 和lightx2v_kernel等全部编译好的依赖,无需手动编译任何组件:
# 1. 克隆代码(镜像只含运行环境,仓库在运行时挂载) git clone https://gitcode.com/gh_mirrors/ab/ABot-World cd ABot-World # 2. 拉取预构建环境镜像(国内用户可选阿里云容器镜像源,见 docker/README.md) docker pull amapcvlab/abot-world:v0-env💡 镜像内只包含运行环境,仓库代码在运行时挂载进容器,因此你修改本地代码后立即生效,无需重新构建镜像。
第二步:下载模型权重
权重不会打进镜像,需要下载到项目根目录的./checkpoints下(docker/run.sh会自动挂载它)。两种方式任选其一(完整命令见 README.md):
# 方式一:HuggingFace pip install -U "huggingface_hub" hf download acvlab/ABot-World-0-5B-LF --local-dir ./checkpoints/ABot-World-0-5B-LF # 方式二:ModelScope(国内推荐) pip install -U "modelscope" modelscope download "amap_cvlab/ABot-World-0-5B-LF" --local_dir ./checkpoints/ABot-World-0-5B-LF下载完成后目录结构应为:
checkpoints/ └── ABot-World-0-5B-LF/ ├── Wan2.2_VAE.pth ├── taew2_2.pth ├── models_t5_umt5-xxl-enc-bf16.pth ├── diffusion_pytorch_model.safetensors └── google/umt5-xxl/权重路径由 configs/long_forcing_dmd.yaml 和 configs/default_config.yaml 配置,无需手动改动。
第三步:启动 Gradio 演示,打开你的第一个世界 🚀
在仓库根目录执行:
# 指定镜像并启动(默认使用 0 号 GPU) IMAGE=amapcvlab/abot-world:v0-env bash docker/run.sh看到端口就绪提示后,用Chrome浏览器打开:
http://localhost:2233常用启动参数(详见 docker/run.sh):
CUDA_ID=1 bash docker/run.sh # 指定其他 GPU PORT=8080 bash docker/run.sh # 更换主机端口 bash docker/run.sh bash # 进入容器交互式 shell页面加载完成后,你会看到首帧参考图和滚动生成的世界画面——这就是你的第一次无限世界 Rollout。画面会持续生成下去,直到你主动停止。
键盘控制:像玩游戏一样操作世界 🎯
交互界面的核心是两套按键,界面上方有实时按键 HUD 指示当前状态:
| 键位 | 功能 |
|---|---|
W/S | 前进 / 后退 |
A/D | 向左 / 向右移动 |
I/K | 视角上 / 下 |
J/L | 视角左 / 右 |
按键状态由 web_client/keyboard.py 管理,冲突消解(如同时按下W和S)与 8 键采样逻辑都在该模块中实现;每 block 采样一次的按键快照直接驱动世界生成。按住不放即可持续生效,短按也会被合并识别。
切换场景与自定义首帧 🖼️
演示页面的所有「首帧参考图 + Prompt」都来自唯一的数据源 web_client/scene_presets.yaml,内置了多个示例场景(沙漠河谷、高山草甸、林间溪流等)。想换场景,只需在页面画廊中点选首帧;想加自己的世界,在scene_presets.yaml的groups里追加一条image + prompt即可,图片放在web_client/datasets/images/下。
几个关键运行参数集中在 web_client/config.py:
- 流式推理分辨率:1280 × 704(720P)
- 帧率与队列:视频 12 FPS,帧队列深度 2
- 最大生成块数 600(约 10 分钟的超长 Rollout 上限)
生成结束后的视频会自动保存到outputs/目录,页面 Gallery 最多保留 10 条。
常见问题快速排查 ❓
| 症状 | 原因与解决 |
|---|---|
could not select device driver "nvidia" | 未安装 NVIDIA Container Toolkit,或安装后未重启 Docker |
| 非 Blackwell 显卡(如 3090/4090)报量化内核错误 | lightx2v_kernel量化算子针对sm_120a(RTX 5090)编译,参见 FAQ.md 的硬件兼容说明 |
| 端口 2233 被占用 | 用PORT=8080 bash docker/run.sh更换端口 |
| 交互体验不佳 | 官方推荐 Chrome 浏览器使用 Gradio 界面 |
更多环境排查可参考 docker/README.md 与 FAQ.md。
下一步可以做什么?
- 体验离线批处理推理:scripts/inference.py 提供了基于动作序列(
web_client/datasets/actions/default_action.json)的非交互推理与量化方案对比脚本 - 了解因果推理流程:核心 Rollout 逻辑位于 pipeline/causal_inference.py
- 不装 Docker 的手动安装路线:完整步骤(conda 环境、FlashAttention、SageAttention、lightx2v_kernel 编译)见 README.md 的 Setup 章节
至此,你已经完成从 Docker 安装到第一次无限世界 Rollout 的全部流程。打开浏览器,按下W,让这个世界无限走下去吧 🌍
【免费下载链接】ABot-WorldInfinite Interactive World Rollout on a Single Desktop GPU项目地址: https://gitcode.com/gh_mirrors/ab/ABot-World
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考