机器人模型 WM、WAM、VLA 概念解析与实战选型指南 从去年开始机器人领域的模型名词就有点“通货膨胀”的趋势今天一个VLA明天一个world model现在又冒出个WAM。很多做机器人研究、或者想入行具身智能的朋友跑来问我这些缩写到底什么关系是不是换了个名字炒冷饭。我自己也花了不少时间把这些工作从头捋了一遍从最早的video prediction到RT-2这种端到端的大模型再到最近π-VLA、NVIDIA Alpamayo这类新工作慢慢发现一条比较清晰的线索这三类模型本质上是在解决从“看到环境”到“想清楚怎么动”再到“真正把手脚动起来”的完整链条只是各自的侧重点完全不同。这篇内容我不打算做那种“逐篇论文复述”式的综述而是想从从业者选型、训练、部署的真实视角把World Model(WM)、World-Action Model(WAM)、Vision-Language-Action Model(VLA) 这三条技术路线的原理、差异、训练方法和适用场景拆开揉碎讲清楚。文末我也会放一些自己在实操中踩过的坑包括评测基准怎么选、动作头怎么接、训练时loss为什么会突然飞掉这些细节。无论你是刚开始接触机器人大模型还是已经在跑VLA训练了这篇都值得看完。1. 机器人模型的“三段式”全景图1.1 从“看”开始但看的不是一张图很多初学者会把机器人的“感知”理解成“图像分类”这是第一个需要纠正的认知。对机器人来说视觉的目的不是告诉模型“这是个杯子”而是要回答几个更棘手的问题杯子在空间中的精确位置是多少杯口朝哪个方向我伸手过去之后杯子的位置会不会变我拿起杯子之后它里面的液体会不会洒出来这些问题的共同点是它们都需要模型对环境有一个“动态”的理解而不只是“静态”的识别。世界模型WM解决的就是这个问题。WM的核心思路是把环境状态建模成一个随时间演化的序列模型要学习的是状态之间的转移规律也就是“如果我在时刻T看到这样的画面并且做了某个动作那么时刻T1的画面大概会变成什么样”。我用一个比较生活化的例子你在开车经过十字路口时看到一辆车打着左转灯慢慢靠向左侧车道。你的大脑会立刻预测出“它在下一个路口之前应该会向左拐”并提前减速。这种预测能力不依赖于某个具体的交通规则而是靠大量驾驶经验积累出来的“世界如何运转”的感觉。WM想用神经网络复现的就是这种直觉。它不直接告诉机器人“该做什么动作”而是给机器人构建一个“如果这样做世界会变成什么样”的想象空间。1.2 从“想”开始语言模型带来的常识爆炸有了对世界的理解之后机器人还需要“推理”。这正是VLA中的语言模型组件发挥作用的地方。传统的机器人控制策略是“感知到动作的直接映射”比如用视觉特征直接回归关节角度这种pipeline在单一任务中很有效但问题在于它没有任何“常识”。机器人不知道杯子通常是用来喝水的不知道盘子应该端平而不是倾斜更不会想到“如果我要拿桌上那瓶水得先把挡在中间的遥控器挪开”。语言模型恰好补上了这一环。预训练语言模型里包含海量的人类常识、物理知识、任务规划能力这些知识从文本中来却可以迁移到现实世界的任务中。VLA模型做的事情就是把视觉信息“翻译”成语言模型能理解的token让语言模型基于视觉和指令进行推理最后再把推理结果“翻译”成机器人能执行的action token。打个比方VLA像是一个既看得见世界、又能用语言思考、还能直接动手的“全能型选手”。WM负责给它提供“世界直觉”语言模型负责“逻辑推理”动作解码器负责“肌肉执行”。三者各司其职但最终目标是同一个。1.3 三类模型边界速览为了让大家有一个全局性的对照我把三类模型的核心特征整理成了一个表格。维度世界模型(WM)世界动作模型(WAM)视觉语言动作模型(VLA)核心目标学习环境状态转移规律预测未来在预测世界的同时保持一致的动作生成从视觉和语言指令直接映射到动作典型输入历史观测帧(动作)历史观测帧动作序列图像语言指令典型输出未来观测/隐状态未来观测动作序列动作序列(关节角度/末端位姿)对因果关系的依赖强本质是在建模因果强动作和世界变化必须自洽中等更多依赖数据统计相关代表作方向Dreamer系列、IRIS等新兴方向多家实验室在探索RT-2、OpenVLA、π-VLA、Alpamayo训练成本中等视频预测为主较高需要动作与世界联合数据高需要大量操作数据核心强项样本效率高能离线学习动作与物理规律更自洽跨任务泛化能力强具备常识推理核心短板无法直接生成精确动作尚无成熟稳定的训练范式数据依赖严重推理延迟偏高从表格能看出来WM的侧重点在“理解世界的变化”VLA的侧重点在“从指令到动作的映射”而WAM更像是两者的交叉地带它希望模型在生成动作的时候同步预测这个动作会带来什么样的世界变化从而保证动作本身是符合物理规律的。边界这个东西在当前的研究阶段本来就比较模糊很多模型是混合体并不存在一个绝对干净的分类。但有了这个表格至少在和别人讨论时不容易被名词绕晕。2. 从“脑补世界”到“身体力行”2.1 WM凭什么能预测未来我先聊聊世界模型里最核心的一个概念——隐空间动力学。如果你看过Dreamer系列论文会发现它们的训练过程大致分三步先用一个图像编码器把高维的观测图像压缩成一个低维的隐状态向量然后在这个隐空间里学习状态转移网络通过输入历史隐状态和动作预测下一步的隐状态最后再用一个解码器把隐状态还原成图像或者直接把隐状态喂给策略网络生成动作。这种“先压缩再预测”的设计是有道理的。直接在像素空间里预测下一帧计算量巨大而且容易产生模糊重影因为像素级的预测需要处理大量细节纹理、光照、物体的细微边缘这些细节对决策来说反而无关紧要。而在隐空间里做预测相当于让模型只关注“状态发生了什么关键变化”省去了无关细节训练效率和预测准确率都能大幅提升。我在实际测试中也发现直接用像素重建的WM在小规模仿真环境如CartPole、HalfCheetah里跑得通但一换到带视觉纹理的机器人操作环境就非常容易崩。原因是视觉噪声太大比如背景中光照强度的细微波动都会被模型当成重要特征来学习导致预测误差快速累积。后来我把视觉编码器换成预训练好的自监督模型再把预测损失集中在隐空间上训练稳定性才好转。做WM方向的话这一步避不开。2.2 WAM让动作和世界的“因果”保持一致WAM这个缩写目前还没有一个完全统一的定义我看到过的说法就有“World-Action Model”和“Whole-Body Action Model”两种。这里我采用业界讨论中更主流的一种理解World-Action Model强调的是动作生成和世界变化之间的联合建模。换句话说WAM不仅想知道“该做什么动作”还要求模型能预演“这个动作做完之后世界会变成什么样”并且两者必须保持一致。为什么这种一致性很重要还是拿倒水这个动作举例。你拿起水壶往杯子里倒水手在倾斜的过程中改变了水壶的姿态水流出来需要一定时间水在杯中的液面逐渐上升……这些过程有一个严格的时间因果链条。如果动作策略模型只是孤立地输出关节角度而不理解“倾斜10度会产生约100ml/s的水流”那它在面对新情况比如换一个大杯口的水杯时就容易犯错。WAM的思路是让模型在训练时同时学习动作和其造成的变化使动作生成受到“世界变化是否合理”这个约束的监督。目前这个方向的公开论文还不算多各家的做法差异也比较大。有些团队走的是“先训一个WM然后用WM做planning最后在planning结果上微调动作模型”的路线有些团队则尝试把动作生成和视频预测放到同一个训练目标里联合优化。我自己比较看好后一种因为它让动作和预测之间形成了一种类似“对抗”的约束能显著减少动作的物理不合理性问题。2.3 VLA端到端的“视觉-语言-动作”大融合VLA是这三类模型里目前落地最火、开源资源也最多的方向。它的基本结构可以看作三个模块的拼接视觉编码器通常是CLIP或者SigLIP这类视觉语言对齐模型大语言模型LLM作为推理主干以及一个把LLM输出映射成机器人动作的动作头。训练过程也分阶段第一阶段是视觉语言预训练让视觉编码器输出的特征能够和语言嵌入对齐这一步通常直接在互联网级别的图文数据上完成成本高但效果显著第二阶段是机器人动作微调action fine-tuning使用真实机器人遥操作采集的数据或者仿真数据让模型学会把“视觉语言指令”映射成动作第三个阶段在一些新工作中出现是用偏好优化或强化学习进一步提升策略的精细度。以π-VLA为例这个工作特别强调了一个设计——逐步推理step-by-step reasoning。在生成动作之前模型会先输出一段关于当前场景的语义分析比如“识别到绿色杯子和红色积木绿色杯子在右侧用户指令是拿起杯子”然后再基于这段推理生成动作序列。经过这种“动作感知的推理”训练后模型在高精度任务上的成功率提升非常明显。它的意义在于VLA不再是一个盲目的“图像到动作”的映射器而变成了一个会先想清楚再行动的策略模型。不过必须提醒一点端到端训练VLA对数据的需求极大。我见过一些团队自采了几万条遥操作数据就拿去微调开源VLA结果效果远不如简单的行为克隆baseline。这里的核心问题是VLA的参数量非常大往往在7B到13B量级微调数据不足时很容易发生灾难性遗忘或者被数据中的噪声带偏。关于这个问题我在后面“常见问题”一节里会单独展开讲。3. 实战VLA训练到部署的全流程记录3.1 数据管线先解决“数据从哪里来”网上很多教程一上来就让你装环境、跑训练脚本但真实项目中最先卡住你的永远是数据。VLA训练数据的主流来源有三种遥操作采集真人手持示教器或穿戴设备控制机器人完成任务同时记录第一视角视觉、关节角度、末端位姿、语言指令等信息。这种方式数据质量最高但采集速度慢一个小时能采几十条轨迹就算高效了。自动化数据生成在仿真环境如Isaac、Libero、RLBench里用脚本或规划器自动批量生成轨迹。速度快一个晚上能刷出上万条但存在“仿真与真实差距”sim-to-real gap。互联网视频数据通过观看海量人类操作视频来学习动作语义比如NVIDIA在Alpamayo里就大量使用了这类数据。它的价值在于提升常识理解能力但因为视频中缺乏精确的机器人动作标注无法直接作为动作监督信号。在实际项目中我的建议是分桶管理数据把遥操作数据作为主训练集仿真数据作为预训练阶段的数据来源互联网视频数据只用于视觉语言模块的对齐不让它们参与动作头的训练。这样可以最大程度避免低质量动作标注污染策略网络。数据处理环节还有一个很容易被忽略的点语言指令的一致性。同一个任务不同采集员可能写下“拿起红色杯子”“把红色杯子拿起来”“pick up the red cup”三种不同的指令。如果不对这些指令做归一化处理模型会花不少容量去学习“理解不同说法”而不是真正学习动作。我在pipeline里会加入一个指令标准化模块把所有任务指令统一映射成几个标准模板并保留小比例的原始指令做数据增强效果比直接用原始文本好很多。3.2 训练细节从预训练权重开始还是从零开始关于VLA训练一个最常见的取舍是到底用开源的预训练VLA权重做微调还是从LLM和视觉编码器开始自己拼一个。我的建议很直接如果没有非常特殊的硬件结构需求直接用成熟开源的VLA权重做微调不要自己从零拼装。原因很简单VLA的预训练阶段需要在海量图文数据上做好视觉语言对齐这个阶段个人或单一机构几乎无法复现而这一步直接决定了模型后续的指令跟随能力。以OpenVLA为例它用的是7B参数的PruneLM作为语言骨干在LLaVA格式的视觉语言数据上做过完整预训练再用RLDS格式的机器人操作数据做微调。如果我从零开始训练单是视觉语言对齐阶段就需要几十张A100跑上好几周而基于它的开源权重做机器人数据的微调2到4张A100或者4090就能在几天内完成效率完全不同。微调时的关键参数我通常会这样设置batch size尽量大至少64条trajectory以上学习率设在1e-5到5e-5之间如果发现loss震荡就降一半不要硬扛在微调的前几个epoch冻结视觉编码器和大部分LLM层只有动作头和后几层LLM参与更新等loss稳定后再逐步解冻更多层。这种做法能显著降低灾难性遗忘的风险。关于动作表示方式目前的VLA主要分两种离散化动作token和连续动作回归。早期的RT-2把动作量化成离散token后交给语言模型预测好处是可以复用语言模型的tokenizer和loss功能坏处是离散量化会损失精度在高精度插孔这类任务中比较吃亏。π-VLA和Alpamayo这类新工作更倾向于连续动作输出在模型末尾接一个专门的MLP或者diffusion head来直接回归连续动作值精度更高但训练难度也相应增加。做工业级部署的话我更推荐带diffusion head的连续动作方案。3.3 评测指标与基准别被成功率骗了VLA模型的评测绝大多数论文都会报“任务成功率”但只看成功率会踩很多坑。因为成功率严重依赖初始条件分布——如果评测时物体摆放位置永远不变那么一个简单的开环动作序列就能刷出很高的成功率模型的真实泛化能力根本体现不出来。目前Libero是这个领域使用最广的基准之一它包含了多个任务套件如Libero-Spatial、Libero-Object、Libero-Goal等每个套件内部都有不同的初始状态分布。我在实践中的使用方法是分别在每个套件上评测模型并记录两类指标——最终成功率success rate和平均完成任务所需的步骤数number of steps。后者非常关键因为它能看出模型是否具备“高效规划”能力而不仅仅是靠运气碰出来。除了这两个标准指标我还会额外记录一个“首次动作正确率”first action success rate。这个指标指的是模型在任务开始时做出的第一个抓取或移动动作是否正确。首次动作几乎不依赖后续误差累积能更真实地反映模型对任务的理解能力。VLA模型如果首次动作正确率低于60%那基本可以认为它没有真正理解任务只是在数据里记住了某种运动模式。3.4 部署推理延迟和算力的权衡VLA模型部署到真实机器人上时最大的痛点是推理延迟。一个7B参数的模型即使在A100上推理一次也要几百毫秒到一秒级别这在需要实时反应的机器人控制中是很难接受的。为了降低延迟我常用的手段有四个动作分块action chunking让模型一次预测未来10到20个动作序列而不是每次只预测一个动作。这样推理频率可以从10Hz降到2Hz而控制效果反而更好因为连续动作之间的平滑性提高了。KV Cache优化在推理时将历史视觉和语言token的KV Cache缓存下来下一次推理只处理新增的输入能减少大约30%到40%的重复计算。量化压缩把模型量化到INT8或者INT4。VLA对量化比较敏感动作头部分建议保留FP16只对语言模型主体做量化精度损失可以控制得比较小。视觉编码器抽帧不需要每帧都做视觉编码可以每隔2到3帧用一次视觉特征中间帧直接复用上一帧的视觉token。视觉编码器的计算量在VLA里占比不低这个优化能省不少时间。我踩过的一个坑是为了追求高帧率把动作分块长度从16调到了4结果机器人动作变得非常“神经质”抖动明显。后来才意识到动作分块的作用不仅仅是降低推理频率它本身也是动作时序平滑性的重要来源。分块太短相当于每次只做一步修正模型输出之间的连续性就断了。实际部署中分块长度在10到20之间是一个比较稳妥的区间。4. 选型决策你该走哪条路线4.1 按预算和场景选路线而不是按热度很多读者一上来就问“哪个路线最强”这不是一个可以直接回答的问题。我见过做仿真环境导航的把WM用得出神入化也见过做柔性物体操作的在VLA上跑出远好于WM的效果。选型要考虑的核心变量有三个你能拿到的数据规模、你的算力预算、以及任务本身对“物理一致性”的要求。如果你的任务是在受限环境中做感知和预测比如自动驾驶、仓储机器人而且你有大量低成本的环境交互数据车辆行驶记录、机器人巡逻记录那么WM路线非常合适。它的强项是样本效率不需要每个动作都有精确标注只要有无穷多的观测数据就能训练出不错的环境预测模型。你可以在训练好的WM上做模型预测控制MPC也可以只用它做环境感知的增强模块。如果你的任务对动作物理合理性要求极高比如精密装配、手术辅助、复杂物体操作那么WAM方向更值得关注。它的优势在于动作生成时会受到“世界变化是否合理”的约束能有效减少那些“视觉上看着对动起来却不符合物理规律”的失败动作。不过有一点要说在前面WAM目前还处在研究早期公开可用的权重和教程非常少如果你需要一个马上能用的方案现在选WAM可能不是一个明智决定。如果你的任务对泛化能力要求高需要理解自然语言指令、处理多样物体和场景那么VLA就是目前最现实的选项。VLA生态最成熟有OpenVLA、π0、π-VLA、Alpamayo等大量开源权重可参考社区案例也多遇到问题基本都能搜到解决方案。4.2 近期的趋势模型边界正在被打破以前WM、VLA、WAM三个方向的研究者是各写各的论文但最近半年可以看到非常明显的融合趋势。π-VLA引入了“思维链式的逐步推理”本质上是把语言推理能力嵌入了动作策略Alpamayo则把VLA和视频生成/世界模型结合起来在做规划时先预测未来的场景变化再决定动作这就是一个典型的“WAMWMVLA”混合形态。NVIDIA发布Alpamayo本身就说明工业界对这个方向投注了大量资源其面向辅助驾驶场景的设计也意味着VLA的应用不止于机器人手臂还包括移动平台、人形机器人、智能座舱等更广泛的具身智能领域。所以在2025年这个时间点我给大家的建议是不要把自己钉死在某个模型类别上。最合理的做法是把这三套技术看成“工具箱”根据任务需要组合使用。视觉语言基础模型负责理解任务世界模型负责短时预测和物理约束动作头负责把决策落到真实动作。这套组合拳才是未来具身智能的主流技术框架。4.3 搜索名词时的“撞车”提醒最后聊一个比较实用的话题。你搜“WM”的时候大概率会搜出来一堆和机器人完全无关的内容最典型的是SAP系统里的“仓库管理模块”Warehouse Management它的配置清单和机器人的world model没有半点关系。同样搜“VLA”也会撞上射电天文里的“甚大阵列”望远镜Very Large Array。搜索机器人模型相关关键词时建议加上“robotics”“policy”“world model”之类的限定词能省下不少筛选时间。这个细节看起来很小但我实测下来真的能帮你避免在错误信息里浪费一两个小时。5. 常见问题与踩坑记录5.1 微调VLA时loss不降反升、甚至直接发散这是微调VLA最高频的问题几乎每个团队都会遇到。最常见的原因有三个学习率过大、训练数据质量差、以及解冻层数过多导致灾难性遗忘。我自己的排查顺序是先降学习率降到当前值的五分之一观察5个batch的loss走势检查数据pipeline里是否存在“指令与轨迹不匹配”的样本比如指令写的是“拿起蓝色方块”轨迹里抓的却是红色方块这种数据会严重扰乱梯度把解冻层数降到最低只训练动作头确定动作头本身能收敛后再逐步开放更多层。还有一个小技巧如果loss在训练早期就异常震荡先关掉视觉编码器的梯度只训练LLM和动作头。很多情况下问题不在视觉端而是视觉编码器输出的梯度噪声淹没了训练信号。5.2 世界模型的预测图像越来越模糊WM在像素空间做未来预测时预测结果会随着步数增加慢慢变得模糊这是因为模型在输出时对多种可能性做了平均导致预测值趋近于中间态。解决办法有两个一是把预测目标从原始像素换成特征空间的离散token用VQ-VAE把图像压缩成离散token后再做预测二是在训练中加入对抗损失GAN loss让解码器输出更“锐利”的图像。我自己更趋向于前者因为它避开了对抗训练的不稳定性。5.3 真实机器人上动作抖动严重动作抖动通常是三个原因控制频率太低、动作分块太短、以及动作头输出没有做平滑滤波。前两个在3.4节里已经聊过。第三个原因容易被忽略如果你的VLA输出的是离散动作token那么相邻两步的 token 之间可能没有平滑过渡直接执行就会造成抖动。解决方案是在动作头输出后接一个指数滑动平均滤波器EMA或者用一个小窗口的移动平均做后处理。注意滤波系数不要设得太大否则动作流畅了但反应变迟钝实际任务中会显得机器人“慢半拍”。5.4 评测指标很高真机却各种翻车这个问题的根源在于评测环境的“过度确定性”。仿真环境中物体位置、光照、物理参数都是固定的模型很容易学到“在这个位置伸手就能抓到”这样的捷径。到了真实环境任何细微变化都会让这种捷径失效。要减少这类问题可以在评测时引入随机化干扰随机扰动物体位置、改变光照、增加背景噪声、甚至随机遮挡一部分视野。模型必须在这种随机化评测中依然保持较高成功率才有资格上真机测试。6. 一些值得持续跟进的方向如果你在看完上面的内容之后还想知道下一步应该关注什么我的个人建议是把目光放在这几个交叉点上一是“VLA世界模型”的混合架构让VLA在规划之前先做场景演变预测这能显著提升长程任务的成功率二是“VLA强化学习”的后期微调用RL来优化成功率指标效果往往比纯模仿学习高出不少三是小参数VLA的可行性现在业界已经开始尝试在5B甚至3B模型上实现接近7B模型的效果这对边缘端部署的意义非常大。此外多模态和推理时计算的结合也值得关注。π-VLA已经证明了逐步推理对策略性能的提升但推理产生的额外时延能不能被接受取决于应用场景。如果是在辅助驾驶这类实时性要求极高的场景你可能需要把推理过程做成长短两条路径长路径用于离线生成preference数据短路径用于线上实时执行。综合来看机器人模型这个领域还远远没有定型WM、WAM、VLA三个名称背后代表的是一整套思想和方法论。比起纠结于“哪个缩写更高级”不如在实际任务里多试几种组合找到最适合自己场景的那一套方案。毕竟模型论文里的指标再漂亮最终还是要看机器人在真实世界里能不能稳定地帮你把活干完。这也是我给所有做机器人的同行最朴素的一条建议。