Helix 模型架构#

Helix 是 Figure 于 2025 年 2 月发布的通用人形机器人视觉-语言-动作模型(Vision-Language-Action, VLA)。它面向 Figure 02 的全上半身灵巧操作,把互联网预训练视觉语言模型的语义泛化能力,与 200 Hz 反应式视觉运动策略组合成一套端到端系统。Figure 展示的能力包括自然语言指定新任务、抓取训练中未出现的物体、双机器人协作,以及在嵌入式低功耗 GPU 上完全本地运行。

资料边界: Helix 没有公开论文、模型权重或训练代码。本文只整理 Figure 官方技术文章明确披露的结构与数字;VLM 的具体型号、卷积主干层数、token 数量、35-DoF 精确拆分、损失权重和优化器等均未公开,不做猜测。

版本边界: 本文讨论 2025 年 2 月发布的初代 Helix。后续 Helix 02 新增 System 0 并扩展到全身 loco-manipulation,见 §8;两者不能混为一套架构。


1. 核心结论与规格#

Helix 的关键不是把一个大型 VLM 直接跑到控制频率,而是用一个连续语义 latent连接两个不同时间尺度的系统:

项目 Figure 官方披露
发布日期 2025-02-20
机器人 Figure 02
System 2 7B 开源、开放权重 VLM;具体型号未披露
System 2 频率 7–9 Hz
System 1 80M cross-attention encoder-decoder Transformer
System 1 视觉主干 全卷积、多尺度;完全在仿真中预训练
System 1 / 动作频率 200 Hz
动作空间 35 DoF,全上半身连续控制
训练数据 约 500 小时,多机器人、多操作员遥操作数据
训练方式 单阶段、端到端、标准回归损失
部署 两块低功耗嵌入式 GPU,S1/S2 模型并行
flowchart LR subgraph Input["共享输入"] IMG["单目机器人图像"] TXT["自然语言指令"] STATE["机器人状态<br/>腕部位姿 + 手指位置"] end subgraph S2["System 2 · 7B VLM · 7–9 Hz"] VLM["互联网规模预训练 VLM<br/>场景理解 + 语言理解"] LATENT["单个连续语义 latent<br/>任务相关行为意图"] VLM --> LATENT end subgraph S1["System 1 · 80M · 200 Hz"] CONV["全卷积多尺度视觉主干<br/>仿真预训练"] FUSE["latent 投影 + 视觉 token 拼接<br/>cross-attention encoder-decoder"] POLICY["连续动作回归"] CONV --> FUSE --> POLICY end subgraph Output["35-DoF 上半身控制"] WRIST["双腕目标位姿"] FINGER["手指弯曲 / 外展"] BODY["躯干 + 头部朝向"] DONE["任务完成百分比"] end IMG --> VLM TXT --> VLM STATE --> VLM IMG --> CONV STATE --> FUSE LATENT --> FUSE POLICY --> WRIST POLICY --> FINGER POLICY --> BODY POLICY --> DONE style S2 fill:#fff3e0,stroke:#FF9800 style S1 fill:#e8f5e9,stroke:#4CAF50 style Output fill:#e3f2fd,stroke:#2196F3

2. 为什么拆成 System 1 / System 2#

Helix 针对的是 VLA 控制中一个直接的频率矛盾:

模型类型 优点 问题
大型 VLM 认识大量物体,理解开放语言和场景语义 推理慢,无法稳定维持高频闭环
小型视觉运动策略 可以高频反应,动作精确 通常只覆盖训练任务,语义泛化弱
Helix 双系统 S2 提供通用语义,S1 提供实时控制 需要设计稳定的跨频率 latent 接口

Figure 没有让 S2 输出离散动作 token、文本规划或显式技能 ID,而是把任务相关信息蒸馏到一个连续 latent 向量。这个 latent 是系统的语义瓶颈:S2 可以低频更新,S1 在两次更新之间反复使用最新 latent,并根据高频视觉反馈持续修正动作。

flowchart TB subgraph Slow["慢时间尺度 · 7–9 Hz"] O2["图像 + 腕部/手指状态 + 语言"] --> V7["7B VLM"] V7 --> Z["z_semantic<br/>单个连续 latent"] end subgraph Fast["快时间尺度 · 200 Hz"] OF["最新图像 + 最新状态"] --> VP["多尺度视觉特征"] VP --> CAT["序列拼接"] Z --> PROJ["投影到 S1 token 空间"] --> CAT CAT --> TR["80M 视觉运动 Transformer"] TR --> A["连续动作 a_t"] end A -."环境改变".-> OF style Slow fill:#fff3e0,stroke:#FF9800 style Fast fill:#e8f5e9,stroke:#4CAF50

2.1 这个 latent 表示什么#

官方只把它描述为包含“高层行为意图”的任务相关语义表示,没有公开维度或监督目标。可以确定的只有:

  1. 它由 S2 根据图像、机器人状态与语言联合生成
  2. 它不是离散技能标签,而是连续向量
  3. 它被投影到 S1 的 token 空间
  4. 投影后的 latent 与 S1 视觉特征沿序列维拼接
  5. S1 动作损失的梯度会通过它回传到 S2

因此它更接近一个端到端学习的“任务条件”,而不是人可读规划,也不是传统分层控制里的手工子目标。


3. System 2:低频语义理解层#

S2 使用一个 7B 参数、开源且开放权重的互联网预训练 VLM。Figure 没有公开具体模型名称,因此不能从参数量反推为某个确定的 VLM。

3.1 输入#

S2 同时处理三类信息:

机器人状态先被投影到视觉语言嵌入空间,再与图像、文本共同送入 VLM。S2 的输出不是语言,而是单个连续 latent。

flowchart LR IMG["单目图像"] --> VE["VLM 视觉编码"] TEXT["语言命令"] --> TE["语言 token"] WRIST["腕部位姿"] --> SP["状态投影到<br/>视觉语言嵌入空间"] FINGER["手指位置"] --> SP VE --> VLM["7B VLM"] TE --> VLM SP --> VLM VLM --> Z["连续任务 latent"] style VLM fill:#fff3e0,stroke:#FF9800 style Z fill:#f3e5f5,stroke:#9C27B0

3.2 7–9 Hz 的含义#

7–9 Hz 不是机器人控制频率,而是语义目标刷新的频率。S2 每约 111–143 ms 根据最新观测重算一次 latent;在这段时间内,S1 仍以 200 Hz 连续闭环执行。双机器人协作中,S1 可以对另一台机器人突然移动进行快速反应,而不必等待 S2 完成下一次推理。


4. System 1:200 Hz 反应式视觉运动策略#

S1 是一个约 80M 参数的 cross-attention encoder-decoder Transformer。它不复用 S2 的视觉特征,而是拥有独立的全卷积多尺度视觉主干,并接收与 S2 相同的图像和状态输入。

这种重复视觉编码是有意的“关注点分离”:

4.1 S1 数据流#

flowchart TB subgraph Vision["高频视觉路径"] IMG["当前图像"] --> PYR["全卷积多尺度主干<br/>仿真预训练"] PYR --> VT["多尺度视觉 token"] end subgraph Condition["语义条件"] Z["S2 latent"] --> ZP["线性投影到<br/>S1 token 空间"] end subgraph Transformer["80M encoder-decoder Transformer"] VT --> SEQ["沿序列维拼接"] ZP --> SEQ STATE["腕部位姿 + 手指状态"] --> SEQ SEQ --> ENC["cross-attention 编码 / 解码"] ENC --> REG["连续动作回归头"] end REG --> ACT["35-DoF action @ 200 Hz"] style Vision fill:#e3f2fd,stroke:#2196F3 style Transformer fill:#e8f5e9,stroke:#4CAF50 style ACT fill:#fce4ec,stroke:#E91E63

4.2 为什么视觉主干在仿真中预训练#

Figure 只披露 S1 的多尺度视觉主干“完全由仿真预训练初始化”,没有说明任务、损失或数据规模。结构上的作用很明确:在约 500 小时真机遥操作数据训练前,先给高频视觉路径一个几何与多尺度表征起点,避免从零学习低层视觉控制。

4.3 连续回归,而不是动作 token#

Helix 明确避开动作 tokenization,直接以标准回归损失预测连续控制量。Figure 的论点是:离散 token 在低维夹爪控制上有效,但扩展到高维人形机器人连续控制会带来困难。

官方没有给出损失公式。若用抽象符号表示,其监督关系只是:

$$ (I_t, s_t, z_t) \longmapsto \hat{a}_t, \qquad \mathcal{L}_{\text{reg}} = D(\hat{a}_t, a_t) $$

其中距离函数 $D$、各动作维度权重、是否预测 action chunk 等均未在初代 Helix 文章中披露。


5. 35-DoF 动作空间#

Helix 在 200 Hz 下协调 35-DoF 全上半身动作。官方公开的是动作类型,不是逐维索引:

flowchart LR OUT["S1 连续动作输出<br/>35 DoF + 完成度"] OUT --> W["双腕目标位姿<br/>末端轨迹"] OUT --> F["独立手指<br/>弯曲 + 外展"] OUT --> T["躯干姿态目标"] OUT --> H["头部 / 注视目标"] OUT --> C["合成任务完成百分比<br/>自预测终止条件"] W --> BODY["全上半身协调"] F --> BODY T --> BODY H --> BODY style OUT fill:#e8f5e9,stroke:#4CAF50 style BODY fill:#e3f2fd,stroke:#2196F3 style C fill:#fff9c4,stroke:#FFC107

“任务完成百分比”是附加在动作空间上的合成维度,用于让模型自己判断一个行为何时结束,从而更容易串联多个学习到的行为。文章没有说明其标注生成方式、损失或部署阈值。

5.1 Helix 是不是 WBC#

初代 Helix 不是腿部动力学意义上的全身控制器。它控制完整上半身,包括手、腕、躯干和头部,但官方没有声称初代模型直接控制双腿、平衡或接触力。这里的 “whole upper body control” 应与 Ψ₀ + AMO/SONIC、GR00T-WBC 以及后续 Helix 02 的 full-body control 区分。


6. 数据与端到端训练#

6.1 约 500 小时遥操作数据#

Figure 收集约 500 小时的高质量、多机器人、多操作员遥操作行为。训练与评估的物品集合被刻意分开:所有训练中操作过的物品都从评估中排除,以检验新物体泛化。

自然语言标签不是全部由操作员现场输入,而是通过 hindsight relabeling 自动生成:一个标注 VLM 观看切分后的机器人相机视频,并回答“为了得到视频中的动作,应该给机器人什么指令?”

flowchart LR TELEOP["多机器人 / 多操作员<br/>高质量遥操作"] --> RAW["约 500 小时<br/>图像 + 状态 + 动作"] RAW --> SEG["视频片段切分"] SEG --> LABEL["自动标注 VLM<br/>反推 hindsight instruction"] LABEL --> PAIR["图像 / 状态 / 语言 / 动作<br/>训练样本"] PAIR --> HELIX["S2 + latent + S1<br/>端到端回归训练"] HELIX --> EVAL["只在未见物体上评估"] style TELEOP fill:#e3f2fd,stroke:#2196F3 style LABEL fill:#fff3e0,stroke:#FF9800 style HELIX fill:#e8f5e9,stroke:#4CAF50

6.2 单阶段、单权重集#

Helix 不为抓取、抽屉、冰箱或双机器人交互分别训练动作头,也没有按任务微调。所有行为使用同一套 S1/S2 权重,在一个端到端训练阶段中学习。

“单阶段”不代表两个系统不能独立迭代。Figure 所说的 separation of concerns 是架构与工程接口可以分别修改,而最终训练仍让梯度经过 latent 联合优化。

6.3 时间偏移训练#

部署时 S2 有明显推理延迟,S1 使用的 latent 与当前高频图像天然不同步。Helix 在训练中人为加入 S1/S2 输入时间偏移,并把偏移校准为部署延迟,以缩小训练和推理之间的分布差异。

sequenceDiagram participant Cam as 相机 / 状态流 participant S2 as S2 · 7–9 Hz participant Mem as 共享 latent participant S1 as S1 · 200 Hz participant Robot as Figure 02 Cam->>S2: 较低频观测 O(t-Δ) S2->>Mem: 更新 z(t-Δ) loop 每 5 ms Cam->>S1: 最新观测 O(t) Mem-->>S1: 最近可用 latent z S1->>Robot: 连续动作 a(t) Robot-->>Cam: 新视觉与状态反馈 end Note over S2,S1: 训练时显式模拟 Δ,匹配部署延迟

7. 异步双 GPU 流式推理#

每台 Figure 机器人使用两块低功耗嵌入式 GPU:一块运行 S2,一块运行 S1。两者不是串行阻塞调用,而是独立进程:

flowchart LR subgraph GPU2["GPU A · 语义后台"] OBS2["最新图像 / 状态 / 指令"] --> S2["S2 VLM<br/>7–9 Hz"] S2 --> SHARED["共享内存 latent"] end subgraph GPU1["GPU B · 实时控制"] OBS1["最新图像 / 状态"] --> S1["S1 policy<br/>200 Hz"] SHARED --> S1 S1 --> ACTION["35-DoF 连续动作"] end ACTION --> ROBOT["Figure 02"] ROBOT -."反馈".-> OBS1 ROBOT -."低频快照".-> OBS2 style GPU2 fill:#fff3e0,stroke:#FF9800 style GPU1 fill:#e8f5e9,stroke:#4CAF50

这种部署方式把大模型延迟隔离在控制环之外:即使某次 S2 推理较慢,S1 仍会使用上一个 latent 闭环控制,而不是暂停机器人。


8. 初代 Helix 与 Helix 02 的边界#

Figure 后续发布的 Helix 02 沿用 S1/S2 命名,但新增了 1 kHz 的 System 0,并把控制范围从上半身扩展到整个身体。理解初代 Helix 时不能把这些后来能力倒推回去。

维度 初代 Helix(本文) Helix 02
主要机器人 Figure 02 Figure 03
层级 S2 → S1 S2 → S1 → S0
S2 语义理解与 latent 语义理解与行为序列
S1 200 Hz 上半身连续动作 200 Hz 全身关节目标
S0 未披露 / 不属于 Helix 模型 1 kHz 平衡、接触与全身协调
控制范围 35-DoF 全上半身 腿、躯干、头、臂、腕、手指全身控制
新传感器 头部相机与机器人状态 增加掌心相机和指尖触觉
flowchart TB H1["Helix · 2025-02"] --> H1S2["S2 · 7–9 Hz<br/>语义 latent"] H1S2 --> H1S1["S1 · 200 Hz<br/>35-DoF 上半身动作"] H2["Helix 02 · 后续版本"] --> H2S2["S2<br/>场景 / 语言 / 行为序列"] H2S2 --> H2S1["S1 · 200 Hz<br/>全身关节目标"] H2S1 --> H2S0["S0 · 1 kHz<br/>平衡 / 接触 / 协调"] style H1 fill:#e3f2fd,stroke:#2196F3 style H2 fill:#f3e5f5,stroke:#9C27B0

9. 与其他 VLA 的结构差异#

模型 慢语义层 快动作层 动作生成 控制频率 / 形态 关键接口
Helix 7B VLM,7–9 Hz 80M 视觉运动 Transformer 连续回归 200 Hz,35-DoF 上半身 单个连续 latent
π₀ PaliGemma 前缀 Gemma 动作专家 Flow matching action chunk 双流 Transformer attention
Ψ₀ Qwen3-VL System-2 MM-DiT System-1 Flow matching 全身动作 chunk + 外接 AMO VLM hidden-state 序列
GR00T N1.x VLM backbone DiT action head Flow matching 多形态 action chunk backbone token + embodiment 投影

Helix 最鲜明的差异是:S2 不把整段视觉语言 token 序列传给 S1,而是压成单个 continuous latent;S1 同时保留一条独立高频视觉路径。 这种设计牺牲了一部分可解释中间结构,换取了语义更新与实时控制的彻底解耦。


10. 官方结果应该如何解读#

Figure 展示或声称的能力包括:

这些结果来自 Figure 自己的技术文章和演示,不是公开 benchmark:文章没有给出标准化成功率、对照实验明细、模型权重或可复现实验脚本。因此合理结论是“官方演示证明了系统可行性和较强的物体泛化”,而不是据此断言它在统一测试集上优于所有开源 VLA。


11. 尚未公开的关键细节#

未公开项 为什么重要
7B VLM 的具体型号 决定视觉编码、上下文长度和推理成本
S2 latent 维度与归一化 决定语义瓶颈容量与跨频率稳定性
S1 视觉主干结构 无法复现多尺度 token 数量与延迟
cross-attention 层数、宽度和 query 设计 无法重建 80M Transformer
35-DoF 逐维定义 无法确认腕部、手指、头与躯干的精确参数化
回归损失、归一化和时序 horizon 无法判断单步动作还是 chunk 监督
时间偏移 Δ 的数值与采样策略 无法复现异步训练
优化器、batch size 与训练步数 无法复现端到端训练
评估协议与逐任务成功率 无法与其他 VLA 做严格量化比较

12. 参考资料#

  1. Figure — Helix: A Vision-Language-Action Model for Generalist Humanoid Control,2025-02-20。本文架构、数据、训练、部署与结果的主要来源。
  2. Figure — Helix Accelerating Real-World Logistics,补充 S1 多尺度视觉、action chunk 与测试时重采样的后续物流版本;这些细节不默认归入初代通用 Helix。
  3. Figure — Introducing Helix 02: Full-Body Autonomy,用于区分后续 S0 / full-body 架构。
  4. Figure — Helix,Helix 产品与后续技术文章索引。