斯坦福团队将 LLM 后训练思路引入机器人,VLA 开始从真实经验中继续学

0 评论 465 浏览 0 收藏 25 分钟

斯坦福博士生 Perry Dong 与导师 Chelsea Finn 提出面向机器人的通用后训练思路。预训练模型已能完成复杂任务,却卡在可靠性上:95% 的成功率放进有玻璃、宠物和孩子的家庭,剩下的 5% 仍会不断制造事故,机器人要学的是稳定把事做对。

近日,斯坦福大学计算机科学博士生 Perry Dong 与导师 Chelsea Finn 发布长文《Towards Universal Post-Training for Robotics》,讨论机器人基础模型继续 Scaling 之后,一个正在从研究问题变成部署问题的环节:当 VLA、WAM 等预训练模型已经能够完成越来越复杂的任务,怎样让机器人从“偶尔能做成”,走到可以稳定、反复地把事情做对。

Perry Dong 目前主要研究强化学习,由 Chelsea Finn 和 Dorsa Sadigh 指导,同时在 Google DeepMind 兼职工作。近一年的研究也基本围绕同一条线展开,包括机器人在线强化学习、Q-Learning、价值函数 Scaling,以及面向 VLA 的 EXPO-FT。

Physical Intelligence、Generalist、Google DeepMind 等团队已经展示了一批可以执行复杂任务的预训练机器人模型。在 Perry Dong 看来,今天的机器人基础模型有些像语言模型的 GPT-2、GPT-3 阶段:模型已经表现出相当强的能力,但能力和可靠性之间还有很长一段距离。

一个机器人即使有 95% 的概率正确把盘子放好,进入一个有玻璃制品、宠物和孩子的家庭后,剩下的 5% 仍然足以不断制造事故。复杂行为并不等于可靠。预训练把机器人带到了“会做”的阶段,接下来需要解决的是怎样让这些能力稳定到可以真正部署。

机器人到了 GPT-2 时刻

语言模型已经走过一次类似的过程。早期的 GPT-2、GPT-3 可以生成流畅文本,也掌握了大量知识,但输出非常不稳定。Perry Dong 在文章中举了 GPT-2 回答“怎样烤一整只鸡”的例子:模型一开始还在回答问题,很快就开始重复“锅”“冰箱”等无关内容,最后甚至转向“为什么我要害怕鸡”。

这样的模型可以展示出令人惊讶的语言能力,却还不是一个能够稳定使用的产品。后来补上这段距离的是后训练。监督指令微调、RLHF,再到基于可验证奖励的强化学习,让语言模型逐渐从“令人印象深刻的 Demo”变成日常能够使用的系统。

更关键的是,语言模型的后训练逐渐形成了一套比较明确的方法。先有一个足够强的预训练模型,再定义环境和奖励,包括可以直接验证的结果或者学习得到的偏好模型;之后使用一类相对成熟的强化学习算法进行优化,同时处理奖励作弊等已经反复出现的问题。

有了这套路径,训练一个新的下游任务时,不再需要从头摸索。使用什么模型作为起点,奖励怎样定义,哪些训练异常最常见,都已经有一批可以直接参考的做法。

机器人目前缺少的正是这一部分。过去几年,机器人模型的大量进展来自模仿学习。动作分块、遥操作界面等技术成熟之后,机器人训练很大程度上继承了监督学习的工程特征:损失函数通常不会因为难以解释的原因突然爆炸,需要重点调整的参数相对有限,训练曲线与模型表现之间也比较容易建立对应关系。

强化学习的状态还不同。它已经显示出进一步提升机器人基础模型的潜力,但真正把一套强化学习方法放到真实机器人上,仍然很依赖研究人员的经验。同样一个算法,数据怎样收集、什么时候更新、参数如何设置、训练为什么突然失效,都可能需要反复尝试。

Perry Dong 将这种状态形容为一门“手艺”。少数熟悉系统的人可以把它做出来,但还没有变成其他团队拿过去以后也大概率能够复现的“配方”。

要补上这块,需要两样东西。

第一是一套专门为前沿机器人模型设计的算法。今天的模型已经达到十亿参数规模,算法需要在这个规模下保持稳定,同时还必须足够节省真实机器人数据。语言模型生成一次回答的成本很低,机器人每一次尝试却都要占用真实设备和时间。

第二是一套围绕算法运行的标准训练流程。一次任务怎样算成功,失败以后怎样恢复场景,人应该在什么时候介入,这些反馈怎样重新进入训练,都需要有相对可靠的默认方法。

只有算法还不够。机器人后训练真正缺的是“算法+训练流程”共同组成的一套通用方法。

机器人 RL 是另一种问题

大规模强化学习本身并不是一个没有被解决过的问题。2016 年,AlphaGo 击败李世石。它可以进行大量重复的自我对弈,从当前策略生成完整棋局,一盘棋结束以后,围棋规则马上就能判断输赢。

语言模型的强化学习也有相似条件。一批 Prompt 可以同时生成大量回答,再由验证器或者奖励模型判断结果好不好。两类任务的共同点是,生成数据相对便宜,判断结果也相对便宜。

今天已经真正跑到大规模的强化学习,很大一部分依赖当前策略不断产生新数据。一次模型更新完成以后,可以直接让新的策略重新采样,旧数据很快被替换掉。围棋可以再下一批棋,语言模型可以再生成一批文本,这种训练方式的成本可以接受。

机器人做不到同样的事情。一台真实机器人学习叠衣服,不可能在每一个底层控制步骤上同时尝试几百、几千种动作。一项任务本身还可能包含数百甚至数千次连续决策。模拟环境可以缓解一部分成本,但现实中的物体接触、摩擦和形变并不容易准确建模,有时把现实环境完整模拟出来,本身就已经是一个很难的问题。

这让机器人训练必须更加充分地利用已经收集过的数据,包括来自模型多个历史版本的数据,而不是每更新一次模型就把此前的数据全部丢掉。

任务长度又增加了另一层难度。拿起一个玻璃杯,看起来只是一个动作,但机器人可能需要连续作出 500 次控制决策,每隔 20 毫秒输出一次 7 维动作。前面的动作只是让机械臂逐渐靠近、调整角度、闭合夹爪,直到最后抓取完成,系统才真正得到一个成功信号。

如果最终失败,机器人需要从这一个结果里判断此前 500 次动作各自承担了多少责任。任务继续变长以后,需要向前追溯的可能是数千个步骤。

语言模型的强化学习通常可以近似理解为:面对一个 Prompt,生成一个完整回答,然后给这个回答一个奖励。机器人面对的是一长串连续动作,奖励却往往只在最后出现。

真实环境也不像文本生成或者围棋那样稳定。同样一条控制指令连续执行两次,机械误差、物体位置、摩擦等细微变化,都可能让结果出现偏差;这些偏差又会在后续数百步动作中继续累积。

昂贵的数据、很长的任务链和最后才出现的奖励,使机器人领域更加依赖价值函数。模型需要提前估计一个动作未来可能带来什么结果,再借助这些估计,把最终获得的奖励逐步分配给更早的动作。

语言模型已经证明了大规模强化学习能够 Scaling,但机器人需要解决的是一种形状不同的强化学习问题。真正成熟的大规模语言模型强化学习,主要验证的是大量廉价采样条件下的方法;机器人更加需要依赖过去的数据和价值学习,而这一套东西在今天的前沿机器人模型上还没有经过同等规模的验证。

旧方法卡在两个地方

机器人领域并不是没有现成的价值学习方法。PPO 出现前后,DDPG、TD3、SAC 等算法已经被广泛用于连续控制,其中一些也在真实机器人任务上得到验证。但把这些方法直接放到今天的 VLA 上,会遇到两个明显的问题。

第一个问题是模型表达动作的方式变了。较早一代强化学习算法通常假设,机器人的动作可以用一个比较简单的正态分布表示。模型先得到一个平均动作,再围绕它加入一些随机变化。如果正确的行为基本只有一种,这种方法可以工作。

现代机器人基础模型要表达的动作更加多样。同样是抓一个杯子,可以抓杯把,也可以从杯身下手,两种方式都能完成任务;面对一个障碍物,也可能存在几条完全不同但同样有效的动作路线。机器人需要表示的不是“一个正确动作周围的一些变化”,而是多种差异很大的正确行为。

因此,越来越多前沿模型开始使用 Diffusion 等生成方法产生动作,让模型可以同时表示多个不同的行为模式。过去围绕简单动作分布设计的强化学习算法,并不是为了这样的模型而设计。

第二个问题是稳定性。价值学习需要预测未来的结果,并把自己的未来预测继续用于当前训练。只要早期预测出现偏差,误差就可能在后续训练中不断传递。模型越大,这种训练越难控制,而今天能力更强的机器人策略恰恰已经进入十亿参数规模。

围绕这两个问题,现有研究已经尝试过几种不同路径。一种做法是直接把价值信号穿过模型的整个生成过程,用它更新模型本身。但对于 Diffusion Policy,一次动作往往要经过多轮去噪才能形成,训练信号需要沿着整条生成链路向前传播,很容易出现不稳定。

另一种更保守的方式是不更新原模型。基础模型一次生成多个候选动作,价值函数分别给这些动作打分,最后只执行其中分数最高的一个。这种方法降低了风险,但能力上限也很明显。模型每次都只是在自己原来能够生成的动作里挑一个更好的,基础模型本身并没有学会哪些动作更好。下一次遇到同一个场景,还要重新做一遍候选和筛选。

还有一条路线是让强化学习寻找更好的输入噪声,而不是直接修改模型参数。Diffusion 模型从噪声开始生成动作,不同噪声会产生不同结果。如果强化学习只负责寻找更好的噪声,最后得到的动作仍然位于原模型已经能够生成的范围内,风险较低;搜索噪声也比直接在动作空间寻找正确行为更容易。

但它只能重新组合模型已经拥有的能力。如果机器人需要的技能在预训练阶段根本没有学到,无论怎样搜索噪声,都无法产生一个基础模型从来不会的动作。

要让后训练真正增加新的能力,最终还是需要修改基础模型自己的参数,让大模型把训练过程中发现的新行为吸收进去。需要解决的只是怎样让这个过程足够稳定。

EXPO-FT:先小改,再学回去

Perry Dong 团队围绕这个思路开发了 EXPO-FT。团队希望保留大型预训练模型已经形成的复杂行为分布,同时避免让不稳定的强化学习直接大幅修改这个模型。具体做法是在基础模型之外,再训练一个更加轻量的编辑策略。

机器人执行任务时,基础模型先生成几个候选动作。小型编辑策略分别对这些动作进行有限幅度的调整,再由价值函数判断修改后的动作未来可能带来怎样的结果,从中选出价值更高的动作执行。

修改幅度会受到限制。这样做的作用是,即使强化学习本身存在波动,小模型也不能突然把一个正常动作改成距离基础模型原有行为非常远的结果。大模型负责给出主要动作,小模型只负责在附近把它往更好的方向推一点。

但 EXPO-FT 并没有像候选动作筛选那样,一直保持基础模型不变。经过编辑之后真正被执行、最后又成功完成任务的动作,会继续用于训练基础模型。小模型通过强化学习发现的改进,最终会被大型预训练模型自己学回去。

随着训练继续,基础模型下一次给出的候选动作本身就会变得更好。编辑策略再从更好的起点进行调整,成功经验继续回到基础模型。

团队把 EXPO-FT 放到了多项真实机器人任务中,包括把一串节日灯依次穿过挂钩并插上电、将台球击入球袋、把花插进酒瓶瓶口、翻鸡蛋等。这些任务在开始时都无法由前沿预训练模型稳定完成。

整个在线学习过程中仍然有人监督。机器人开始明显出错时,人可以直接介入并纠正动作,这些介入产生的数据也会继续反馈给模型。

在 6 个复杂操作任务中,EXPO-FT 最终都达到 30 次测试全部成功,平均只使用 19 分钟左右的在线机器人交互数据。对比的方案包括在 π0.5 上直接进行监督微调,以及 HG-DAgger、DSRL、HIL-SERL 等方法。

对真实机器人来说,这组结果最直接的变化,是一个预训练模型可以先被部署到具体任务上,再用几十分钟真实交互把成功率继续推高。

不过,19 分钟指的是机器人与现实环境真正发生交互的时间,不是整个后训练过程只需要 19 分钟。大型模型的梯度更新仍然会占据主要的实际训练时间。真实机器人采集数据的时间已经可以压到几十分钟,模型计算本身还没有达到同样的速度。

EXPO-FT 也没有解决机器人后训练剩下的全部问题。

首先,人仍然参与了相当多的环节。有人要定义任务是否成功、每次尝试结束后恢复场景,并在机器人即将出错时进行干预。对于单台机器人,这种方式可以工作;扩大到机器人集群之后,关键会变成每增加一台机器人需要增加多少人工,以及一个人能够同时监督多少机器人。

自动驾驶已经提供了一种可能的形态。类似 Waymo 的系统可以让远程操作人员同时支持多辆汽车。机器人本身可以自动学习,但整个系统最终能否 Scaling,取决于这种人工监督能够压缩到什么程度。

第二个限制是更长的任务。EXPO-FT 每次只让动作偏离基础模型一小段距离,这种安全性依赖价值函数给出的判断足够准确。任务长度继续增加以后,最终结果与几百、几千步之前动作之间的关系越来越难判断,价值函数的压力也会继续增加。

团队希望最终处理的是数千甚至更多步骤之后才得到奖励的任务,目前的实验仍然处于相对较短的一端。计算成本则是第三个限制。在线数据已经足够少,并不意味着后训练本身已经足够轻。一个数十亿参数模型每轮进行梯度更新依然需要时间,如果希望后训练像今天的大语言模型微调一样成为常规操作,这部分时间还需要继续下降。

还缺一套训练默认值

EXPO-FT 主要回答了前面两个问题中的第一个:怎样给大型、复杂的机器人策略做相对稳定而且节省数据的强化学习。

剩下的一半是训练协议。强化学习最终优化的是奖励。同一个机器人、同一项任务,只要奖励定义不同,最后得到的行为就可能完全不同。

语言模型在这方面已经逐渐有了默认答案。数学问题可以直接检查答案是否正确,代码可以运行测试,用这些可验证结果作为奖励。机器人目前还没有对应的方法。

今天常见的做法,要么是针对每个任务单独开发成功检测器,要么让人从头到尾观察机器人的执行过程,再判断这一次到底有没有完成。前者每换一个任务都要重新开发,后者需要持续投入人工,都很难直接扩大规模。学习得到的成功分类器和奖励模型都可能解决一部分问题,但目前还没有形成稳定的默认方案。

环境恢复也是一个很现实的问题。机器人每完成一次尝试,通常都要有人把物体重新放回合适位置,让下一次训练能够开始。未来可以专门学习恢复策略,也可以把任务设计成容易反向执行的形式。

真正进入部署后,还有可能完全不需要传统意义上的 Reset。机器人做完一项任务后,可以直接进入下一项工作,而不是为了训练重新把场景还原成之前的样子。不同任务究竟适合哪一种方式,还没有统一答案。

人工介入也需要更明确的规则。已有工作已经证明,人类干预可以显著提高数据效率,但人应该多早介入、哪些错误值得介入、一次纠正应该怎样进入后续训练,都会影响整套系统需要多少人工。如果一台机器人必须长期对应一个操作员,这条路径很难继续放大。

超参数同样没有像监督学习那样成熟。学习率、模型更新次数与新数据量之间的比例、什么时候停止训练、一次任务持续多长时间、机器人以多高频率输出控制动作,都会改变训练稳定性和数据效率。

这些参数在普通监督学习中已经积累出大量经验,一个新任务往往可以直接从比较可靠的默认值开始。针对前沿机器人模型进行价值学习,目前还缺少类似的共识。

最后是初始化。开始在线强化学习之前应该准备多少数据,这些初始数据应该是什么样,训练过程中应该怎样平衡原来的数据和机器人新收集的经验,都可能直接改变最后的效果。

Perry Dong 团队已经针对 EXPO-FT 整理了一套参考调参方法,但这些经验还不能替代一套跨机器人、跨任务的通用协议。很多问题最终需要不同团队不断复现、比较,再逐渐收敛出一批能够被广泛采用的默认做法。

语言模型的后训练能够大规模展开,并不是只因为行业找到了某一种算法。更重要的变化是,围绕预训练模型、奖励、数据、优化和训练流程,一批过去依赖研究者经验的问题逐渐有了可以直接采用的答案。

机器人正在接近相似的阶段。预训练模型已经越来越大,也越来越通用,接下来的任务是把这些能力变成可以实际部署的可靠行为。机器人对可靠性的要求甚至比语言模型更高,一段生成错误的代码还可以在人类检查后决定是否执行,机器人的错误动作则会直接发生在现实世界。

预训练让机器人获得越来越广泛的能力,后训练要解决的,是如何让这些能力在真实环境里一次又一次稳定发生。

Perry Dong 和 Chelsea Finn 将最终目标称为“通用后训练”:不只是找到一个能够工作的强化学习算法,而是让算法、奖励、环境恢复、人工介入、超参数和初始化逐渐形成一套足够明确的行业默认方法,让机器人后训练从少数研究者依赖经验完成的工作,变成其他团队也能够直接使用和重复验证的训练流程。

本文由人人都是产品经理作者【有新Newin】,微信公众号:【有新Newin】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载

题图来自作者提供

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
海报
评论
评论请登录
  1. 目前还没评论,等你发挥!