作者:Cliff
https://zhuanlan.zhihu.com/p/49399320950
如果问 现在的VLA最大的问题或者落地的最大瓶颈是什么? 有人可能会回答泛化性,有人可能会回答准确性。我会回答另一点,那就是如今的模型架构在理解能力和生成能力上的不可兼得。
我们通常认为,在理解能力上,目前最好的架构是基于Transformer的自回归模型,这在大语言模型上已经得到了成功。而在生成任务上,最好的架构则变成了diffusion,它基本上统治了生图领域。
换到具身智能的语境,理解能力代表着机器人对环境及文本指令的认知,理解,规划等,而生成能力则代表着动作轨迹的生成。
简单回顾一下VLA模型的历史,早期的RT系列,OpenVLA等,均采用了自回归的模型架构,由于依赖于交叉熵推理词表的概率分布,需要将动作空间离散到很多个bin。而ACT,DiffusionPolicy系列,一个采用VAE的架构,一个采用diffusion的架构,都属于生成模型的范畴。
后面又有了Pi0等,采用的是DiT的架构,尝试将自回归的方式和diffusion的方式融合在一起。
当然还有一些快慢结构,分层模型,比如HiRobot,Helix,Groot等,他们都更明确地把理解和生成做了一定的区隔,一部分模型结构(自回归)用来做理解,而另一部分(diffusion)用来做生成。
由此可以看到VLA在发展过程中,在理解能力和生成能力的侧重融合上一直很纠结。前期期望一种模型范式能直接解决问题,后期又开始想方设法地把二者的优势结合到一起。
早期二者的结合区隔还是挺明显,一般会说前面有个VLM来负责理解,后面有个action expert来生成动作,二者基本上没有功能的重合,它们的结合,有的是通过DiT的方式,把VLM每层生成的特征当作action部分的condition,也有的通过分层结构,或显式地生成子任务,或隐式地生成latent vector进入到action部分。
DiT的方式把信息耦合得更紧,分层架构却似乎会在层与层之间丢失信息。更重要的是在于它们的训练方式,一般在后训练时都只是把action生成部分的误差当作loss来优化模型,导致VLM本身理解能力的遗忘,而如果锁住VLM的参数去微调,又会发现VLM完全不具备动作相关的知识,也不足以支撑action部分有很好地发挥。
最近的一些方向,开始了一些冗余设置,比如pi0.5,pi0.5+KL,它同时使用理解范式的自回归模型去生成离散动作,及生成范式的diffusion模型去生成连续动作,再通过共同训练的方式,把各种VLM任务和VLA任务放在一起优化。
他们试图通过这种方式,让理解部分在维持原有知识的情况下能有动作相关的知识(因为都是next token prediction的范式,所以不会带来遗忘),同时又能把理解能力通过DiT传递给action部分。
在推理时,则只使用连续动作,以避免离散动作生成慢,无法精细化的的问题。再比如HybridVLA,他们也是在同步优化自回归的离散动作生成和diffusion的连续动作生成,区别在于做自回归的时候还会考虑diffusion部分的贡献,二者还需要单向的cross-attention。
对于Pi0.5,PI的CEO Karol Hausman 在一次访谈中自信地表示他们找到了泛化的解决办法,就是数据。但我觉得,数据量的增加更多的是让模型学到了相关性,即动作到底与视觉的那部分,语言的哪部分是高度相关的,这些部分的变化模型应该怎么应对。
而对于真正未见的物体,场景,似乎还是很难推广泛化。当然也可能是我的理解不对,但不管如何,目前这种理解能力和生成能力的结合看起来还是不够优雅。
之前听到过一个词,叫做“理解生成一体化”,希望能有一个统一的模型架构能够同时完成好理解任务和生成任务。在多模态生图领域,这个词大多被具象化为利用自回归模型通过各种技巧改善来完成生图,甚至有一个说法叫做Make Autoregressive Great Again (MAGA)。
显然,自回归模型来做连续生成任务到现在为止还不是主流。期待有一天真的能有实现“理解生成一体化”的模型架构,到那天可能就离真正的端到端具身智能不远了。