机器人“先想后做”遇瓶颈:决策耗时最高70%在“说”上?
2024年,有一类机器人大脑特别流行,让机器人先在脑子里嘀咕一句话,比如"我现在要去拿那个红色方块",再动手去做。这套路子效果确实好,机器人的成功率明显提升。但代价也很明显:机器人必须先把这句话一个字一个字地想完,才能开始动作。这就像你让一个人每做一个动作之前,都得先大声说出自己要做什么,说完才能动手。说话本身...
2024年,一类机器人大脑走红:先在心里默念一句“我现在要去拿那个红色方块”,再动手。效果不错,成功率提升明显。可代价也摆在那儿——这句话得一个字一个字想完,机器人才能开始动作。
打个比方,这就像让一个人每做一个动作前都先大声说出要干什么,说完才能动手。说话本身耗时间,这段时间手是停着的。研究者测过,“先说后做”的机器人每次决策要多花一半以上时间在“说”上,最多能占到整个决策耗时的70%。说白了,一大半脑力和时间都花在嘴皮子上,不是手上。
NVIDIA的论文TacitVLA问了个听着有点冒犯的问题:机器人的手,真得等嘴说完才能动吗?
VLA
先看问题出在哪
眼下主流的推理型机器人大脑,结构大致是:视觉语言模型负责“看懂场景、生成一句话描述接下来要干嘛”,另一个专门的动作模块读取那句话,再翻译成具体的手臂运动。这个动作模块通常用一种叫 flow matching 的方法。问题就出在“读取那句话”上。因为这句话是一个字一个字生成的(术语叫 [[保留2]]),动作只能干等。
自回归解码
此前也有人想办法。一种思路是搞“双系统”,负责思考的大模型跑慢点,专门管执行的小模型跑快点,两者异步工作。麻烦在于:快系统执行的,其实是慢系统对着“上一刻”画面想出来的主意,场景可能已经变了。另一种思路更直接,训练时用推理文字当监督信号,部署时干脆不生成这句话。这类工作证明了“不说话也能行”,但没说清这样做到底会不会损失性能,也没考虑那些需要记忆的长任务,比如数按钮按了几次,还必须得有文字记下来。
Tacit
一次只改一个开关:注意力掩码
Tacit
具体来说,整个系统还是老样子:视觉语言骨干网络负责生成推理文字,动作专家负责通过 flow matching 输出动作。训练时,骨干网络依然要学着预测推理文字(这叫交叉熵损失),动作专家依然要学着去生成动作。
这套设计背后的逻辑是:推理文字对动作的帮助可能走两条路。第一条是训练阶段的监督信号,逼着骨干网络更好地理解场景,这份理解力会沉淀进网络的内部表示,动作专家间接受益。第二条是推理文字作为输入直接喂给动作专家,让它当场参考。论文的假设是,真正起作用的是第一条,第二条其实是多余的计算,没带来额外信息。
这就好比老师傅带徒弟。徒弟每次动手前,得先把操作步骤完整背一遍给师傅听,师傅点头才能动手。这个“背步骤”的过程,真是徒弟动作准确的原因吗?还是说,真正起作用的是徒弟在学背诵的过程中,脑子里已经把整套操作逻辑理顺了,背不背出来,手上的动作已经不会出错?若是后者,让徒弟闭嘴直接干活,结果应该一样,还能省下背诵时间。若真相是前者,省掉背诵,活儿肯定砸。TacitVLA要验证的正是这件事。
实验因此设了三组对照。第一组叫“无推理”,压根不训练推理;第二组是“显式推理”,训练时有推理文字做监督,部署时动作必须等推理文字全部生成完才能动;第三组就是TacitVLA,训练方式跟显式推理一模一样,区别只在于动作专家那一路把当前推理文字屏蔽掉了。三组之间只差这一个注意力开关,其余设置全部一致。这样一来,比较出的差异才能干净地落到“动作要不要等推理”这一个变量上。
有记忆的任务怎么办
机械臂的世界里,不是所有任务都“看一眼就知道该干嘛”。有些任务需要记住之前发生过什么,比如要求机器人把某个动作重复三次再停下。当前画面根本看不出来之前做了几次,这时候推理文字就不只是辅助理解,它本身就是记忆的载体。
论文管这类任务叫记忆任务。做法是每次生成的推理文字,会被追加进一个叫 ledger 的账本。这就带来新问题:既然推理文字要进账本,它总得被生成出来,不可能完全跳过。TacitVLA的解法是把生成挪到执行动作的同时进行。机器人先根据当前账本做出动作判断,手已经开始动了,与此同时,骨干网络在后台把这一步该记的账算出来,等下一次决策需要查账本时,这笔账已经记好了。
这就像厨师炒菜。传统做法是炒完一道菜先停下来,把这道菜的做法完整写进菜谱本,写完才能颠勺炒下一道。TacitVLA的做法是炒完一道直接颠勺炒下一道,写菜谱交给旁边的助手,趁着炒下一道菜的功夫同步补上上一道菜的记录。只要写菜谱比炒下一道菜快,整个流程看起来就和不用等一模一样。要是写菜谱比炒菜还慢呢?那厨师确实得等,但也只多等慢出来的那部分时间,不是整个写菜谱的全部时间。
论文写出的公式并不复杂:TacitVLA跑记忆任务时的延迟,由两部分构成,一是动作自身的计算耗时,二是推理生成时间中超出动作执行窗口的那一段;推理若比动作执行更快,第二项就取零。实测结果看,他们测过的所有记忆任务里,后台生成都没有越出执行窗口,占比最高的一次也只到窗口时间的23%。所以TacitVLA的延迟跟完全不推理的版本几乎一样。
四个战场,三组选手
这套对照实验铺在四个基准上,机械臂操作和自动驾驶两个领域都覆盖到了。论文还特意安排了两个带记忆的场景和两个不带记忆的场景,为的是排除结论出于偶然的可能。
RoboMME
在
在RMBench和LIBERO之外,论文还引入了自动驾驶闭环场景来验证效果。
先看LIBERO-Plus上的整体表现:完全不推理的版本得分67.6%,显式推理拿到73.5%,TacitVLA为72.9%。
自动驾驶场景里,TacitVLA的闭环场景得分是52.5%,显式推理是52.3%,不推理的版本只有46.4%。论文提到的Alpamayo-R1模型用了100亿参数、四个摄像头,拿到55.0%的分数作为参照;TacitVLA的参数不到它一半、摄像头也只有一半,就把差距压到了2.5个百分点之内。
四个基准上最核心的几组对比数字,汇总在下面这张表里:
| 基准 | 完全不推理 | 显式推理 | TacitVLA |
|---|---|---|---|
|
|
|
| LIBERO-Plus | 67.6% | **73.5%** | 72.9% |
|
性能打平只是一半的故事。论文真正想证明的价值,落在延迟上,速度上的差距才是重点。
计时方法做得挺细:每次决策被拆成几个阶段分别计时——动作本身的计算时间(视觉编码、提示词预处理、去噪生成动作),推理文字的生成时间,以及动作实际执行所占用的物理时间窗口。
RoboMME的计数任务上,动作计算只要127毫秒,但生成一条账本记录还要额外花93毫秒。显式推理版本把这两段串联起来,单次决策要220毫秒;TacitVLA把生成挪到执行过程中同步进行,单次决策只要127毫秒,快了1.7倍。
非记忆任务上差距更夸张。LIBERO上TacitVLA压根不需要生成任何文字,延迟是147毫秒,和完全不推理的版本一模一样;显式推理版本要等推理生成完才能动,单次决策要495毫秒,是TacitVLA的3.4倍。自动驾驶闭环场景里,这个倍数是2.1倍。
这组数字揭示了一个容易被忽略的事实:推理监督本身的价值,和推理文字在部署时要不要被使用,是两码事。前者发生在训练阶段,塑造的是网络内部的理解能力;后者发生在部署阶段,纯粹是额外的计算开销。论文的贡献,就是把这两件事彻底解耦开。
延迟从哪儿来,又为什么能省掉?背后有个更深的问题值得琢磨:推理文字能提升性能,但动作专家读不读它居然无所谓,这是为什么?
论文给出的解释是,推理监督改变的是骨干网络本身的内部表示。当你训练一个网络去生成(推理文字时,网络内部的理解方式被重新塑造了)。
这跟学外语时“磨耳朵”有点像。为了把口语练顺,你天天对着镜子大声念句子,时间一长,张嘴说话时脑子里根本不用先过一遍中文再翻译,语感已经长在身上了。可当初“磨耳朵”听到的那些话,本身并不是你后来能流利开口的直接原因,真正管用的是开口练这个过程把你对语言的直觉给塑造出来了。要是有人非得让你先把想说的话写在纸上、念一遍才准开口,那纯属多余,只会拖慢你说话的节奏,并不会让你说得更准。
论文还专门做了一组额外实验,验证这个解释稳不稳。训练里控制推理监督权重大小的参数叫交叉熵权重,他们把它调了三档,分别是0.1、0.01和0.001,在计数任务和全任务两种设置下各跑一遍。结果TacitVLA在六组设置里有五组拿到最高分,唯一一次没拿到最高分,和最高分的差距也只有1.2个百分点。这说明结论不是调出来的偶然巧合,而是在不同超参数设置下都站得住的规律。
不过,这套办法也得付出代价。论文自己也承认,记忆任务上的延迟优势有个前提:后台生成的时间得短于动作执行的窗口。他们测的那些场景里,最长的生成时间也只占执行窗口的23%,余量相当充裕。可换个场景呢?执行窗口特别短,或者要记的内容特别长,生成时间一旦超过执行窗口,TacitVLA照样得等——只是等的是超出的那一截,而不是整个生成过程。这比显式推理版本强,但也谈不上完全免费。
这篇论文走的其实是一条已经有不少人趟过的路。2024年就有研究显示,让机器人先描述场景、再制定计划、然后动手(这类方法统称embodied chain-of-thought),表现能往上提。
TacitVLA没沿这些技术路线走,它选的是最朴素的一条:既然毛病出在“等”上,那就让动作压根不用等。这个思路简单得近乎反直觉——按直觉,推理文字既然对动作有帮助,动作就该去参考它。可论文拿四个基准、十几项具体任务的数据说明,这个直觉可能站不住,至少在它测的这些场景里站不住。
论文里还提到一篇几乎同期的工作叫
写在后面
89.5%这个数字,比人类参考水平88.5%还高,是读论文时最让人意外的地方。这并不代表TacitVLA比人聪明。那个“人类参考”的设定本身就偏死板:人只管做决策,执行环节全部交给一个不出错的程序。TacitVLA不一样,每一次抓取、放置都得自己真刀真枪完成,即便这样还能逼近甚至反超这条理想化参照线。说白了,推理监督带来的收益足够扎实,连“真实执行会犯错”这个天然劣势都能补上。
附录里还有几组真实失败案例的对比,显式推理和TacitVLA从同一初始状态出发,跑出来的失败轨迹几乎一样:该进篮子的方块没进去,该确认的按钮没按上。可见TacitVLA并非靠运气蒙对几道题。它犯的错误,和那个“更贵”的版本属于同一类。这份证据挺扎实,说明两者学到的东西本质上是一回事。
论文还留了一个开放问题:如果把“推理文字”换成“未来视频预测”这类更丰富的中间产物,甚至把两者放在一起训练,“训练时用、部署时丢”这套逻辑还成不成立?作者自己就提到了这个方向,设想搭一个骨干网络,同时预测推理、未来画面和动作三路目标,训练时全学,部署时只留动作这一路,跑得快。
Q&A
真能走通的话,机器人大脑的训练和部署可能会越来越像两件事:训练阶段要模型学得多、学得深,部署阶段要模型跑得快、跑得省。这两个目标过去总互相拖累,现在看来,或许可以彻底分开。
Q1:TacitVLA是什么?A:这是NVIDIA团队提出的一种机器人推理模型。它的动作模块在执行当前动作时,不依赖刚生成的推理文字,于是既保住了推理监督带来的性能提升,又把决策延迟大幅压了下来。
Q2:和传统的显式推理机器人模型比,TacitVLA能快多少?A:非记忆类任务上最多快3.4倍;需要记忆的任务上快1.4到1.7倍,具体看任务的执行窗口长度和推理生成要花多久。
那跳过推理生成,成功率会不会掉?论文的答案是不会。四个基准、横跨机械臂操作和自动驾驶的测试都显示,TacitVLA的成功率和需要等推理生成的版本基本持平,部分任务甚至更高,比如RoboMME计数任务达到89.5%。