摘要

Cosmos 3 希望用一个模型同时理解和生成语言、图像、视频、音频以及机器人动作。要做到这一点,它必须解决两个问题:

第一,不同机器人汽车人体的动作格式完全不同,怎样把它们统一起来?

第二,语言推理和视频、动作生成需要的计算方式不同,怎样把它们放进同一个 Transformer,又尽量避免互相干扰?

Cosmos 3 对第一个问题给出的答案是“统一动作接口”:把各种原始控制信号转换为

  • 主体位姿
  • 末端位姿
  • 抓取状态

对第二个问题,它使用 Mixture-of-Transformers,也就是 MoT:让推理 Transformer 和生成 Transformer 拥有不同参数,但在注意力计算中交流信息。

本文将依次解释:

  1. Cosmos 3 的统一动作接口;
  2. Transformer 的基本数学原理;
  3. Dense、MoE 和 MoT 三种架构;
  4. 什么是梯度冲突;
  5. 为什么 MoE 仍有冲突;
  6. 为什么 MoT 也没有完全消除冲突;
  7. MoT 到底改善了什么;
  8. BAGEL、Cosmos 3、UWM、EO-1、RT-2 和 OpenVLA 分别采用什么架构;
  9. 如何正确理解这些模型的性能差异。

第一部分:Cosmos 3 为什么需要统一动作接口

1. 不同机器的“动作”并不是同一种东西

汽车的控制信号可能包括:

  • 方向盘转角;
  • 油门;
  • 制动。

机械臂的控制信号可能包括:

  • 六个或七个关节角;
  • 关节速度;
  • 夹爪开合。

人形机器人可能有几十个关节。

人的第一视角视频甚至可能没有任何电机指令,只有头部、手腕和手指在空间中的运动。

因此,原始动作向量既可能长度不同,也可能含义不同。例如两个系统都输出第一个数字:

  • 汽车的第一个数字可能表示转向;
  • 机械臂的第一个数字可能表示肩关节角;
  • 灵巧手的第一个数字可能表示拇指关节。

直接让同一个模型学习这些向量,模型很难知道不同数字之间有什么共同规律。

Cosmos 3 的解决办法是,不直接统一底层电机命令,而是统一动作的几何意义:

统一动作=主体位姿+末端位姿+抓取状态 \text{统一动作}=\text{主体位姿}+\text{末端位姿}+\text{抓取状态} 统一动作=主体位姿+末端位姿+抓取状态

这三部分分别回答:

  • 整个主体怎样运动?
  • 手、夹爪或工具怎样运动?
  • 手或夹爪处于什么状态?

Cosmos 3 的技术报告把汽车、相机、机械臂、人体手部和机器人动作映射为这些共享几何组件。


第二部分:统一动作接口的三个组成部分

2. 主体位姿 Ego Pose

主体位姿表示机器人、汽车、人体头部或者主相机的运动。

它由三维平移六维旋转表示组成:

et=[Δx,Δy,Δz,r6D]∈R9 \mathbf e_t=[\Delta x,\Delta y,\Delta z,\mathbf r_{6D}]\in\mathbb R^9 et=[Δx,Δy,Δz,r6D]R9

前三个数字表示:

Δp=[Δx,Δy,Δz] \Delta\mathbf p=[\Delta x,\Delta y,\Delta z] Δp=[Δx,Δy,Δz]

例如:

  • Δx\Delta xΔx 表示左右移动;
  • Δy\Delta yΔy 表示前后移动;
  • Δz\Delta zΔz 表示上下移动。

后六个数字描述旋转,因此总维度是:

3+6=9 3+6=9 3+6=9

汽车或移动相机通常只需要主体位姿,所以动作可以是一个九维向量


3. 末端位姿 Effector Pose

末端执行器是实际接触和操作物体的部分,例如:

  • 机械臂夹爪;
  • 人的手腕;
  • 焊枪末端;
  • 吸盘;
  • 手术器械。

它也使用九维表示:

ft=[Δxf,Δyf,Δzf,rf,6D]∈R9 \mathbf f_t=[\Delta x_f,\Delta y_f,\Delta z_f,\mathbf r_{f,6D}]\in\mathbb R^9 ft=[Δxf,Δyf,Δzf,rf,6D]R9

这种表示的重要意义在于:

两台机械臂即使关节数量不同,只要都要让夹爪向前移动五厘米,它们就可以使用相近的统一动作。

不同机械臂的关节角可能完全不同,但末端在空间中的运动可以相同。


4. 抓取状态 Grasp State

4.1 普通夹爪

普通二指夹爪可以使用一个数字:

gt∈R g_t\in\mathbb R gtR

例如可以规定:

gt=0 g_t=0 gt=0

表示完全打开,而:

gt=1 g_t=1 gt=1

表示完全闭合。

也可以使用连续开口宽度。

因此单臂机器人的统一动作通常是:

9+1=10 9+1=10 9+1=10

也就是九维末端位姿加一维夹爪状态。

4.2 人手或灵巧手

人的手不能只用“开”或“关”描述,因此可以记录五个手指的三维位置:

ht=[pthumb,pindex,pmiddle,pring,plittle]∈R15 \mathbf h_t= [\mathbf p_{\mathrm{thumb}}, \mathbf p_{\mathrm{index}}, \mathbf p_{\mathrm{middle}}, \mathbf p_{\mathrm{ring}}, \mathbf p_{\mathrm{little}}] \in\mathbb R^{15} ht=[pthumb,pindex,pmiddle,pring,plittle]R15

每根手指有三个坐标,五根手指共有:

5×3=15 5\times3=15 5×3=15

这种表示能够大致区分:

  • 张开手;
  • 握住物体;
  • 拇指和食指捏取;
  • 手指靠近或分离。

但它仍不是完整的手部关节和触觉模型。


第三部分:为什么使用相对位姿

5. 绝对坐标的问题

假设同一个“抓杯子”动作分别发生在两个房间:

  • 第一个杯子位于世界坐标 x=1x=1x=1 米处;
  • 第二个杯子位于世界坐标 x=10x=10x=10 米处。

如果记录绝对坐标,两次动作看起来差别很大。

但如果只记录机械臂从上一帧到下一帧的移动,例如“向前移动五厘米”,它们就很相似。

因此 Cosmos 3 主要使用相邻时刻之间的相对位姿。

设时刻 t−1t-1t1 的位姿为:

Tt−1 T_{t-1} Tt1

时刻 ttt 的位姿为:

Tt T_t Tt

相对运动为:

ΔTt=Tt−1−1Tt \Delta T_t=T_{t-1}^{-1}T_t ΔTt=Tt11Tt

这里可以把 TTT 理解成一个同时保存位置和方向的表格:

T=[Rp01] T= \begin{bmatrix} R&p\\ 0&1 \end{bmatrix} T=[R0p1]

其中:

  • RRR 是旋转矩阵;
  • ppp 是位置向量。

相对表示的优点包括:

  1. 不依赖机器人位于房间的具体位置;
  2. 同一种运动可以跨环境复用;
  3. 数值通常较小,模型更容易学习;
  4. 与视频相邻帧之间的变化天然对应。

6. 什么是 pseudo-action

很多视频数据没有保存真正的控制指令,但保存了每一帧的相机或手部位姿。

此时可以计算:

Tt−1,Tt⟶ΔTt T_{t-1},T_t\longrightarrow\Delta T_t Tt1,TtΔTt

由状态变化推测出“发生了什么运动”。

这种由前后状态差分得到的动作叫作 pseudo-action,也就是“伪动作”

它描述的是:

最终实际发生了怎样的运动。

它不一定等于控制器最初发送的命令。

例如控制器可能发送“电机电流增大”,但统一接口记录的是“夹爪最终向前移动了三厘米”。


第四部分:为什么旋转使用六个数字

7. 三维旋转为什么不直接用三个角

最直观的做法是用三个欧拉角:

  • xxx 轴旋转;
  • yyy 轴旋转;
  • zzz 轴旋转。

但欧拉角存在角度跳变和万向节锁等问题。

例如:

179∘ 179^\circ 179

和:

−179∘ -179^\circ 179

在空间中非常接近,但数字上相差:

358∘ 358^\circ 358

神经网络会误以为它们差异很大。

因此模型常用六维连续旋转表示。

8. 六维旋转表示

三维旋转矩阵可以写成三列:

R=[r1 r2 r3] R=[\mathbf r_1\ \mathbf r_2\ \mathbf r_3] R=[r1 r2 r3]

每一列都是一个三维向量。

可以先预测前两列:

r6D=[a1,a2] \mathbf r_{6D}=[\mathbf a_1,\mathbf a_2] r6D=[a1,a2]

共六个数字。

然后把第一列归一化:

b1=a1∥a1∥ \mathbf b_1=\frac{\mathbf a_1}{\|\mathbf a_1\|} b1=a1a1

从第二列中减去与第一列平行的部分:

b~2=a2−(b1⊤a2)b1 \widetilde{\mathbf b}_2=\mathbf a_2-(\mathbf b_1^\top\mathbf a_2)\mathbf b_1 b 2=a2(b1a2)b1

再归一化:

b2=b~2∥b~2∥ \mathbf b_2=\frac{\widetilde{\mathbf b}_2}{\|\widetilde{\mathbf b}_2\|} b2=b 2b 2

第三列由叉乘得到:

b3=b1×b2 \mathbf b_3=\mathbf b_1\times\mathbf b_2 b3=b1×b2

最后恢复旋转矩阵:

R=[b1 b2 b3] R=[\mathbf b_1\ \mathbf b_2\ \mathbf b_3] R=[b1 b2 b3]

这里的六维不是说物体有六个旋转自由度,而是:

用六个连续数字稳定地编码一个三维旋转。

实际系统也可以使用奇异值分解,把预测矩阵投影到合法旋转矩阵集合中;Cosmos 3 报告采用了这种正交化思想。


第五部分:不同具身系统的动作维度

9. 常见组合

自动驾驶车辆或移动相机:

9 9 9

单臂机器人:

9+1=10 9+1=10 9+1=10

双臂机器人:

(9+1)+(9+1)=20 (9+1)+(9+1)=20 (9+1)+(9+1)=20

第一视角人体动作:

9+9+15+9+15=57 9+9+15+9+15=57 9+9+15+9+15=57

分别表示:

  • 头部或相机九维主体位姿;
  • 左手腕九维位姿;
  • 左手十五维手指状态;
  • 右手腕九维位姿;
  • 右手十五维手指状态。

人形机器人如果有主体、两个末端和两个普通夹爪:

9+9+1+9+1=29 9+9+1+9+1=29 9+9+1+9+1=29

因此“统一接口”不一定表示所有动作向量长度完全相同。

它统一的是:

  • 组件类型;
  • 几何意义;
  • 时间对应关系;
  • 输入输出处理方法。

第六部分:不同长度如何进入同一个模型

10. 领域专属输入投影

假设第 kkk 类机器人动作维度是:

xt(k)∈Rdk \mathbf x_t^{(k)}\in\mathbb R^{d_k} xt(k)Rdk

不同系统的 dkd_kdk 可以不同。

模型使用一个领域专属投影矩阵:

zt=Win(k)xt(k)+bin(k) \mathbf z_t=\mathbf W_{\mathrm{in}}^{(k)}\mathbf x_t^{(k)}+\mathbf b_{\mathrm{in}}^{(k)} zt=Win(k)xt(k)+bin(k)

把不同维度都转换成同样长度的隐藏向量。

例如:

  • 十维单臂动作投影到四千维;
  • 二十维双臂动作也投影到四千维;
  • 五十七维人体动作仍投影到四千维。

经过共享模型后,再用领域专属输出层还原:

x^t(k)=Wout(k)zt+bout(k) \widehat{\mathbf x}_t^{(k)} =\mathbf W_{\mathrm{out}}^{(k)}\mathbf z_t+\mathbf b_{\mathrm{out}}^{(k)} x t(k)=Wout(k)zt+bout(k)

可以把它理解为不同语言之间的翻译器:

原始动作
   ↓
领域输入翻译器
   ↓
统一隐藏语言
   ↓
世界模型
   ↓
领域输出翻译器
   ↓
目标动作

第七部分:统一动作支持什么任务

11. 正向动力学

给定当前画面和动作,预测未来:

p(vt+1:t+H∣v≤t,at:t+H−1) p(v_{t+1:t+H}\mid v_{\leq t},a_{t:t+H-1}) p(vt+1:t+Hvt,at:t+H1)

例如:

如果夹爪向下移动并闭合,未来视频中会不会抓住杯子?

12. 逆向动力学

给定动作前后的画面,推断中间动作:

p(at∣vt−1,vt) p(a_t\mid v_{t-1},v_t) p(atvt1,vt)

例如:

从人拿起杯子的视频中,推测手腕怎样移动、手指何时闭合。

13. 策略生成

给定画面和语言任务,输出动作:

p(at:t+H−1∣v≤t,instruction) p(a_{t:t+H-1}\mid v_{\leq t},\text{instruction}) p(at:t+H1vt,instruction)

例如:

根据桌面图片和“把红色积木放进盒子”,生成夹爪运动轨迹。

Cosmos 3 的官方资料将动作建模能力概括为策略、正向动力学和逆向动力学,并让 Reasoner 负责理解和规划,让 Generator 负责视频、声音和动作生成。


第八部分:统一动作接口没有解决什么

统一几何动作不是可以直接发给电机的指令。

假设模型输出目标末端变化:

ΔT^t+1 \Delta\widehat T_{t+1} ΔT t+1

可以得到新的末端目标:

Tt+1target=TtΔT^t+1 T_{t+1}^{\mathrm{target}}=T_t\Delta\widehat T_{t+1} Tt+1target=TtΔT t+1

但还需要逆运动学:

qt+1target=IK(Tt+1target) \mathbf q_{t+1}^{\mathrm{target}} =IK(T_{t+1}^{\mathrm{target}}) qt+1target=IK(Tt+1target)

才能得到具体关节角。

而且一个末端目标可能对应很多关节姿态:

ΔT⇏唯一的 Δq \Delta T\not\Rightarrow\text{唯一的 }\Delta\mathbf q ΔT唯一的 Δq

统一动作接口没有直接统一:

  • 电机电流;
  • 关节力矩;
  • 刚度和阻尼;
  • 接触力;
  • 摩擦力;
  • 触觉;
  • 关节限制;
  • 自碰撞;
  • 通信延迟;
  • 控制频率。

所以它更像“高级动作语言”,而不是最终硬件驱动协议。


第九部分:理解 Transformer 的最少数学知识

14. Token 就是数字向量

Transformer 不直接处理汉字、图像或动作,而是先把它们转换成向量。

例如一个 token 可以表示为:

h=[h1,h2,…,hd] \mathbf h=[h_1,h_2,\ldots,h_d] h=[h1,h2,,hd]

文本、图像块和动作都可以变成这种向量。

15. Q、K、V 是什么

对每个 token,Transformer 计算三种向量:

Q=HWQ Q=HW_Q Q=HWQ

K=HWK K=HW_K K=HWK

V=HWV V=HW_V V=HWV

可以把它们理解为:

  • Query:我想找什么?
  • Key:我包含什么信息?
  • Value:如果你关注我,我提供什么内容?

两个向量的相关程度使用点积:

sij=qi⊤kj s_{ij}=\mathbf q_i^\top\mathbf k_j sij=qikj

若:

qi=[q1,q2,…,qd] \mathbf q_i=[q_1,q_2,\ldots,q_d] qi=[q1,q2,,qd]

kj=[k1,k2,…,kd] \mathbf k_j=[k_1,k_2,\ldots,k_d] kj=[k1,k2,,kd]

那么:

qi⊤kj=q1k1+q2k2+⋯+qdkd \mathbf q_i^\top\mathbf k_j =q_1k_1+q_2k_2+\cdots+q_dk_d qikj=q1k1+q2k2++qdkd

点积越大,通常表示越相关。

16. 注意力公式

标准注意力为:

Attn⁡(Q,K,V)=Softmax⁡(QK⊤d+M)V \operatorname{Attn}(Q,K,V) =\operatorname{Softmax} \left( \frac{QK^\top}{\sqrt d}+M \right)V Attn(Q,K,V)=Softmax(d QK+M)V

其中 MMM 是掩码。

因果掩码规定后面的 token 不能被前面的 token 看到,适合语言生成。

全注意力允许所有 token 相互查看,适合图像和视频去噪。

17. FFN

注意力完成信息交换后,每个 token 还会独立经过前馈网络:

FFN⁡(h)=W2σ(W1h+b1)+b2 \operatorname{FFN}(\mathbf h) =W_2\sigma(W_1\mathbf h+\mathbf b_1)+\mathbf b_2 FFN(h)=W2σ(W1h+b1)+b2

注意力更像“查找和交流”,FFN 更像“单独思考和加工”。


第十部分:三种核心架构

18. Dense 统一 Transformer

Dense 架构只有一套 Transformer 参数。

文本、图像、视频和动作都使用:

θshared \theta_{\mathrm{shared}} θshared

一层可以简写为:

Hℓ+1=Hℓ+Attn⁡θAℓ(Hℓ)+FFN⁡θFℓ(Hℓ) H^{\ell+1} =H^\ell+ \operatorname{Attn}_{\theta_A^\ell}(H^\ell) + \operatorname{FFN}_{\theta_F^\ell}(H^\ell) H+1=H+AttnθA(H)+FFNθF(H)

它的优点是:

  • 参数量小;
  • 部署简单;
  • 不同模态直接共享知识;
  • 机器人数据较少时,可以借用视觉语言知识。

缺点是:

  • 所有任务争夺同一套参数;
  • 语言和连续生成的训练目标可能互相干扰;
  • 带噪视频 token 与文本 token 的统计特征差异很大。

EO-1 使用单一 decoder-only Transformer,把图像、文本、机器人状态和带噪连续动作放进同一个共享 Backbone,再用语言头输出文字、用 flow head 输出连续动作。

UWM 则使用一个统一 Diffusion Transformer,同时处理视频 diffusion 和动作 diffusion。

RT-2 和 OpenVLA 也属于统一主干思路,但主要把动作离散化为类似语言 token,再使用自回归 Transformer 预测。turn436467view0


19. MoE:只分开 FFN

BAGEL 消融实验中的 MoE 不是普通的随机专家路由,而是按 token 类型硬路由:

  • 文本和 ViT token 进入理解 FFN;
  • VAE token 进入生成 FFN;
  • Attention 参数仍然共享。

一层可以写成:

Z=H+Attn⁡θA(H) Z=H+\operatorname{Attn}_{\theta_A}(H) Z=H+AttnθA(H)

理解 token 使用:

HU′=ZU+FFN⁡θU(ZU) H_U'=Z_U+\operatorname{FFN}_{\theta_U}(Z_U) HU=ZU+FFNθU(ZU)

生成 token 使用:

HG′=ZG+FFN⁡θG(ZG) H_G'=Z_G+\operatorname{FFN}_{\theta_G}(Z_G) HG=ZG+FFNθG(ZG)

这里:

θU≠θG \theta_U\neq\theta_G θU=θG

但注意力参数:

θA \theta_A θA

仍然只有一套。

BAGEL 论文明确说明,其 MoE 版本只复制 Qwen2.5 Block 中的 FFN;MoT 版本才复制全部可训练 Transformer 参数。turn351880view1


20. MoT:分开整个 Transformer Expert

MoT 中,理解和生成分别拥有自己的:

  • LayerNorm;
  • Q 投影;
  • K 投影;
  • V 投影;
  • Attention 输出投影;
  • FFN。

例如:

QU=HUWQ,U Q_U=H_UW_{Q,U} QU=HUWQ,U

QG=HGWQ,G Q_G=H_GW_{Q,G} QG=HGWQ,G

并且:

WQ,U≠WQ,G W_{Q,U}\neq W_{Q,G} WQ,U=WQ,G

K、V 和 FFN 也类似。

但是两套 token 可以在同一个注意力计算中相互读取。

BAGEL 使用理解 Expert 和生成 Expert,二者在每一层通过共享的多模态注意力上下文交互。

Cosmos 3 也采用 MoT,将自回归 Reasoner 和 diffusion Generator 组合起来。turn436467view2


第十一部分:什么是梯度

21. 从一个简单函数开始

假设模型只有一个参数 www,损失函数为:

L(w)=(w−3)2 L(w)=(w-3)^2 L(w)=(w3)2

导数是:

dLdw=2(w−3) \frac{\mathrm dL}{\mathrm dw}=2(w-3) dwdL=2(w3)

若:

w=5 w=5 w=5

则:

dLdw=4 \frac{\mathrm dL}{\mathrm dw}=4 dwdL=4

梯度下降更新:

wnew=w−ηdLdw w_{\mathrm{new}}=w-\eta\frac{\mathrm dL}{\mathrm dw} wnew=wηdwdL

若学习率:

η=0.1 \eta=0.1 η=0.1

则:

wnew=5−0.1×4=4.6 w_{\mathrm{new}}=5-0.1\times4=4.6 wnew=50.1×4=4.6

参数向正确方向移动。

22. 多参数情况下的梯度

如果有两个参数:

θ=[w1,w2] \theta=[w_1,w_2] θ=[w1,w2]

梯度是:

∇θL=[∂L∂w1,∂L∂w2] \nabla_\theta L= \left[ \frac{\partial L}{\partial w_1}, \frac{\partial L}{\partial w_2} \right] θL=[w1L,w2L]

它可以看成一个箭头,表示损失上升最快的方向。

训练沿相反方向更新。


第十二部分:什么是梯度冲突

23. 两个任务共同训练

假设有理解损失和生成损失:

L=LU+λLG L=L_U+\lambda L_G L=LU+λLG

共享参数的总梯度为:

∇θL=∇θLU+λ∇θLG \nabla_\theta L =\nabla_\theta L_U+ \lambda\nabla_\theta L_G θL=θLU+λθLG

记:

gU=∇θLU \mathbf g_U=\nabla_\theta L_U gU=θLU

gG=∇θLG \mathbf g_G=\nabla_\theta L_G gG=θLG

两个梯度的点积为:

gU⊤gG \mathbf g_U^\top\mathbf g_G gUgG

如果点积大于零:

gU⊤gG>0 \mathbf g_U^\top\mathbf g_G>0 gUgG>0

两个任务大致希望参数向相似方向移动,属于正迁移。

如果点积小于零:

gU⊤gG<0 \mathbf g_U^\top\mathbf g_G<0 gUgG<0

两个任务希望参数向相反方向移动,这就是梯度冲突。

24. 二维例子

假设:

gU=[1,0] \mathbf g_U=[1,0] gU=[1,0]

gG=[−1,1] \mathbf g_G=[-1,1] gG=[1,1]

点积为:

gU⊤gG=1×(−1)+0×1=−1 \mathbf g_U^\top\mathbf g_G =1\times(-1)+0\times1=-1 gUgG=1×(1)+0×1=1

因此两个任务在第一个参数方向上互相抵消。

总梯度:

gU+gG=[0,1] \mathbf g_U+\mathbf g_G=[0,1] gU+gG=[0,1]

原本理解任务希望第一个参数变化,但被生成任务完全抵消。


第十三部分:Dense 为什么容易产生冲突

Dense 模型的 Attention 和 FFN 都共享。

总损失为:

L=LAR+λLgen L=L_{\mathrm{AR}}+\lambda L_{\mathrm{gen}} L=LAR+λLgen

Attention 参数的梯度:

∇θAL=∇θALAR+λ∇θALgen \nabla_{\theta_A}L =\nabla_{\theta_A}L_{\mathrm{AR}} + \lambda\nabla_{\theta_A}L_{\mathrm{gen}} θAL=θALAR+λθALgen

FFN 参数的梯度:

∇θFL=∇θFLAR+λ∇θFLgen \nabla_{\theta_F}L =\nabla_{\theta_F}L_{\mathrm{AR}} + \lambda\nabla_{\theta_F}L_{\mathrm{gen}} θFL=θFLAR+λθFLgen

因此两个任务可以在全部主干参数上冲突。

语言自回归通常希望:

  • 使用因果上下文;
  • 学习离散词语之间的语义;
  • 保持逻辑和语言结构。

图像、视频或动作 flow matching 通常希望:

  • 处理连续带噪向量;
  • 使用双向或全局上下文;
  • 恢复细节;
  • 对数值误差敏感。

同一套参数要同时满足这些目标,难度较大。


第十四部分:为什么 MoE 仍然会有梯度冲突

25. MoE 只隔离了 FFN

BAGEL MoE 中:

θU≠θG \theta_U\neq\theta_G θU=θG

因此理解 FFN 和生成 FFN 不再直接争夺相同参数。

但注意力参数仍然共享:

θAU=θAG=θA \theta_A^{U}=\theta_A^{G}=\theta_A θAU=θAG=θA

所以:

∇θAL=∇θALU+λ∇θALG \nabla_{\theta_A}L =\nabla_{\theta_A}L_U+ \lambda\nabla_{\theta_A}L_G θAL=θALU+λθALG

Attention 上仍可能发生冲突。

26. 按 token 路由不等于按损失路由

MoE 的规则是:

文本 token→FFN⁡U \text{文本 token}\rightarrow\operatorname{FFN}_U 文本 tokenFFNU

VAE token→FFN⁡G \text{VAE token}\rightarrow\operatorname{FFN}_G VAE tokenFFNG

但不是:

LU→FFN⁡U L_U\rightarrow\operatorname{FFN}_U LUFFNU

LG→FFN⁡G L_G\rightarrow\operatorname{FFN}_G LGFFNG

例如生成一张“红色汽车”的图片时,VAE token 会关注文本 token。

可以写成:

OG=Attn⁡(QG,KU,VU) O_G=\operatorname{Attn}(Q_G,K_U,V_U) OG=Attn(QG,KU,VU)

生成损失依赖文本表示:

LG→OG→HU L_G \rightarrow O_G \rightarrow H_U LGOGHU

根据链式法则:

∂LG∂θU=∂LG∂OG∂OG∂HU∂HU∂θU \frac{\partial L_G}{\partial\theta_U} =\frac{\partial L_G}{\partial O_G} \frac{\partial O_G}{\partial H_U} \frac{\partial H_U}{\partial\theta_U} θULG=OGLGHUOGθUHU

只要生成 token 使用了文本信息,上式通常不为零:

∂LG∂θU≠0 \frac{\partial L_G}{\partial\theta_U}\neq0 θULG=0

所以生成损失仍然可能间接更新理解 FFN。

这说明:

“不同 token 进入不同 Expert”不等于“不同损失完全隔离”。


第十五部分:MoT 共享注意力,为什么仍然更好

这是整个问题最关键的地方。

必须区分三个概念:

  1. 共享注意力参数;
  2. 共享注意力算子;
  3. 共享计算图。

27. 共享注意力参数

如果两路都使用相同的:

WQ,WK,WV,WO W_Q,W_K,W_V,W_O WQ,WK,WV,WO

就叫共享参数。

同一参数同时接收两个任务梯度,会发生直接竞争。

28. 共享注意力算子

注意力算子:

Softmax⁡(QK⊤d)V \operatorname{Softmax} \left( \frac{QK^\top}{\sqrt d} \right)V Softmax(d QK)V

本身主要是数学运算,不一定包含共享可训练权重。

MoT 可以让两塔使用不同的 QKV 参数,但把得到的 Q、K、V 放进同一次注意力计算。

因此:

WQ,U≠WQ,G W_{Q,U}\neq W_{Q,G} WQ,U=WQ,G

同时又允许:

QG Q_G QG

读取:

KU,VU K_U,V_U KU,VU

这叫共享交互,不叫共享全部权重。

29. 共享计算图

如果生成输出依赖理解隐藏状态:

HGℓ+1=FG(HGℓ,HUℓ) H_G^{\ell+1}=F_G(H_G^\ell,H_U^\ell) HG+1=FG(HG,HU)

生成损失就能沿计算图传回理解路径。

所以 MoT 并没有完全消除梯度耦合。


第十六部分:Cosmos 3 MoT 的前向传播

设第 ℓ\ell 层中:

  • Reasoner 状态为 HRℓH_R^\ellHR
  • Generator 状态为 HGℓH_G^\ellHG

30. Reasoner 的 QKV

H‾Rℓ=LN⁡Rℓ(HRℓ) \overline H_R^\ell =\operatorname{LN}_R^\ell(H_R^\ell) HR=LNR(HR)

QRℓ=H‾RℓWQ,Rℓ Q_R^\ell=\overline H_R^\ell W_{Q,R}^\ell QR=HRWQ,R

KRℓ=H‾RℓWK,Rℓ K_R^\ell=\overline H_R^\ell W_{K,R}^\ell KR=HRWK,R

VRℓ=H‾RℓWV,Rℓ V_R^\ell=\overline H_R^\ell W_{V,R}^\ell VR=HRWV,R

31. Generator 的 QKV

H‾Gℓ=LN⁡Gℓ(HGℓ) \overline H_G^\ell =\operatorname{LN}_G^\ell(H_G^\ell) HG=LNG(HG)

QGℓ=H‾GℓWQ,Gℓ Q_G^\ell=\overline H_G^\ell W_{Q,G}^\ell QG=HGWQ,G

KGℓ=H‾GℓWK,Gℓ K_G^\ell=\overline H_G^\ell W_{K,G}^\ell KG=HGWK,G

VGℓ=H‾GℓWV,Gℓ V_G^\ell=\overline H_G^\ell W_{V,G}^\ell VG=HGWV,G

两套参数不同:

WQ,Rℓ≠WQ,Gℓ W_{Q,R}^\ell\neq W_{Q,G}^\ell WQ,R=WQ,G

WK,Rℓ≠WK,Gℓ W_{K,R}^\ell\neq W_{K,G}^\ell WK,R=WK,G

WV,Rℓ≠WV,Gℓ W_{V,R}^\ell\neq W_{V,G}^\ell WV,R=WV,G


32. Reasoner 只读取自己

Reasoner 使用因果注意力:

ARℓ=Softmax⁡(QRℓ(KRℓ)⊤d+Mcausal) A_R^\ell =\operatorname{Softmax} \left( \frac{Q_R^\ell(K_R^\ell)^\top}{\sqrt d} +M_{\mathrm{causal}} \right) AR=Softmax(d QR(KR)+Mcausal)

ORℓ=ARℓVRℓ O_R^\ell=A_R^\ell V_R^\ell OR=ARVR

因此:

ORℓ 不依赖 HGℓ O_R^\ell \text{ 不依赖 } H_G^\ell OR 不依赖 HG

带噪的生成 token 不会进入 Reasoner 的前向计算。

33. Generator 同时读取两塔

Generator 使用:

Kallℓ=[KRℓ;KGℓ] K_{\mathrm{all}}^\ell=[K_R^\ell;K_G^\ell] Kall=[KR;KG]

Vallℓ=[VRℓ;VGℓ] V_{\mathrm{all}}^\ell=[V_R^\ell;V_G^\ell] Vall=[VR;VG]

然后:

AGℓ=Softmax⁡(QGℓ(Kallℓ)⊤d+MG) A_G^\ell =\operatorname{Softmax} \left( \frac{Q_G^\ell(K_{\mathrm{all}}^\ell)^\top}{\sqrt d} +M_G \right) AG=Softmax(d QG(Kall)+MG)

OGℓ=AGℓVallℓ O_G^\ell=A_G^\ell V_{\mathrm{all}}^\ell OG=AGVall

所以前向信息关系主要是:

R⟶G R\longrightarrow G RG

而不是完全对称的:

R⟷G R\longleftrightarrow G RG

这让 Generator 可以读取语言和视觉推理结果,同时避免生成噪声污染 Reasoner。Cosmos 3 将自回归 Reasoner 与全注意力 diffusion Generator 组合在 MoT 主干中。


第十七部分:MoT 的反向传播推导

34. Generator 损失仍然会进入 Reasoner

因为:

LG→OG L_G \rightarrow O_G LGOG

并且:

OG→KR,VR O_G \rightarrow K_R,V_R OGKR,VR

所以:

∂LG∂KR≠0 \frac{\partial L_G}{\partial K_R}\neq0 KRLG=0

∂LG∂VR≠0 \frac{\partial L_G}{\partial V_R}\neq0 VRLG=0

进而:

∂LG∂WK,R=H‾R⊤∂LG∂KR \frac{\partial L_G}{\partial W_{K,R}} =\overline H_R^\top \frac{\partial L_G}{\partial K_R} WK,RLG=HRKRLG

∂LG∂WV,R=H‾R⊤∂LG∂VR \frac{\partial L_G}{\partial W_{V,R}} =\overline H_R^\top \frac{\partial L_G}{\partial V_R} WV,RLG=HRVRLG

通常也不为零。

因此 Reasoner 参数的总梯度是:

∇θRL=∇θRLR+λ∇θRLG \nabla_{\theta_R}L =\nabla_{\theta_R}L_R + \lambda\nabla_{\theta_R}L_G θRL=θRLR+λθRLG

若两个梯度点积小于零:

⟨∇θRLR,∇θRLG⟩<0 \left\langle \nabla_{\theta_R}L_R, \nabla_{\theta_R}L_G \right\rangle<0 θRLR,θRLG<0

Reasoner 中仍会发生梯度冲突。

所以正确结论不是:

MoT 完全消除了梯度冲突。

而是:

MoT 显著减少并重新组织了梯度冲突。


35. Reasoner 损失为什么不会进入 Generator

Reasoner 前向计算不读取 Generator:

HRℓ+1=FR(HRℓ;θR) H_R^{\ell+1}=F_R(H_R^\ell;\theta_R) HR+1=FR(HR;θR)

所以:

∂LR∂θG=0 \frac{\partial L_R}{\partial\theta_G}=0 θGLR=0

Generator 参数只主要接收生成损失:

$$
\nabla_{\theta_G}L

\lambda\nabla_{\theta_G}L_G
$$

梯度关系是不对称的:

参数 理解损失 生成损失
Reasoner 参数 可能有
Generator 参数

这样 Generator 可以完全专门化于视频、声音或动作生成。


第十八部分:用简单标量理解 MoT 的间接梯度

假设 Reasoner 产生一个数字:

r=2w r=2w r=2w

Generator 使用这个数字:

g=3r+v g=3r+v g=3r+v

生成损失为:

LG=(g−y)2 L_G=(g-y)^2 LG=(gy)2

虽然参数 www 不属于 Generator,但由于:

w⟶r⟶g⟶LG w\longrightarrow r\longrightarrow g\longrightarrow L_G wrgLG

根据链式法则:

∂LG∂w=∂LG∂g∂g∂r∂r∂w \frac{\partial L_G}{\partial w} =\frac{\partial L_G}{\partial g} \frac{\partial g}{\partial r} \frac{\partial r}{\partial w} wLG=gLGrgwr

所以生成损失仍然会更新 www

MoT 中也是同样道理:

θR⟶KR,VR⟶OG⟶LG \theta_R \longrightarrow K_R,V_R \longrightarrow O_G \longrightarrow L_G θRKR,VROGLG

MoT 分开了参数所有权,但没有切断可微信息传递。


第十九部分:用 Jacobian 看 MoT 的单向结构

如果把一层写成:

HR′=FR(HR) H_R'=F_R(H_R) HR=FR(HR)

HG′=FG(HG,HR) H_G'=F_G(H_G,H_R) HG=FG(HG,HR)

它的变化关系可以表示为:

[dHR′dHG′]=[JRR0JGRJGG][dHRdHG] \begin{bmatrix} \mathrm dH_R'\\ \mathrm dH_G' \end{bmatrix} =\begin{bmatrix} J_{RR}&0\\ J_{GR}&J_{GG} \end{bmatrix} \begin{bmatrix} \mathrm dH_R\\ \mathrm dH_G \end{bmatrix} [dHRdHG]=[JRRJGR0JGG][dHRdHG]

右上角是零,因为 Reasoner 不读取 Generator。

反向传播时矩阵转置:

[δRδG]=[JRR⊤JGR⊤0JGG⊤][δR′δG′] \begin{bmatrix} \delta_R\\ \delta_G \end{bmatrix} =\begin{bmatrix} J_{RR}^\top&J_{GR}^\top\\ 0&J_{GG}^\top \end{bmatrix} \begin{bmatrix} \delta_R'\\ \delta_G' \end{bmatrix} [δRδG]=[JRR0JGRJGG][δRδG]

因此:

δR=JRR⊤δR′+JGR⊤δG′ \delta_R =J_{RR}^\top\delta_R' + J_{GR}^\top\delta_G' δR=JRRδR+JGRδG

而:

δG=JGG⊤δG′ \delta_G=J_{GG}^\top\delta_G' δG=JGGδG

含义是:

  • 生成梯度可以经过跨塔连接进入 Reasoner;
  • Reasoner 梯度不会进入 Generator;
  • 耦合是单向的。

第二十部分:MoT 相比 MoE 改善了什么

36. MoE 的共享相似度空间

如果 Q、K 参数共享,所有注意力分数都使用同一个双线性矩阵:

Sij=HiWQWK⊤Hj⊤ S_{ij}=H_iW_QW_K^\top H_j^\top Sij=HiWQWKHj

记:

B=WQWK⊤ B=W_QW_K^\top B=WQWK

则:

Sij=HiBHj⊤ S_{ij}=H_iBH_j^\top Sij=HiBHj

这意味着:

  • 文本与文本的语义关系;
  • VAE token 与文本的条件关系;
  • VAE token 之间的空间关系;

都必须使用同一个相似度规则 BBB

37. MoT 可以使用不同相似度空间

Reasoner 自注意力:

SRR=HRWQ,RWK,R⊤HR⊤ S_{RR} =H_RW_{Q,R}W_{K,R}^\top H_R^\top SRR=HRWQ,RWK,RHR

Generator 读取 Reasoner:

SGR=HGWQ,GWK,R⊤HR⊤ S_{GR} =H_GW_{Q,G}W_{K,R}^\top H_R^\top SGR=HGWQ,GWK,RHR

Generator 读取自身:

SGG=HGWQ,GWK,G⊤HG⊤ S_{GG} =H_GW_{Q,G}W_{K,G}^\top H_G^\top SGG=HGWQ,GWK,GHG

因此可以分别学习:

BRR=WQ,RWK,R⊤ B_{RR}=W_{Q,R}W_{K,R}^\top BRR=WQ,RWK,R

BGR=WQ,GWK,R⊤ B_{GR}=W_{Q,G}W_{K,R}^\top BGR=WQ,GWK,R

BGG=WQ,GWK,G⊤ B_{GG}=W_{Q,G}W_{K,G}^\top BGG=WQ,GWK,G

并且:

BRR≠BGR≠BGG B_{RR}\neq B_{GR}\neq B_{GG} BRR=BGR=BGG

这意味着模型可以分别定义:

  • 语言中什么叫语义相关;
  • 生成 token 应该如何读取语言条件;
  • 图像或视频 token 之间什么叫空间时间相关。

这是 MoT 相对 FFN-only MoE 的核心优势。


第二十一部分:MoT 仍然存在的四个问题

38. Reasoner 仍可能受到生成目标影响

如果生成损失权重太大:

∥λ∇θRLG∥≫∥∇θRLR∥ \left\| \lambda\nabla_{\theta_R}L_G \right\| \gg \left\| \nabla_{\theta_R}L_R \right\| λθRLGθRLR

Reasoner 可能过度服务生成任务,损害语言推理。

39. Softmax 注意力质量竞争

Generator 同时读取两类 key:

AG=Softmax⁡([SGR,SGG]) A_G=\operatorname{Softmax}([S_{GR},S_{GG}]) AG=Softmax([SGR,SGG])

所有注意力权重之和为:

∑j∈Raj+∑k∈Gak=1 \sum_{j\in R}a_j+\sum_{k\in G}a_k=1 jRaj+kGak=1

如果 Reasoner token 获得更多权重,Generator 自身 token 获得的权重就可能减少。

Softmax 导数为:

∂ai∂sj=ai(δij−aj) \frac{\partial a_i}{\partial s_j} =a_i(\delta_{ij}-a_j) sjai=ai(δijaj)

这说明不同 token 会竞争有限的注意力质量。

这属于激活竞争,而不是共享权重上的直接梯度冲突。

40. 两塔需要对齐

跨塔注意力分数为:

SGR=HGWQ,G(HRWK,R)⊤d S_{GR} =\frac{ H_GW_{Q,G}(H_RW_{K,R})^\top }{\sqrt d} SGR=d HGWQ,G(HRWK,R)

如果两塔映射出的空间完全不兼容:

QGKR⊤≈0 Q_GK_R^\top\approx0 QGKR0

Generator 就难以读取 Reasoner。

因此 MoT 仍要学习跨塔表示对齐。

41. 计算和存储成本增加

假设一个 Dense Backbone 参数量为:

P P P

MoT 两套 Expert 的总参数量大致为:

PMoT≈2P P_{\mathrm{MoT}}\approx2P PMoT2P

如果每个 token 只经过一个 Expert,活跃计算量不一定翻倍,但:

  • 权重显存增加;
  • 优化器状态增加;
  • 分布式通信更复杂;
  • 工程实现更困难。

第二十二部分:如果使用 stop-gradient 会怎样

可以阻止生成损失进入 Reasoner:

K~R=sg⁡(KR) \widetilde K_R=\operatorname{sg}(K_R) K R=sg(KR)

V~R=sg⁡(VR) \widetilde V_R=\operatorname{sg}(V_R) V R=sg(VR)

其中:

∂sg⁡(x)∂x=0 \frac{\partial\operatorname{sg}(x)}{\partial x}=0 xsg(x)=0

Generator 使用:

OG=Attn⁡(QG,[K~R;KG],[V~R;VG]) O_G =\operatorname{Attn} (Q_G,[\widetilde K_R;K_G],[\widetilde V_R;V_G]) OG=Attn(QG,[K R;KG],[V R;VG])

此时:

∂LG∂θR=0 \frac{\partial L_G}{\partial\theta_R}=0 θRLG=0

两路梯度完全隔离:

∇θRL=∇θRLR \nabla_{\theta_R}L=\nabla_{\theta_R}L_R θRL=θRLR

∇θGL=λ∇θGLG \nabla_{\theta_G}L=\lambda\nabla_{\theta_G}L_G θGL=λθGLG

但代价是 Reasoner 不能根据生成目标学习“哪些表示更有利于生成”。

因此实际 MoT 通常保留可微连接:

参数分离+可微信息交互 \text{参数分离}+\text{可微信息交互} 参数分离+可微信息交互

而不是完全断开。


第二十三部分:Dense、MoE、MoT 的总结比较

特征 Dense FFN-only MoE MoT
Attention 参数 全共享 全共享 分开
FFN 参数 全共享 分开 分开
LayerNorm 通常共享 通常多数共享 分开
跨模态信息交流
直接梯度冲突 最大 中等 较小
间接梯度耦合
参数量 最小 较大 较大
部署难度 最低 中等 最高
模态专门化 最弱 中等 最强

更精确地概括:

Dense:全参数直接竞争 \text{Dense:全参数直接竞争} Dense:全参数直接竞争

MoE:FFN 分离,但 Attention 仍直接竞争 \text{MoE:FFN 分离,但 Attention 仍直接竞争} MoEFFN 分离,但 Attention 仍直接竞争

MoT:参数基本分离,只保留条件路径上的结构化耦合 \text{MoT:参数基本分离,只保留条件路径上的结构化耦合} MoT:参数基本分离,只保留条件路径上的结构化耦合


第二十四部分:BAGEL 的受控性能实验

BAGEL 对三种结构进行了较为严格的控制实验:

  • Dense Transformer;
  • 只复制 FFN 的 MoE;
  • 复制全部 Transformer 可训练参数的 MoT。

实验使用约十五亿参数规模的 Qwen2.5 初始化,并保持相同训练数据和超参数。MoE 与 MoT 的总参数量约为 Dense 的两倍,但由于硬路由,每个 token 只激活一套 Expert,因此三者的活跃 FLOPs 相同。turn351880view1

结果表明:

  • MoT 的生成 MSE 收敛最快;
  • MoT 的最终生成损失最低;
  • 理解 CE 虽然波动更明显,但 MoT 整体也最好;
  • MoT 相对 MoE 的优势在生成任务上最明显。

论文据此认为,理解和生成目标倾向于把共享参数推向不同的参数区域,分离完整 Transformer 参数有助于优化。

但必须注意两个限制:

第一,这个结论是在约十五亿参数规模下得到的。

第二,MoT 总参数量更大,所以它不仅减少冲突,也增加了模型容量。

因此实验支持:

MoT 在该设置下优于 Dense 和 FFN-only MoE \text{MoT 在该设置下优于 Dense 和 FFN-only MoE} MoT 在该设置下优于 Dense  FFN-only MoE

但不能证明:

MoT 在所有数据、规模和任务上永远最好 \text{MoT 在所有数据、规模和任务上永远最好} MoT 在所有数据、规模和任务上永远最好


第二十五部分:Cosmos 3 有没有直接证明 MoT 优于 Dense

没有严格证明。

Cosmos 3 的主要模型都使用 MoT,没有公开一个满足以下条件的直接对照:

  • 相同数据;
  • 相同参数规模;
  • 相同训练 token;
  • 相同计算量;
  • 只把 MoT 换成 Dense。

因此 Cosmos 3 的强大最终成绩不能全部归因于 MoT。

它的性能还受到:

  • 数据规模;
  • 多阶段训练;
  • 图像和视频编码器;
  • 统一动作表示;
  • 音频表示;
  • 位置编码;
  • 后训练;
  • 采样方法;
  • 合成数据;
  • 模型规模。

Cosmos 3 官方资料说明它使用统一 MoT 架构,包含 AR Reasoner 和 diffusion Generator,但没有提供 Dense 对照消融。turn436467view2


第二十六部分:使用统一 Backbone 的经典模型

42. UWM

UWM,也就是 Unified World Models,使用一个统一 Diffusion Transformer,同时进行:

  • 动作 diffusion;
  • 视频 diffusion。

两个模态有独立的 diffusion timestep。

它能够通过控制噪声时间执行:

p(a∣o) p(a\mid o) p(ao)

策略生成;

p(o′∣o,a) p(o'\mid o,a) p(oo,a)

正向动力学;

p(a∣o,o′) p(a\mid o,o') p(ao,o)

逆向动力学;

p(o′∣o) p(o'\mid o) p(oo)

视频预测。

UWM 在其 LIBERO 五个任务实验中的平均成功率为:

模型 平均成功率
UWM 0.790.790.79
Diffusion Policy 0.710.710.71
PAD 0.570.570.57
GR1 0.580.580.58

这说明统一视频—动作 diffusion 能够提高该实验中的策略性能和鲁棒性。

但它没有与同规模 MoT 直接比较,因此不能由此得出 Dense 一定优于 MoT。


43. EO-1

EO-1 使用单一统一 decoder-only Transformer。

输入包括:

  • 图像;
  • 文本;
  • 视频;
  • 机器人状态;
  • 带噪动作。

共享 Backbone 输出两类结果:

  • 语言头产生文字;
  • flow head 产生连续动作。

总损失为:

L=LAR+LFM L=L_{\mathrm{AR}}+L_{\mathrm{FM}} L=LAR+LFM

EO-1 的共享参数同时接收语言 next-token prediction 和动作 flow-matching 梯度。

在论文报告的 LIBERO 结果中:

模型 总成功率
EO-1 base,连续 flow 动作 98.2%98.2\%98.2%
OpenVLA-OFT 97.1%97.1\%97.1%
EO-1 fast,纯自回归动作 88.0%88.0\%88.0%

EO-1 的 98.2%98.2\%98.2%88.0%88.0\%88.0% 主要说明:

连续 flow-matching 动作输出比纯离散自回归动作输出更适合精细控制。

它并不是 Dense 和 MoT 的直接比较。turn198764view1turn198764view3


44. RT-2

RT-2 把机器人动作表示成文本 token。

例如连续动作:

a=[a1,a2,…,aD] \mathbf a=[a_1,a_2,\ldots,a_D] a=[a1,a2,,aD]

先把每个维度量化为离散数字:

ai⟶zi a_i\longrightarrow z_i aizi

然后让视觉语言模型像预测文字一样预测动作:

$$
p(z_1,\ldots,z_D\mid I,L)

\prod_{i=1}^{D}
p(z_i\mid I,L,z_{<i})
$$

这种方法的优点是可以直接复用大型视觉语言模型和自回归训练系统。

缺点是:

  • 动作量化会损失精度;
  • 每个动作维度逐个生成,速度可能较慢;
  • 对连续、多峰动作分布表达较弱。

RT-2 的核心做法正是把动作转换为文本 token,与互联网视觉语言数据共同训练。


45. OpenVLA

OpenVLA 也是统一 VLA Backbone 路线。

它基于:

  • Llama 2 语言模型;
  • DINOv2 和 SigLIP 视觉特征;
  • 离散动作 token。

OpenVLA 共有七十亿参数,训练使用约九十七万条真实机器人演示。论文报告其在二十九个任务上的平均成功率相对 RT-2-X 提高了十六点五个百分点,并且参数更少。

但 OpenVLA 与 Cosmos 3 的能力范围不同:

  • OpenVLA 主要输出机器人动作;
  • Cosmos 3 还生成图像、视频和声音;
  • OpenVLA 不承担同等规模的视频 diffusion 任务。

因此不能仅凭机器人成功率判断其 Backbone 架构整体优于 MoT。


第二十七部分:各经典模型的架构类型

模型 架构类型 动作形式 是否生成视频 核心特点
RT-2 统一自回归 VLM Backbone 离散动作 token 把动作当作语言
OpenVLA 统一自回归 VLA Backbone 离散动作 token 开源通用机器人策略
EO-1 统一 Dense Transformer 连续 flow 动作 主要不输出未来视频 文字 AR 与动作 flow 共享 Backbone
UWM 统一 Diffusion Transformer 连续 diffusion 动作 视频和动作联合 diffusion
BAGEL Dense 消融 单一 Dense Transformer 主要图像生成 全参数共享
BAGEL MoE 消融 FFN-only MoE 主要图像生成 只分开理解与生成 FFN
BAGEL 正式模型 MoT 生成视觉 token 两套完整 Transformer Expert
Cosmos 3 MoT 连续统一动作表示 AR Reasoner 加 diffusion Generator

第二十八部分:为什么统一 Dense 有时反而更好

Dense 的参数共享并不总是坏事。

如果两个任务梯度方向一致:

gU⊤gG>0 \mathbf g_U^\top\mathbf g_G>0 gUgG>0

生成任务可以帮助理解任务,理解任务也可以帮助动作任务。

例如:

  • 语言学习“红色杯子”;
  • 视觉学习杯子的形状和颜色;
  • 动作学习抓住杯子;
  • 三个任务共同加强“红色杯子”的表示。

统一 Dense 特别适合:

  • 模态数量较少;
  • 主要目标是视觉—语言—动作策略;
  • 不需要高质量视频生成;
  • 机器人数据较少;
  • 需要充分利用预训练 VLM;
  • 显存和部署资源有限。

这正是 EO-1、RT-2 和 OpenVLA 方向的优势。


第二十九部分:为什么 MoT 更适合 Cosmos 3

Cosmos 3 同时处理:

  • 离散语言;
  • 图像;
  • 长视频;
  • 音频;
  • 连续动作;
  • 自回归推理;
  • diffusion 或 flow 生成。

这些数据的统计特点差别非常大。

文本 token 通常:

  • 离散;
  • 语义密集;
  • 因果生成;
  • 序列相对较短。

视频 latent 通常:

  • 连续;
  • 高冗余;
  • 带噪;
  • 序列很长;
  • 需要恢复纹理和时空细节。

动作 token 通常:

  • 连续;
  • 低维;
  • 对数值误差敏感;
  • 需要时间平滑。

如果全部共享一套参数,冲突风险很高。

因此 MoT 更适合:

  • 同时需要强语言推理和高质量生成;
  • 连续生成模态很多;
  • 有足够大规模数据训练独立 Generator;
  • 总参数量和显存不是首要限制;
  • 希望生成训练尽量不破坏语言能力。

第三十部分:怎样公平比较架构性能

看到两个模型的成功率时,不能立刻说架构决定了一切。

公平比较至少要控制:

性能=f(架构,参数量,数据,训练步数,损失,动作表示,采样算法) \text{性能} =f( \text{架构}, \text{参数量}, \text{数据}, \text{训练步数}, \text{损失}, \text{动作表示}, \text{采样算法} ) 性能=f(架构,参数量,数据,训练步数,损失,动作表示,采样算法)

例如 EO-1 的连续 flow 模型优于其纯 AR 版本,可能来自:

  • 连续动作表示;
  • flow-matching 损失;
  • 更好的多峰建模;
  • 不仅仅是共享 Backbone。

UWM 优于 Diffusion Policy,可能来自:

  • 视频辅助监督;
  • 联合世界建模;
  • 独立 diffusion timestep;
  • 不仅仅是单塔架构。

BAGEL 的实验最接近真正的架构消融,因为它尽量保持数据、超参数和活跃 FLOPs 相同,只改变 Dense、MoE 和 MoT。


第三十一部分:最终结论

Cosmos 3 的统一动作接口本质上是:

异构原始控制→主体位姿+末端位姿+抓取状态 \boxed{ \text{异构原始控制} \rightarrow \text{主体位姿} + \text{末端位姿} + \text{抓取状态} } 异构原始控制主体位姿+末端位姿+抓取状态

它统一的是几何动作语义,不是底层电机命令。

三种 Transformer 架构可以概括为:

Dense:所有模态共享全部参数 \boxed{ \text{Dense:所有模态共享全部参数} } Dense:所有模态共享全部参数

MoE:不同模态分开 FFN,但共享 Attention 参数 \boxed{ \text{MoE:不同模态分开 FFN,但共享 Attention 参数} } MoE:不同模态分开 FFN,但共享 Attention 参数

MoT:分开完整 Transformer 参数,通过联合 Attention 交换信息 \boxed{ \text{MoT:分开完整 Transformer 参数,通过联合 Attention 交换信息} } MoT:分开完整 Transformer 参数,通过联合 Attention 交换信息

关于梯度冲突,最准确的结论是:

Dense 存在全参数直接冲突 \boxed{ \text{Dense 存在全参数直接冲突} } Dense 存在全参数直接冲突

MoE 减少 FFN 冲突,但仍有 Attention 冲突和间接反传 \boxed{ \text{MoE 减少 FFN 冲突,但仍有 Attention 冲突和间接反传} } MoE 减少 FFN 冲突,但仍有 Attention 冲突和间接反传

MoT 进一步分离 Attention、FFN 和归一化参数,但仍保留跨塔梯度耦合 \boxed{ \text{MoT 进一步分离 Attention、FFN 和归一化参数,但仍保留跨塔梯度耦合} } MoT 进一步分离 AttentionFFN 和归一化参数,但仍保留跨塔梯度耦合

MoT 的共享注意力算子不等于共享注意力权重。

它把原本的:

两个任务争夺同一套完整参数 \text{两个任务争夺同一套完整参数} 两个任务争夺同一套完整参数

变成:

生成任务通过条件注意力选择性塑造 Reasoner 表示 \text{生成任务通过条件注意力选择性塑造 Reasoner 表示} 生成任务通过条件注意力选择性塑造 Reasoner 表示

Cosmos 3 中近似有:

∇θGL=λ∇θGLG \nabla_{\theta_G}L =\lambda\nabla_{\theta_G}L_G θGL=λθGLG

∇θRL=∇θRLR+λ∇θRLG \nabla_{\theta_R}L =\nabla_{\theta_R}L_R+ \lambda\nabla_{\theta_R}L_G θRL=θRLR+λθRLG

因此 Cosmos 3 的 MoT 不是“零冲突架构”,而是:

Generator 完全拥有自己的生成参数,Reasoner 保持前向因果封闭,同时允许生成目标通过单向注意力接口影响条件表示。

从实验上看,BAGEL 的受控消融支持 MoT 在理解加生成联合训练中优于 Dense 和 FFN-only MoE,尤其生成损失更低;但 Cosmos 3 自身没有提供严格的 Dense 对照。

最终选择取决于任务:

主要做语言理解和机器人动作⇒统一 Dense Backbone 往往更简单高效 \boxed{ \text{主要做语言理解和机器人动作} \Rightarrow \text{统一 Dense Backbone 往往更简单高效} } 主要做语言理解和机器人动作统一 Dense Backbone 往往更简单高效

同时做语言推理、图像、视频、音频和动作生成⇒MoT 往往更稳定、更易扩展 \boxed{ \text{同时做语言推理、图像、视频、音频和动作生成} \Rightarrow \text{MoT 往往更稳定、更易扩展} } 同时做语言推理、图像、视频、音频和动作生成MoT 往往更稳定、更易扩展

没有一种架构在所有任务中绝对最好。真正的设计目标不是彻底消除所有交互,而是在两个极端之间取得平衡:

既允许知识共享,又避免所有任务争夺同一套参数 \boxed{ \text{既允许知识共享,又避免所有任务争夺同一套参数} } 既允许知识共享,又避免所有任务争夺同一套参数

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐