GigaBrain-0.7:三系统架构下,具身基础模型逼向 Scaling 的临界点
0. 简介
具身智能的分论坛在 WRC 2026 上抛出了最锋利的问题:通用世界模型真的"通用"了吗?在生数科技给出的 L1-L5 分级里,L1 是生成"世界演化"的视频模型,L5 是调度多个智能体的"世界组织者",而评价一个模型处在哪一级,要看它是否具备理解、预测、行动三种能力耦合而成的闭环反馈。这个坐标系的另一端,站着的正是极佳视界刚发布的 GigaBrain-0.7。它没有停留在"我更会生成"上,而是把世界模型改造成具身系统的 System 3,让它和两个 3B 的 VLM(System 2 负责理解规划、System 1 负责动作控制)在一个真实的决策回路里协同,同时用超过 37,000 小时的异构数据(覆盖 16 种本体、181 万个 episode、20.8 亿帧)和 2.72 亿条图文问答撑起预训练。本文结合论文与开源仓库,重点拆解这套三系统架构如何落地、数据金字塔如何撑起 Scaling、以及它在真机与仿真评测上相对于 π0.5、GigaBrain-0.1、Xiaomi-Robotics-1 等对手的真实差距。相关代码将会在Github开源
1. 研究问题:VLA 的"最后一 5%"卡在哪
1.1 从 WRC 的分级看具身世界模型的位置
生数科技在 WRC 2026 提出的五级路线给世界模型画了一条能力轴:从"世界生成"到"与世界交互",再到"可行动的物理环境"、最终走向"自主世界智能体"和"世界组织者"。这条轴的核心,是把世界模型从"生成器"和"模拟器"里拎出来,推向朱军所说的理解、预测、行动三种能力的闭环反馈系统——行动改变环境、产生新观测,再进入下一轮理解与预测,而不是一次性生成完就结束。
这里的关键是,这套分级把世界模型和机器人学习的关系重新排了序。过去 VLA 的默认路径是"观测→动作"的直接映射,即所谓的反应式策略(reactive policy),模型没有对未来状态的显式建模,只根据当前图像和指令决定当前动作。而一旦任务进入长程、需要反复试错、或者出现"相同的观测对应不同任务阶段"的歧义状态时(比如叠衣服中相似的褶皱、装配中的相似姿态),缺乏时间上下文的单帧策略就会陷入重复动作的循环。
1.2 割裂的预测、行动与目标错位
Physical Intelligence 的 Karol Hausman 在 8 月 17 日的硅谷晚宴上讲过一个尖锐判断:当前的 VLA 训练目标在复现数据集里的动作,而你要的是任务成功率,这两件事会发散。他给了一条分界——从 0% 到 60% 的零样本,是一个关于数据的故事;从 60% 走到可部署,是一个关于强化学习的故事。换句话说,当已有数据把模型推到一定水平后,继续堆数据只会把模型推向"复现得更好",而非"在真实任务上更可靠"。
这个判断直指 GigaBrain-0.7 要解决的三个问题:理解(当前场景是什么、任务怎么拆)、预测(接下来会发生什么、当前进展如何)、行动(怎么把理解与预测映射到连续动作)。最传统的 VLA 把这三点混在一套网络里,重理解而轻预测;一些新工作用世界模型生成数据或出 subgoal,但预测信号与决策回路的耦合往往停在"训练时强、推理时弱"。GigaBrain-0.7 的做法是显式拆成三个系统,再用一个冻结的世界模型在训练阶段持续产出两路信号,让它真正进入决策。
难点提示(什么是"预测进入决策回路"):想象你在做一道必须先摆盘再上桌的菜。反应式 VLA 像只看当前一步的锅、不看火候,动作一步一换;而 GigaBrain-0.7 的 System 3 像一位盯着未来成品的助手,它在动手前就告诉你"这道菜最后该长什么样"(subgoal 图像)和"你现在做到几成了"(进度估值),System 1 再根据这两句话调整动作。这就是"先预演判断,再执行动作"。
2. 整体框架:三系统如何耦合
2.1 输入输出接口与系统划分
GigaBrain-0.7 把"理解、预测、行动"拆成三个可独立设计的子系统,再通过结构化接口连接,而不是把三者揉进一套网络。System 2 负责理解与规划,用一个 PaliGemma2 3B VLM 解释当前场景、跟踪任务进度,并把长程指令分解成可执行的子任务,输出思维链与 subtask 指令;System 3 负责预测与评估,是建立在 GigaWorld-1 之上的世界价值模型,5B,接收当前观测、本体状态与 System 2 给出的子任务,输出两路信号(未来观测的预测 subgoal 图像 g t g_t gt,与标量任务进度值 V t V_t Vt);System 1 负责动作与控制,由一个 PaliGemma2 3B 主干外加 0.5B 的 Action Expert 组成,通过 Mixture-of-Transformers(MoT)耦合,把当前观测、短期视觉记忆、子任务指令、本体状态与 System 3 的预测信号融合起来,用 Flow Matching 生成连续动作块。
| 系统 | 职责 | 基础模型 | 参数规模 | 输出 |
|---|---|---|---|---|
| System 1 | 动作与控制 | PaliGemma2 + Action Expert | 3B + 0.5B | 连续动作块(离散通路 + 连续通路) |
| System 2 | 理解与规划 | PaliGemma2 | 3B | 思维链、subtask 指令 |
| System 3 | 预测与评估 | GigaWorld-1 | 5B | subgoal 图像 g t g_t gt、进度值 V t V_t Vt |

这里的核心不对称在于:System 2 负责"现在该做什么",System 3 负责"接下来可能发生什么 + 当前做得好不好",System 1 则把两者连同观测、本体状态一起翻译成动作。理解与预测、行动三者保留了各自专门的损失,只在接口处交换结构化信号——这正是"保留专门目标、而非把一切揉成一个目标"的工程取舍。这套"先预演、后行动"的时间顺序,是源图那幅静态架构图没法直接表达的,下面这张图把它画清楚。

2.2 双金字塔:五层数据 + 三层算法
极佳视界把整套系统收敛成"双金字塔"框架。数据金字塔分五层:真机数据、传感器同构的真人数据(UMI + EGO)、海量互联网图文数据、生成与仿真数据,层层叠加最终汇成 37,256.98 小时的预训练语料;算法金字塔分三层:世界模拟(World Simulation,负责理解和预判)、动作对齐(Action Alignment,负责跨本体连续动作生成)、经验强化(Experience Reinforcement,负责从离线经验到在线持续强化)。
至于五层数据怎么对应三层算法,这里必须说清楚:不是一一对应,而是按用途归位。互联网图文数据喂给世界模拟里的 System 2(空间理解、目标定位、交互预测),让它"看懂世界";UMI/EGO 真人数据同时喂给 System 2(近手几何、第一视角操作先验)与 System 1 的动作对齐(手眼协调、连续动作先验),让它"知道人怎么动";真机数据是 System 1 动作对齐的主要来源,提供本体专属的控制监督;生成与仿真数据主要喂给理解与预判,负责补齐真机难以覆盖的长尾场景。只有经验强化不在数据金字塔里——它的"数据"来自模型自身 rollout 与人在环修正,是算法层在训练过程中生产出来的,而非静态储备。下面这张概念图用左右并置的方式把五层数据与三层算法纵向对齐起来,量级按 Table 1 由大到小排列。

3. System 2:理解与规划
3.1 从视觉到子任务:思维链与任务分解
System 2 的职责是把"高层指令"翻译成"当前要做什么"。它接收当前观测与任务指令,用 VLM 生成一段思维链推理——先描述当前视觉上下文(识别相关物体及其空间排布),再给出当前立即要执行的子任务指令。比如面对"把这件衣服挂到衣架上",System 2 可能会观察到"有帽子、有袋子",再把任务拆为子任务"拿起那顶红色的帽子"。
这个分解动作提供了一个高层任务理解与低层动作生成之间的中间接口。子任务信息一方面传给 System 1 作控制条件,另一方面也作为上下文交给 System 3,让预测和控制都在更显式的"当前处在哪个阶段"上运作,而不是让 System 1 直接面对一整段长指令。换句话说,System 2 把"任务级语言"压缩成"阶段级指令",这一层压缩越准,System 1 的连续动作越有方向,System 3 的预测也越有参照系。

3.2 时序训练:如何解决"重复状态"的死循环
具身操纵里有一个容易忽略的问题:很多任务的不同阶段会出现视觉上非常相似的观测。叠衣服时,抓取、铺开、对折这几个步骤的视觉特征可能高度重合;装配时,几次插入尝试也长得差不多。如果策略只依赖当前单帧,就会把"看起来像"当成"就是同一个状态",从而陷入重复动作的循环。
GigaBrain-0.7 在视觉编码器里插入 Temporal-Spatial Block。给定当前观测与历史若干帧,每个 block 把视觉聚合分解为时间与空间两步:时间运算因果聚合近期帧的信息,让当前表示捕捉任务相关区域随时间的演化;空间运算再在当前观测内建模视觉区域间的关系,把时序增强的特征整合成连贯的场景表示。
这里要厘清的是,历史视觉 token 并不被全部转发给 VLA 主干。Temporal-Spatial Block 渐进地把历史信息融合进当前帧表示,处理完后旧帧 token 被丢弃,只保留增强后的当前帧 token。因此进入主干视觉 token 数量与单帧设置相当,模型获得了时间上下文,却不因帧数增加而拉长上下文并推高推理成本。"相似帧但阶段不同"这个歧义是怎么被时间上下文解开的,用一张图能看得更直观。

4. System 3:预测与评估
4.1 世界价值模型:未来观测 + 任务进度
System 3 是 GigaBrain-0.7 区别于此前 VLA 的关键组件。它并非凭空造一个"预测未来"的模块,而是把极佳视界自研的 GigaWorld-1 世界模型改造成世界价值模型。改造分两步:先在机器人操作数据(真机 + 仿真层)上继续做以机器人为中心的视频预训练,让模型适应操纵任务里的状态转移与接触交互;再训练一个价值通路,估计任务进度——一个标量 V t V_t Vt,反映当前执行状态距离子任务完成还有多远。
相比 π0.7 和 π*0.6,GigaBrain-0.7 对动作质量的评估不直接依赖人工标注或 VLM 推理,而是由世界模型通过对未来的想象产生更细粒度、更稠密的动作评估。这恰恰是极佳视界的老本行——从 DriveDreamer 到 GigaWorld,他们在"预测"这条线上做了很多年。这里的关键是,推理时压根不跑世界模型,预测和价值早在训练阶段就蒸进策略里了。这也正解释了为什么它能绕开"5B 世界模型装不进机器人本体"的工程难题——部署时的 System 1 只看到已被压缩进策略的条件信号,而看不到那套庞大的生成器。System 3 在下游训练里是被冻结的,5B 参数全程不更新,只在后训练阶段为每个训练样本生成新的 g t g_t gt 和 V t V_t Vt。

4.2 两路信号:subgoal 图像与优势条件
System 3 给 System 1 两路互补信号。第一路是未来观测条件。以当前具身上下文(当前观测、本体状态、System 2 给的子任务)为条件,世界模型生成一段与 System 1 子任务时域对齐的短未来视频,取出预测序列的最后一帧作为 subgoal 图像 g t g_t gt——一个对短时任务进展后物理状态的紧凑视觉表示。它被编码后作为额外视觉条件提供给 System 1,让动作生成显式包含对"预期场景演化"的表示。这里的关键是,这段未来视频并不在部署时生成,而是在训练阶段就被编码、压缩进策略上下文。
第二路是基于价值的评估。System 3 估计一个标量值 V t V_t Vt,代表当前任务进度。 V t V_t Vt 被离散化为二元优势条件 A t ∈ { 0 , 1 } A_t \in \{0,1\} At∈{0,1},指示当前动作段的任务进度是否在提升。这个由价值推导出的条件被注入 System 1 的 prompt,提供一个对当前执行状态的紧凑评估(见图 1 中 System 3 与 System 1 之间的 value 通路)。简单说,subgoal 图像捕获"预期物理结果",优势条件提供"当前执行健康度"的标量信号。优势条件 A t A_t At 的具体推导方式,是在动作块区间内比较两个时间上分离状态的进度差并离散化:
A t = 1 [ V t + δ t − V t > 0 ] ∈ { 0 , 1 } , A_{t}=\mathbb{1}\!\left[V_{t+\delta_{t}}-V_{t}>0\right]\;\in\;\{0,\,1\}, At=1[Vt+δt−Vt>0]∈{0,1},
其中 A t = 1 A_t=1 At=1 表示该动作段对应任务进度上升, A t = 0 A_t=0 At=0 表示原地踏步或退步。 A t A_t At 被嵌入 VLA prompt 作为条件 token,训练时让 System 1 区分有用行为与无用行为;推理时策略则被条件化到正进展,偏置动作生成走向"让任务前进"的方向。关键在于,这个条件不是训练过程中的随机噪声,而是从世界价值模型对未来的想象里推导出的——它在训练样本里天然区分"好的尝试"与"失败的尝试",策略也因此能从大量失败数据里学到怎么避开它们。这一路"未来画面 + 进度打分"的双通道注入,下面这张图把它拆开来看。

难点提示(优势条件是怎么算出来的):在动作块区间内取两个时间上分离的状态,比较其价值差。差值大于 0,说明这段动作让任务往前走了( A t = 1 A_t=1 At=1);否则就是原地打转或退步( A t = 0 A_t=0 At=0)。推理时策略被条件化到"正进展",相当于偏置动作生成走向"让任务前进"的方向——这正是此前 RAMP(GigaBrain-0.5M*)里优势条件化的思路,只不过优势不再来自人工标注,而是来自专门训练的世界价值模型。
5. System 1:动作与控制
5.1 Mixture-of-Transformers:双流耦合
System 1 把 PaliGemma2(3B)VLM 主干与 Action Expert(0.5B)用 Mixture-of-Transformers 耦合。设 H l V L \mathbf{H}^{\mathrm{VL}}_{l} HlVL 与 H l A E \mathbf{H}^{\mathrm{AE}}_{l} HlAE 为第 l l l 层视觉语言流与动作专家流的隐状态,两流通过联合注意力耦合,但各自保留独立的前馈参数。这套设计的核心是:VLM 流维持其自回归语言的因果结构,动作专家流则能同时看到两流的全部 token——动作生成因此获得完整语义上下文,又不会把动作相关表征倒灌进 VLM 的注意力计算里。这也正是它和"最后单层交叉注意力"在性能上拉开差距的根源。
O l V L = C a u s a l A t t n l ( H l V L ; H l V L ) , O l A E = A t t n l ( H l A E ; [ H l V L , H l A E ] ) , \mathbf{O}^{\mathrm{VL}}_{l} = \mathrm{CausalAttn}_{l}\!\left(\mathbf{H}^{\mathrm{VL}}_{l};\;\mathbf{H}^{\mathrm{VL}}_{l}\right),\qquad \mathbf{O}^{\mathrm{AE}}_{l} = \mathrm{Attn}_{l}\!\left(\mathbf{H}^{\mathrm{AE}}_{l};\;\bigl[\mathbf{H}^{\mathrm{VL}}_{l},\,\mathbf{H}^{\mathrm{AE}}_{l}\bigr]\right), OlVL=CausalAttnl(HlVL;HlVL),OlAE=Attnl(HlAE;[HlVL,HlAE]),
H l + 1 V L = F F N l V L ( O l V L ) , H l + 1 A E = F F N l A E ( O l A E ) , \mathbf{H}^{\mathrm{VL}}_{l+1} = \mathrm{FFN}^{\mathrm{VL}}_{l}\!\left(\mathbf{O}^{\mathrm{VL}}_{l}\right),\qquad \mathbf{H}^{\mathrm{AE}}_{l+1} = \mathrm{FFN}^{\mathrm{AE}}_{l}\!\left(\mathbf{O}^{\mathrm{AE}}_{l}\right), Hl+1VL=FFNlVL(OlVL),Hl+1AE=FFNlAE(OlAE),
其中 A t t n ( Q ; C ) \mathrm{Attn}(\mathbf{Q};\,\mathbf{C}) Attn(Q;C) 表示查询来自 Q \mathbf{Q} Q、键值来自上下文 C \mathbf{C} C 的注意力, [ ⋅ , ⋅ ] [\cdot,\cdot] [⋅,⋅] 表示序列拼接。视觉语言流对自己 token 做因果自注意力,保留预训练 VLM 的自回归接口;动作专家则对两流的并集做双向注意力,从而在不把动作相关信息注入 VLM 注意力运算的前提下,获得由完整语义上下文支撑的动作生成。
这种方式比"最后一层交叉注意力"和"多层交叉注意力"性能都好。进一步看,论文对比了三种耦合方式:Dual Stream(双流在每一层交叠共享注意力)在 Clean Desk、Fruit Picking、Shirt Folding 三个真机任务上分别取得 50%、88%、30%,而 Last-Layer Cross Attention 只有 20%、40%、0%,Multi-Layer 也只有 20%、36%、0%。双流方案的代价是更高的推理耗时(0.221s vs. 0.073s / 0.108s),但它在最难的 Shirt Folding 上拿到了非零成功率,这正是论文选择它作为底座的原因。
Flow Matching 的具体实现(见仓库 giga_brain_0_loss.py)清楚地展示了"加噪 + 预测向量场"两步:add_noise 用 Beta 分布采样时间步,把动作与高斯噪声插值成
x
t
x_t
xt,目标
u
t
u_t
ut 是"噪声减动作",而 forward 里计算的是模型预测向量场与真实向量场的 MSE。换句话说,这段代码同时承担了"构造训练目标"与"计算损失"两种职责,也是整个 System 1 连续动作通路最核心的一段。
# giga_brain_0/giga_brain_0_loss.py
def add_noise(self, actions: torch.Tensor) -> tuple[torch.Tensor, torch.Tensor]:
noise = self.sample_noise(actions.shape, actions.device)
time = self.sample_time(actions.shape[0], actions.device)
time_expanded = time[:, None, None]
x_t = time_expanded * noise + (1 - time_expanded) * actions
u_t = noise - actions
self.x_t, self.u_t, self.time = x_t, u_t, time
return x_t, time
# forward 中:扩散损失 = 预测向量场 vs 目标向量场 的 MSE,按 action_loss_mask 加权
diffusion_loss = F.mse_loss(self.u_t, model_pred['v_t'], reduction='none')
diffusion_loss = diffusion_loss.mean(axis=-1) * action_loss_mask
loss_dict['diffusion_loss'] = alpha * diffusion_loss.mean(axis=-1)
这里 x t = t ⋅ ϵ + ( 1 − t ) ⋅ a x_t = t\cdot \epsilon + (1-t)\cdot a xt=t⋅ϵ+(1−t)⋅a, u t = ϵ − a u_t = \epsilon - a ut=ϵ−a,其中 ϵ \epsilon ϵ 是高斯噪声, a a a 是真实动作, t t t 是从 Beta 分布采样的时间步。用 Beta(1.5, 1.0) 采样时间步是一个设计选择:它在动作全程更均匀地铺开,让模型在小噪声与大噪声两端都见过足够样本,避免只"学个平均动作"。
5.2 离散与连续双通路
System 1 同时支持两种动作表示。基于 NTP 的离散通路通过视觉语言头自回归生成离散动作 token,提供与 next-token 预测兼容的符号化动作表示;基于 FM 的连续通路通过 Action Expert 用条件流匹配生成动作块,从含噪动作表示出发预测连续轨迹,用于部署时的精确控制。
两条通路共享 MoT 联合注意力的同一视觉语言上下文,但分工不同:离散通路在训练中把语言理解与运动控制搭起来,连续通路才是部署时真正执行的那条。这与 π0 系的"离散 token 负责宽预训练、流匹配专家负责后训练"不同——GigaBrain-0.7 把两者放在同一次预训练里联合优化,减少多阶段训练目标分裂带来的优化碎片化。推理侧的任务规划脚本(scripts/inference_task_planning.py)演示了 System 2 如何在部署时先解出中间子任务,再交给下游动作生成:
# scripts/inference_task_planning.py
pipe = GigaBrain0Pipeline(
model_path=model_path,
tokenizer_model_path=tokenizer_model_path,
fast_tokenizer_path=fast_tokenizer_path,
embodiment_id=embodiment_id,
state_norm_stats=norm_stats_data['observation.state'],
action_norm_stats=norm_stats_data['action'],
delta_mask=delta_mask,
original_action_dim=original_action_dim,
discrete_state_input=False,
autoregressive_inference_mode=True,
)
pipe.to(device)
# 逐样本用当前观测 + 高层任务,预测当前子任务
subtask = pipe.predict_current_subtask(images, task)[0]
pairs = task.lower().strip().split(' subtask: ')
main_task = pairs[0]
sub_task = pairs[1] if len(pairs) > 1 else 'None'
print('Main task:', main_task)
print('Subtask[GT]:', sub_task)
print('Subtask[Pred]:', subtask)
predict_current_subtask 返回的正是 System 2 的输出——从当前图像与高层指令中解出"当前该做什么"的子任务。注意这里 autoregressive_inference_mode=True 与 discrete_state_input=False 的组合:推理时走的是自回归的离散/语言接口,但状态输入没有做离散化(保持连续),也就是语言通路负责"推理与规划",连续通路负责"动作执行"。
工程价值(为什么双通路而非单一通路):纯离散 token 化在控制频率、预测时长和动作维度上升时会越来越慢;纯连续流匹配又缺少与语言模型兼容的符号接口。两者并用,培训阶段用离散通路搭好语言-动作关联,部署阶段用连续通路拿到高精度、高频的控制信号,代价是训练和显存更高。
6. 跨本体适配:异质本体如何共享经验
6.1 本体感知的状态接口
…详情请参照古月居
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)