• 正文
  • 相关推荐
申请入驻 产业图谱

世界模型 | WAM-TTT:让机器人在部署现场“看视频现学”的测试时后训练

09/08 08:18
253
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

转载自公众号:敢敢AUTOHUB

0. 简介

WAM-TTT(World-Action Model Test-Time Training)由北京大学、银河通用(Galbot)、中科院自动化所与清华大学联合提出,面向的是机器人基础模型(RFM)部署后的一个具体矛盾:模型在训练场里把搬箱子、倒水、清桌子练到很高成功率,一旦换到陌生的家庭环境、换一批物体或改一下光照,成功率就断崖式下跌,而每换一个新点位都要重新采机器人遥操作数据、重新微调,成本高到无法规模化。它没有把人类视频当成需要逐帧模仿的轨迹,也没有把人类数据直接混进预训练,而是通过一块冻结主干之上的快速权重记忆(fast-weight memory)和一个键值记忆重建目标(key-value memory reconstruction),把无标注人类视频在推理阶段吸收进模型,再借由 WAM 内部共享的视频-动作动力学去引导动作生成。

从论文的主实验看,最值得关注的一点是:在陌生家庭环境下 WAM-TTT 平均完成度 46.2%,而同样喂人类视频、只做上下文条件化的 WAM-ICL 只有 7.1%,性能保持率 76% 对 15%。下面结合论文与按公式复原的 PyTorch 实现,重点拆解这块记忆怎么写入、怎么在部署时更新、以及为什么它比重训和上下文两条老路都稳。

1. 大模型早就“推理时进化”,机器人却卡在部署那一刻

这两年大语言模型最重要的变化之一,是能力越来越不靠预训练一锤定音。OpenAI o1、DeepSeek-R1 这类推理模型把一部分能力留到推理时刻再兑现,模型在使用过程中持续自我提升。机器人却始终迈不过这道坎:它面对的是比文本复杂得多的物理世界,一次误判可能直接损坏被抓物体,任何“边用边学”的尝试都要付出真实代价。让机器人像大模型一样在部署后继续进化,行业里长期没有人真正走通。

WAM-TTT 的价值就在这里——它第一次把测试时训练(Test-Time Training)这套原本属于 NLP 的范式,迁到了物理世界的机器人控制上,让机器人具备“现学现上岗”的能力。这里要厘清的是,它学的不是某个具体新动作,而是先充分理解当前任务场景,把理解写进一块临时记忆,再调用原有动作能力去完成任务。

想让机器人从人类演示里学东西,学界大致走过三条路线,每条都留着缺口。第一类是协同训练/微调(co-training),代表如 EgoMimic、EgoDex,把人类视频和机器人数据混在一起训练,但往往还要额外估计手部姿态、3D 运动或重定向轨迹,这些监督噪声大、成本高,且任务级微调容易引发灾难性遗忘。第二类是上下文条件化(in-context),代表如 MimicDroid,直接把原始人类视频当上下文喂给策略,但这要求预训练阶段就学会这种能力,而且演示一多,上下文长度就爆炸式增长。第三类是跨域对齐/表征学习,如 XSkill、UniSkill,靠学一个跨本体的技能表征来搭桥。核心问题在于,这三条路都在“训练期”或“上下文”里消化人类视频,没有一条把它当成部署时可反复更新、又不污染主干的记忆来用。WAM-TTT 正是在这个缺口上落子。

2. 整体框架:冻结的 WAM 加一块会更新的记忆

2.1 输入输出接口与两阶段流程

WAM-TTT 的底座是一个预训练好的世界动作模型 WAM(World Action Model),论文用的是银河通用与北大的 LDA(Latent Dynamics Action,即 LDA-1B) 作为主干。LDA 的每个扩散 Transformer 块里有两位专家:一位视频专家(video expert)处理视觉隐空间 token ,一位动作专家(action expert)处理机器人动作 token ,两者通过联合注意力通信。WAM-TTT 在这个主干之上只做一件事——给视频专家挂一条 TTT 残差分支。整个系统分两阶段跑:离线的元训练(Meta-Training)用成对人类-机器人数据教会这块记忆怎么读人类视频、对齐机器人行为;在线的测试时训练(Test-Time) 只需一段无标注人类 RGB 视频,冻结整个 WAM,只更新这块轻量记忆。这里的关键是,输入到部署阶段的只有人类视频,输出是机器人可执行的动作块,中间不需要任何机器人动作或人手姿态标注。

其中 、 是第  个 LDA 块的原始输出, 是 TTT 分支注入的残差, 走视频专家、 走动作专家。注意第二个式子——动作流原封不动,残差只加在视频流上,这不是随手的设计,而是全篇最关键的不对称,后面第 2.2 节会专门解释它为什么被压在视频侧。

2.2 为什么残差只加在视频流:一个关键的不对称

这套架构在工程实现上有一个非常关键的不对称:人类视频天然只能监督“看到了什么”,监督不了“机器人该怎么动”,因为人手和机械臂的动作空间根本不同。所以设计者把测试时的适配完全压在视频侧——TTT 残差只改视频 token 流,动作专家的输出维持预训练时的先验不变。这意味着人类视频带来的领域偏移只能改写“人类到机器人的记忆”,绝不会改写策略本身,WAM 预训练学到的视觉推理和动作先验被完整保住。直观理解是,机器人换了一张更懂当前场景的“视觉眼镜”,但握着方向盘的手还是那位老司机。这一点后面在跨环境泛化实验里会兑现成 76% 对 15% 的保持率差距。

3. 第一条核心机制:把人类视频写进快速权重,而不是写进上下文

3.1 fast-weight 记忆的核心思路

WAM-TTT 最核心的机制,是用一块快速权重网络  来存人类视频,而不是把视频当上下文 token 缓存起来。可以打个厨师的比方:把机器人想成一个已经出师、基本功扎实的厨师,顾客拿来一段没做过的菜的教学视频。普通机器厨师会逐帧模仿,WAM-TTT 不一样——它先把顾客要求写到一张便签上,再调用自己已有的厨艺照着便签把菜做出来。这张便签就是 fast-weight memory,一块独立的小型参数存储单元。 每个 TTT 层含有慢投影  和一个快速权重网络 ,给定上下文 token 构造 Key 和 Value,给定当前视频 token 构造 Query,快速权重更新后再作用到视频 Query 上,产出残差。

其中  把视频 token 投成 Query, 是那块存了人类信息的快速权重 MLP, 再把输出投回 LDA 的隐藏维度,好让残差加回视频流。直观理解是,这条支路等于在每个块的视频流旁边挂了一个可现场改写的小旁挂网络,主干怎么算不变,只在输出上叠一层被人类视频塑形过的修正量。

难点提示(fast-weight 到底“快”在哪):这里的“快”指更新的时间尺度。快速权重  在一次前向里就要用内循环 SGD 更新  次;而慢权重( 和各投影)每个外层优化步才更新一次,部署时干脆冻结。换句话说,慢权重是厨师十年练出的基本功,快速权重是他看完这段视频后临时记在便签上的几句话,用完即弃、下段视频重记。

3.2 为什么不塞进上下文:ICL 会随演示膨胀且经不起场景扰动

要理解 fast-weight 的价值,得先看它替代的是什么。最直接的做法是经典 softmax 交叉注意力:让机器人 Query 去读全部人类 Key/Value,。但这要显式保留完整的  缓存,长度随人类视频 token 数线性增长,而且每做一次测试时梯度步都要重算,非常笨重。WAM-ICL 走的就是这条路,结果在陌生家庭场景里从 48.4% 崩到 7.1%。核心问题在于,上下文条件化把扰动过的观测统计直接灌进了条件流,分布一变就失灵。fast-weight 的做法是把人类侧信息压进 MLP 的权重里,查询时不用缓存,用一块固定大小的参数就完成了“检索最近 Key 对应的 Value”这件事。

3.3 代码透视:TTT 视频残差层的前向

下面这段是按论文 Eq.(2) 复原的 TTT 层前向。论文本身未开源,代码依据方程与 Spatial-TTT[30] 的 fast-weight 表述写成,可直接嵌进任意带 video/action 双专家的 DiT 块。看代码时重点盯两处:慢投影 theta_* 是元训练学好、部署冻结的固定参数,而 fast_weight 是每次内循环现算的产物,真正随场景变的只有它。

import torch
import torch.nn as nn

class VideoTTTLayer(nn.Module):
    """挂在 video expert 上的 TTT 残差分支:慢投影固定,fast-weight f_W 在内循环里更新。"""
    def __init__(self, d_model, head_dim=48, fw_hidden=128):
        super().__init__()
        # 慢投影 θ_K, θ_V, θ_Q, θ_O —— 元训练学、部署冻结
        self.theta_k = nn.Linear(d_model, head_dim, bias=False)
        self.theta_v = nn.Linear(d_model, head_dim, bias=False)
        self.theta_q = nn.Linear(d_model, head_dim, bias=False)
        self.theta_o = nn.Linear(head_dim, d_model, bias=False)
        # 快速权重网络 f_W 的初始化 W_init(慢参数),实际的 W_i 在内循环里被复制并更新
        self.fw_init = nn.Sequential(
            nn.Linear(head_dim, fw_hidden), nn.GELU(),
            nn.Linear(fw_hidden, head_dim),
        )

    def forward(self, z, fast_weight):
        # z: 视频 token [B, L, D];fast_weight: 当前内循环迭代得到的 f_{W_i}
        q = self.theta_q(z)                 # 机器人/当前视频侧 Query
        delta_z = self.theta_o(fast_weight(q))   # Eq.(2): 残差读出
        return delta_z                       # 只加回视频流,动作流不动

这段代码在做什么:它把视频 token 投成 Query,交给当前的快速权重网络  做读出,再投回原维度作为残差。为什么这样设计——theta_* 四个投影是慢参数,元训练时学好、部署时冻结,保证“人类到机器人”的接口稳定;真正随场景变的只有传进来的 fast_weight 这个内循环产物。工程细节上,head_dim=48fw_hidden=128 是论文表 B.1 的默认值,整块记忆参数量极小,这也是它能在推理时低成本反复更新的前提。

4. 第二条核心机制:键值记忆重建,让记忆真的像注意力

4.1 设计动机:光靠视频预测,记忆学不到“人到机器人”的对齐

只让快速权重去拟合人类视频预测还不够。视频预测能让  记住“人类画面接下来怎么变”,但它不保证这块记忆对机器人控制有用——机器人 Query 去查的时候,未必能拿到对应的人类语义。于是论文加了一条键值记忆重建损失 ,专门逼着快速权重把人类 Key 映射到人类 Value。同步的人类 token 投成 Key 和 Value,机器人视频 token 投成 Query:,,。重建损失衡量当前快速权重从人类 Key 还原人类 Value 的误差:

其中  是 batch, 是人类序列长度, 是嵌入维度,分母  让它成为对 batch、序列长、维度都不变的逐元素均方误差。这个归一化不是细节洁癖,它保证不同长度的人类视频、不同 batch 大小下这项损失的量纲一致,附录的线性等价证明也正是建立在这个归一化形式上。

难点提示(为什么这个 MSE 等价于交叉注意力):论文在附录用线性特例给了个漂亮的证明。当  时,最小化  的闭式解在各向同性假设  下会塌缩成 Hebbian 外积记忆 。拿机器人 Query 去查,,正好是一次无 softmax 的线性注意力读出。换句话说, 不是可有可无的正则项,在线性情形下它就是交叉注意力行为的变分定义。真正部署的非线性 MLP 是这套检索模式的平滑归一化版本。

4.2 代码透视:KVM 损失与内循环适配

下面把重建损失和内循环适配拼在一起,对应论文 Eq.(3)(5)。内循环从  出发,对“人类视频预测 + KVM”的组合目标做 SGD,跑完  步得到 ,再交给前面 Eq.(2) 的残差读出。这里要厘清的是,被更新的自始至终只有 fast-weight,慢投影和整个 WAM 主干在这段代码里连梯度都不接。

import torch, copy

def kvm_loss(f_w, K_h, V_h):
    # Eq.(3): 逐元素 MSE,衡量 f_W 把人类 Key 映回人类 Value 的能力
    B, L_h, d = V_h.shape
    return ((f_w(K_h) - V_h) ** 2).sum() / (B * L_h * d)

def inner_adapt(f_w_init, u_human, video_pred_loss_fn,
                K_h_list, V_h_list, N=1, eta=0.1, lam=4e-2):
    """内循环 N 步:只更新 fast weights,慢投影与 WAM 全程不动。"""
    f_w = copy.deepcopy(f_w_init)                 # W_0 = W_init
    opt = torch.optim.SGD(f_w.parameters(), lr=eta)
    for _ in range(N):
        # 组合目标 L_adapt = 人类视频预测损失 + λ·Σ_ℓ KVM   (Eq.5)
        loss = video_pred_loss_fn(u_human, f_w)
        loss = loss + lam * sum(kvm_loss(f_w, K, V)
                                for K, V in zip(K_h_list, V_h_list))
        opt.zero_grad(); loss.backward(); opt.step()
    return f_w                                     # 得到 W_N,供 Eq.(2) 残差读出

这段代码在做什么:它先把 f_w_init 拷一份当 ,然后对组合损失做  步 SGD,返回适配好的 。为什么这样设计——组合损失里的两项只依赖人类侧(视频预测靠人类视频,KVM 靠人类 Key/Value),所以同一套内循环信号在元训练和部署时都能算,无需任何机器人监督。工程细节上,论文默认 、元训练内循环学习率 、测试时降到 、——内循环只走一步这个设定尤其反直觉,却是它推理够快的关键。

4.3 一个容易忽视的工程亮点: 的单步内循环

值得展开的是内循环迭代次数  这个超参。直觉上测试时训练应该多迭代几步把记忆磨准,但论文在元训练和部署两处都只用一步。这里的关键是,单步内循环意味着部署时每段人类视频只做一次前向-反向就固化记忆,推理延迟被压到最低;而测试时学习率从元训练的 0.1 降到 0.01,是为了让部署阶段的更新更保守、不至于把  携带的元训练先验冲掉。这套“单步 + 小学习率”的组合,本质是在“吸收新场景”和“别忘老本事”之间找的一个偏保守的平衡点。

5. 训练时的监督模块:成对人类-机器人数据怎么教会这块记忆

5.1 监督目标的设计取舍:外层只用机器人多任务损失

元训练阶段的目标装配藏着一个巧思:内循环用人类侧信号更新快速权重,外层却只用机器人多任务损失  来监督。为什么这样切分——内循环负责把人类视频写进记忆,外循环负责让“写进去的记忆真的能驱动机器人动作”。外层损失沿用 LDA 主干原样的两项扩散目标:机器人视频隐空间上的视频扩散损失,加机器人动作块上的动作扩散损失,权重和噪声调度全部照抄 LDA,不做任何改动。这里要厘清的是,外循环优化的是慢参数(WAM、四个投影、),梯度要穿过内循环那步可微的 fast-weight 更新回传,这正是它能学到“怎样的记忆接口对机器人有用”的原因。

def meta_train_step(batch, wam, ttt_layers, fw_init, robot_loss_fn, lam=4e-2):
    # 1. 相位对齐:为每个机器人时间步取最近相位的人类帧 (Sec 3.2)
    u_human, robot_obs, robot_act = phase_align(batch)

    # 2. 内循环:在人类侧组合目标上更新 fast-weight(可微,供外层回传)
    f_w = inner_adapt(fw_init, u_human,
                      video_pred_loss_fn=wam.video_pred_loss,
                      K_h_list=wam.human_keys(u_human),
                      V_h_list=wam.human_values(u_human),
                      N=1, eta=0.1, lam=lam)

    # 3. 机器人前向:用适配好的 W_N 产出 TTT 残差,注入视频流
    z_r, x_r = wam.forward_with_ttt(robot_obs, ttt_layers, f_w)

    # 4. 外层损失只在机器人侧算:视频扩散 + 动作扩散  (Eq.6)
    loss_meta = robot_loss_fn(z_r, x_r, robot_act)
    loss_meta.backward()   # 穿过内循环可微更新,回传到 WAM / 投影 / W_init
    return loss_meta

这段代码在做什么:它串起“相位对齐 → 内循环写记忆 → 机器人前向读记忆 → 外层机器人损失回传”这条完整的元训练链路。为什么这样设计——第 4 步的 loss_meta.backward() 会穿过第 2 步内循环那步可微的 SGD 更新,把梯度送回 WAM 和慢投影,于是模型学到的不只是“怎么做机器人任务”,还有“怎样的记忆接口最利于把人类视频转成机器人动作”。工程细节上,相位对齐靠归一化相位  取最近人类帧,适配后的快速权重在每个训练样本后丢弃、从  重置,保证不同样本之间记忆不串味。

6. 推理时的执行模块:只喂人类视频,主干全程锁死

6.1 测试时训练的输入与冻结边界

部署阶段的规则很干脆:WAM 参数、TTT 慢投影、 全部冻结,输入只是目标域的一小批无标注人类视频 。模型在视频生成模式下跑,只优化视频侧那块快速权重,用的是和元训练同款的组合目标。这套设定的好处是部署时完全不碰机器人侧的任何参数,也不需要机器人在现场试错,规避了物理世界里“一次误判就损坏物体”的不可逆代价。

其中  是冻结的主干参数, 是冻结的慢投影,只有  在更新。两项损失都只从人类侧算得,所以部署时不需要任何机器人监督。这里的关键是,测试时和元训练用的是同一个损失形式,元训练阶段学到的“怎么写记忆”这套本事,在部署时原封不动地继续生效。

6.2 记忆固化后驱动机器人 rollout

跑完  步测试时更新(默认还是 1 步),快速权重  就固定下来,之后机器人 rollout 全程不再改它。换句话说,学习和执行被切成两段:先看人类视频把记忆写好,再拿这块固定的记忆去驱动一串动作,中间不再有任何在线更新,动作块从下面这个以  为参数的条件分布里采样出来:

其中  是当前相机观测, 是目标, 是输出的动作块,采样分布的参数里  是唯一被这段视频改写过的部分, 和  全程沿用预训练与元训练的值。这意味着动作是由“老司机的手 + 一副现场配好的新眼镜”共同生成的,眼镜换了、手没变。

工程价值(为什么这套“先更新一次记忆再固化”对落地很关键):它把后训练的成本从遥操作级压到了手机拍摄级。客户换一个新点位,不再需要重新采机器人轨迹、重新微调整个模型,只要用手机拍几段人在现场做任务的视频,模型跑一次前向-反向更新记忆就能上岗,之后 rollout 全程不再改主干。这正是它踩在“规模化商业部署要先降成本”这条行业刚需上的地方。

# models/deploy_ttt.py (依据论文 Eq.(7)(8)(9) 复原,非官方开源代码)
@torch.no_grad()
def rollout_after_ttt(wam, ttt_layers, fw_init, human_batch, obs_stream, goal):
    # 1. 测试时训练:冻结 WAM 与慢投影,只更新 fast-weight(Eq.8)
    with torch.enable_grad():
        f_w = inner_adapt(fw_init, human_batch,
                          video_pred_loss_fn=wam.video_pred_loss,
                          K_h_list=wam.human_keys(human_batch),
                          V_h_list=wam.human_values(human_batch),
                          N=1, eta=0.01)          # 测试时学习率更小,更保守
    # 2. 固化 W_N,逐步 rollout:动作专家读记忆但主干不再更新(Eq.9)
    for obs in obs_stream:
        action_chunk = wam.act(obs, goal, ttt_layers, f_w)
        yield action_chunk

这段代码在做什么:它先在 enable_grad 块里用人类视频更新一次快速权重,拿到 ,再在 no_grad 下逐帧 rollout。为什么这样设计——测试时学习率 0.01 比元训练的 0.1 小一个量级,是为了让适配更保守,避免短视频把主干先验带偏。工程细节上,rollout 阶段整个 WAM 和慢投影都在 no_grad 里跑,只有第一步的记忆更新需要梯度,所以线上开销主要就是一次前向-反向加常规推理,这跟 ICL 每步都要背着长上下文完全不同。

7. 训练目标:一个组合损失,人类侧与机器人侧各管一段

7.1 内外两层损失的分工

把整套目标合起来看,它是分层的:内循环管“把人类视频写进记忆”,外循环管“让这块记忆真的能驱动机器人”。内循环(元训练和部署共用)优化的是人类侧组合目标 ,它由人类视频预测损失和键值重建损失两项加权而成,两项都只依赖人类侧数据,所以同一个式子在元训练和部署时都能算:

外循环只优化机器人多任务损失 。其中  是标准 LDA 视频预测损失, 是逐层键值重建损失, 是重建项权重。论文默认超参列在表 B.1:,内循环步数 ,元训练内循环学习率 0.1、测试时 0.01,外层 AdamW,主训 10 万步,8 张 H800。

HPARAMS = dict(
    wam_backbone="LDA-1B",           # 主干:LDA-1B
    mmdit_blocks=16, hidden_dim=1536, heads=32,
    ttt_head_dim=48, fw_hidden=128,  # TTT 记忆很小
    inner_sgd_iters=1,               # 内循环只 1 步(元训练 & 部署一致)
    inner_lr_meta=0.1, inner_lr_test=0.01,
    kvm_weight=4e-2,                 # λ:键值重建项权重
    outer_optimizer="AdamW", weight_decay=1e-8,
    outer_lr_action=1e-4, outer_lr_vlm=1e-5,
    meta_train_steps=100_000, batch_global=128,
    gpus="8x H800, DeepSpeed ZeRO-2",
)

这段配置在做什么:它把论文表 B.1 的关键超参固化成一份可读的字典。为什么单独列出来——因为几个数值直接决定了这套方法的成本画像:TTT 记忆的 head_dim=48fw_hidden=128 说明适配模块极轻,inner_sgd_iters=1 说明推理时几乎不额外烧算力,而 outer_lr_vlm=1e-5 比 outer_lr_action=1e-4 小十倍,暗示 VLM 侧要更温和地调。

7.2 反直觉现象: 的小权重撑起对齐

值得单独说的是键值重建项的权重 。它在组合损失里数值不大,却是让记忆“像注意力”的关键一环。消融里去掉这一项(w/o Memory Recon.),Table Bussing 从 100% 掉到 66.7%,Swap Place 从 88.9% 掉到 72.0%。换句话说,一个 0.04 的小权重,负责的是“把人类 Key 正确映到人类 Value”这件看似辅助、实则定义了整个跨注意力行为的事。这也印证了附录的理论—— 不是可选正则,而是交叉注意力的变分定义本身。

8. 数据比例:一段人类视频能不能顶一条机器人轨迹

8.1 等预算下人类数据 1:1 替代机器人数据

论文默认的元训练预算是每任务 100 条机器人轨迹加 100 条人类视频。数据比例消融回答了一个很实际的问题:既然人类视频便宜,能不能用它换掉昂贵的机器人遥操作数据。在总量固定为 200 条的等预算三元组里,(100,100) 拿到 74.1% 平均成功率,(200,0) 纯机器人数据拿到 73.7%,两者统计上不可区分。这意味着在一定条件下,一段普通人视频几乎可以 1:1 替代一段机器人遥操作数据,直接把数据采集成本从遥操作级压到手机拍摄级。对照特斯拉 Optimus 在弗里蒙特工厂上百人、每人每天 8 小时轮班重复数百次动作的采集方式,这个替代率的意义相当直接。

8.2 人类数据是替代品不是替代者

但消融也划了边界。极端配比 (10,190) 只拿到 51.4%,明显低于前两者。这里要厘清的是,人类数据是机器人数据的替代品,不是替代者——完全没有机器人 grounding,光靠人类视频撑不起动作条件化的信号。另一头,把人类视频从 100 加到 200,(100,200) 反而是 73.3%,略低于 (100,100),说明人类侧在默认配置就已经饱和。这组数字合起来给了一个清晰的工程建议:给足最基本的机器人轨迹当锚,然后用便宜的人类视频补足泛化,别指望纯人类数据一步到位。

9. 横向对照:WAM-TTT 在路线图上的位置

把同赛道的工作摆出来才看得清 WAM-TTT 的坐标。(Physical Intelligence) 是主打开放世界泛化的 VLA,靠大规模多样数据做泛化,但没有部署时的人类视频适配。EgoScale 在多样第一人称人类数据上 scale 出 VLA,需要手部姿态估计和动作重定向这类额外监督。MimicDroid 走的是把原始人类视频当上下文的 in-context 路线,也就是 WAM-ICL 对照的思路。LDA-1B(银河通用与北大,RSS 2026 收录) 是 WAM-TTT 的主干,首次把互联网视频、人类演示、机器人遥操作等异构数据统一进一个隐动力学模型,参数量约 1B,让 WAM 有了清晰的规模化训练路径。Spatial-TTT 提供了 WAM-TTT 直接借用的 fast-weight 记忆表述与可微内循环回传机制。

把这些串起来,WAM-TTT 的位置就清楚了:它是 WAM/LDA 预训练路线的部署侧延伸,不是又一个 VLA 骨干的横向替换。 它没有像 、EgoScale 那样在骨干和数据规模上做文章,也没有像 MimicDroid 那样走上下文条件化,而是在冻结的 LDA 主干上开了一个“适配座位”,用 Spatial-TTT 式的 fast-weight 把人类视频这种侧信息挂进去。银河通用自己的技术叙事里,2025 年和北大在 ICCV 首发 WAM 融合世界模型与 VLA,2026 年出 AstraBrain WAM 系列和 LDA-1B 统一异构数据,WAM-TTT 补上的是“预训练到部署后持续学习”这条闭环的最后一块。

相关推荐