当ChatGPT让AI学会"思考",VLA让AI学会了"动手"。

封面


一、引言:为什么2026年VLA是AI最值得关注的技术方向?

2026年,AI行业的关注点正在发生根本性转移:从"硅基大脑"到"具身智能"。智源研究院发布的《2026十大AI技术趋势》明确指出,人工智能的演进核心正从追求参数规模的语言学习,迈向对物理世界底层秩序的深刻理解与建模。

在这一轮变革中,VLA(Vision-Language-Action Model,视觉-语言-动作模型) 是最核心的技术突破。它让机器人不再只是"执行程序",而是能够看懂环境、听懂指令、自动决策和动作——就像给AI装上了一具真正的身体。

本文将深入VLA的技术底层,从架构原理、训练流程到PyTorch代码实战,带你完整透视2026年最前沿的具身智能技术栈。


二、VLA的核心架构:三模态融合的端到端神经网络

传统机器人控制采用模块化流水线:视觉识别→语言解析→运动规划→关节控制。这种架构在复杂开放场景中面临三大死穴:

  1. 信息断层:每个模块独立优化,误差逐级累积
  2. 缺乏常识:无法理解"玻璃杯易碎""冰面湿滑"等物理常识
  3. 泛化差:换一个环境就要重新编程

VLA彻底颠覆了这一范式——它是一个端到端的神经网络,输入是摄像头图像+自然语言指令,输出直接是机器人动作指令。

2.1 整体架构

一个典型的VLA模型由三部分组成:

┌─────────────────────────────────────────────────┐
│                    VLA Model                     │
│  ┌──────────────────────────────────────────┐   │
│  │         VLM Backbone (Pretrained)        │   │
│  │  ┌─────────┐  ┌──────────┐  ┌────────┐  │   │
│  │  │ Vision  │  │ Language │  │ Fusion │  │   │
│  │  │ Encoder │  │ Encoder  │  │Transformer│  │
│  │  └─────────┘  └──────────┘  └────────┘  │   │
│  └──────────────────────────────────────────┘   │
│                         │                       │
│                         ▼                       │
│  ┌──────────────────────────────────────────┐   │
│  │           Action Head                    │   │
│  │  ┌───────────┐  or  ┌────────────────┐   │   │
│  │  │Token Head │      │Continuous Chunk│   │   │
│  │  │ (离散动作) │      │ Head (连续动作) │   │   │
│  │  └───────────┘      └────────────────┘   │   │
│  └──────────────────────────────────────────┘   │
└─────────────────────────────────────────────────┘

VLM Backbone 通常是一个预训练的多模态Transformer,如:

  • PaliGemma(Google,pi0模型使用)
  • SmolVLM(HuggingFace,SmolVLA使用)
  • Llama + SigLIP(OpenVLA使用)

它将图像编码和语言指令编码后在Transformer空间融合,输出一个多模态隐层表征

Action Head 将这个表征映射为机器人动作。目前主要有两大技术路线:

2.2 Token Head(离散化动作头)

代表模型:RT-2、OpenVLA

原理是将连续动作离散化为token,通过语言模型的Head以自回归方式输出。优点:可以直接复用LLM的训练框架和RL目标函数(如GRPO)。缺点:离散化会损失精度。

2.3 Continuous Chunk Head(连续动作块头)

代表模型:ACT、pi0、SmolVLA

原理是使用回归、扩散或流匹配(Flow Matching)Head,一次性预测未来H步的连续动作序列(称为Action Chunk)。优点:精度高,一次推理获得多个控制步。缺点:需要专门的Chunk执行机制。

Chunking是这一领域最巧妙的设计:一次(昂贵的)推理产生多个控制步,执行器决定在重新规划前执行其中多少步。


三、VLA的五阶段训练流程

训练一个VLA并非一蹴而就,而是分阶段的能力积累:

Stage 1: VLM预训练(继承)

多模态骨干网络在海量图文数据上预训练。没有人专门为机器人做这一步——你只需要选一个预训练好的VLM加载权重。

Stage 2: VLA预训练(中训练)

VLM + Action Head在大规模跨本体遥操作数据集上训练——行为克隆(Behavior Cloning):

  • Open X-Embodiment(~100万条episode)
  • DROID数据集
  • LeRobot社区数据集

这一步将VLM变成通用型VLA,计算量极大(数百GPU天),但业界以checkpoint形式发布成品:OpenVLA、pi0、SmolVLA。

Stage 3: 监督后训练(大多数人做的"训练")

在特定任务和特定机器人上对通用checkpoint进行微调,数据量很小(50-500条遥操作episode),单GPU即可完成。

Stage 4: RL后训练(可选,越来越标准)

行为克隆受限于演示质量,长时序任务中误差累积。使用GRPO/PPO对Action Token进行RL微调,可以超越演示数据的上限。

Stage 5: 评估/部署

闭环滚动执行(Receding Horizon),测量任务成功率。


四、实战:用PyTorch/TorchRL从零搭建VLA推理流水线

以下代码来自PyTorch官方TorchRL库的VLA教程,展示了一个完整的VLA训练-推理-微调链路。

4.1 定义VLA数据Schema

VLA数据符合统一规范:图像和状态在observation下,语言指令和动作在根层级:

import torch
from tensordict import TensorDict

batch, n_cam_c, hw, state_dim, action_dim = 8, 3, 16, 6, 4

def make_observation(batch=batch):
    return TensorDict({
        "observation": {
            "image": torch.randint(0, 255, (batch, n_cam_c, hw, hw), dtype=torch.uint8),
            "state": torch.randn(batch, state_dim),
        },
        "language_instruction": [f"pick up object {i}" for i in range(batch)],
    }, batch_size=[batch])

obs = make_observation()

4.2 定义TinyVLA策略

TorchRL提供了TinyVLA作为参考模型(卷积图像编码器+状态MLP+哈希指令嵌入+动作头):

from torchrl.modules.vla import TinyVLA

H = 4  # action chunk size
policy = TinyVLA(
    action_dim=action_dim,
    chunk_size=H,
    hidden_dim=64
)

# 一次前向传播,输出未来H步的动作块
action_chunk = policy(make_observation())["vla_action", "chunk"]
print(action_chunk.shape)  # [batch, H, action_dim]

4.3 行为克隆训练

使用BCLoss进行Chunk级别的行为克隆,pad_mask排除填充步:

from torchrl.objectives import BCLoss

# 构造专家数据
data = make_observation()
expert = (data["observation", "state"] @ torch.randn(state_dim, H * action_dim)
          ).reshape(batch, H, action_dim)
data["vla_action", "chunk"] = expert
data["action_is_pad"] = torch.zeros(batch, H, dtype=torch.bool)

bc_loss = BCLoss(policy, loss_function="l1")
bc_loss.set_keys(action=("vla_action", "chunk"), pad_mask="action_is_pad")

optimizer = torch.optim.Adam(bc_loss.parameters(), lr=1e-2)
for _ in range(100):
    optimizer.zero_grad()
    bc_loss(data)["loss_bc"].backward()
    optimizer.step()

4.4 Chunk推理执行

MultiStepActorWrapper实现了receding-horizon执行:一次推理获得H步动作,缓存后逐步消费:

from torchrl.envs import ToyVLAEnv
from torchrl.envs.transforms import InitTracker, TransformedEnv
from torchrl.modules import MultiStepActorWrapper

base_env = ToyVLAEnv(
    action_dim=action_dim,
    state_dim=state_dim,
    image_shape=(n_cam_c, hw, hw),
    batch_size=[2],
)

actor = MultiStepActorWrapper(
    policy,
    n_steps=H,
    replan_interval=2  # 每2步重新规划
)
env = TransformedEnv(base_env, InitTracker())

# 6步rollout
rollout = env.rollout(6, actor)
print(rollout["action"].shape)  # [2, 6, action_dim]

4.5 RL微调(GRPO风格)

对Token型VLA进行GRPO微调,直接复用ClipPPOLoss(无需Critic网络):

from torchrl.envs.utils import ExplorationType, set_exploration_type
from torchrl.objectives import ClipPPOLoss

token_policy = TinyVLA(
    action_dim=action_dim,
    chunk_size=H,
    action_head="tokens",
    vocab_size=64,
)

with set_exploration_type(ExplorationType.RANDOM):
    rollout = token_policy(make_observation())

rollout["advantage"] = torch.randn(batch, 1)
rollout["vla_action", "log_probs"] = rollout["vla_action", "log_probs"].detach()

grpo_loss = ClipPPOLoss(
    token_policy,
    critic_network=None,
    entropy_bonus=False,
    clip_epsilon=0.2,
)
grpo_loss.set_keys(
    action=("vla_action", "tokens"),
    sample_log_prob=("vla_action", "log_probs"),
    advantage="advantage",
)

optimizer = torch.optim.Adam(grpo_loss.parameters(), lr=1e-3)
optimizer.zero_grad()
grpo_loss(rollout)["loss_objective"].backward()
optimizer.step()

五、2026年VLA模型全景对比

模型 发布方 Backbone Action Head 特点
OpenVLA 7B Stanford Llama+SigLIP Token 开源标杆,7B参数
pi0 Physical Intelligence PaliGemma Flow-Matching Chunk 流匹配,高精度操作
SmolVLA HuggingFace SmolVLM Continuous Chunk 轻量级,快速推理
GR00T N1.6 NVIDIA Isaac 自定义 人形机器人基础模型
Gemini Robotics 1.5 Google DeepMind Gemini 自定义 灵巧操作能力最强
OptimusVLA (CVPR 2026) 学术界 OpenPI/pi0 双记忆增强 全局先验+局部一致性

六、VLA vs World Model:2026具身智能路线之争

2026年,具身智能领域出现了一场重要争论:“VLA已死?”

核心观点:纯VLA(感知→动作的直接映射)不足以应对复杂动态环境。于是World Model(世界模型) 路线兴起——模型不仅要输出动作,还要能预测执行动作后的未来状态。

但更准确的结论是:

VLA没有死,它正在从"单独的策略模型"演变为"具身智能系统中的一个模块"。World Model则是预测和规划引擎。

代表工作如 InternVLA-A1(2026年2月发布),给VLA加上了一个生成式预测专家(Video World Model),在12个真实机器人任务中表现显著提升。这不是抛弃VLA,而是承认"只靠VLA不够"。


七、未来展望与实战建议

技术趋势

  1. VLA + World Model 融合:端到端学习中引入未来状态预测
  2. VLA + RL(GRPO):RL后训练正成为标准配置
  3. Sim-to-Real 加速:NVIDIA Isaac Sim等平台大幅降低真机训练成本
  4. 跨本体迁移:一个VLA模型适配多种机器人形态

给开发者的学习路径

  1. 入门:玩转TorchRL的TinyVLAToyVLAEnv,理解数据Schema和Chunk机制
  2. 进阶:下载OpenVLA或pi0 checkpoint,用LeRobot数据集微调
  3. 高级:实现VLA+GRPO的RL训练完整流水线
  4. 前沿:研究VLA+World Model的联合训练方法

关键资源


机器人技术插图

结语

2026年是具身智能的"GPT-3时刻"。VLA模型的出现,让机器人从"预设指令执行者"转变为"自主学习的探索者"。当机器人不再惧怕复杂环境,当它们能听懂模糊指令并在杂乱空间中精确操作时,机器人将不再是冰冷的自动化设备,而是具备逻辑、常识与温度的合作者。

学习的本质,是连接。VLA连接的不仅是视觉、语言和动作——它连接的是数字智能与物理世界的鸿沟。


本文由「人间凡尔赛」原创发布,2026-07-18

技术插图

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐