VLAct: Vision-Language-Action 机器人大模型实战
基于视觉-语言-动作联合表征的机器人通用策略模型实战,解析低延时动作分词器与跨具身泛化技术。
为什么需要 VLAct?
以往的机器人控制策略往往依赖于孤立训练的专用强化学习(RL)策略,面临泛化能力弱、场景迁移成本高昂的痛点。VLAct (Vision-Language-Action) 旨在打破语言理解与物理操作的鸿沟。
动作分词器设计 (Action Tokenizer)
机器人末端动作通常由 6-DoF 位姿加上夹爪开闭度构成 $[x, y, z, roll, pitch, yaw, gripper]$。为了将其与 Transformer 词表对齐,VLAct 采用残差矢量量化(Residual Vector Quantization, RVQ):
import torch
import torch.nn as nn
class ActionTokenizer(nn.Module):
def __init__(self, action_dim=7, codebook_size=1024):
super().__init__()
self.encoder = nn.Sequential(
nn.Linear(action_dim, 256),
nn.ReLU(),
nn.Linear(256, 128)
)
self.embedding = nn.Embedding(codebook_size, 128)
def encode(self, action):
feat = self.encoder(action)
# 最近邻量化查找
dist = torch.cdist(feat, self.embedding.weight)
tokens = torch.argmin(dist, dim=-1)
return tokens
实机闭环部署经验
在真机部署(50Hz 采样控制回路)中,低延时流水线是关键:
- 视觉骨干异步推流:图像编码器采用 FlashAttention 优化,推理延迟稳定在 12ms 以内。
- 动作块预测 (Action Chunking):每次预测未来 16 个时间步,显著平滑关节抖动并降低丢包敏感性。