- 引言
- 什么是通用策略
- 大规模机器人数据: Open X-Embodiment
- 跨具身: 把不同的身体合而为一
- 与 VLA 的关系
- 扩展(scaling)的视角
- 课题: 数据·安全·评估
- 部署与推理: 在实机上运行
- 重新审视安全
- 用一个小案例来看: "整理桌子"
- 展望
- 从人类视频中学习
- 为评估所做的努力
- 语言模型与机器人策略: 异同之处
- 围绕机器人基础模型的误解
- 开源模型的意义
- 结语
- 参考资料
引言
语言模型只用一个大模型,就能同时完成翻译、摘要、写代码、对话。图像模型也是一样,一个模型就能生成各式各样的图像。"一个大模型广泛地完成多种任务"——基础模型的这份成功,自然而然地把同一个问题抛给了机器人领域。
机器人也能有基础模型吗?一个策略能不能广泛地应对多种机器人、多种任务?
传统的机器人学习大多专精于"一个机器人、一个任务"。拿杯子的策略、开门的策略、关抽屉的策略——这些都是分别训练出来的,机器人一换,就得从头再学一遍。机器人基础模型正是想跨过这堵墙,用一个通用策略(generalist policy)去应对多种情形的尝试。
本文将梳理:什么是通用策略、支撑它的大规模机器人数据(尤其是 Open X-Embodiment)、把不同机器人当作一体来处理的跨具身(cross-embodiment)、同时处理视觉·语言·行动的 VLA 与它的关系,以及扩展(scaling)视角与尚存的课题。这个领域变化极快,因此先声明一点:具体的性能与结构可能因发布时间与代际而有所不同。
什么是通用策略
策略(policy)是机器人把观测作为输入、把行动作为输出的函数。看着摄像头画面和指示,决定接下来把手臂移到哪里,就是这么回事。
传统的专用策略针对某一个具体任务做优化。效果不错,但扩展性差。有 100 个任务就需要 100 个策略,机器人种类一多,数量还要成倍增长。
通用策略不一样。一个策略要处理多种任务,(在某些情况下)还要处理多种机器人。要做什么,主要靠语言指示来传达。
┌──────── 专用策略(每个任务各一个) ────────┐
│ 策略 A: 拿杯子 │
│ 策略 B: 开门 │
│ 策略 C: 关抽屉 ... 随任务数量增长 │
└────────────────────────────────────────────┘
┌──────── 通用策略(合而为一) ─────────────────┐
│ │
│ 指示: "把红色的杯子拿起来放进抽屉里" │
│ 观测: 摄像头画面 + 机器人状态 │
│ │ │
│ ▼ │
│ [ 一个大策略 ] ──▶ 行动(手臂·夹爪目标) │
│ │
│ 同一个策略试图处理数十到数百种任务 │
└─────────────────────────────────────────────┘
核心想法和语言模型一样。只要把规模(数据·模型)做大、把多样性做够,就期望不用逐个手写每个任务的程序,一个策略也能广泛地泛化。
大规模机器人数据: Open X-Embodiment
基础模型的燃料是数据。语言模型是吃着互联网上海量的文本长大的。但机器人数据不会散落在互联网上。真实机器人抓取、搬运物体的演示数据,得靠人一点一点采集,而且每种机器人的格式都不一样。
针对这个问题,一次重要的尝试是 Open X-Embodiment(arXiv 2310.08864)。多家研究机构把各自手上的机器人数据集汇总成一种统一格式,由此建成了一个横跨大量机器人与任务的大规模数据集合。
来自多家机构·多种机器人的数据集
┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐
│机器人 A│ │机器人 B│ │机器人 C│ │ ... │
│ 数据 │ │ 数据 │ │ 数据 │ │ │
└───┬────┘ └───┬────┘ └───┬────┘ └───┬────┘
└──────────┴──────────┴──────────┘
│ 统一为共同格式
▼
┌──────────────────────────────┐
│ Open X-Embodiment 数据 │
│ (多种机器人·任务的轨迹集合) │
└──────────────┬───────────────┘
│ 在此之上训练一个策略
▼
处理多种机器人的通用策略
在这份数据上训练出来的策略(例如 RT-X 系列)呈现出这样的倾向:联合多种机器人的数据一起训练,比只用单一机器人训练泛化得更好。这是一个信号——不同机器人的经验可以彼此帮助。
数据的三种来源
用来训练机器人策略的数据,来源不同,性质也大不相同。
| 来源 | 优点 | 缺点 |
|---|---|---|
| 实机远程操控 | 真实物理、真实接触 | 采集昂贵且慢 |
| 仿真 | 大量·低成本·安全 | sim2real 差距 |
| 人类视频 | 数量庞大、种类丰富 | 与机器人身体不匹配 |
实务中会把这三种来源组合起来使用:用仿真大量打好基本功,用实机数据填补现实中的空缺,再从人类视频里获取广泛的常识。因为单靠任何一种都不够,如何调配数据配比,是实战中的核心设计问题。
数据多样性的重要性
基础模型的泛化能力,取决于数据的多样性,不亚于取决于数据的数量。比起在同一环境里抓同一个物体抓一百万次,让物体种类和环境种类都更丰富的数据,才能训练出宽得多的策略。
狭窄的数据 宽泛的数据
┌───────────────┐ ┌───────────────┐
│ 杯子 · 明亮房间 │ │ 杯子·瓶子·工具· │
│ 单一机器人 │ │ 布料 │
└───────────────┘ │ 多种机器人·光照 │
│ │ 多样的背景 │
▼ └───────────────┘
只擅长见过的场景 │
(对陌生情形较弱) ▼
对陌生情形的泛化可能性 ↑
这就是为什么 Open X-Embodiment 这类努力很重要。单一实验室的数据本身多样性不足,但把多家机构的数据汇总起来,物体·环境·机器人的多样性就会大幅增加。多样性正是泛化的燃料。
为什么联合训练有帮助
直觉上会想:"每种机器人的身体都不一样,把数据混在一起训练,会不会反而更混乱?"但实际上,联合训练往往是有帮助的。原因在于不同机器人之间共享的共同结构。
机器人 A 的经验 机器人 B 的经验 机器人 C 的经验
"抓取一个物体" "抓取一个物体" "抓取一个物体"
│ │ │
└────────┬────────┴────────┬────────┘
▼ ▼
共享的"抓取"本质(靠近·抓握·抬起)
│
▼
即便某个机器人的数据不足
也可以由其他机器人的经验来补强这个概念
抓取、搬运、放置物体这类任务的本质,即便身体不同,在相当大程度上也是共通的。所以一个机器人上大量出现过的情形,即便另一个机器人只见过很少,也能靠共享的概念补上。这正是"用大规模、多样化的数据联合训练"的基础模型路线,能够胜过单独训练的根本原因。
跨具身: 把不同的身体合而为一
跨具身(cross-embodiment)指的是用一个策略去处理拥有不同"身体(embodiment)"的机器人们。单臂机器人、双臂机器人、夹爪不同的机器人、关节数不同的机器人——这些在物理上各不相同,但都共享着"抓取并搬运物体"这项任务的本质。
跨具身的困难显而易见。
- 行动空间不同: 每种机器人的关节数和控制方式都不一样,同一个"行动"表现形式也不同。
- 观测不同: 摄像头的位置、数量、视野各不相同。
- 物理特性不同: 手臂长度、力量、速度都不一样。
处理这个问题的一种方法,是尽可能把行动和观测对齐到一种共同的抽象表示上。比如以夹爪末端的目标位置·朝向这类多种机器人共通的表示来定义策略,那么每种机器人具体的关节指令,就可以在后台各自转换。
共同策略 (抽象行动: 夹爪目标位置·姿态)
│
┌────┴──────────────┬──────────────────┐
▼ ▼ ▼
转换为机器人 A 转换为机器人 B 转换为机器人 C
(关节指令) (关节指令) (关节指令)
│ │ │
▼ ▼ ▼
实机机器人 A 实机机器人 B 实机机器人 C
这样一来,一个策略学到的"概念性技能"就能被多种机器人共享,从一个机器人上获得的数据,也能提升另一个机器人的表现。
与 VLA 的关系
谈机器人基础模型,绕不开 VLA(Vision-Language-Action) 模型。VLA 是一种把视觉(摄像头)和语言(指示)作为输入、输出行动的策略,把语言·视觉模型的成果与机器人行动连接了起来。
- RT-2(Google DeepMind, arXiv 2307.15818): 把已经用网络数据训练过的视觉语言模型(VLM)用机器人数据做微调。它把行动当作离散化(discretized action)的 token 来处理,与语言模型的输出方式统一起来。令人印象深刻的一点是,网络上的视觉·语言知识可以迁移到机器人行动上。
- OpenVLA(arXiv 2406.09246): 用约 97 万条真实机器人演示训练出的 7B 规模开源 VLA 模型。它把 DINOv2·SigLIP 视觉编码器与 Llama 2 语言模型结合在一起,由于是开源模型,对研究与复现帮助很大。
- π0(Physical Intelligence): 用流匹配(flow matching)/扩散方式生成连续的高频行动,从与离散化 token 不同的方向瞄准精细操作。
- GR00T N1(NVIDIA): 宣称采用了双重结构,把响应快速的 System 1(扩散系列)与负责规划的 System 2 结合在一起。
- Helix(Figure AI): 作为面向人形机器人的通用 VLA 路线的一个案例被提及。
这里常用的一种技巧是 co-fine-tuning(联合微调)。把网络上的视觉-语言数据和机器人轨迹数据放在一起训练,想把网络带来的广泛常识和机器人具体的操作能力,一并装进一个模型里。此外,像 LoRA 这样的高效微调技术,也被一起用来以较低成本,把大模型适配到特定机器人·特定任务上。
如何表示行动
VLA 模型的一个核心设计决策是"行动要以什么形式输出"。大体上分两条路。
- 离散化(discretized)行动: 把行动空间切成若干格,像语言模型挑选单词那样,一个个挑选行动 token。RT-2 是代表性的例子。它有一个很大的优点,就是能直接复用语言模型的结构。
- 连续(continuous)行动: 直接生成实数值的行动。像 π0 那样使用流匹配/扩散,就能生成平滑、高频、精细的动作。
离散化方式(RT-2 类)
行动 = [token1][token2][token3]... ← 像语言模型一样逐个挑选
│ 简单、易于复用,但分辨率受限于格数
连续方式(π0 类)
行动 = 用扩散/流生成实数向量
│ 平滑精细,但训练·推理更复杂
哪一种更好取决于任务。粗略的拾放(pick-and-place)用离散化就足够了,但精密装配或灵活动作,往往是连续行动更有优势。这仍是一个被积极探索的设计空间。
VLA 的内部结构
一个典型的 VLA 大致由以下几个部件组成。
摄像头画面 ──▶ [视觉编码器] ──┐
├──▶ [语言·融合骨干网络] ──▶ [行动头] ──▶ 行动
语言指示 ──────▶ [文本编码器] ─┘
(机器人状态) ────────────────────┘
· 视觉编码器: DINOv2·SigLIP 等 (把图像转成特征)
· 骨干网络: Llama 系列等大型语言模型 (视觉·语言融合与推理)
· 行动头: 生成离散 token 或连续行动
前面提到 OpenVLA 把 DINOv2·SigLIP 视觉编码器与 Llama 2 结合起来,说的正是这套结构。把在网络上预训练好的强大视觉·语言部件拿过来,在上面接一个输出机器人行动的头,再用机器人数据来训练。多亏了预训练好的部件,即便机器人数据相对较少,也能借上网络知识的力。
扩展(scaling)的视角
语言模型的一条经验是:"把规模做大,能力会以超出预期的幅度提升"。机器人基础模型也怀抱着同样的期待。
数据规模·多样性 ↑ 模型规模 ↑
│ │
└───────────┬───────────┘
▼
向更广的任务·机器人泛化(期望)
│
┌───────────┴───────────┐
▼ ▼
应对没见过的物体 仅改变指示就能执行新任务
(是期望,不是保证) (是期望,不是保证)
不过语言和机器人之间存在一个决定性的差异。文本在互联网上实质上是无限量的,而机器人数据必须真实地在物理世界里动身体才能采集到。数据采集的成本要昂贵、缓慢得多。因此,利用仿真数据、从人类视频中学习、数据高效的方法等,都在作为补充扩展的方向被积极研究。扩展在机器人上能否像在语言上那样顺畅地生效,仍是一个悬而未决的问题。
语言模型的教训,以及局限
语言模型上观察到的扩展法则(把数据·模型·算力做大,损失就会可预测地下降),也给机器人带来了启发。但出于几个原因,它未必能原样照搬。
- 数据瓶颈: 机器人数据必须靠物理方式采集,很难像文本那样无限增长。
- 评估的模糊性: 语言有"预测下一个 token"这样干净的目标,但机器人的"成功"定义起来很复杂。
- 物理限制: 不管策略有多好,都无法超越硬件的物理极限。
即便如此,大方向依然成立。更多、更多样的数据,更大的模型,更好的训练方法,能够拓宽机器人策略的泛化能力——这一倾向在多项研究中都能观察到。只是"能生效到什么程度、以怎样的方式生效",还没有像语言那样被梳理得干净利落。
课题: 数据·安全·评估
机器人基础模型的课题,和它的前景一样大。
数据
如前所述,机器人数据采集成本高昂。必须靠人远程操控真实机器人,或者靠演示一点点积累数据,而确保多样性(多种物体·环境·机器人)尤其困难。仿真能提供帮助,但要付出 sim2real 差距这个代价。
安全
在物理世界里真实运动的机器人,一旦出错,可能会损坏物品或伤到人。语言模型给出一句错误的话,和机器人以错误的力量运动,二者的风险性质并不相同。因此,力量·速度限制、紧急停止、接触安全设计,必须与策略本身一起被认真考虑。
评估
公正地衡量"这个策略到底有多好"也很难。它很难像语言模型那样用固定的基准来打分,而实机机器人实验又很难复现。建立标准化的任务集、成功率的定义、可复现的评估协议,对这个领域走向成熟至关重要。
┌──────────── 机器人基础模型的三大课题 ────────────┐
│ │
│ 数据 ──▶ 采集昂贵且慢,难以确保多样性 │
│ 安全 ──▶ 存在物理风险,必须设计力·接触·急停 │
│ 评估 ──▶ 难以复现,标准基准尚不成熟 │
│ │
│ 须同时解决这三者,才能抵达实用的泛化 │
└─────────────────────────────────────────────────────┘
部署与推理: 在实机上运行
要把一个大型基础模型运行在真实机器人上,会伴随现实的限制。机器人必须实时运动,所以不管模型多聪明,只要推理慢,就没有用。
┌──────────── 实机部署的限制 ────────────┐
│ │
│ 实时性 ──▶ 模型必须在控制周期内响应 │
│ 计算资源 ──▶ 机器人搭载的计算机的极限 │
│ 延迟 ──▶ 观测→行动的延迟要小才能稳定 │
│ 安全 ──▶ 需要对异常输出加以防护 │
│ │
└──────────────────────────────────────────┘
正因如此,实务中会用到多种折中方案:把大模型蒸馏(distillation)成更小更快的模型;把速度较慢的高层规划和速度较快的底层执行分开(也就是前面看到的层级结构);或者用量化让模型变轻。GR00T N1 所宣称的 System 1/System 2 结构,也可以放在这个脉络里理解——把需要快速反应的部分和需要缓慢规划的部分分离开来。
重新审视安全
机器人基础模型的安全性,和语言模型的安全性在性质上并不相同。语言模型输出错误时给出的是文本,而机器人输出错误时给出的是物理运动。
- 输出校验: 在执行前检查策略给出的行动是否处在物理上安全的范围内(速度·力量·关节极限)。
- 紧急停止: 任何时候人都必须能立刻让机器人停下来。
- 接触安全: 硬件与软件共同防止在与人或物体接触时产生过大的力。
- 分布外识别: 遇到训练中从未见过的陌生情形时,与其勉强行动,不如停下来或请求帮助,这样更安全。
核心在于,安全无法只靠策略自身的智能来保证。需要在策略的上下游都设置独立的安全层,构成双重安全网,使得即便策略出错,也不会演变成物理伤害。
用一个小案例来看: "整理桌子"
我们把抽象的讨论收拢到一幅具体的图景里。想象一下,面对"把桌上的东西整理一下"这条指示,通用策略会怎样处理。
指示: "把桌子整理一下"
│
▼
[基础策略理解场景]
│ 识别杯子·盘子·汤匙,推断各自的目的地
▼
依次执行:
拿起杯子 ──▶ 放到水槽 (靠触觉维持抓握)
拿起盘子 ──▶ 放到固定位置 (留意是否打滑)
收拢汤匙 ──▶ 放进容器 (精细操作)
│
▼
重新确认场景 ──▶ 如果还有剩余物品就重复上述过程
这里正体现出基础模型的力量。把"整理"这个抽象的语言指示,拆解成具体的物体和目的地——这份常识来自网络数据。而实际拿起、搬运每个物体的操作能力,则来自机器人数据。二者的结合,正是通用策略所追求的图景。不过这终究是一个理想情形,要在实际中达到这个可靠度,依然是一项艰巨的课题。
展望
机器人基础模型还处于早期阶段。但方向是清晰的。把大规模、多样化的数据汇集成统一格式,用跨具身共享多种机器人的经验,用 VLA 把语言·视觉的成果连接到行动上——这股潮流正在不断增强。
近期比较现实的图景,或许不是一个"全能机器人",而是一个能广泛泛化、同时又能用少量数据快速适应特定任务的策略。凭网络知识具备广泛常识,靠机器人数据学会操作,再到新场地用少量演示做微调——大致是这样的组合。这种组合,更接近实用性与泛化能力之间现实的平衡点。
从人类视频中学习
如果机器人数据这么珍贵,能不能利用互联网上多得泛滥的人类视频?人们做饭、组装、摆弄物品的视频数量庞大。如果能从这些视频中提炼出操作方面的知识,数据瓶颈就有望大大缓解。
人类视频(数量庞大) ──▶ "做什么、怎么做"的知识
│
▼ 需要一座通往机器人身体的桥(bridge)
│
机器人执行数据(少量) ──▶ 用来弥补身体差异的校正
│
▼
人类的广泛知识 + 机器人的具体执行
困难是明确的。人的手和机器人的夹爪不一样,视频里也没有力量信息,视角也和机器人不同。所以人类视频不能直接拿来当策略用;目前在研究的方向,是提取"做什么"这一层上位知识,再与机器人数据结合起来。人类视频是数据瓶颈的一条有希望的突破口,但弥补身体差异,依然是一个悬而未决的问题。
为评估所做的努力
前面说过评估很难。这里再具体看看改进它的几个方向。
- 标准任务集: 定义一套可以在多种机器人·环境中通用的任务集合。
- 明确成功标准: 毫不含糊地规定"成功"是什么(比如,物体是否被放到了目的地)。
- 可复现的协议: 把光照、物体、初始摆放位置都记录下来,让其他团队也能复现相同的条件。
- 仿真基准: 为了减轻实机实验的复现负担,同时也在标准化的仿真环境中做评估。
一旦这样共用的评估基础建立起来,"我们的模型更好"这类主张就能被公正地检验。就像视觉·语言领域借助基准测试快速发展一样,评估的标准化对机器人领域走向成熟同样是关键。
语言模型与机器人策略: 异同之处
机器人基础模型借用了语言模型的思路,但也存在重要的差异。用一张表来做个梳理。
| 维度 | 语言模型 | 机器人基础模型 |
|---|---|---|
| 数据 | 网络上实质无限 | 在物理世界中艰难采集 |
| 输出 | 文本(无害) | 物理运动(可能带来危险) |
| 评估 | 用基准测试相对明确 | 标准化·复现都很难 |
| 出错的代价 | 一句错误的话 | 物品损坏·安全风险 |
| 反馈 | 预测下一个 token | 物理上的成功/失败 |
正因为这些差异,语言模型的成功公式没法原样复制到机器人上。即便如此,"用大规模、多样化的数据训练一个大模型,以获得广泛的泛化能力"这一核心理念,在机器人领域看起来仍然是一个有效的方向。理解这些差异,并针对机器人做出相应调整,正是这个领域的课题。
围绕机器人基础模型的误解
正因为这是一个快速发展的领域,夸大和误解也很常见。这里点出几点来找找平衡。
- "全能机器人很快就要来了": 演示令人印象深刻,但在陌生环境·陌生物体上做到可靠的泛化,依然很难。
- "只要不断增加数据就够了": 重要的不只是数量,多样性和质量同样重要,而数据采集本身就是一个巨大的瓶颈。
- "仿真就足够了": 仿真很强大,但 sim2real 差距依然存在,实机数据依然是必需的。
- "一个模型能替代所有机器人": 现实来看,更可能是一种广泛泛化、同时在现场用少量数据做适应的形态。
要准确理解这项技术,需要一种冷静的眼光,去看清令人印象深刻的演示和牢靠的实用性之间的距离。
开源模型的意义
OpenVLA 是一个开源模型,这一点对这个领域有着特别的意义。就像语言模型领域的开源模型极大加速了研究·复现·应用一样,机器人领域的开源策略和开源数据,也是推动发展的催化剂。
开源数据(Open X-Embodiment) + 开源模型(OpenVLA)
│
▼
任何人都可以复现·验证·改进
│
▼
加速整个研究社区的发展
正因为机器人数据的采集成本高昂,分享数据和模型的文化才显得格外珍贵。比起一家机构独自把一切都做完,采集数据、共享模型、一起向前推进的方式,让这个领域更快地走向成熟。当然,商业化·非公开的路线也一直强势存在,这两股潮流相互刺激,共同前进。
现在断言开源和闭源哪一方会占据优势还为时过早。在语言模型领域,两者也是并存的,相互竞争,把整体水平一起往上拉。在机器人领域,很可能也会延续类似的格局:公开的共同基础支撑起研究,各家公司再在此之上积累各自独有的诀窍。重要的是,无论哪股潮流,面对的都是同一个根本问题——"如何采集大规模、多样化的数据,又该如何使用它"。
结语
"用一个策略应对多种任务"这一目标,把语言模型式的思考方式带进了机器人学。通用策略、大规模数据、跨具身、VLA,是这股潮流中的核心拼图。数据·安全·评估这三大课题依然巨大,但一点点降低这堵墙的过程,正是这个领域此刻的现状。
终有一天,一个机器人策略也能像一个语言模型那样,广泛地完成我们用语言拜托它做的事情——研究正朝着那个方向稳步前进。
在这段旅程中不该忘记的一点是,机器人是一种把身体真正浸入物理世界的存在。与只处理文本的模型不同,机器人的每一个决策都会连到真实的力量和接触上。所以这个领域的发展,注定始终是一个在智能与安全、泛化与可靠性之间反复权衡的过程。不失去这份平衡的研究,终将造就出我们能够信赖、能够放心留在身边的机器人。
参考资料
- Open X-Embodiment (arXiv): https://arxiv.org/abs/2310.08864
- RT-2: Vision-Language-Action Models (arXiv): https://arxiv.org/abs/2307.15818
- OpenVLA: An Open-Source Vision-Language-Action Model (arXiv): https://arxiv.org/abs/2406.09246
- LoRA: Low-Rank Adaptation (arXiv): https://arxiv.org/abs/2106.09685
- Physical Intelligence (π0): https://www.physicalintelligence.company/
- Google DeepMind Robotics: https://deepmind.google/discover/blog/
- NVIDIA Isaac / GR00T 相关背景: https://developer.nvidia.com/isaac
- Hacker News (机器人基础模型讨论): https://news.ycombinator.com/
현재 단락 (1/227)
语言模型只用一个大模型,就能同时完成翻译、摘要、写代码、对话。图像模型也是一样,一个模型就能生成各式各样的图像。"一个大模型广泛地完成多种任务"——基础模型的这份成功,自然而然地把同一个问题抛给了机器...