1. 从“看”到“动”:具身智能的挑战与WALL-OSS的破局思路

大家好,我是老陈,一个在AI和机器人圈子里摸爬滚打了十多年的老兵。最近,具身智能这个领域真是火得不行,简单说,就是让AI模型不仅能“看”懂世界、能“说”人话,还得能“动手”完成任务,比如让机器人帮你收拾桌子、递杯水。听起来很酷,对吧?但实际做起来,坑可太多了。

我见过不少团队,直接把一个训练好的视觉语言大模型(VLM),比如QwenVL,后面接上一个动作预测头,就开始用机器人数据去微调。结果呢?模型很快就“忘了”自己原来认识世界、理解语言的能力,变成了一个只会机械模仿动作的“傻子”,稍微换个指令或者环境,它就懵了。这就像让一个博学的教授去学开挖掘机,结果教授把以前的知识全忘了,只学会了怎么操作摇杆,这肯定不是我们想要的。

问题的核心在于“鸿沟”。视觉和语言是高度抽象的、离散的符号世界(比如“苹果”、“拿起”这些词),而机器人动作是连续的、高维的物理信号(比如机械臂每个关节每秒几十上百个角度值)。直接把这两个世界强行捏在一起,模型很容易精神分裂。之前一些优秀的方案,比如π0.5,采用了“知识隔离”的策略,尽量不动VLM的核心参数,只训练一个独立的动作分支。这确实保护了VLM的知识,但代价是“看”和“动”之间联系不够紧密,模型可能理解了“把红色的积木拿过来”,但手就是不知道该往哪伸、用多大力。

所以,当我在9月份出差路上,看到自变量机器人(X SQUARE)开源的WALL-OSS模型时,眼前确实一亮。它没有在“隔离”和“混合”之间二选一,而是提出了一种更巧妙的“深度耦合”架构。它的核心武器是两个专家网络:VL FFNAction FNN。你可以把它想象成我们大脑的两个专业区域:一个负责理解和规划(VL FFN,处理视觉语言),一个负责精细执行(Action FNN,控制肌肉)。它们共享底层的感觉和认知基础(比如注意力机制),但在处理具体任务时,由不同的“专家”出马。WALL-OSS通过一套精妙的训练方案,让这两个专家既能各司其职,又能紧密协作,最终实现了从高层指令到连续动作丝滑的端到端映射。

接下来,我就带大家深入这个模型的内部,看看它是如何通过VL FFN和Action FNN的协同,一步步教会机器人“知行合一”的。

2. 庖丁解牛:WALL-OSS的深度耦合架构设计

要理解WALL-OSS的妙处,我们得先看看它之前的主流方案遇到了什么问题。WALL-OSS的论文里有一张图概括得非常清楚,我这里用大白话给大家转述一下。

2.1 两种传统架构的困境

第一种是混合设计。直接把VLM当主干,后面接上一个模块来预测动作,这个动作可以是离散的“动作词”(比如“向前”、“抓取”),也可以是连续的关节角度。这种方法最直接,但问题也最严重:用于预测动作的大量机器人数据,会像洪水一样冲刷掉VLM原来从海量图文数据中学到的宝贵知识,导致模型“动作过拟合”。机器人数据毕竟有限,模型很快就只认得训练过的几个动作,泛化能力极差。

第二种是解耦设计。这也是π0等模型采用的思路:VLM和一个独立的动作预测模型并行,VLM只负责提供高级的视觉语言特征给动作模型参考。这样做确实保护了VLM,但两者像是“分居”的夫妻,沟通不畅。动作模型可能无法充分理解VLM提供的复杂语义,导致指令跟随能力弱。VLM说“把那个歪了的杯子摆正”,动作模型可能只听到了“杯子”和“摆”,结果把杯子拿起来又原样放下了。

2.2 WALL-OSS的MoE专家混合之道

WALL-OSS的架构聪明地避开了上述两种极端。它采用了混合专家(MoE) 的设计思想,但做了一次关键的“静态路由”改造。

它的主干网络选择了性能与效率平衡得很好的QwenVL 2.5-3B模型。在这个主干之上,它部署了两个核心的前馈网络专家:

  • VL FFN:这是从原始QwenVL继承并增强而来的专家,专门负责处理视觉-语言模态的信息。它的任务是理解场景、分解指令、进行逻辑推理(思维链CoT)和规划子任务。它输出的,是高度语义化的、离散的token,包括自然语言描述和离散的动作指令token。
  • Action FNN:这是一个新引入的专家,专门负责处理连续动作模态的信息。它的任务是根据当前状态和目标,预测出机器人下一时刻精确的、连续的运动轨迹(比如每个电机的角度、速度)。

那么,输入的信息怎么决定由哪个专家来处理呢?这里就是“静态路由”的精髓。它不是用一个可学习的、动态的开关来决定,而是根据训练阶段和任务类型预先设定好的。在模型学习“理解”世界(启发阶段)时,信息主要路由给VL FFN;在模型学习“执行”动作(集成阶段)时,与动作生成相关的特征流会明确地路由给Action FNN。这种设计确保了每个专家都能在自己擅长的领域深度专业化,同时又因为共享底层的注意力机制,它们对世界的底层认知是一致的,沟通没有障碍。

这种架构就像一个高度协同的团队:VL FFN是“军师”,负责分析局势(视觉)、理解命令(语言)、制定战略(CoT和子任务);Action FNN是“先锋官”,负责将战略转化为具体的战术动作(连续轨迹)。军师和先锋官共享同一份战场地图(注意力机制),所以先锋官能精准地执行军师的意图。

3. 分步修炼:两阶段训练策略详解

有了好的架构,还需要好的训练方法才能成才。WALL-OSS的训练过程就像培养一个全能特工,分为“理论学习”和“实战演练”两个大阶段,非常有章法。

3.1 第一阶段:启发——注入具身常识与动作先验

这个阶段的目标,不是让机器人立刻会动,而是先让它成为一个“懂行的观察者”。我们继续用QwenVL 2.5作为基础,它已经博览群书(海量互联网图文),但缺乏在机器人第一视角下的“生活经验”。

所以,在这个阶段,我们主要做两件事来“启发”它:

  1. 强化具身视觉问答能力:我们给模型看大量的机器人摄像头拍摄的画面(第一人称、视角狭窄、有遮挡),并问它一些需要空间理解的问题。比如,指着画面问:“红色的积木在蓝色盒子的左边还是右边?”“机械爪现在距离桌子边缘有多远?”通过这种方式,模型学会了在真实的、复杂的机器人环境中进行空间推理和场景理解,弥补了互联网图片和机器人视角之间的分布差异。
  2. 植入离散动作先验:光会看还不够,得让它对“动作”有概念。这里用到了一个叫FAST的离散化方法(来自π0的工作),它能把一段连续的动作轨迹,压缩成一系列有意义的离散“动作词”,比如 [接近目标][闭合手爪][抬起]。在这个阶段,我们让VL FFN在输出文本答案的同时,也尝试预测这些动作词序列。

举个例子,我们给模型输入指令:“把桌上的苹果放进篮子里。” 经过启发阶段训练后,VL FFN应该能输出类似这样的思维链和子任务:

  • 思维链:“我需要先定位到苹果,然后移动机械臂到苹果上方,抓取苹果,再移动到篮子上方,最后松开手。”
  • 子任务与离散动作token[视觉定位:苹果] -> [移动至:苹果上方] -> [执行:抓取] -> [移动至:篮子上方] -> [执行:释放]

这个阶段结束后,模型已经是一个“理论高手”了:它能看懂机器人眼中的世界,能把复杂指令分解成步骤,并且对每个步骤该做什么动作有了一个粗略的、符号化的认识。VL FFN专家在这个过程中得到了充分的锻炼。

3.2 第二阶段:集成——从符号到连续控制的精雕细琢

理论学得再好,不上手也是纸上谈兵。第二阶段的目标,就是把离散的“动作词”变成精确的、连续的肌肉控制信号。这时,Action FNN专家就要正式登场了。

这个阶段又细分为两步,非常关键:

第一步:冻结VL FFN,单独训练Action FNN。

  • 我们先把第一阶段练好的VL FFN整个“冻住”,它的参数一动不动。这样做的目的是绝对保护它已经学到的视觉语言知识和动作先验,防止被后续训练破坏。
  • 然后,我们只训练新引入的Action FNN,以及连接它的一小部分网络(流匹配头)。训练数据是带噪声的机器人动作轨迹。模型的任务是学习如何“去噪”,即预测出从带噪声的动作恢复到真实动作所需要的“速度场”。这其实是当前预测连续动作最先进的方法之一(流匹配)。
  • 在这个过程中,VL FFN虽然被冻结,但它仍然为Action FNN提供强大的、富含语义的上下文特征(通过共享的注意力机制)。Action FNN就像是一个学徒,在老师(VL FFN)的指导下,专心练习如何把老师的抽象指令(离散动作token)转化成精细操作。

第二步:联合微调,让专家协同进化。

  • 当Action FNN已经初步掌握动作生成的技巧后,我们“解冻”VL FFN,让两个专家一起进行最后的联合训练。
  • 这个时候,两个专家在共享的注意力舞台上“同台竞技”,互相磨合。VL FFN会根据Action FNN的执行效果,微妙地调整自己分解任务和规划的方式,让它产出的离散计划更“可执行”;Action FNN则能更精准地理解VL FFN的意图,生成更流畅、更准确的动作。
  • 训练目标依然是流匹配,但这次两个专家的参数会一起更新。通过一种叫“梯度路由”的技术,确保每个专家主要接收与自己任务相关的梯度信号,避免互相干扰。

经过这两个阶段的修炼,WALL-OSS模型就真正成熟了。它既能像军师一样深思熟虑、运筹帷幄(通过VL FFN),又能像战士一样干脆利落、精准执行(通过Action FNN),两者通过深度耦合的架构融为一体。

4. 实战推演:Uni-CoT如何实现端到端控制

模型训练好了,具体在推理的时候是怎么工作的呢?这就是WALL-OSS提出的 Uni-CoT(统一思维链) 推理框架大显身手的地方。它彻底告别了传统机器人那种“规划模块”+“控制模块”的流水线模式。

4.1 传统流水线的瓶颈

传统的做法是,一个规划模块(可能是另一个大模型)先把“收拾桌子”分解成“捡起垃圾”、“摆放书本”等子任务,然后把这些子任务一个个丢给一个独立的控制器去执行。这种方式有两个大问题:一是规划和控制之间是“断开的”,控制器可能无法完全理解规划的意图;二是误差会累积,规划错一步,后面全跑偏。

4.2 Uni-CoT的灵活映射

WALL-OSS的Uni-CoT框架,把高层推理、子任务规划和底层控制全部整合在了一个可微分的模型内部。它实现了一种 “任意前向映射” 的能力。这是什么意思呢?我给大家画个图就明白了:

高层指令 → [可选:思维链推理] → [可选:子任务分解] → 连续动作轨迹

关键在于“可选”。模型可以根据任务的复杂度和实时需求,动态决定推理的深度:

  • 对于简单任务(比如“向左移动10厘米”),模型可以跳过中间的思维链和子任务分解,直接从指令映射到连续动作。反应速度极快。
  • 对于复杂长时序任务(比如“做一顿番茄炒蛋”),模型会自动激活动态思维链,一步步推理出“拿番茄”、“洗番茄”、“切番茄”、“打鸡蛋”……等一系列子任务,并为每个子任务生成连续动作。
  • 更厉害的是,它支持交错执行:模型不必等把所有步骤都想完了再动。它可以先想第一步“拿番茄”,并同时输出抓取番茄的动作;在执行这个动作的同时,它已经在后台推理第二步“洗番茄”了。这非常符合我们人类做事的习惯,也为实时人机交互提供了巨大的灵活性。

在实际的代码实现中,这种灵活性是通过在训练时随机“丢弃”某些中间路径来实现的。比如,有时候我们只给模型看指令和最终动作,不让它看到中间的推理步骤,强迫它学习直接映射;有时候我们又给出完整的链条。这样训练出来的模型,就具备了这种智能切换的能力。

4.3 一个完整的推理示例

假设我们有一个搭载了WALL-OSS的桌面机械臂,现在给它指令:“请把那个红色的马克杯放到左上角的抽屉里。”

  1. 输入:模型接收到当前的第一视角图像和这条文本指令。
  2. 内部处理(VL FFN主导)
    • 模型识别图像中的物体:桌子、多个杯子、一个红色的马克杯、一个左上角的抽屉。
    • 触发思维链:“用户想要移动红色马克杯。我需要先定位并抓取它,然后打开抽屉,最后将杯子放入并关闭抽屉。”
    • 分解为子任务序列:[定位红色马克杯] -> [移动并抓取] -> [移动至抽屉前] -> [打开抽屉] -> [放入杯子] -> [关闭抽屉]
  3. 执行(Action FNN主导)
    • 对于子任务 [移动并抓取],Action FNN接收到VL FFN提供的“红色马克杯”的空间坐标和“抓取”的意图,生成一连串精确的关节角度序列,控制机械臂平滑地运动过去并稳定抓取杯子。
    • 机械臂在执行抓取的同时,模型已经在处理下一个子任务 [移动至抽屉前] 的路径规划了。
  4. 输出:最终,机械臂完成了一整套流畅的动作,将杯子放入指定位置。

整个过程,从理解到规划再到执行,在一个模型内部一气呵成,没有模块间的信息损耗和误差传递。

5. 展望与思考:WALL-OSS带来的启示与挑战

WALL-OSS这套深度耦合VL FFN与Action FNN的思路,在我看来,为具身智能的研究打开了一扇新的大门。它不再纠结于“要不要动VLM参数”这种二元问题,而是转向了“如何更聪明地组织不同功能模块”的系统工程问题。

它的核心启示在于“专业化分工与高效协同”。让擅长处理符号信息的模块(VL FFN)和擅长处理连续信号的模块(Action FNN)各司其职,又通过共享的注意力基底和精心设计的训练课程保持对齐,这比让一个模块硬扛所有任务要合理得多。这种MoE架构在NLP领域已经被证明是扩展模型能力的高效途径,WALL-OSS成功地将它应用到了跨模态的具身任务中,效果非常显著。

当然,这套方案也并非没有挑战。从我过去的工程经验来看,有几点值得深入思考:

  1. 训练复杂度与成本:两阶段训练,尤其是集成阶段的流匹配训练,对数据和算力的要求依然很高。虽然论文使用了相对较小的3B模型,但整个训练流程的设计非常精巧,复现起来需要深厚的工程功底。对于更广泛的社区和工业界应用,如何进一步简化流程、降低成本,是一个关键问题。
  2. 静态路由的局限性:当前静态路由的策略是基于训练阶段预设的。在未来更复杂的任务中,是否需要一个轻量级的、可学习的路由器,让模型在推理时也能动态决定何时该“思考”(用VL FFN),何时该“行动”(用Action FNN),这可能是一个有趣的探索方向。
  3. 从仿真到实物的鸿沟:无论模型在仿真环境中训练得多好,转移到真实的物理机器人上都会面临感知噪声、动力学模型不准、延迟等一大堆问题。WALL-OSS如何与在线学习、自适应控制等技术结合,在真实世界中持续学习和调整,将是决定其最终落地效果的关键。

不过,瑕不掩瑜。WALL-OSS的工作,特别是它对离散与连续动作协同处理的深度思考,已经为后续的研究树立了一个很高的标杆。它让我想起早年做视觉识别时,从分类网络到检测网络的演进——同样是找到了一个更契合问题本质的架构(如Faster R-CNN的RPN),从而带来了性能的飞跃。

对于想要进入具身智能领域的开发者和研究者,我强烈建议仔细研读WALL-OSS的论文和代码。即使你不直接复现它,其架构设计和训练思想也能给你带来很多启发。至少,下次当你再想把一个VLM和机器人控制器硬凑到一起时,你会多问自己一句:我是不是可以设计两个更专业的“专家”,让它们合作得更好?

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐