论文:Advancing Open-source World Models
arXiv:https://arxiv.org/abs/2601.20540
代码:https://github.com/robbyant/lingbot-world
项目主页:https://technology.robbyant.com/lingbot-world
模型权重:https://huggingface.co/robbyant/lingbot-world
团队:蚂蚁集团 · 灵波科技(Robbyant Team)


一、研究背景与动机

1.1 什么是世界模型

世界模型(World Model)是一种能够学习并理解物理世界运行规律的AI系统。给定视觉状态序列 V={x1,x2,…,xT}\mathcal{V} = \{x_1, x_2, \ldots, x_T\}V={x1​,x2​,…,xT​} 和控制信号序列 A={a1,a2,…,aT}\mathcal{A} = \{a_1, a_2, \ldots, a_T\}A={a1​,a2​,…,aT​},世界模型学习参数化的状态转移函数:

xt+1∼pθ(⋅∣x≤t,a≤t,c)x_{t+1} \sim p_\theta(\cdot | x_{\leq t}, a_{\leq t}, c)xt+1​∼pθ​(⋅∣x≤t​,a≤t​,c)

其中 ccc 是条件信号(如文本提示),θ\thetaθ 是模型参数。

与传统视频生成模型不同,世界模型不仅追求视觉逼真,更要求生成内容符合物理规律和因果关系。

1.2 视频生成 vs 世界模型的本质区别

视频生成模型(如Sora)学习的是像素级分布:

pθ(V∣c)=∏tpθ(xt∣x<t,c)p_\theta(\mathcal{V} | c) = \prod_t p_\theta(x_t | x_{<t}, c)pθ​(V∣c)=t∏​pθ​(xt​∣x<t​,c)

它优化的是"什么样的画面看起来像真实视频",但无法保证物理一致性。

世界模型学习的是受动作驱动的条件转移:

pθ(xt+1∣x≤t,a≤t,c)p_\theta(x_{t+1} | x_{\leq t}, a_{\leq t}, c)pθ​(xt+1​∣x≤t​,a≤t​,c)

它要求动作 ata_tat​ 与视觉结果 xt+1x_{t+1}xt+1​ 之间因果对齐——不仅仅"看起来对",更要"物理上对"。

1.3 三大核心挑战

构建一个实用的世界模型需要解决三个根本性鸿沟:

鸿沟描述现有方法的困境
能力鸿沟从5秒短视频到分钟级长视频,需要长期记忆和场景一致性现有视频模型生成超过5秒就"失忆"——场景漂移、物体变形
交互鸿沟模型必须精确响应控制信号,且动作与视觉结果因果对齐视频模型是"被动"的,无法接受和响应动作输入
效率鸿沟实时交互需要低延迟(<1秒),高帧率(16fps)标准扩散模型多步去噪+双向注意力,每帧需数秒

1.4 LingBot-World的策略:三阶段渐进演化

阶段目标解决的鸿沟
Pre-Training建立通用视频先验能力鸿沟的基础
Middle-Training注入世界知识+长期动态+交互控制能力鸿沟+交互鸿沟
Post-Training因果架构适配+少步蒸馏效率鸿沟

二、模型架构

2.1 DiT扩散Transformer基座

LingBot-World基于**DiT(Diffusion Transformer)**架构,将扩散模型与Transformer结合。

2.1.1 Flow Matching框架

给定数据样本 x1x_1x1​(目标视频潜表示)和噪声 ϵ∼N(0,I)\epsilon \sim \mathcal{N}(0, I)ϵ∼N(0,I),Flow Matching定义线性插值路径:

z(s)=(1−s)ϵ+s⋅x1,s∈[0,1]z^{(s)} = (1 - s)\epsilon + s \cdot x_1, \quad s \in [0, 1]z(s)=(1−s)ϵ+s⋅x1​,s∈[0,1]

真实速度场为:

z˙(s)=x1−ϵ\dot{z}^{(s)} = x_1 - \epsilonz˙(s)=x1​−ϵ

模型学习预测向量场 vθv_\thetavθ​,训练目标:

LFM=Es,ϵ,x1[∥vθ(z(s),s,c)−(x1−ϵ)∥2]\mathcal{L}_{\text{FM}} = \mathbb{E}_{s, \epsilon, x_1} \left[ \left\| v_\theta(z^{(s)}, s, c) - (x_1 - \epsilon) \right\|^2 \right]LFM​=Es,ϵ,x1​​[​vθ​(z(s),s,c)−(x1​−ϵ)​2]

推理时通过ODE积分:

x1=ϵ+∫01vθ(z(s),s,c) dsx_1 = \epsilon + \int_0^1 v_\theta(z^{(s)}, s, c) \, dsx1​=ϵ+∫01​vθ​(z(s),s,c)ds

设计原理:Flow Matching相比DDPM,训练目标更简洁(直接回归速度场而非噪声),生成路径更直(Linear Interpolation),支持更少的采样步骤,且训练稳定性更好。

2.1.2 潜空间操作

通过预训练因果视频VAE将视觉观测编码为紧凑潜表示:

zt=E(ot∣o<t)z_t = E(o_t | o_{<t})zt​=E(ot​∣o<t​)

生成在潜空间中进行,最终通过VAE解码器恢复像素:

o^t=D(zt)\hat{o}_t = D(z_t)o^t​=D(zt​)

设计原理:潜空间操作将高维像素空间(H×W×3H \times W \times 3H×W×3)压缩到低维潜空间,显著降低扩散模型的计算和存储开销。因果VAE编码器确保编码过程是时间因果的。

2.2 基座选择:Wan2.2 14B I2V

LingBot-World选择Wan2.2 14B Image-to-Video作为基座:

选择理由说明
参数规模适中14B在视频生成领域"够大又不至于无法训练"
时空一致性优化专门针对复杂时空一致性优化,物体持久性和运动连贯性优秀
MoE架构预留已采用MoE架构,便于后续扩展到28B参数

2.3 MoE双专家架构(28B参数)

在Middle-Training阶段,将14B基座扩展为28B参数的双专家MoE模型:

路由机制:给定输入token h\mathbf{h}h,路由器根据噪声水平 sss 选择专家:

Expert(h,s)={Ehigh(h)if s>sthreshold(High-Noise Expert)Elow(h)if s≤sthreshold(Low-Noise Expert)\text{Expert}(\mathbf{h}, s) = \begin{cases} E_{\text{high}}(\mathbf{h}) & \text{if } s > s_{\text{threshold}} \quad \text{(High-Noise Expert)} \\ E_{\text{low}}(\mathbf{h}) & \text{if } s \leq s_{\text{threshold}} \quad \text{(Low-Noise Expert)} \end{cases}Expert(h,s)={Ehigh​(h)Elow​(h)​if s>sthreshold​(High-Noise Expert)if s≤sthreshold​(Low-Noise Expert)​

Expert职责设计原理
High-Noise Expert处理高噪声阶段(s→0s \to 0s→0),负责全局结构和粗粒度布局高噪声阶段需要"大局观"——确定场景整体构图、物体位置、运动方向
Low-Noise Expert处理低噪声阶段(s→1s \to 1s→1),负责细粒度纹理和时空细节低噪声阶段需要"精雕细琢"——渲染细节纹理、光影效果、时序连贯性

推理效率:每步只激活一个Expert,计算量仍为14B级别。总参数28B但实际推理成本不翻倍。

2.4 动作条件注入机制

2.4.1 动作表示

用户的键盘和鼠标操作是离散+连续的混合体:

at=[pt⏟Plu¨cker Embedding⊕kt⏟Multi-hot Vector]a_t = [\underbrace{\mathbf{p}_t}_{\text{Plücker Embedding}} \oplus \underbrace{\mathbf{k}_t}_{\text{Multi-hot Vector}}]at​=[Plu¨cker Embeddingpt​​​⊕Multi-hot Vectorkt​​​]

  • 连续旋转信号 pt\mathbf{p}_tpt​:使用Plücker Embedding编码3D相机旋转

    p=[d×m,d]∈R6\mathbf{p} = [\mathbf{d} \times \mathbf{m}, \mathbf{d}] \in \mathbb{R}^6p=[d×m,d]∈R6

    其中 d\mathbf{d}d 是旋转轴方向,m\mathbf{m}m 是力矩向量,×\times× 是叉积。

  • 离散按键信号 kt\mathbf{k}_tkt​:使用Multi-hot Vector编码WASD等按键

  • 两者在通道维度拼接:⊕\oplus⊕ 表示concatenation

设计原理:Plücker坐标是3D旋转的最小冗余参数化——6个参数完整表示3D旋转,无奇点问题,相比四元数(4参数,需单位约束)或欧拉角(3参数,有万向锁问题)更适合神经网络处理。

2.4.2 AdaLN注入方式

通过**自适应层归一化(Adaptive Layer Normalization)**将动作信号注入DiT block:

h′=γ(at)⊙LayerNorm(h)+β(at)\mathbf{h}' = \gamma(a_t) \odot \text{LayerNorm}(\mathbf{h}) + \beta(a_t)h′=γ(at​)⊙LayerNorm(h)+β(at​)

其中 γ(at)\gamma(a_t)γ(at​) 和 β(at)\beta(a_t)β(at​) 是由动作信号 ata_tat​ 通过MLP生成的scale和shift参数。

设计原理:AdaLN的设计哲学是**“引导"而非"接管”**——

  • 直接拼接/Cross-Attention:动作信号直接参与特征计算,可能破坏预训练好的视觉先验
  • AdaLN:动作信号只通过scale和shift调制已有特征,不改变特征的方向,只调节其强度和偏移
  • 这确保了动作控制能力与视频生成质量解耦——学习控制时不影响视觉质量

2.5 因果架构适配(Post-Training)

2.5.1 从双向到因果的架构改造

Middle-Training产出的模型使用双向注意力(必须看到全部帧才能生成),注意力计算为:

Attnbidirectional(Q,K,V)=softmax(QKTdk)V\text{Attn}_{\text{bidirectional}}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) VAttnbidirectional​(Q,K,V)=softmax(dk​​QKT​)V

Post-Training将其改造为因果注意力:

Attncausal(Q,K,V)=softmax(QKTdk⊙Mcausal)V\text{Attn}_{\text{causal}}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}} \odot M_{\text{causal}}\right) VAttncausal​(Q,K,V)=softmax(dk​​QKT​⊙Mcausal​)V

其中 McausalM_{\text{causal}}Mcausal​ 是下三角因果掩码:
Mcausal[i,j]={0if j≤i−∞if j>iM_{\text{causal}}[i, j] = \begin{cases} 0 & \text{if } j \leq i \\ -\infty & \text{if } j > i \end{cases}Mcausal​[i,j]={0−∞​if j≤iif j>i​

保留策略:帧内注意力保持双向,仅帧间改为因果。这样帧内生成质量不受影响,而帧间的因果性确保可以自回归推理。

2.5.2 初始化策略

从MoE模型中取出High-Noise Expert初始化因果学生模型。

选择High-Noise Expert的原因:实验证明High-Noise Expert在动态建模方面明显更强——它在训练中负责从高噪声(s≈0s \approx 0s≈0)中恢复全局运动结构:

vhigh(z(s),s≈0,c)≈x1−ϵv_{\text{high}}(z^{(s)}, s \approx 0, c) \approx x_1 - \epsilonvhigh​(z(s),s≈0,c)≈x1​−ϵ

此时 z(s)≈ϵz^{(s)} \approx \epsilonz(s)≈ϵ,几乎无视觉信息,Expert必须仅凭条件 ccc 推断场景的整体运动方向——这恰好是交互式世界模型最需要的全局动态规划能力。

2.5.3 KV-Cache自回归推理

引入KV-Cache实现增量计算:自回归推理中,第 ttt 步只需计算新token的Query与缓存的所有历史Key/Value的注意力,历史部分无需重复计算。

2.6 少步蒸馏

标准Flow Matching推理需要50步ODE积分,LingBot-World通过蒸馏缩减至4-8步:

教师模型:双向MoE模型,多步去噪生成高质量视频

学生模型:因果模型,少步去噪逼近教师质量

蒸馏损失:

Ldistill=E[∥vstudent(z(s),s,c)−vteacher(z(s),s,c)∥2]\mathcal{L}_{\text{distill}} = \mathbb{E}\left[\left\| v_{\text{student}}(z^{(s)}, s, c) - v_{\text{teacher}}(z^{(s)}, s, c) \right\|^2\right]Ldistill​=E[​vstudent​(z(s),s,c)−vteacher​(z(s),s,c)​2]

最终推理性能:

指标数值
帧率16 fps @ 480×832480 \times 832480×832
延迟< 1秒端到端
自回归支持无限续写

三、数据处理

3.1 数据引擎三阶段架构

LingBot-World将数据引擎构建为三阶段统一流水线:

Raw Data→CollectionCollected Data→AnalysisFiltered Data→CaptioningTraining Data\text{Raw Data} \xrightarrow{\text{Collection}} \text{Collected Data} \xrightarrow{\text{Analysis}} \text{Filtered Data} \xrightarrow{\text{Captioning}} \text{Training Data}Raw DataCollection​Collected DataAnalysis​Filtered DataCaptioning​Training Data

3.2 数据采集(Data Collection)

3.2.1 通用视频筛选器

从内部和开源数据中筛选符合训练目标的高价值样本。筛选函数:

score(v)=w1⋅diversity(v)+w2⋅quality(v)+w3⋅motion(v)\text{score}(v) = w_1 \cdot \text{diversity}(v) + w_2 \cdot \text{quality}(v) + w_3 \cdot \text{motion}(v)score(v)=w1​⋅diversity(v)+w2​⋅quality(v)+w3​⋅motion(v)

优先考虑多样化世界探索的视频内容,涵盖不同视角和运动类型。

相关数据集/来源:

数据集地址
Ego4D(第一人称)https://ego4d-data.org/
OpenX-Embodimenthttps://github.com/google-deepmind/open_x_embodiment
H2Ohttps://taohuumlab.github.io/H2O/
3.2.2 游戏数据采集平台

采集策略分四大类:

类别子类别采集目的
导航自由导航、循环漫游、过渡导航覆盖一般移动模式
观光场景细节检查、地标旋转多视角一致性
长尾场景静止观察(360°旋转)、后退导航罕见但关键的数据分布
世界交互局部动作(拾取/开门)、重大事件(战斗/破坏)因果性的智能体-环境关系
3.2.3 合成渲染管线(Unreal Engine)

利用**虚幻引擎(UE)**生成可扩展合成数据集。

轨迹生成采用两种模式:

模式1:程序化路径生成

几何图案合成的轨迹由结构化参数生成:

Trect(t)=p0+d1⋅(tmod  L1)+d2⋅⌊tL1⌋\mathbf{T}_{\text{rect}}(t) = \mathbf{p}_0 + \mathbf{d}_1 \cdot (t \mod L_1) + \mathbf{d}_2 \cdot \left\lfloor \frac{t}{L_1} \right\rfloorTrect​(t)=p0​+d1​⋅(tmodL1​)+d2​⋅⌊L1​t​⌋

360°旋转轨迹:

Trot(t)=c+r⋅[cos⁡(ωt),sin⁡(ωt),0]\mathbf{T}_{\text{rot}}(t) = \mathbf{c} + r \cdot [\cos(\omega t), \sin(\omega t), 0]Trot​(t)=c+r⋅[cos(ωt),sin(ωt),0]

其中 c\mathbf{c}c 是旋转中心,rrr 是半径,ω\omegaω 是角速度。

多点插值:

Tspline(t)=∑iBi(t)⋅Pi\mathbf{T}_{\text{spline}}(t) = \sum_i B_i(t) \cdot \mathbf{P}_iTspline​(t)=i∑​Bi​(t)⋅Pi​

其中 Bi(t)B_i(t)Bi​(t) 是B样条基函数,Pi\mathbf{P}_iPi​ 是控制点。

模式2:真实世界轨迹导入——将物理设备捕获的路径直接映射到UE中。

碰撞检测:每条轨迹经过严格碰撞检测后确认:

valid(T)={Trueif ∀t:dist(T(t),mesh)>δmin⁡Falseotherwise\text{valid}(\mathbf{T}) = \begin{cases} \text{True} & \text{if } \forall t: \text{dist}(\mathbf{T}(t), \text{mesh}) > \delta_{\min} \\ \text{False} & \text{otherwise} \end{cases}valid(T)={TrueFalse​if ∀t:dist(T(t),mesh)>δmin​otherwise​

工具/引擎地址
Unreal Enginehttps://www.unrealengine.com/
Habitat-Simhttps://github.com/facebookresearch/habitat-sim

3.3 数据分析(Data Analysis)

3.3.1 基本过滤与时间分割
  • 提取视频时长、分辨率、文件大小等基本属性
  • 剔除分辨率不足或时长不够的视频
  • 利用Koala切片算法 + TransNetV2分割视频
工具地址
TransNetV2https://github.com/soCzech/TransNetV2
3.3.2 语义分析

使用VLM提取过滤属性,并为普通视频生成相机姿态伪标签:

P^t,K^t=MegaSAM(ot)\hat{P}_t, \hat{K}_t = \text{MegaSAM}(o_t)P^t​,K^t​=MegaSAM(ot​)

其中 P^t∈SE(3)\hat{P}_t \in SE(3)P^t​∈SE(3) 是估计的相机位姿,K^t\hat{K}_tK^t​ 是内参矩阵。

工具地址
MegaSAMhttps://github.com/mega-sam/mega-sam

3.4 数据标注(分层Caption策略)

使用VLM为语料库生成三层语义描述:

标注层描述作用
综合叙事性描述Cnarr=VLM(V,"描述整个视频")C_{\text{narr}} = \text{VLM}(\mathcal{V}, \text{"描述整个视频"})Cnarr​=VLM(V,"描述整个视频")全局语义提示
场景静态描述Cstatic=VLM(V,"只描述场景,忽略运动")C_{\text{static}} = \text{VLM}(\mathcal{V}, \text{"只描述场景,忽略运动"})Cstatic​=VLM(V,"只描述场景,忽略运动")动作-场景解耦
密集时间性描述Cdense={c1,c2,…}C_{\text{dense}} = \{c_1, c_2, \ldots\}Cdense​={c1​,c2​,…}, ci=VLM(V[ti:ti+1])c_i = \text{VLM}(\mathcal{V}_{[t_i:t_{i+1}]})ci​=VLM(V[ti​:ti+1​]​)时间对齐训练

设计原理:三层描述的核心思想是将"内容(what)"和"运动(how)"语义解耦:

  • 场景静态描述只描述"画面里有什么",刻意省略镜头运动和角色动作
  • 这确保文本prompt不会泄露动作信息——模型必须依赖动作信号 ata_tat​ 来控制运动,而非从文本中"偷看"
  • 如果描述中包含"镜头向右移动",模型可能学会只从文本推断运动,忽略真正的动作输入

四、训练方案:三阶段渐进式演化

4.1 第一阶段:Pre-Training(建立通用视频先验)

目标:对自然视频序列的无条件分布建模,建立视觉动态的通用先验。

min⁡θE[LFM(vθ)]\min_\theta \mathbb{E}\left[\mathcal{L}_{\text{FM}}(v_\theta)\right]θmin​E[LFM​(vθ​)]

做法:直接使用Wan2.2 14B I2V预训练模型作为基座,不做任何额外训练。

模型能力画像:

✅ 能做❌ 不能做
生成5秒高质量开放域视频接受用户动作控制
物体纹理和场景结构合理保持分钟级记忆
实时交互

设计原理:"先学会看世界,再学怎么和世界互动。"强大的视觉生成基础是世界模型的必要前提——如果一个模型连5秒视频都生成不好,不可能做好分钟级的世界模拟。

4.2 第二阶段:Middle-Training(注入世界知识与交互控制)

4.2.1 基础世界模型:让模型学会"记忆"

架构:扩展为28B双专家MoE模型。

核心技术1:渐进式课程训练(Progressive Curriculum Training)

Ttrain(e)={5se∈[0,E1)10se∈[E1,E2)30se∈[E2,E3)60se∈[E3,E4)T_{\text{train}}^{(e)} = \begin{cases} 5\text{s} & e \in [0, E_1) \\ 10\text{s} & e \in [E_1, E_2) \\ 30\text{s} & e \in [E_2, E_3) \\ 60\text{s} & e \in [E_3, E_4) \end{cases}Ttrain(e)​=⎩⎨⎧​5s10s30s60s​e∈[0,E1​)e∈[E1​,E2​)e∈[E2​,E3​)e∈[E3​,E4​)​

设计原理:不是简单的"加长"训练序列,而是让模型逐步适应越来越长的时间跨度。当训练序列足够长时,模型必须学会在60秒内保持场景结构稳定,这自发涌现出空间记忆能力——能"记住"视野外的场景状态,绕一圈回来时场景依然合理。

核心技术2:多任务训练

同时训练两种能力,统一目标函数:

Lmulti=λi2v⋅Li2v+λv2v⋅Lv2v\mathcal{L}_{\text{multi}} = \lambda_{\text{i2v}} \cdot \mathcal{L}_{\text{i2v}} + \lambda_{\text{v2v}} \cdot \mathcal{L}_{\text{v2v}}Lmulti​=λi2v​⋅Li2v​+λv2v​⋅Lv2v​

  • Image-to-Video (I2V):从单帧 →\to→ 预测未来,条件 c={x0,l}c = \{x_0, l\}c={x0​,l}
  • Video-to-Video (V2V):从历史序列 →\to→ 外推未来,条件 c={x≤t,l}c = \{x_{\leq t}, l\}c={x≤t​,l}

设计原理:I2V让模型学会"从任意初始状态启动",V2V让模型学会"从任意历史续写"。两者合在一起实现**“任意初始状态都能续写”**——交互式世界模型在任意时刻都应能基于当前状态继续生成。

核心技术3:Flow Shift缩放

标准Flow Matching对所有timestep均匀采样 s∼U(0,1)s \sim \mathcal{U}(0, 1)s∼U(0,1)。LingBot-World引入Flow Shift参数 σ\sigmaσ,将采样分布偏向高噪声timestep:

s∼ShiftedUniform(0,1;σ),偏向 s≈0s \sim \text{ShiftedUniform}(0, 1; \sigma), \quad \text{偏向 } s \approx 0s∼ShiftedUniform(0,1;σ),偏向 s≈0

且 σ\sigmaσ 随视频时长渐进增加:

σ(Ttrain)=σ0+α⋅log⁡(TtrainT0)\sigma(T_{\text{train}}) = \sigma_0 + \alpha \cdot \log\left(\frac{T_{\text{train}}}{T_0}\right)σ(Ttrain​)=σ0​+α⋅log(T0​Ttrain​​)

设计原理:长视频生成需要更多"全局规划"时间(高噪声阶段 s≈0s \approx 0s≈0)来确定场景整体布局和运动方向。短视频则可更多"细节打磨"时间(低噪声阶段 s≈1s \approx 1s≈1)。Flow Shift随长度动态调整这一比例,显著提升长视频的场景稳定性。

4.2.2 动作条件世界模型:让模型学会"听指挥"

关键设计:冻结DiT主干 + 只训Action Adapter

θDiT←frozen,θadapter←trainable\theta_{\text{DiT}} \leftarrow \text{frozen}, \quad \theta_{\text{adapter}} \leftarrow \text{trainable}θDiT​←frozen,θadapter​←trainable

可训练参数包括:动作嵌入投影层 + AdaLN的 γ,β\gamma, \betaγ,β 参数。

总损失:

Laction=E[∥vθ(z(s),s,c,at)−(x1−ϵ)∥2]\mathcal{L}_{\text{action}} = \mathbb{E}\left[\left\| v_\theta(z^{(s)}, s, c, a_t) - (x_1 - \epsilon) \right\|^2\right]Laction​=E[​vθ​(z(s),s,c,at​)−(x1​−ϵ)​2]

设计原理:

  1. 解耦视频生成和动作控制:冻结主干确保学习动作注入时不破坏已有的视觉生成质量
  2. 防止灾难性遗忘:高质量动作标注数据稀缺(主要来自合成游戏数据),全量微调极易把"好看的视频生成"学没了,只学会粗糙的动作响应
  3. 参数高效:只新增极少量参数,不增加推理负担
4.2.3 并行基础设施

28B参数 × 60秒视频的训练需要分布式策略:

FSDP2(全分片数据并行):

模型参数、梯度、优化器状态均匀分片到 NNN 个GPU:

Parami=Shard(θ,i,N),i∈{0,1,…,N−1}\text{Param}_i = \text{Shard}(\theta, i, N), \quad i \in \{0, 1, \ldots, N-1\}Parami​=Shard(θ,i,N),i∈{0,1,…,N−1}

每张卡只存储 1N\frac{1}{N}N1​ 的参数,通信与计算重叠。

Ulysses Context Parallel:

沿序列维度切分输入,通过All-to-All通信:

Attn(Qi,Ki,Vi)→All-to-AllAttn(Qi,Kall,Vall)\text{Attn}(Q_i, K_i, V_i) \xrightarrow{\text{All-to-All}} \text{Attn}(Q_i, K_{\text{all}}, V_{\text{all}})Attn(Qi​,Ki​,Vi​)All-to-All​Attn(Qi​,Kall​,Vall​)

每张卡只计算自己那部分的注意力,解决长序列激活值显存爆炸。

4.3 第三阶段:Post-Training(因果适配与实时推理)

4.3.1 因果架构适配
设计点方案
初始化从MoE取High-Noise Expert初始化因果学生
注意力改造帧间 →\to→ 因果mask,帧内保留双向attention
自回归推理KV-Cache增量计算
去噪步骤通过蒸馏从50步减至4-8步

蒸馏损失:

Ldistill=Es,ϵ[∑i=1Sfew∥vcausal(z(si),si,c)−vbidir(z(si),si,c)∥2]\mathcal{L}_{\text{distill}} = \mathbb{E}_{s, \epsilon}\left[\sum_{i=1}^{S_{\text{few}}} \left\| v_{\text{causal}}(z^{(s_i)}, s_i, c) - v_{\text{bidir}}(z^{(s_i)}, s_i, c) \right\|^2\right]Ldistill​=Es,ϵ​[i=1∑Sfew​​​vcausal​(z(si​),si​,c)−vbidir​(z(si​),si​,c)​2]

其中 Sfew={s1,s2,…,sS}S_{\text{few}} = \{s_1, s_2, \ldots, s_{S}\}Sfew​={s1​,s2​,…,sS​},S∈{4,8}S \in \{4, 8\}S∈{4,8} 是少步采样的timestep集合。


五、核心能力与涌现特性

5.1 超长时序稳定生成

近10分钟连续稳定生成(16fps = 9600帧)。第9600帧仍能"记住"第1帧的场景——空间记忆涌现。

镜头移开 Δt\Delta tΔt 秒后转回,场景物体仍存在且结构一致:

一致性(scene0,sceneΔt)≈一致,Δt≤60s\text{一致性}(\text{scene}_0, \text{scene}_{\Delta t}) \approx \text{一致}, \quad \Delta t \leq 60\text{s}一致性(scene0​,sceneΔt​)≈一致,Δt≤60s

5.2 实时交互

16fps @ 480×832480 \times 832480×832,端到端延迟 < 1秒。

5.3 Zero-shot泛化

输入任意图片 x0x_0x0​,模型即可将其"变活":

{xt}t=1T∼pθ(⋅∣x0,{at},l)\{x_t\}_{t=1}^T \sim p_\theta(\cdot | x_0, \{a_t\}, l){xt​}t=1T​∼pθ​(⋅∣x0​,{at​},l)

5.4 文本驱动世界事件

自然语言触发场景变化(如"让天气变成下雪"),变化中几何关系保持一致——模型理解"内容"和"风格"的解耦:

xt+1∼pθ(⋅∣x≤t,a≤t,lsnow)x_{t+1} \sim p_\theta(\cdot | x_{\leq t}, a_{\leq t}, l_{\text{snow}})xt+1​∼pθ​(⋅∣x≤t​,a≤t​,lsnow​)

5.5 涌现的物理约束

  • 动态屏外记忆:对离开画面的对象持续记忆并推断屏外行为
  • 物理碰撞:执行真实碰撞动力学,防止"穿模"

六、推理部署

6.1 模型变体

变体说明
LingBot-World-Base-Cam基础模型 + 相机控制(WASD + 鼠标)
LingBot-World-Base-Act基础模型 + 动作控制(更通用动作空间)

6.2 关键推理参数

参数说明
--task i2v-A14B任务类型(I2V,基于A14B架构)
--size分辨率(480×832480 \times 832480×832 / 720×1280720 \times 1280720×1280)
--frame_num生成帧数(需满足 4n+14n+14n+1,如49/161/321/961)
--ulysses_size序列并行分片数(= GPU数量)
--dit_fsdp / --t5_fsdpDiT/T5的FSDP并行
--t5_cpuT5编码器放CPU节省8-10GB显存

6.3 输入数据格式

文件格式说明
image.jpgPNG/JPG视频第一帧图像
intrinsics.npy[Nframes,4][N_{\text{frames}}, 4][Nframes​,4]相机内参 [fx,fy,cx,cy][f_x, f_y, c_x, c_y][fx​,fy​,cx​,cy​]
poses.npy[Nframes,4,4][N_{\text{frames}}, 4, 4][Nframes​,4,4]相机外参变换矩阵(OpenCV坐标系)
prompt.txt文本场景描述(可选,也可通过命令行指定)

6.4 硬件需求

配置推理最佳
GPU1-2张 RTX 4090 48GB8×A100 80GB(长视频)
显存24-48GB-
模型HuggingFace / ModelScopehttps://huggingface.co/robbyant/lingbot-world

七、局限性与未来方向

7.1 局限性

局限描述
推理成本需要企业级GPU,消费级硬件难普及
环境漂移记忆从上下文窗口涌现而非显式存储 → 长时间运行场景结构逐渐失稳
控制粗粒度仅基础导航,缺乏复杂交互和精细操控
蒸馏损失因果蒸馏为实现实时性牺牲了一定视觉保真度

7.2 未来方向

  • 扩展动作空间和物理引擎:dim⁡(A)↑\dim(\mathcal{A}) \uparrowdim(A)↑,支持更复杂交互
  • 引入显式记忆模块:MexplicitM_{\text{explicit}}Mexplicit​ 替代纯涌现记忆,提升长期稳定性
  • 消除生成漂移:实现可无限运行的稳健世界模拟
  • LingBot家族协同:Depth(感知) + VLA(决策) + World(模拟) + VA(行动)

八、与同类工作对比

特性LingBot-WorldGenie 3Mirage 2
开源✅ 完全开源❌ 闭源❌ 闭源
通用领域✅✅部分
长时序✅ ~10分钟有限有限
实时交互✅ 16fps, <1s部分部分
高动态度✅妥协妥协

九、核心技术贡献总结

  1. 三阶段渐进演化:Pre-Training→Middle-Training→Post-Training,逐步解决能力/交互/效率鸿沟
  2. MoE双专家架构:28B参数但14B推理成本,路由函数 E(h,s)E(h, s)E(h,s) 按噪声水平选择专家
  3. 渐进式课程训练:TtrainT_{\text{train}}Ttrain​ 从5s→60s递进,涌现空间记忆
  4. Flow Shift缩放:σ(T)=σ0+αlog⁡(T/T0)\sigma(T) = \sigma_0 + \alpha \log(T/T_0)σ(T)=σ0​+αlog(T/T0​),随视频时长动态调整噪声调度
  5. AdaLN动作注入:h′=γ(at)⊙LN(h)+β(at)h' = \gamma(a_t) \odot \text{LN}(h) + \beta(a_t)h′=γ(at​)⊙LN(h)+β(at​),冻结主干+只训Adapter
  6. 因果架构适配:High-Noise Expert初始化,帧间因果+帧内双向
  7. 少步蒸馏:50步→4-8步,Ldistill=E[∥vcausal−vbidir∥2]\mathcal{L}_{\text{distill}} = \mathbb{E}[\|v_{\text{causal}} - v_{\text{bidir}}\|^2]Ldistill​=E[∥vcausal​−vbidir​∥2]
  8. 可扩展数据引擎:通用视频+游戏数据+UE合成渲染的三源混合
  9. 三层Caption解耦:CnarrC_{\text{narr}}Cnarr​ + CstaticC_{\text{static}}Cstatic​ + CdenseC_{\text{dense}}Cdense​,语义解耦内容与运动
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐