Skip to main content
SEEED STUDIO · 论文精读

Evo-1:保留语义对齐的轻量 VLA

Evo-1: Lightweight Vision-Language-Action Model with Preserved Semantic Alignment

  • 轻量 VLA
  • 语义对齐
  • 交叉注意力
  • 两阶段训练
arXiv阅读论文原文

先验知识:从理解指令到输出动作​

VLA 学的是什么​

解释: 模仿学习(Imitation Learning)是让机器人学习示范中的“遇到这个场景时,应该怎样运动”。视觉-语言-动作模型(Vision-Language-Action Model,VLA)把任务文字也加入输入,从而学习根据画面和指令生成控制动作。

以论文的“把饮料罐放进白盒”为例:人的遥操作记录提供相机画面、机器人姿态和对应动作;模型学习三者与任务文字之间的关系。部署时输入实时画面、任务指令和当前状态,输出一段未来动作,而不是只回答一句“先抓起来”。

概念含义Evo-1 中的实例
观测(Observation)模型用来判断环境的信息多视角 RGB 图像;真实 xArm6 系统有固定相机与腕部相机
本体状态(Proprioceptive State)机器人自身的数值状态真实数据记录绝对关节角
动作(Action)发给机器人控制接口的数值真实数据以绝对关节角记录动作;其他平台按其动作接口定义
视觉语言模型(Vision-Language Model,VLM)将图像与文字变成能共同处理的特征InternVL3-1B 骨干
语义对齐(Semantic Alignment)图像内容与文字含义在表示中保持对应“饮料罐”应与画面中的罐体建立关联,而不是被无关背景吸引

注意: “保持语义对齐”是本文的目标,注意力图与任务结果提供支持;它不等于模型的全部语言知识经过了完整测评。

单步动作与动作块​

单步预测只输出当前动作;动作分块(Action Chunking)一次输出未来多步动作,让模型联合安排一小段运动。Evo-1 的默认预测长度为 50 步。

单步方式:当前画面、指令、状态 → aₜ
动作分块:当前画面、指令、状态 → [aₜ, aₜ₊₁, …, aₜ₊₄₉]

解释性例子: 只看一个关节,三步目标角度可以是 [0.10, 0.12, 0.15] 弧度。单步方式分别预测这些值,动作块方式一次预测整个序列;实际 Evo-1 输出的是多维、50 步动作块。

动作块有利于联合建模连续轨迹,但执行后环境仍可能变化。论文没有明确给出每次执行多少步后重新观察、是否重叠融合以及全部平台的重规划规则,因此不能把“预测 50 步”写成“必然开环执行 50 步”,也不能从块长推导最终控制频率。

三个阶段要分清​

阶段输入与操作判断或产出
训练示范图像、指令、状态和真实动作;对动作加噪,学习生成方向得到模型参数,损失衡量方向预测误差
推理当前图像、指令、状态和新采样的噪声动作块逐步生成未来连续动作,交给控制系统执行
评估在规定任务与初始条件下运行策略按成功标准统计成功率;另测指定 GPU 上的显存和推理频率

训练损失低,不能直接等同于真实任务成功率高。后文分别讨论训练机制和实际评估。


摘要:翻译与批注​

翻译​

视觉-语言-动作模型已成为统一感知、语言和控制的有力框架,使机器人能够通过多模态理解执行多样任务。然而,现有 VLA 模型通常包含大量参数,并高度依赖大规模机器人数据预训练,导致训练计算成本高,也限制了实时推理的部署。此外,多数训练范式往往削弱视觉语言骨干的感知表示,造成过拟合与下游任务泛化不足。

本文提出 Evo-1,一种轻量 VLA 模型,在不进行机器人数据预训练的情况下,减少计算、提高部署效率,同时保持较强性能。Evo-1 建立在原生多模态 VLM 上,结合新的交叉调制扩散 Transformer(Cross-modulated Diffusion Transformer)与优化的集成模块,形成有效架构。作者进一步提出两阶段训练范式,逐步对齐动作与感知,并保留 VLM 的表示。

Evo-1 仅有 7.7 亿参数,在 Meta-World 和 RoboTwin 套件上取得当时最优结果,分别超过此前最佳模型 12.4% 和 6.9%,并在 LIBERO 上达到具有竞争力的 94.8%。真实世界评估中,Evo-1 以较高推理频率和较低显存开销取得 78% 成功率,超过所比较的全部基线。作者发布代码、数据和模型权重,以支持轻量、高效 VLA 模型研究。

批注​

Evo-1:批注(配图 14)


引言与相关工作:为什么同时改架构和训练​

按原文四个正文段落拆解​

Evo-1:3.1 按原文四个正文段落拆解(配图 15)

Evo-1:3.1 按原文四个正文段落拆解(配图 02)

Evo-1:3.1 按原文四个正文段落拆解(配图 06)

与已有工作的关系​

  • 大规模 VLA: OpenVLA 使用机器人示范和离散动作建模,π0 使用连续动作专家,Hi-Robot 探索分层推理。作者指出,这类路线常使用数十亿参数的骨干。Evo-1 的区别在于压缩视觉语言主干,并用自己的集成与训练设计完成下游动作学习。

  • 轻量、高效 VLA: TinyVLA 将小型视觉语言骨干与扩散动作解码器组合;SmolVLA 使用紧凑流匹配动作专家,并采用层跳过、token 减少及异步推理等设计。Evo-1 与它们目标相近,但选用 InternVL3、连续堆叠交叉注意力,以及先冻结后解冻的训练顺序。

注意: 上述对比沿用原论文两类相关工作。它没有证明所有大型模型都必须依赖机器人预训练,也没有证明紧凑架构在所有任务上更优。


核心方法:用稳定上下文引导连续动作​

整体网络与输入输出​

模型先把“看见什么、要做什么”编码为多模态特征,再结合“机器人现在在哪里”,从噪声中生成未来动作。

Evo-1:4.1 整体网络与输入输出(配图 11)

原文: 三个核心组件分别是视觉语言骨干、集成模块和交叉调制扩散 Transformer。模型总计 0.77B 参数,不应将 InternVL3-1B 名称中的“1B”与裁剪后模型总参数量直接相加。

路径原始输入编码与处理输出或用途
视觉当前时刻 N 路 RGB 图像每路统一为 448 × 448 × 3,InternViT-300M 提取视觉特征;pixel-unshuffle 将视觉 token 数减少为原来的 1/4视觉嵌入插入图文序列
语言自然语言指令分词后送入 Qwen2.5-0.5B 分支,只保留前 14 层第 14 层输出融合的图文特征
状态机器人本体状态默认补齐为 24 维,图 1 显示状态编码器(State Encoder)接入动作专家的条件上下文
动作带噪未来动作块默认形状 50 × 24,经动作专家的 8 层 Transformer 处理同形状的生成更新,最终得到连续动作块

N 是相机路数,依平台而定;真实 xArm6 设置为 2。词元(Token)是模型处理的序列单元,图像 token 是连续特征,并不是文字单词。像素重排下采样(Pixel-unshuffle)在这里减少视觉序列长度,不意味着原始图像直接缩成四分之一的宽高。

原文: InternVL3 在其原生多模态预训练中联合学习图文与文本表示。视觉分支使用从 InternViT-6B 蒸馏得到的 InternViT-300M;图像嵌入替换指定的 <img> 占位,随后与文字共同进入共享解码器。Evo-1 从第 14 层读取图文特征,并移除后续语言层。

解释性形状例子: 一个样本的动作块有 50 × 24 = 1,200 个数,批量 16 个样本则是 16 × 50 × 24。24 是统一接口的补齐维度,包含非实际控制维度;它不表示 xArm6 有 24 个关节。不同平台的有效维度与物理单位需要按数据接口解释。

注意: 论文没有完整列出视觉 token 总数、图文隐藏宽度、动作专家隐藏宽度和状态编码细节。本文保留这些实现边界,不根据组件名称补写数字;图 1 的状态编码器也不能被省略为“原始 24 维向量直接与所有图文特征相加”。

集成模块:每层都读取同一份条件​

问题: 图文特征描述任务和场景,机器人状态描述当前姿态。如果动作生成过程中读不到这些信息,就难以让轨迹持续服从当前任务。

直觉: 把多模态特征和状态作为一份条件“资料”,每个动作层都根据自己当前的动作表示读取它。最终采用中间层交叉注意力(Mid-Layer Cross-Attention),即论文的 Module A。

交叉注意力(Cross-Attention)中,查询(Query,Q)表示“当前动作需要什么信息”;键(Key,K)负责与查询匹配;值(Value,V)提供读出的内容。原文: 以第 14 层图文特征与状态拼接所得条件作为 K、V,带噪动作表示作为 Q;所有动作层使用相同条件来源。

Evo-1:4.2 集成模块:每层都读取同一份条件(配图 12)

设计如何连接与最终设计的差别
A:中间层交叉注意力第 14 层图文特征与状态作为每个动作层的 K、V最终采用,各层条件来源一致
B:中间层交错交叉/自注意力读取条件后,再插入自注意力(Self-Attention)层增加动作序列内部的注意力交互
C:逐层交叉注意力不同动作层使用不同深度的 VLM 特征与状态条件随动作层变化
D:联合 K、V 交叉注意力将图文、状态和带噪动作共同放入 K、V动作也成为被读取的上下文

用于解释的标准注意力公式,并非原文新增损失:

Evo-1:4.2 集成模块:每层都读取同一份条件(配图 13)

若有 50 个动作位置、M 个条件 token,单个注意力头中 Q 为 50 × d_k,K 为 M × d_k,V 为 M × d_v;输出为 50 × d_v。d_k、d_v 是该头特征宽度,softmax 对每个查询的 M 个匹配分数归一化。M 与各宽度的具体数值未在论文中完整报告,这些是解释计算关系的符号。

最小数值例子: 某个动作位置对两个条件 token 的归一化权重为 [0.75, 0.25],若只取值向量的一维 [6, 2],读出的结果是 0.75 × 6 + 0.25 × 2 = 5。这个值是内部特征,不是直接给机械臂的角度;下一层可根据更新后的动作表示重新读取条件。

注意: 正文强调“拼接,而不是投影到共享嵌入空间”,图 1 同时画有状态编码器。应理解为保留独立条件再拼接的设计意图,不能扩大成“网络完全不使用投影或编码”。拼接的具体轴与编码宽度仍需实现补充。

动作专家:通过流匹配生成整块动作​

问题: 图文特征不能直接当作关节角。一段未来轨迹包含很多连续数值,需要一个能根据任务条件生成整段动作的模型。

直觉: 先给动作块填入随机噪声,再让模型学习“当前这组数应向哪个方向调整”,逐步得到示范中的动作。论文将模块称为扩散 Transformer(Diffusion Transformer,DiT),具体训练目标采用流匹配(Flow Matching)。两者分别描述网络结构和学习方式,并不矛盾。

原文式(3):

Evo-1:4.3 动作专家:通过流匹配生成整块动作(配图 03)

t 是机器人观测时刻;A_t 是从该时刻开始的真实动作块;ε 是同形状的随机噪声;τ 是内部生成进度,与机器人时间不同。默认两块数组均为 50 × 24,τ 为无单位标量,训练中从 Beta 分布采样并限制到 [0.02, 0.98]。论文没有给出这里的 Beta 分布参数。

最小数值例子: 对动作块的一个元素,令真实值为 0.6、噪声值为 −0.2、τ=0.5,则带噪值为 0.2。按这条线性路径,τ=0 对应噪声,τ=1 对应真实动作;训练只在上述截断区间采样。

原文式(4),简写期望的采样来源:

Evo-1:4.3 动作专家:通过流匹配生成整块动作(配图 00)

θ 是可训练参数;z_t 为图文特征,s_t 为本体状态;v_θ 是模型预测的时间条件速度场;u 是目标生成方向;二者与动作块同形状。平方范数比较所有元素的方向误差,期望来自示范动作与加噪样本。原式将时间条件省略在网络实参中,此处写出 τ,便于与正文“时间条件速度场”的说明对应。

解释: 对式(3)的线性路径,随 τ 增大的数学方向为 A_t−ε;这是根据公式推导的直观解释,原文没有将 u 进一步展开为这个表达。上例中方向为 0.8,若预测为 0.7,该元素的平方误差为 0.01。训练要学习的是如何移动,不是只把带噪值直接回归成答案。

推理时从新噪声出发,使用图文与状态条件反复预测方向、更新整段动作,最终得到 [âₜ, âₜ₊₁, …, âₜ₊₄₉]。动作专家使用 8 层 Transformer,最终架构堆叠交叉注意力,而非交替插入自注意力。

用于解释的离散更新示意:

Evo-1:4.3 动作专家:通过流匹配生成整块动作(配图 04)

X^τ 是当前动作估计,Δτ 是无单位的内部步长;这是帮助理解速度场的欧拉更新(Euler Update),不是论文明确指定的完整推理算法。最小例子: 一个元素当前为 0.2,预测方向为 0.8,若内部步长为 0.1,更新后为 0.28。

注意: 文中没有明确报告内部更新次数、数值求解器或完整执行调度。不能把 8 层 Transformer 当成 8 次去噪,也不能将内部进度 τ 当成机器人运动时间。模型生成整块动作,也不代表全部动作互相独立。

两阶段训练:先让新模块适应旧表示​

问题: 骨干已有图文能力,动作专家却是新初始化的。若一开始就一起训练,新模块产生的梯度可能同时改变既有表示,让骨干过早适应有限机器人示范。

直觉: 先让动作模块学会使用已有特征,再允许整个模型共同调整。类比“先熟悉已有资料,再一起修改资料和解题方法”;实际机制就是控制哪些参数能更新。

阶段VLM 骨干集成模块与动作专家目的
第一阶段:动作专家对齐完全冻结更新在固定图文表示上建立感知与动作的连接
第二阶段:全模型微调解冻并更新继续更新从第一阶段检查点出发,联合适应下游控制

原文: 全部实验使用 8 张 NVIDIA A100 分布式训练。Meta-World 第一阶段 10,000 步、第二阶段 65,000 步;两阶段学习率均为 1×10⁻⁵,batch size 均为 16,warmup 均为 1,000 步,梯度裁剪为 1.0,权重衰减为 0.001。默认动作专家 dropout 为 0.2,数据增强持续开启。其他基准沿用两阶段路线,训练步数随数据规模调整(第 11 页表 4、表 5)。

解释性例子: 第一阶段某批动作预测错了,梯度只修改新模块;第二阶段同样的误差也可以修改图文骨干。两阶段不是使用两种机器人,也不是先预训练机器人数据、再训练目标任务。

论文没有增加明确的“语义保持损失”,报告的动作训练目标是流匹配。保持语义主要依靠预训练初始化和训练顺序;第二阶段仍会改变骨干,不能理解成语义表示被永久锁定。论文没有报告训练墙钟时长或完整成本,所以“训练成本低”不能被具体化为单张消费级显卡即可完成全部训练。

把训练与推理分别串起来​

训练时:示范图像+指令 → VLM 第 14 层图文特征
示范状态 → 状态编码/集成条件
示范动作块+随机噪声+生成进度 → 带噪动作块
条件+带噪动作 → 动作专家 → 预测生成方向 → 流匹配损失
第一阶段只更新新模块;第二阶段联合更新全模型

推理时:当前图像+指令 → 图文特征
当前状态 → 条件上下文
新采样噪声动作块 → 时间条件动作专家反复更新
→ 50 步连续动作预测 → 由平台控制接口执行 → 获取后续观测

一句话理解: 紧凑骨干负责理解场景和目标,集成模块让各动作层持续读取图文与状态,流匹配负责把噪声变成连续轨迹,两阶段训练负责安排感知与动作模块的适应顺序。


实验:效果提升落在哪些范围​

仿真结果:平均值领先,单项仍有差异​

基准与范围训练与评估设置Evo-1 平均成功率主表中的主要对照
Meta-World,50 个任务每任务 50 条示范,共 2,500 条;每任务 10 次评估,5 次独立运行取平均80.6%SmolVLA 68.2%,提升 12.4 个百分点
LIBERO,四组共 40 个任务Spatial/Object/Goal/Long;每任务 10 次评估,5 次独立运行取平均94.8%π0 94.2%,提升 0.6 个百分点
RoboTwin 2.0 的四个选定任务每任务 50 条示范;easy/hard 两种难度,正文报告 100 次评估试验37.8%π0 30.9%,提升 6.9 个百分点

来源:PDF 第 5 页表 1,第 5–6 页实验设置及第 12–13 页补充材料。RoboTwin 原文对“100 次试验”与两种难度的分配描述不够明确,本文不推算额外总次数。LIBERO 的逐任务训练示范数量未在该版本中明确列出。

原文: Meta-World 四个难度组分别为 89.2%、76.8%、77.2%、79.2%,都高于表中基线。LIBERO 四组分别为 92.7%、97.7%、96.3%、92.3%,Object、Goal、Long 领先,但 Spatial 低于 π0 的 96.8%;“平均领先”不能写成“所有单项都领先”。

RoboTwin 的优势集中在 Click Alarmclock:easy/hard 为 77%/58%,π0 为 63%/11%。其他任务仍有明显失败,例如 Place Can Basket 的 hard 仅为 1%,低于 π0 的 5%。这支持模型在选定双臂任务上的有效性,同时表明困难场景远未被全面解决。

注意: Meta-World、LIBERO 的基线来自原论文或已有复现,RoboTwin 基线来自官方论文,并非本研究统一重训全部方法。表 1 将 SmolVLA 标为 2.25B,而真实效率表 2 标为 0.45B;原文没有充分解释该差异,不能把两处当成同一规模配置直接比较。

真实系统:两路 RGB,绝对关节角监督​

Evo-1:5.2 真实系统:两路 RGB,绝对关节角监督�(配图 10)

项目原论文设置
机器人6 自由度 xArm6 单臂,配平行夹爪,通过官方 xArmAPI 控制
视觉输入两路 RGB:固定环境相机、腕部相机;不将设备的深度能力当成本文输入
数据记录LeRobot v2.1 格式,同步观测记录频率为 30 Hz
状态与动作使用绝对关节角记录,保持监督与回放接口一致;补齐后的模型接口为 24 维
示范与评估四个任务各 100 条遥操作示范,共 400 条;每任务 20 次评估,共 80 次

来源:第 6 页、第 14–15 页。论文没有明确报告原始相机分辨率、各示范时长,以及夹爪数值在状态与动作中的完整字段映射;448 × 448 是模型输入尺寸。

真实效果与推理效率​

Evo-1:5.3 真实效果与推理效率(配图 05)

任务论文成功标准Evo-1 成功率
抓取并放置饮料罐完全进入白盒并稳定停留,不滚出95%
从杯中倒出泡沫大部分泡沫进入白盒,盒内可见积累,外部洒落很少70%
把饮料罐交到人手中稳妥放到手中,人无需追赶或调整来接住95%
叠放饮料罐上方饮料罐至少稳定 2 秒,不滑落或倾倒50%

来源:图 4 与第 15 页成功标准。Evo-1 四项平均为 77.5%,论文以 78% 报告;不是每个任务都有 78% 成功率。叠罐仍是明显弱项。

原文表 2:指定 RTX 4090d GPU 上的比较。

模型参数量平均推理显存平均推理频率真实任务平均成功率
SmolVLA0.45B2.0 GB12.7 Hz50.0%
OpenVLA7.0B15.1 GB7.9 Hz55.0%
π03.5B17.9 GB11.5 Hz73.0%
Evo-10.77B2.3 GB16.4 Hz78.0%

来源:第 7 页表 2。图 4 与结果正文将对应基线称为 OpenVLA-OFT,表 2 写作 OpenVLA;本文保留各处名称,不自行认定其全部实现配置相同。

Evo-1 在这组测量中推理最快、平均成功率最高,但显存略高于 SmolVLA。2.3 GB 是推理平均显存,不是训练显存,也不代表模型在任何 2.3 GB 显存设备上都能按该频率运行。

注意: 30 Hz 是示范记录频率,16.4 Hz 是 GPU 推理频率,50 是动作预测步数,三者分别描述不同环节。论文没有完整给出感知、通信、执行的端到端时延,不能直接将 16.4 Hz 写成机械臂最终控制频率。

泛化:在一个任务上改变干扰与位置​

Evo-1:5.4 泛化:在一个任务上改变干��扰与位置(配图 07)

泛化实验以“抓罐放入白盒”为基准,每种扰动条件评估 20 次。以下变化均被作者定义为超出训练分布。

条件SmolVLAEvo-1
基础场景75%95%
添加未见瓶子65%80%
添加黄色桌布60%75%
目标向后移动 10/20/30 mm75%/60%/60%95%/85%/80%
目标升高 10/20/30 mm75%/65%/60%100%/90%/70%

来源:第 7 页表 3。这里的位移与高度单位为毫米。

解释: 结果支持模型对这几类局部变化有一定适应能力,且各条件均高于所比较的 SmolVLA。升高 30 mm 时下降到 70%,说明变化增大仍会影响效果;每条件 20 次试验,单次成功就对应 5 个百分点,不宜将小差异解释为确定的普遍规律。实验没有检验任意新物体、新任务或新机器人上的零样本泛化。

补充材料还展示 LeRobot SO-100 抓取小方块并放入固定容器的执行示例(第 15、19 页)。该部分没有给出同等规模的成功率、示范数量和效率测量,应作为部署展示,不能认定为已量化证明无需适配即可跨机器人迁移。


消融与结论边界:哪些设计有证据支持​

同一条件持续注入是否有帮助​

Evo-1:6.1 同一条件持续注入是否有帮助(配图 09)

原文: A、B、C、D 的成功率分别为 92.3%、89.0%、87.0%、84.0%。A 比 B 高 3.3 个百分点,因此论文最终使用 A。

解释: 结果支持“各层读取相同中间层图文特征与状态”这一选择。作者将优势归因于条件信息传播更连续;实验比较的是四套具体设计,没有独立隔离每一个因素,所以不能推出“自注意力普遍有害”或“多层特征融合一定较差”。

两阶段训练是否有帮助​

Evo-1:6.2 两阶段训练是否有帮助(配图 08)

Evo-1:6.2 两阶段训练是否有帮助(配图 01)

原文: 两阶段训练在四个难度组均高于单阶段;总体为 80.6% 对 71.4%,提升 9.2 个百分点。单阶段直接联合训练全部模块,两阶段先冻结骨干、再联合微调。

解释: 成功率对照支持训练顺序有效,注意力图则提示两阶段更容易保留清晰的图文关注区域。论文图 2 另外比较 Evo-1 与 OpenVLA 的注意力,但二者骨干与参数规模不同,不能单独用它来确定两阶段训练的因果作用;同架构训练路线对照更直接。

注意: 本文没有通用视觉问答、文本理解或语义遗忘的完整量化测评。“保持语义”有局部可视化和任务效果支撑,不能扩大为已经证明全部预训练知识都被保留。

读完应带走什么​

Evo-1 的贡献是将三个选择结合起来:紧凑且裁剪过的原生多模态骨干、稳定的交叉注意力条件、先对齐后微调的训练顺序。在论文的仿真与真实操作任务中,这个组合以 0.77B 参数取得较强表现;动作专家采用流匹配,仍需要目标任务示范训练。

结论应停留在证据范围内:RoboTwin 只是四任务子集,真实任务叠罐成功率为 50%,泛化只测试一个任务的几类变化;效率测量依赖 RTX 4090d,训练使用 8 张 A100。本文说明“小型 VLA 值得通过架构和训练设计挖掘”,尚未证明小模型全面替代大模型,也未给出任意机器人上的直接部署方案。

Loading Comments...