🌍 LingBot-World 2.0 · 1.3B 本地部署 Demo 蚂蚁集团 Robbyant · 2026-09-10

模型 1.3B (A14B distilled)
硬件 RTX 3090 24GB 单卡
单段耗时 ~9.5 min / 77帧(4.8s)
输出 最长边832 · 77帧 · 无音轨
控制轴 相机轨迹 (Plucker)

📌 Demo:自定义相机轨迹 × 3 个场景

以下 5 段视频全部由本机 RTX 3090 单卡生成(81 帧全长相机轨迹,成片 77 帧 ≈ 4.8s)。其中 4 段使用自研轨迹合成器(/data/workspace/lingbot-world-v2/make_trajectory.py)生成的自定义 poses.npy——模型按 OpenCV c2w 相机轨迹逐帧渲染同一世界。模型输出不含音频(离线 i2v 模式)。
长城 · 静止基线 768×512 · 13帧 · 0.81s
strip greatwall_static alt="strip greatwall_static"> alt="抽帧条">
相机零位移——世界模型的「稳态」基准:画面应几乎无变化,任何漂移都是模型时序一致性的直接读数。
长城 · 直线推进 768×512 · 13帧 · 0.81s
strip greatwall_forward alt="strip greatwall_forward"> alt="抽帧条">
自定义轨迹:沿城墙 S 形导线匀速 dolly-in。观察砖石纹理由近及远的连续揭示与了望塔的透视放大。
长城 · 复合运镜 768×512 · 13帧 · 0.81s
strip greatwall_compound alt="strip greatwall_compound"> alt="抽帧条">
自定义轨迹:推进 + 右横移 + 8° 缓转的复合运动。检验多轴同时变化下的几何稳定性。
瓦纳卡孤树 · 弧线环绕 832×464 · 13帧 · 0.81s
strip wanaka_orbit alt="strip wanaka_orbit"> alt="抽帧条">
自定义轨迹:绕树 14° 弧线。经典环绕主体——水面倒影与雪山背景的相对旋转直接反映相机控制精度。
骑龙古堡 · 俯冲推进 832×464 · 13帧 · 0.81s
strip dragon_forward alt="strip dragon_forward"> alt="抽帧条">
世界模型招牌场景:第一人称骑龙视角向古堡推进。前景龙翼视差 + 雾中古堡的空间揭示。

📋 调研结论速览

项目结论
是什么蚂蚁集团 Robbyant 开源的交互式世界模型(Wan 2.1 架构衍生),首帧图 + 相机轨迹 → 沉浸式视频漫游;发布 1.3B(Apache-2.0)与 A14B(MoE,未开源权重)双规格
核心能力①高度一致的长时间世界探索(流匹配蒸馏 1 步/块)②多样化交互元素(攻击/射箭/施法,官方实时服务)③文本驱动事件 ④级联生成支持多区域一致漫游
控制轴(开源版实测)相机 6-DoF 轨迹(poses.npy Plucker 嵌入,逐块 cam_injector 注入)。WASD 键盘通道仅官方闭源实时服务有效——开源权重 patch_embedding_wancamctrl 输入通道=6(纯相机),实锤无 WASD 训练
硬件需求官方建议 80GB;本项目实测 8GB 卡可跑 1.3B(见下方低显存改造)。A14B 版 40GB 级起步
实时性能官方集群 16fps 720p 实时交互;本地 3090 离线渲染 ~9.5min/段(77帧/4.8s,含模型加载;DiT 20 chunks 采样仅 ~20s,大头在 T5 CPU 编码 + VAE),不适合实时交互,适合离线漫游生成

🔧 8GB 卡部署改造(三处根因修复)

① VAE encode OOM → CPU encode(image2video.py)
全分辨率 3D-VAE encode 单次激活 ~854MB,DiT+VAE 权重上卡后 8GB 放不下。
方案:offload_model 模式下 VAE.encode 输入留 CPU、权重/统计量切 CPU,
latent 回 GPU。附带修复 scale 常量 cuda/cpu 设备错配。
② flash-attn 2 缺失 → SDPA 回退(attention.py 接线)
model_fast/model_causal 绕过 attention() wrapper 直调 flash_attention(),
无 flash-attn 时 assert 炸。改走 wrapper:自动落 PyTorch SDPA。
(代价:k_lens padding mask 失效,本任务无 padding 序列,无损。)
③ VAE decode 设备错配 → latent 回 CPU decode
采样完成后 latent 在 GPU、VAE 已在 CPU(同①)。decode 前把 latent 搬回 CPU,
解码后帧回 GPU 存盘。
④ 运行配置(全部环境变量级,零侵入)
CUDA_VISIBLE_DEVICES=0  PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
--t5_cpu --offload_model true --frame_num 33 --chunk_size 4  # 8GB 档出 13 帧
# T5-XXL 编码器驻留 CPU (rss ~14GB);DiT 独占 GPU 采样 (~5.9GB/8GB)

⚠️ 已知边界

项实测
输出落盘--save_dir 不生效,文件落 cwd(已用脚本兜底 mv)
默认 prompt不传 --prompt 时内置长城文案,与图不符——须按场景传 prompt
时长3090: 77 帧 @16fps ≈ 4.8s/段;121f 探针已通(7 chunks 采样仅 32s,成片 109f≈6.8s,vision 判无漂移崩坏)——3090 上显存不是帧数瓶颈,上限在轨迹长度
音频无音轨输出;实时服务才有交互音频
121f 长镜头探针probe_121f_static.mp4(109帧/6.8s)——9 帧抽帧判读:场景一致、无漂移/崩坏/纹理退化
📊 本页为部署验证 demo(3090 复跑版:81 帧全长轨迹 + GPU VAE decode,8GB 时代的 CPU decode 8 分钟瓶颈已消除)。「世界模型」级长漫游(级联多区域)需 A14B 与更大显存。