一篇论文的标题,往往藏着作者最想说的三件事:解决了什么问题、方法属于哪一派、成果落在什么场景。InternVLA-A1: Unifying Understanding, Generation and Action for Robotic Manipulation,这个标题几乎把每一层都写透了——它要解决的是机器人操作里的“脑子”问题,让机器人既能看懂场景、听懂指令,又能把语言和视觉信号翻译成具体的机械臂动作;它选的路线是视觉-语言-动作(VLA)大模型;它的落地场景很明确:桌面抓取、工具使用、长时序操作这类真实世界的机械臂任务。如果你正在做具身智能、机器人操作或者多模态大模型的应用研究,这篇论文值得花一整个下午细读。接下来我按实际读论文的顺序,把读前准备、核心方法、实验逻辑和我的个人体会全部拆开讲清楚。
1. 读之前,先把这三个概念焊死在脑子里
很多人拿到这类论文直接冲进模型架构图,结果被自注意力、动作token、跨模态对齐这些名词砸得头晕。我的建议是先花二十分钟把三个背景概念理清楚,后面读起来会快很多。
1.1 VLA模型到底是什么
VLA全称是Vision-Language-Action,中文就是“视觉-语言-动作”。你可以把它理解成一个把眼睛、大脑和手打包在一起的单模型。过去做机器人操作的主流方案是模块化管线:先用一个检测模型识别物体位置,再用一个规划器生成轨迹,最后用控制器执行。每个模块各司其职,听起来很合理,但问题在于模块之间传输的是压缩过的中间表示——一个边界框坐标、一个抓取姿态、一段路径点。这些表示一旦定义得不好,信息损耗就会逐层累积。
VLA的出发点很粗暴:干脆让同一个Transformer模型直接吃像素和文字,输出机械臂的关节控制信号。感知、推理、控制全在同一个特征空间里完成,中间不再有传统定义的符号接口,也不需要人去手工设计“座位坐标”这类状态表示。那“统一”到底意味着什么?我个人的理解是,作者真正想做到的是让理解世界、生成内容、执行动作三件事共享同一套参数和表征。理解负责提取语义,生成负责补全缺失信息,动作负责把意图落到物理世界。三者不是三个模型拼在一起,而是同一个模型在不同任务下的不同输出。这个设计理念从标题就能读出来:Unifying Understanding, Generation and Action。
用一个生活化的类比:传统方案像一个团队,产品经理、设计师、施工队各干各的,中间靠文档交接;VLA像一个全能师傅,既懂需求,又懂设计,还能直接上手干活。团队协作在简单项目里没问题,但一旦任务复杂、信息量大,文档交接的损耗就会变成瓶颈。全能师傅最大的价值不是一个人干三个人的活,而是所有判断都在同一套心智模型里完成,不需要来回转译。
1.2 机器人操作和普通对话任务的本质区别
大语言模型做对话很顺畅,因为输出空间是词表,离散、有限、且人类能读懂。机器人操作完全不同:它的输出是连续的高维数据——六自由度的末端姿态、七个关节的角度、夹爪的开合量,甚至灵巧手的十几二十个关节。而且每一小步动作都连着整个环境的物理状态,关节角错一个小数点就可能让机械臂撞上桌面。更麻烦的是,机器人操作数据极其昂贵。语言模型可以用互联网文本训练,而操作数据要么靠真实机械臂在真实环境里一点一点采,要么靠仿真环境批量生成。仿真到真实之间又有渲染差距、物理参数差距、随机性差距。
所以,一篇好的机器人操作论文,往往不仅要解决模型架构问题,还得回答数据怎么来、怎么用。InternVLA-A1这个方向选择把理解、生成和动作放在一个模型里,其实也有数据效率方面的考量:三类能力可以分别用不同来源的数据训练,再统一到一个模型里。互联网图文数据教它“看懂”,仿真数据教它“动手”,少量真实数据教它“适应现实”。这种多源数据的分工协作,正是操作类VLA模型和普通多模态模型最大的不同。
还有一个容易忽略的差别:对话任务的反馈信号来自文字,错了可以立刻知道;操作任务的反馈信号来自物理世界,机械臂掉没掉东西、抓没抓稳,需要额外的状态判断。这导致模型在训练时不仅要学“预测动作”,还要学“评估结果”。标题里的“理解”和“生成”,其实就是在帮模型建立一个对物理结果的心智模型,而不是盲目输出一串关节角。
1.3 理解、生成、动作三者的分工
具体到这篇论文的语境里,我习惯把三者拆成三个明确的问题:
理解:输入一张桌面图像加一句“把红色杯子放到托盘里”,模型要能输出一个结构化的环境认识,包括物体的位置、类别、空间关系,以及指令真正指向的目标物体。这里面有个常见陷阱——“红色杯子”在图像里可能有反光、有遮挡、有类似颜色的干扰物。理解能力就是让模型在歧义面前不犯傻。
生成:这里的“生成”指模型有能力产出非动作类的内容,比如预测被遮挡区域的图像、输出一段子目标描述、或者根据当前状态想象下一步应该呈现的样子。长时序操作里这个能力特别关键,因为机器人很难只凭当前一帧图像规划出一连串动作,它需要不断“脑补”接下来会发生什么,再根据脑补结果决定怎么动。
动作:动作是最终输出,通常表示成机器人可执行的指令,比如末端位姿增量、关节角增量,或者一个离散的动作令牌。
三者统一起来之后,会有一个很有意思的效果:任务可以描述成语言,模型先“脑补”出目标状态,再一步步输出动作,相当于把任务规划也学进了模型参数里。读论文时如果看到“目标状态预测”“子目标生成”这类模块,就应该意识到,作者在做的不是简单的“图到动作”映射,而是在引入一条“想象—规划—执行”的完整链路。
2. 逐层拆解:InternVLA-A1是怎么把三者揉进一个模型的
背景补完之后,进入正题。我不会逐行复述论文公式,而是从架构、动作表示、数据、训练流程四个角度拆解,这样你读完就能形成一个可迁移的框架。
2.1 从多模态大模型到机器人模型:一个架构模板
读这类论文,有一个通用架构模板可以先记下来。最前面是视觉编码器,现在基本是预训练好的ViT,把图像切块编码成视觉特征;中间是一个大语言模型作为主干,负责把视觉特征和文本指令融合在一起,完成多模态推理;最后是一个动作模块,把主干输出的隐状态映射成机器人动作。
InternVLA-A1大概率不会偏离这个框架,因为这是当前VLA领域最成熟的技术路线。它的贡献点主要落在几个更细的地方:视觉特征怎么和文本token对齐、动作输出是直接用回归头还是量化成token、生成任务和动作任务如何共享同一个模型主干。你读架构图的时候可以画一条数据流:图像和文本进模型,得到中间特征,然后分出两条分支,一条做生成(比如预测目标状态),一条做动作预测。重点看这两条分支是在哪个位置分叉的——如果分叉位置很靠后,说明理解和生成高度共享表征;如果分叉很早,说明两者只是表面拼接。
我个人看这类论文的经验是:第一眼先观察视觉编码器用的是什么、参数是否冻结。这个信息决定了模型是否能利用大规模预训练视觉能力,也决定了端到端训练时视觉部分的更新幅度。很多复现失败案例,问题不在大模型主干,而在视觉特征没有和语言对齐好。
2.2 动作表示设计:最容易决定成败的部分
我想单独强调动作表示,因为这是VLA文章里最容易被外行忽略、却最影响结果的部分。机械臂动作是连续向量,而语言模型天生活在离散token上。怎么把这两者接起来,是所有VLA模型都要回答的问题。
目前常见路线有两条。
第一条是连续回归头。在主干最后一层隐状态后面加一个MLP,直接预测动作向量,训练用回归损失。好处是结构简单,动作精度理论上更高;坏处是优化目标和语言模型的交叉熵不一致,训练时容易互相干扰,而且回归头容易出现平均化行为——预测出来的动作偏保守,缺少多样性。
第二条是动作离散化。先训练一个动作编码器,把连续动作压缩成离散token,再让语言模型像生成文本一样逐个预测动作token,推理时再解码成连续动作。好处是动作训练和语言训练目标完全统一,都是交叉熵,模型内部不需要为动作额外设计复杂结构;坏处是要额外维护一个动作码本或者分词模块,而且离散化本身会带来精度损失。
InternVLA-A1标题里的“统一”,很大程度上就建立在类似的动作表示策略上。如果你去读原论文的架构图,重点看动作分支的输入输出形态,基本就能还原作者的技术选型思路。我自己的倾向是:如果论文强调动作多样性,大概率用了离散动作;如果强调精细操作精度,大概率用了连续回归或混合方案。机器人操作领域现在一个比较主流的共识是,动作离散化更有利于发挥大语言模型的序列建模能力,但码本设计和分词粒度还有很大的调优空间。
2.3 数据策略:多源数据怎么拧成一股绳
机器人VLA模型的训练数据一般来自三类:互联网多模态数据、仿真交互数据、真实机器人遥操作数据。
互联网数据的量最大,能教会模型语言理解、物体识别、空间关系,是模型的“通识教育”。仿真数据的优势是便宜、可控、能批量化产出,特别适合训练动作策略,但仿真渲染和物理引擎跟现实有差距,容易出现“仿真里很强、真机就拉胯”的情况。真实遥操作数据准确性最高,但采集成本极高——一个操作任务往往需要人工控制机械臂做大量演示,一天下来可能只有几千条有效数据。
InternVLA-A1这类模型一般会设计分阶段的训练策略:先在互联网数据上做多模态预训练,让模型拥有理解和生成的底子;再用大量仿真动作数据教它基本操作技能;最后用少量真实机器人数据做微调,让模型适应真实物理环境。我读论文时每逢数据部分都会问自己一个问题:如果我只用真实数据、不用仿真数据,模型还能不能work?这个问题的答案往往能反映出数据设计在整套方法里的真实贡献。
另外,多源数据的配比也很关键。仿真数据太多会压过真实数据,导致模型对仿真特征过拟合;互联网数据太多则可能让模型变成一个只会聊天、不会动手的话痨。作者一般会在实验部分给出不同配比的结果,这是最值得抄作业的部分。
2.4 训练流程里的阶段设计
这类模型的训练流程可以概括成三个词:先理解,再生成,后动作。第一阶段,用标准的多模态指令数据训练,让模型学会看图说话、视觉问答、目标定位;第二阶段,引入生成任务,比如预测下一帧图像、输出动作描述或者规划子目标,相当于给模型加了一个“想象空间”;第三阶段,降低理解部分的更新幅度,用机器人操作数据专门训练动作输出。
分阶段的本质是稳定性和数据利用效率。大语言模型预训练已经很成熟,直接用操作数据微调会造成灾难性遗忘——模型学会抓杯子,却忘了怎么描述杯子。反过来,如果所有数据混在一起一通训,又会因为任务目标冲突而互相干扰。先理解再动作,就像先上学再上班,基础能力先沉淀好,专业技能再针对性加强。
现实中很多复现翻车,问题就出在阶段顺序和冻结策略上。有人想省事,把全部数据混在一起训,结果语言能力掉了,动作也没学好;有人不敢冻视觉编码器,结果视觉特征在微调中漂移,模型对场景的理解越来越差。读论文时看到“phase”“freeze”“low learning rate”这些词,建议多留个心眼,这种细节才是复现成功与否的分水岭。
3. 实验部分:作者想让你看见什么,又不想让你看见什么
论文实验是说服力的来源,也是最容易产生误读的地方。我读实验从不先看数字,而是先把实验设计的骨架抽出来,再判断这些数字到底证明了什么。
3.1 实验的“标准套餐”
一篇机器人操作论文的实验通常由三部分组成:仿真基准、真实机器人验证、消融实验。
仿真基准的好处是能大规模测试和对比不同方法,代价是仿真结果经常在真实环境里打折扣。常见的仿真测试平台会模拟桌面抓取、堆叠、开门、移动物体等任务,并提供统一的观察和动作接口。看仿真实验时,我关心的不是某个方法分数多高,而是任务定义是否完整——初始物体位置是固定的还是随机的?相机视角有几个?允许的步数上限是多少?这些看似琐碎的设置,对成功率影响极大。真实机器人实验一般数量较少,往往只有几个代表性任务,比如桌面抓取、叠方块、开关抽屉。读真实机器人实验时,要注意看它是不是重复了多次、成功率方差大不大、初始构型是否有随机性。有些论文只报“最好成绩”,或者只选了最容易成功的几次演示,这些信息有时正文不写清楚,得去附录翻实验设置。
消融实验是精华,作者会故意去掉某个模块或某个训练阶段,看性能掉多少。看消融时不要太关注绝对数值,重点是做纵向比较:哪个改动对效果影响最大,就说明哪个设计是核心贡献。比如,如果去掉生成任务后动作成功率明显下降,说明“生成”不是噱头,而是真的在帮理解。如果去掉某项数据预训练效果没差多少,那这个数据源可能没那么重要。
3.2 容易被忽略的评估细节
成功率是不是只算一次实验?初始状态是不是固定?物体摆放位置有没有扰动?碰撞检测用的什么引擎?机械臂控制频率是多少?这些细节才是决定复现结果的关键。我的习惯是,读这类论文时拿一支笔专门记评估条件。比如看到“20次试验成功率85%”,我会追问:20次试验是同一个初始布局做20次,还是每次布局都随机?如果只是后者,那这个数字的实际意义要打不少折扣。
还有一个常见的坑是“动作成功率”的定义。有的论文把“机械臂碰到物体”算成功,有的要求“完美放置到目标区域”,这两种统计口径下的数字可能相差一倍。我读论文时会把success criterion抄下来,和作者自己报的目标状态对齐,才能判断数字到底有多硬。
3.3 对比方法是否真的公平
一般会跟几种基线比较:纯语言模型baseline、模块化策略、没有预训练的动作模型。看比较是不是公平,重点看算力、数据量、迭代次数是否一致。有的论文看起来创新很多,实际是多用了好几倍的数据;有的论文则相反,架构一般但数据极少,泛化结果依然不错。我们读者要做的是通过消融,找出真正的变量是什么,而不是被表面上的大表格唬住。
还有一种更隐性的不公平:对比方法的超参是不是调到了最优。很多baseline都是“拿来直接用”,没有做针对性调参。这不算造假,但在复现时你往往会发现某个baseline稍微调一下学习率就反超主方法。所以读对比实验时,建议先看附录里有没有提供baseline的调参细节。
4. 阅读方法:怎么用两小时高效吃透这篇论文
论文解读不光是讲技术,也是一种可复用的方法论。下面这套方法,我每次读机器人操作类论文都会用,总共分三遍。
4.1 第一遍:只看图、摘要和结论
第一遍控制在十五分钟以内。只看标题、摘要、架构图、主要实验表格和结论。目标是回答三个问题:输入是什么?输出是什么?实验在什么场景下做的?不需要看懂每个模块,也不需要记公式。如果架构图里出现一个看不懂的模块,不要卡住,先跳过去,大概率后面会解释。
这一遍结束以后,你应该能在自己脑子里用一句话复述论文干了什么。如果说不出来,说明摘要还没读透,回去重读。
4.2 第二遍:带着问题读正文
第二遍开始读方法和实验部分,但是带着具体问题去读,而不是从头到尾顺一遍。我会给自己列一个固定的问题清单:
- 视觉输入有几路?是单视角还是多视角?分辨率多少?
- 动作输出在哪个粒度?末端位姿还是关节角?
- 训练数据的来源和配比是什么?
- 有没有生成任务?生成任务的训练信号从哪里来?
- 消融实验去掉了哪块,效果掉得最多?
带着这五个问题去正文里找答案,你会发现阅读速度反而更快,因为你会自动忽略无关的推导和背景综述。读到答案时,直接在PDF上标注出来,形成自己的速查表。
4.3 第三遍:批判性阅读
第三遍是看完整版,重点挑毛病。这一遍不是找作者的错,而是判断“这篇论文的结论在多大范围内成立”。我会特别关注以下几个点:
- 真实机器人实验的任务类型是否过于简单?比如全是桌面抓取,没有涉及长时序或接触丰富的操作。
- 有没有忽略一些常见的失败模式,比如物体被碰倒、夹爪滑脱。
- 作者声称的“通用性”是否只在一个仿真平台上验证过。
批判性阅读做得好,你能从同一篇论文里得到别处读不出的信息量。很多时候,论文摘要里“通用框架”四个字,对应的实验范围其实很窄,能识别出这个落差,你对领域现状的判断就会准确很多。
4.4 笔记方式:一句话、一张图、一个疑问
我不会做长篇大论的笔记,而是强制自己按“一句话、一张图、一个疑问”来整理。
一句话:用一句话概括方法的核心思想。这张图:复现或手绘一张架构草图,标出每个模块输入输出,画完你才会发现自己哪个环节没搞懂。一个疑问:针对论文最薄弱的环节提一个问题,这个问题既可以用来跟同行讨论,也可以作为后续自己研究的切入点。
这套笔记方式看似简单,但对写综述、做组会分享、甚至复现都特别有用。我存过的每一篇精读论文,现在的印象都来自那张架构草图和那个疑问,而不是当时抄下的整段整段文字。
5. 我从InternVLA-A1里看到的三个后续机会
论文读到最后,除了吸收作者的想法,更值得做的是找到下一步的空间。对我来说,这篇论文至少打开了三个方向。
5.1 动作表示本身还有很大的调优空间
当前所有VLA模型都在跟“连续动作如何离散化”较劲。码本大小、码本更新方式、序列长度、动作刷新频率,这些变量每一个都能让最终性能波动好几个点。InternVLA-A1在动作表示上的选择自然不是终点。如果能把动作离散化和强化学习结合起来,让模型在执行时根据反馈自我修正,应该能在精细操作上带来明显提升。我现在看一个VLA团队是否真的有积累,就会问他们动作码本是怎么设计的,这基本成了领域专业度的试金石。
5.2 生成能力如何真正闭环
很多VLA模型虽然引入了生成任务,但生成的结果并没有真正用来指导后续动作,只是在训练阶段当辅助信号。真正有想象力的方向是让生成模块在推理阶段实时工作:机器人看一眼当前画面,生成目标状态或未来几帧的预测,再根据生成结果规划动作,动作执行后重新观察、重新生成,形成闭环。如果这条路跑通,机器人就不再是“照着训练数据背动作”,而是真的在“想象—验证—行动”。InternVLA-A1的架构其实已经为这个闭环做了铺垫,难点在于生成的速度和准确度还达不到实时闭环的要求。
5.3 从仿真到现实的迁移
仿真数据便宜,真实数据贵,这个矛盾会长期存在。下一步的突破点可能不在模型架构,而在仿真质量的提升和域随机化方法的改进。如果模拟环境中的物理规律、光照、纹理足够逼近真实世界,VLA模型可以直接依靠海量仿真数据获得很强的泛化能力,真实数据只需要做最后一公里校准。InternVLA-A1这种先仿真预训练、再真实微调的范式,未来还有非常多的优化余地。
我最后分享一个读这类论文的个人习惯。拿到论文以后,我会先看结论里的supplementary material,把实验设定里的细节全部找出来,再回头读正文。因为太多论文把最真实的实验条件藏在附录里,正文只会展示最漂亮的一条曲线。InternVLA-A1这篇标题本身就透着一股大而全的野心——理解、生成、动作,三个全部要。这个目标能不能百分百实现不好说,但它给做机器人操作的人提供了一个非常清晰的坐标:真正的通用操作模型,一定不是靠堆模块拼出来的,而是从统一表征里长出来的。这篇论文值得你收藏起来,每隔一段时间翻出来重读一遍,每一次读,你都会对“统一”这两个字有更深的体会。