
如果要在近两年的具身智能领域里选一个最有代表性的关键词我大概率会投给VLAVision-Language-Action Models而把这个词真正推向圈内外视野的就是Google DeepMind在2023年发布的RT-2。它的全称很直接——视觉-语言-动作模型核心思路也一句话能讲明白把机器人动作变成模型输出的token让一个在互联网图文上训练好的视觉-语言大模型直接拿来控制机器人。听起来像是一个简单的“接口改造”但实际做出来的效果却很炸裂机器人不再只是在固定场景里执行固定轨迹而是能处理大量“从未见过”的物体、背景和环境靠的是从网络图片和文本里学来的世界知识。这篇文章我想从项目背景、模型架构、数据设计、评估协议、落地复现几个角度把RT-2这条路从头到尾拆一遍适合对具身智能感兴趣的研究生、做多模态大模型的算法工程师以及想试水VLA方向但对整个范式还不熟的读者。1. 项目背景机器人学习卡在哪一道坎上1.1 为什么传统示教数据撑不起通用操作做机器人控制的人过去几年应该都被同一个问题反复折磨过演示数据太贵了。一台真实机械臂要标定相机、要设计遥操作方案、要控制环境光照还要保证采集过程中没有突发干扰。辛辛苦苦采几千条轨迹换一个物体、换一块桌布、换一个光照角度模型的成功率就可能断崖式下跌。这个问题不是靠某个更好的神经网络结构能解决的。无论你用的是behavior cloning还是offline RL模型能从数据里学到的本质上只是“被覆盖过的状态分布”。真实世界的状态空间几乎是连续的、开放的靠人工采集永远不可能覆盖完整。这也是为什么很多机器人抓取demo在实验室里看着很完美一旦放到真实产线或者家庭环境里就变得非常脆弱——它没见过的东西太多了。1.2 大模型手里的互联网知识为什么机器人用不上与此同时视觉-语言模型这几年在互联网数据上却取得了巨大进展。一个在大规模图文对上训练过的模型知道什么是“可乐罐”、知道“疲惫的人需要提神饮料”、知道“香蕉是黄色的”等等。这些知识来自海量的网页图片和文字描述覆盖了几乎人类日常能接触到的所有物体和概念。但问题是这些模型只会“说”和“看”不会“做”。传统做法是把视觉-语言模型当感知模块先让它输出物体位置再接一个规划器或控制策略。这中间存在一个不可忽视的接口缝隙感知模型输出的是语义信息控制策略需要的是动作参数两者经常对不上。而且感知和控制在网络上是分开优化的梯度传不过去整体效果很难突破。1.3 RT-2 的破局点把动作也变成“词”RT-2的想法非常取巧。它不再区分“这个模块负责理解世界”和“那个模块负责输出动作”而是把机器人的动作向量翻译成一组离散token就像语言模型输出的一句话。模型的任务仍然只有一个给定输入预测下一个token。只不过有时候这个token是文本里的词有时候是动作空间里的一个离散值。这样一来互联网图文数据、机器人轨迹数据、视觉问答数据全部变成了同一种格式的训练样本。模型不再需要单独设计“机器人控制头”或者“抓取分支”传统的任务边界被打通了。Web Knowledge能被用到Robotic Control靠的不是什么复杂的知识蒸馏而是这两个领域在token层面第一次被放进了同一个监督信号里。2. 模型架构与核心思路拆解2.1 骨架选择为什么要用 VLM 而不是专用策略网络如果你是做机器人控制出身可能第一时间会想为什么不用经典的“感知规划执行”三层架构感知用目标检测规划用运动规划器执行用底层PID或MPC每一步都是成熟技术为什么要冒险让一个大模型端到端输出动作这个疑问很合理但RT-2给了两个很实际的理由。第一经典架构里“感知”和“规划”之间的接口很难定义。你让检测器输出什么Bounding box还是语义分割对抓取任务来说需要的可能是摩擦点、力反馈、可抓性——这些都是检测器给不了的。第二语义理解和控制动作之间的gap传统方案只能靠人工规则或目标函数去弥合。而RT-2直接把整个弥合过程变成了梯度更新的一部分模型自己学会“看到什么就做什么”。它选择VLM作为骨架是因为VLM天然拥有两个能力理解图像内容、理解语言指令。而机器人任务恰好多数可以表达为“根据语言指令在图像观测中执行一个动作”。VLM在训练中见过海量“图片文本”的配对样本这些样本已经把视觉特征和语义特征牢牢对齐。动作token加进来以后等于在原有多模态理解能力的基础上增加了一个“动作词表”的输出维度让理解结果可以直接落到物理交互上。2.2 动作表示8 个 token 的“翻译”过程要理解RT-2最关键的是搞清楚机器人动作是怎么被“翻译”成token的。参考RT-1的设计RT-2把一条机器人动作表示为一个8维向量末端执行器在三维空间中的位置增量、姿态旋转变化、夹爪开合状态以及一个表示“序列是否结束”的终止token。其中前7个维度被离散成256个桶每个桶对应一个token编号。也就是说真实机器人上连续的动作指令在这里被压缩成了8个离散token每个token的取值范围是0到255。可能有读者觉得离散化会造成精度损失做精细操作岂不是很难受确实如此。这也是RT-2后续被很多工作吐槽的点末端执行器位置被分桶之后运动难免会出现细微的不连续模型在某些任务上会出现抖动。但论文选择这个方案也有充分理由——只有把连续动作离散成token才能和语言模型的预测目标完全统一直接用交叉熵训练。想想GPT在做next-token prediction时的巨大成功就能理解这个取舍。2.3 三类数据一起 co-fine-tune而不是先预训练再微调RT-2训练阶段一个非常重要的设计是“共同微调”co-fine-tuning。这里有个容易被忽视的细节它不是先在互联网数据上预训练好VLM再用机器人数据微调。而是把三类数据混在一起同时喂给模型训练。哪三类第一类是WebLI也就是大规模网络图文配对数据它负责提供视觉-语义知识第二类是Open X-Embodiment一个跨机构、跨机器人形态的演示数据集负责提供不同机器人的操作经验第三类是RT-1机器人在真实环境中采集的13万条轨迹数据负责提供目标任务的执行细节。为什么要混在一起因为如果先预训练再微调模型在调整参数去适应机器人数据时会逐渐忘记之前学的互联网知识也就是灾难性遗忘。把三类数据一起训练模型在每个batch里都会同时看到“这是什么物体”和“怎么抓取这个物体”两种任务损失函数会同时约束两边这样网络权重既能保留语义理解能力也能学会动作输出。论文的消融实验也验证了这一点去掉WebLI数据后模型在视觉问答任务上的能力明显退化而机器人任务上的表现也没有变得更好。3. 关键实操细节与训练要点3.1 从模型规模到计算成本RT-2有两个主打的模型版本一个是基于PaLI-X的55B参数版本另一个是基于PaLM-E的12B参数版本。论文里的结果很清楚55B版本在各类机器人任务上尤其是unseen未见任务上表现显著优于12B版本这说明在VLA这条路上模型规模仍然是一个实打实的关键因素。这意味着什么互联网图文数据训练出来的通用知识确实有助于机器人控制但这种知识需要足够大的模型容量才能被有效“承载”和“迁移”。这也和LLM领域的scaling law一脉相承模型越大从非结构化的网络信息中提取有效到物理操作中的能力越强。不过训练这类模型的计算成本不是普通团队能轻易承受的。55B参数的多模态模型加上WebLI、Open X-Embodiment、RT-1轨迹数据三大来源一次完整的co-fine-tuning需要大量TPU资源。论文没有公开完整算力账单但按PaLI-X这种体量来估计不是实验室单卡能跑的任务。对个人开发者或者小团队来说更现实的路线是先拿7B或者13B级别的开源VLM做小规模验证。3.2 推理时怎么把动作 token 还原成真实控制模型在训练阶段学到的是“图像指令 - 动作token序列”的映射。在推理阶段RT-2会把当前时刻的视觉观测通常是三个相机视角各取最近两帧一共6张图像和自然语言指令一起输入模型然后自回归地生成8个动作token直到遇到终止token为止。生成完token之后做的事情就很有意思把这8个token映射回连续的动作值。例如位置维度从0到255的token编号换成对应的偏移量夹爪维度的token换成开合指令再把这些连续值交给机器人底层的运动控制器去执行。整个过程和LLM做文本生成的流程几乎一模一样只是“解码词汇表”换成了动作词汇表。实际执行时RT-2不会在每个控制周期都重新推理而是执行完一组动作token后再读取新的图像、生成下一组动作token。这既是为了匹配模型推理延迟也是为了让动作更连贯。所以你会看到RT-2的操作频率并不高大体上是“看一步动一步”的节奏。3.3 评估协议怎么才能公平地测“泛化”在机器人学习里“评估”本身就是一门学问。很多模型在训练环境里跑得飞起换个场景就崩主要是评测场景和训练分布太接近。RT-2在评估上做得比较扎实它把任务分成几类已见任务seen tasks训练数据里出现过的物体、背景和环境主要测模型有没有学会基本操控。未见物体任务unseen object物体是训练时没见过的但背景和环境类似。未见背景任务unseen background换桌布、换墙纸、换光照物体可能是见过的。未见环境任务unseen environment直接换一个完全不同的环境比如从厨房换到客厅。对抗性任务adversarial tasks在场景中加入干扰物测试模型的鲁棒性。这个评估协议的好处是它把“泛化”拆成了不同维度你能清楚看到模型到底哪方面强、哪方面弱。按论文报告的统计RT-1在unseen任务上综合成功率大约在32%RT-2直接提升到了62%。后者并不完美但接近翻倍的成绩确实说明“从Web知识迁移到真实机器人控制”这条路是走得通的。4. 涌现能力与“翻车”案例4.1 那些没训练过却会做的任务论文里最让人兴奋的部分是模型涌现出了一些在训练数据里从未直接出现过的能力。比如把一个写着“exhausted”标签的人偶放在桌上再放一瓶可乐和一个锤子让机器人把“能让人不再疲惫的东西”拿过来。训练数据里没有任何一条轨迹教过它“可乐和exhausted有关”但模型真的选中了可乐并把它挪到人偶面前。再比如让机器人把不同颜色的食物按颜色分类或者在新图标、新符号出现时理解指令的含义。这些任务没有一条对应的机器人演示数据但模型能完成原因只有一个模型在WebLI数据中见过海量的“图像-文本”对应关系知道可乐罐长什么样知道“exhausted”在语义上和“提神饮料”相关也知道颜色分类是什么概念。这些知识在co-fine-tuning中顺利迁移到了动作输出端。这种涌现能力的价值在于它实证了一个判断机器人不需要“见过一切任务才能做一切任务”只要它具备了足够的底层视觉-语义知识很多操作可以通过新指令被组合出来。这给机器人泛化打开了一扇以前大家都认为很难打开的门。4.2 目前还有哪些硬伤RT-2毕竟是2023年的工作问题也很明显。首先是动作精度不足离散化的动作token决定了它做不了毫米级的精密装配末端执行器的位姿在连续空间里是阶梯式变化的。其次是执行频率低大模型的前向推理耗时不短很难应对高速动态任务比如接住一个掉落物体或者做快速插拔。再有就是缺少力觉反馈模型只能靠视觉做开环决策遇到“拧紧瓶子但不知道拧到什么时候停”这种需要触觉的任务表现会比较挣扎。还有一个不能回避的问题是幻觉。模型偶尔会把图像里不存在的物体识别出来或者根据语义联想生成了一个在物理世界根本不成立的动作。比如指令说“拿苹果”场景里只有一颗红色圆形装饰球模型可能因为“红色、圆形、果类”的语义关联就把球抓了。这在互联网图文任务里只是答案不准确但在机器人控制里可能直接导致碰撞或抓空。5. 复现与落地经验如果你也想做VLA5.1 自己做数据时最容易踩的坑如果你想把RT-2的思路迁移到自己的机器人平台上我建议先别急着追求模型规模和网络结构而是把大部分精力放在数据设计上。第一个坑是数据清洗。很多人直接拿开源数据集训练但没注意到这些数据的成功判定标准、动作空间定义、相机标定方式都不一致混在一起会导致动作token的语义漂移。模型可能学会“说话”但学不会“动手”。第二个坑是成功判定。评测一个任务是“成功”还是“失败”必须在设计协议时就定好标准。判断太松模型在unseen任务里的分数虚高判断太严又会把一些语义正确但轨迹不完全一致的尝试判失败。RT-2的评估里有大量人工判断的成分这部分在复现时一定要手动检查别用一个简单的规则函数一刀切。第三个坑是动作空间选择。RT-2用的是末端执行器位移旋转夹爪这个选择适合抓取-放置类任务。但如果你做的是拧螺丝、倒水、插孔这类连续力控任务8个离散token大概率不够用需要自己设计更高频或者混合连续-离散的动作表示。5.2 低成本复现路径参考想完整复现55B的RT-2对绝大多数团队来说不现实。我做小规模验证时的建议是先拿一个开源VLM7B级别足够在现有机器人轨迹数据上微调输出动作token把整个数据pipeline和推理链路跑通。先验证“模型能输出动作token”这件事本身是否可行再逐步扩大数据规模和模型参数。数据方面如果实验室没有太多真机轨迹可以先从模仿学习的开源数据集入手或者像Open X-Embodiment那样把多个平台的轨迹统一到同一个动作空间里用相对廉价的跨机构数据来验证模型的知识迁移能力。等跑通之后再考虑上真机采集高质量数据。工程上还有一个容易被忽视的点动作token的“词表设计”和“分桶范围”需要根据机器人实际运动范围来设定。如果分桶范围设得太小模型容易饱和末端执行器到不了目标位置设得太大离散化误差会很大细小的位移被吞掉。我自己的经验是先统计训练数据里所有动作分量的最大、最小值按2倍到3倍的margin设置分桶范围。5.3 后续工作脉络从RT-2到今天的VLART-2在2023年下半年发布后整个具身智能领域很快进入了VLA爆发期。很多后续工作延续了它的核心思路只是在动作表示、模型架构和数据来源上做了改进。比如有的工作把动作从离散token改成连续向量输出减少抖动有的工作引入触觉传感器把力反馈也送进模型有的工作直接在动作生成中引入扩散模型让每个动作块更平滑。这些后续工作有一个共同点它们都把RT-2当作基准和起点。无论是正面对比还是吐槽改进都说明了RT-2在设计决策上的代表性。对VLA方向的研究者来说理解动作token化、co-fine-tuning、联合训练这三大关键点基本上就拿到了理解后续绝大多数VLA工作的钥匙。6. 个人实操体会与建议最后说一点我自己在实际尝试中的感受。动作token化这个设计第一次看会觉得有点“过于暴力”——把连续动作强行切成256个桶怎么看都像在丢精度。但等我真正把这个思路用到自己的小模型上之后才发现这种“离散化”带来的好处远大于坏处。它让模型可以用一套统一的优化目标处理所有任务不用再去设计复杂的多任务损失函数。模型训练变简单了收敛也稳定很多。如果你正准备进入这个方向我的建议是不要一上来就追赶最大的模型也不要一上来就买昂贵的机械臂。先用开源模型、公开数据集和仿真环境把动作token链路跑通重点关注“模型懂不懂指令”、“动作输出是否可执行”这两个问题。等这两点验证OK了再逐步上真机、扩数据、加模型规模。RT-2的意义不在于它本身有多完美而在于它证明了互联网知识可以被直接注入到机器人的动作空间里。这件事在2023年以前很多人觉得不可能。它用一套很工程化的方案做成之后后面的路就一下子开阔了。所有后来者包括我都是在踩着他铺好的这条路往前走。