前言
过去一周,我花了很大的心思、力气,把deepseek的GRPO、MLA算法的代码解析通透,比如GRPO与PPO的详细对比,再比如MLA中,图片 公式 代码的一一对应,详见此专栏《火爆全球的DeepSeek系列模型》
2.20日晚,无意中刷到figure 02发布Helix的一个演示视频,再次大为震撼,当时在朋友圈感叹到,应该vla的贡献程度最大

后来看了其技术blog后 发现确实如此,毕竟对于工厂特定场景的干活,虽然目前模仿学习和RL落地相对更好(当然,工厂很快也会迎来VLA的落地),但对于家庭相对复杂多变的场景下,VLA的泛化能力确实更强
故本文就来专门解析下figure 02发布的通用VLA:Helix
Figure 02发布通用人形机器人控制的VLA:Helix
-
整个上身控制:Helix 是第一款对整个人形上身(包括手腕、躯干、头部和各个手指)进行高速率连续控制的 VLA
-
多机器人协作:Helix 是第一个同时在两个机器人上运行的 VLA,使它们能够使用从未见过的物品解决共享的、远程操作任务
这点还是6的,毕竟之前咱们看到的大部分机器人演示视频,基本都是针对单个机器人的 -
拿起任何东西:配备了 Helix 的 Figure 机器人现在只需按照自然语言提示,就能拿起几乎任何小型家居物品,包括数千种它们从未遇到过的物品
-
一个神经网络:与之前的方法不同,Helix 使用一组神经网络权重来学习所有行为
One neural network: Unlike prior approaches, Helix uses a single set of neural network weights to learn all behaviors
比如挑选和放置物品、使用抽屉和冰箱以及跨机器人交互,而无需任何针对特定任务的微调换言之,即Helix 仅使用一个统一的模型就实现了不同任务的强大性能,仅使用一组神经网络权重:系统 2 为 7B,系统 1 为 80M
Helix achieves strong performance across diverse tasks with a single unified model. Using just one set of neural network weights (7B for System 2, 80M for System 1)
总之,具身智能让我对大模型的应用落地 充满极大的热情与信心
- 自从figure 01之前发布的与人类自然流畅的对话且听人类指令整理桌面之后「详见此文的第六部分 Figure 01:VLM做顶层规划 + 操控小模型预测动作」,figure在我眼中便是机器人版OpenAI的存在,它的每一次更新迭代,我都极为关注,代表着具身机器人的最前沿之一
- 创业团队搞大模型纯软应用 拼不过大厂,但具身的落地,现在有不少大中小创业公司的机会与空间(场景太多 大厂搞不过来)
希望与同行/同仁多多合作,若有意合作,敬请私我
++更新++:后于2.24日,我于本文的第二部分,新增了对清华大学IIIS的一个和Helix类似工作HiRT的解读
第一部分 通用人形机器人控制Helix
1.1 如何理解Helix
1.1.1 不同场景下训练方法的对比
众所周知
- 在面对特定的比如工厂场景中,在模仿学习的框架之下,采集数千条人类示教数据,是可以教会机器人比如协作机械臂干一些活的(当然,也可以通过先建立仿真环境,通过RL大量重复交互、训练一个base model,然后再在真实环境中通过人类示教数据做微调)
- 但当面对相对复杂多变的家庭场景,针对家庭场景的一个个特定任务,则不管是每个任务都进行长达数小时的编程,还是一个个场景下采集数千条示教演示的数据,都显得成本高昂------至少不太经济
说白了,就是前者工厂目前暂不需要很强的泛化,更多需要精细控制
但家庭则需要相对比较好的泛化能力,毕竟家庭场景下的每个任务的精读要求没工厂要求那么高,有一定的容错性,但家庭场景复杂多变
为了让机器人有比较好的泛化能力,此前的VLA已经在这方面做了很多的探索
而本次Figure 02发布的Helix便是延续VLA这条路线的成果------将视觉语言模型VLM)中已有的丰富语义知识通过一定的途径转化为机器人动作

那针对如何从 VLM 中提取所有这些常识性知识并将其转化为可泛化的机器人控制这个问题,Helix是怎么做的呢,和其他的VLA模型------比如和π0有何不同呢
1.1.2 Helix:组合"快系统 1、慢系统 2",以用于整个上身控制
先前的方法面临着一个根本性的权衡:VLM 主干是通用的,但速度不快,而机器人视觉运动策略是快的,但不通用,而Helix 通过两个互补的系统解决了这一权衡:兼顾通用性和实用性,且这两个系统经过端到端的训练,可以进行通信
总之,Helix 是首创的双系统[分为"快系统 1、慢系统 2"]VLA 模型,可对人形机器人的整个上半身进行高速、灵巧的控制

-
系统 2 (S2) ,一个在互联网规模数据上进行了预训练的 VLM,其参数大小为7B
以 7-9 Hz 的频率运行,用于场景理解和语义解析,从而实现跨对象和跨情境的广泛泛化它处理经过投影进入++视觉语言嵌入空间++ 的单目机器人图像和机器人状态信息(包括腕部姿态和手指位置)
It processes monocular robot images and robot state information (consisting of wrist pose and finger positions) after projecting them into ++vision-language embedding space++.
结合指定期望行为的自然语言指令,S2 将所有与任务相关的语义信息提炼为一个单一的连续潜在向量Latent Vector ,传递给 S1 以对其低级动作进行条件设置
Combined with natural language commands specifying desired behaviors, S2 distills all semantic task-relevant information into a single continuous latent vector, passed to S1 to condition its low-level actions -
系统 1 (S1) :一种基于交叉注意力的编码器-解码器Transformer,其参数大小为80M
且S1自身的视觉骨干网络通过全卷积、多尺度视觉主干网络进行视觉处理「It relies on a fully convolutional, multi-scale vision backbone for visual processing」,该网络通过完全在模拟环境中进行的预训练来初始化S1的动作策略会融合: ++S1自身接收到的最新观察结果++ 、++来自S2的最新S2潜在向量++,具体而言
第一方面,S1快速推理,S1自身的视觉骨干网络 会直接接收与 S2 相同的图像和状态输入,但它以更高的频率处理它们,以实现响应更快的闭环控制
第二方面,S1结合S2深度思考下的深度推理,即S1还会接收来自S2 的Latent Vector 「投影到 S1 的token空间中」,且沿着序列维度与来自第一方面S1自身视觉骨干网络的视觉特征连接起来,以提供完成对应任务的完整条件
The latent vector from S2 is projected into S1's token space and concatenated with visual features from S1's vision backbone along the sequence dimension, providing task conditioning如此一快、一慢,最终融合S1自身视觉主干的输入信息和来自S2 产生的潜在语义表征(latent semantic representations),整体输出快速反应的视觉运动策略------即200 Hz 的精确连续机器人动作,包括所需的手腕姿势、手指屈曲和外展控制,以及躯干和头部方向目标
且他们在动作空间中附加了一个合成的"任务完成百分比"动作,使 Helix 能够预测自己的终止条件,从而更容易对多个学习到的行为进行排序
我再帮大家对比下之前的模型
- 在操作频率上,比π0、RT2更快,与Figure 01相当
比如,对于π0而言,他们也就做到50Hz的频率控制机器人进行如折叠衣物
包括更早之前的RT-2的执行速度更有限(RT-2论文里提到的决策频率则只有1到5hz),更没法做到200hz的操作速度
只有Figure 01中得益于基于neutral network的机器人操控小模型,做到了以 200hz 的频率生成 24-DOF 动作(在自由度上,Helix有35自由度)- 在模型架构上,一个大模型,不用额外且独立的动作专家expert
首先,Figure 01类似RT-1,两个模型:组合了OpenAI的VLM、Figure 01的机器人操控小模型*------这两个模型的权重是不一样的*
其次,Figure 02的Helix全程就一个大模型,非简单组合VLM和动作专家expert,而是一个整体的VLA,两个系统共享一组神经网络权重
且过程中不再需要将自然语言转化成简单指令「根据输入直接得到输出action(没有Figure 01中的机器人操控小模型)」,通过自然语言就可得到最终的 Action- 在是否微调上,不用针对特定的任务进行微调
现有的 VLA 系统通常需要专门的微调来优化不同高级行为的性能,Helix不用
Existing VLA systems often require specialized fine-tuning or dedicated action heads to optimize performance across different high-level behaviors
这种解耦架构使得每个系统都能在其最优的时间尺度上运行。S2 可以"慢思考"高层次的目标,而 S1 则能"快思考"以实时执行和调整动作。例如,在协作行为期间,S1 能够迅速适应伙伴机器人不断变化的动作,同时保持 S2 的语义目标
且Helix 直接输出高维动作空间的连续控制,避免了先前 VLA 方法中------比如RT-2、OpenVLA使用的相对复杂的离散化动作tokenization方案,这些方案在低维控制设置「例如二指夹爪,即binarized parallel grippers」中已取得一些成功,但在高维人形控制中面临扩展挑战
1.2 数据和训练细节
1.2.1 500 小时的高质量视频片段来监督微调Helix中的VLM模块
我们收集了高质量的多机器人、多操作员数据集,其中包含各种远程操作行为,总共约 500 小时「相当于使用约 500 小时的高质量监督数据来训练 Helix,这个数据量还是比较小的,差不多就是模仿学习示教数据集的规模,而一般的VLA预训练数据集一般1万小时起步,比如π0------其在超过10,000小时的机器人数据上进行预训练」
为了生成自然语言条件下的训练对,他们使用了一个自动标注(auto-labeling)的视觉语言模型VLM来生成事后指令「即To generate natural language-conditioned training pairs, we use an auto-labeling VLM to generate hindsight instructions」
为方便大家理解,我举一个原技术报告中没有的例子
- 首先,让该 VLM------比如可能比较强大的GPT4o,来处理来自机器人机载摄像头的分段视频片段「The VLM processes segmented video clips from the onboard robot cameras」,比如片段A 、片段B 、片段C、片段D..
且让该VLM把这一系列视频片段中看到的动作步骤用自然语言标注出来,从而分别对应动作步骤a1 a2 a3 、b1 b2 b3、c、d.. - 然后,以"为了得到这段视频中看到的动作,您会给机器人下达什么指令?"作为提示「即prompted with: "What instruction would you have given the robot to get the action seen in this video?"」,让Helix中7B大小的VLM模块 预测对应的动作步骤a1' a2' a3'、b1' b2' b3'、c'、d'
- 最后,对比
Helix预测对应的动作步骤a1' a2' a3'、b1' b2' b3'、c'、d'
与VLM标注的动作步骤a1 a2 a3 、b1 b2 b3 、c、d..
建loss
当然了,训练期间处理的所有物品均不包含在训练完成后的效果评估中,以防止污染
1.2.2 训练与推理
Helix 经过完全端到端的训练
- 从原始像素和文本命令映射到具有标准回归损失的连续动作。梯度通过用于调节 S1 行为的潜在通信向量:从 S1 反向传播到 S2,从而允许对两个组件进行联合优化
- Helix 不需要针对特定任务进行调整;它保持单个训练阶段和单个神经网络权重集,无需单独的动作头或针对不同任务的微调阶段
it maintains a single training stage andsingle set of neural network weights without separate action headsor per-task fine-tuning stages - 在训练过程中,在 S1 和 S2 输入之间添加时间偏移,此偏移经过校准以匹配 S1 和 S2 部署的推理延迟之间的差距,确保部署期间的实时控制要求准确反映在训练中
优化的流式推理
-
Helix 的训练设计支持在 Figure 机器人上高效地并行部署模型,每个机器人都配备了双低功耗嵌入式 GPU
推理管道分为 S2(高级潜在规划)和 S1(低级控制)模型,每个模型都在专用 GPU 上运行S2 作为异步后台进程运行,使用最新的观察结果(机载摄像头和机器人状态)和自然语言命令。它持续更新一个共享内存潜在向量------即下图中间的那个Latent Vector,该向量编码了高层次的行为意图
It continuously updates a shared memorylatent vectorthat encodes the high-level behavioral intent.
S1 作为单独的实时过程执行,保持整个上身动作流畅所需的关键 200Hz 控制环路。它采用最新的观察结果和最新的 S2 潜在向量
It takes both the latest observation and the most recent S2 latent vector -
S2 和 S1 推理之间固有的速度差异,自然导致 S1 在机器人观测上以更高的时间分辨率运行,从而为反应式控制创建了一个更紧密的反馈回路
The inherent speed difference between S2 and S1 inference naturally results in S1 operating with higher temporal resolution on robot observations, creating a tighter feedback loop for reactive control.这种部署策略刻意反映了训练中引入的时间偏移,从而最大限度地减少了训练-推理分布差距。异步执行模型允许两个进程以最佳频率运行,使得能够以最快的单任务模仿学习策略的速度运行 Helix
// 待更
第二部分 清华HiRT:通过分层机器人transformer架构增强机器人控制
有意思的是,Helix发布之后,清华大学交叉信息研究院IIIS的一博士生Yanjiang Guo在X上表示,这跟他们24年9月份发布的一篇论文HiRT------其使VLM以低频运行以捕获暂时不变的特征 同时通过高频的视觉策略实现实时交互,所用的思路很相似
-
于是我去特意看了下这篇论文,原来是这篇:《HiRT: Enhancing Robotic Control with Hierarchical Robot Transformers》
-
然后我一看这个HiRT很眼熟啊,原来我24年年底在解读预测与动作扩散器PAD的时候「详见此文《Diffusion Transformer(DiT)------将扩散过程中的U-Net换成ViT:近频繁用于视频生成与机器人动作预测(含清华PAD详解)》的第二部分 DiT在机器人动作预测中的典型应用:清华RDT、CogACT、PAD 」,便知道了有HiRT这个工作
但当时解读完PAD之后,便没继续去解读HiRT这个工作了(实在是每天事情太多了),也是巧啊,^_^
既然HiRT再次进入了我和一些朋友的视线,那本文第二部分就来解读下这个HiRT吧
2.1 现有问题与相关工作
2.1.1 VLA现存的一些问题:控制频率不够快
众所周知,在预训练的VLMs基础上,现有的VLA模型[1,2]提出在大量机器人数据上对VLMs进行微调,这使得能够直接进行端到端的机器人控制,同时享受VLM预训练的益处
然尽管具有数十亿参数的VLM后端带来了卓越的泛化优势,但它也伴随着巨大的计算负担。在部署过程中,这导致了控制推理速度较低和高延迟。这可能会减慢机器人运动速度并延长任务完成时间,从而在处理动态任务(如在杂乱环境中操纵快速移动的物体)时影响性能和安全性[7,8]
总之,大型VLA模型的控制频率限制仍然是将这些先进模型部署到实际机器人上的一个重大障碍
到人类认知双重过程理论[9]的启发,作者提出了HiRT,一种用于VLA模型的分层交互模仿学习框架
双重过程理论认为存在两个系统,在人类认知中:系统1负责快速、直觉的反应,而系统2负责缓慢、分析性的计划------这么看的话,个人认为,figure 02在研发HELIX之前或过程中,极大可能关注到了清华IIIS的这个HiRT工作

目前的VLA模型可以被视为仅依赖于系统2,使用计算成本高的VLM进行推理和动作生成。然而,他们认为VLA模型可以通过结合这些系统受益
-
HiRT利用系统2提取高层次、缓慢变化的信息来指导轻量级的系统1模块
这个系统1由一个较小的模型实现,可以快速响应环境变化。尽管轻量化,HiRT中的系统1可以利用系统2的指导来保持与原始VLM相当的性能,同时获得显著的速度提升
他们将此方法称为HiRT,这是一种分层交互模仿学习框架,旨在能够快速执行多种指令、场景和任务 -
总之,HiRT由两个主要组件组成:理解模块和执行模块
理解模块InstructBLIP (7B) [5],相当于Helix的系统2 , 是一个预训练的大型视觉-语言模型,能够将视觉信息和语言指令转换为潜在特征,这些特征包含了常识知识,用于长期场景理解,包括任务规划和错误校正
执行模块,相当于Helix的系统1 , 是一个紧凑的基于视觉的动作策略,负责处理短期场景认知,利用视觉-语言模型的先前观察和潜在特征「和上面的Helix一样,系统1会融合最新的观察结果和最新的 S2 潜在向量 」
如此,为了增强对全局指令和视觉数据的关注,他们在执行模块中引入了新的条件层最终,HiRT利用较慢的视觉-语言模型指导快速的低级策略,从而在准静态和动态任务中实现高频率的高效性能。此外,他们通过调整模块的异步频率来进一步优化速度
2.1.2 相关工作
相关的工作包括如下
++一方面,基于语言的机器人操作模仿学习++
通过模仿学习将语言与机器人动作结合的研究[10,11,12]具有悠久的历史
-
其中语言通常被用作目标指定[13-Rt-1,14-Open-world object manipulation using pre-trained vision language models,15-Bc-z,16],或规划的中间表示[17-Camel,18-Liv,19-R3m]
-
一些先前的工作采用强化学习技术[20-earning language-conditioned robotbehavior from offline data and crowd-sourced annotation,21,22,23,24]来解决某些类型的下游任务
-
为了应对这些强化学习方法在泛化能力上的不足,最近的研究集中于为高层次任务规划提示大型语言模型(LLMs)[17,25,26,27-Do as i can, not as i say,28-gent instructs large languagemodels to be general zero-shot reasoner]
以及在专家机器人数据集上微调视觉语言模型(VLMs)以进行低层次机器人控制[20-earning language-conditioned robotbehavior from offline data and crowd-sourced annotation,13-Rt-1,24-Pixl2r,29,30,31]
与以往探索如何泛化到新任务的工作不同,HiRT专注于通过更高效和有效地利用VLMs中的广泛视觉语言知识来解决低层次操作任务
++二方面,用于机器人学的视觉语言模型++
将预训练的视觉语言模型(VLM)[3-Blip-2,4-Image as a foreign language,5-Instructblip,6-Palm-e,32-Prompt a robot to walk with large language models]应用于各种具身场景是近期研究的重点领域
大多数先前的工作集中于利用VLM进行高层次的规划或推理[27-Do as i can, not as i say,33-Socratic models,34-Lm-nav: Robotic navigation with large pre-trained modelsof language, vision, and action,35-Inner monologue: Embodied reasoning through planning with languagemodels,36,37-Llm-planner: Few-shotgrounded planning for embodied agents with large language model,38-Llm+ p: Empoweringlarge language models with optimal planning proficienc]
- 为了有效地将视觉或语言信息与物理环境连接起来,具身模型需要在具身数据[1-Rt-2]上对预训练的VLM进行微调,包括包含任务级规划的语言形式的视频数据[39,17,27]、简单文本描述[40,41]、低层次操作[42,43,44](称为视觉-语言-动作模型)
- 然而,部署如此大型的VLA模型通常会导致推理速度缓慢[45],这使得具身模型不适用于需要精确操作或快速执行的场景
- HiRT则着重于通过使用一种新颖的策略模型来解决这一限制,该模型可以有效地保留较大模型的强大视觉语言能力
++三方面,分层动作规划++
分层动作规划 [17,46,27,47,48] 涉及将任务分解为多个可以直接执行的简单任务,从而能够制定策略来处理更复杂的、长期的任务
- 先前的研究已展示了将提示输入到大型语言模型(LLMs)中作为通向低级动作的桥梁的作用。具体来说,这可以通过任务级规划 [49,39,46]、代码执行 [50,51,52] 或其他规划表示(如三维场景图 [53]、可供性函数 [54] 和用于移动的动作模式 [55])来实现
- 然而,这些方法通常与物理体现无关,阻碍了高层模型直接与物理环境交互
- 与这些方法相反,HiRT将视觉语言模型(VLMs)与特定机器人的物理形式以端到端的方式结合,使其能够通过连续的中间表示学习分层任务规划
// 待更