【Evo-1】仅0.77B参数、2.3GB显存占用!CVPR2026轻量VLA Evo-1完整拆解
仅0.77B参数、2.3GB显存占用!CVPR2026轻量VLA Evo-1完整拆解
论文信息
标题:Evo-1: Lightweight Vision-Language-Action Model with Preserved Semantic Alignment
会议:CVPR 2026
单位:上海交通大学人工智能学院、EvoMind Tech、南洋理工等
代码:https://github.com/MINT-SJTU/Evo-1
论文:https://arxiv.org/pdf/2602.07244
一、引言:大VLA的“算力内卷”痛点
现在主流具身VLA(OpenVLA、π0、GR00T)动辄3B~7B参数,推理显存占用15GB起步,RTX4090都跑不流畅,更别说Jetson、工业边缘小显卡。而且绝大多数模型采用端到端一次性微调,把预训练VLM的视觉语义表征“训废掉”,遇到新物体、新背景泛化直接崩盘;同时训练必须依赖百万级机器人演示数据集,采集成本极高。
举个生活化案例:你用7B OpenV跑桌面抓取,换个黄色桌布、加个陌生遮挡物,成功率直接腰斩;而Evo-1只用0.77B小参数量,还能守住VLM原生语义,仿真+真机双场景SOTA,普通游戏卡就能完整训练推理。
现有VLA四大硬伤
- 参数量爆炸:3B+大模型推理10Hz都达不到,工业机械实时控制(15Hz+)完全不达标;
- 语义退化 端到端微调破坏预训练图文对齐,注意力漂移,分不清任务关键物体;
- 数据门槛高 依赖OXE、DROID海量机器人数据集,普通实验室无财力采集;
- 泛化薄弱 光照、物体、背景轻微改动,任务成功率暴跌。
Evo-1核心解决思路:轻量化图文主干+跨调制流扩散动作头+两阶段保语义训练,不用大规模机器人预训练,兼顾速度、显存、泛化性能。

图1完整分为三大模块:轻量化InternVL3-1B图文主干、集成对齐模块、跨调制扩散Transformer动作专家;右侧三张柱状图为MetaWorld、LIBERO、RoboTwin仿真基准对比,Evo-1全部超越同类轻量基线。
二、模型完整架构拆解(带公式逐字母解析)
整体前向映射公式:
at=fEvo−1({Iti}i=1N,Lt,st;θ)a_{t}=f_{Evo-1 }\left(\{I_{t}^{i}\}_{i=1}^{N}, L_{t}, s_{t} ; \theta\right)at=fEvo−1({Iti}i=1N,Lt,st;θ)
公式字母通俗+专业双解释
- ata_tat:ttt时刻输出连续动作序列(机械臂7/14维关节控制向量)
- {Iti}i=1N\{I_t^i\}_{i=1}^N{Iti}i=1N:多视角相机RGB观测图像(前视+腕部相机)
- LtL_tLt:自然语言任务指令(如“把易拉罐放进盒子”)
- sts_tst:机器人本体关节 proprioception 状态(关节角度)
- θ\thetaθ:Evo-1全部可学习参数
- fEvo−1f_{Evo-1}fEvo−1:完整Evo-1前向推理网络
通俗解释:输入多张相机图+文字指令+机械臂自身关节数据,模型直接输出下一整段连续控制动作。
2.1 轻量化图文主干 InternVL3-1B
主干拆分为视觉编码器InternViT-300M、语言编码器Qwen2.5-0.5B,总参数仅0.77B。
视觉处理流程:图像统一缩放448×448,Pixel-Unshuffle下采样,视觉token数量直接压缩4倍,大幅降低计算量。
图文融合输出特征公式:
zt=fVLM({Iti}i=1N,Lt)z_{t}=f_{VLM}\left(\{I_{t}^{i}\}_{i=1}^{N}, L_{t}\right)zt=fVLM({Iti}i=1N,Lt)
- ztz_tzt:图文融合全局特征(从VLM第14层提取,论文消融证明中层特征最适配机器人控制)
- fVLMf_{VLM}fVLM:InternVL3-1B图文编码网络

图2(a)是Evo-1训练后的InternVL注意力热力图,精准聚焦棒球手、巴士、小狗主体;图2(b) OpenVLA的Prismatic-7B训练后注意力散乱,出现语义漂移。直观证明两阶段训练能保住预训练语义对齐能力。
2.2 跨调制流匹配扩散Transformer(动作专家)
放弃传统交替自注意力+交叉注意力DiT,全部堆叠交叉注意力层,用流匹配Flow Matching建模连续动作轨迹。
1)带噪动作插值公式
Atτ=τAt+(1−τ)ϵA_{t}^{\tau }=\tau A_{t}+(1-\tau )\epsilonAtτ=τAt+(1−τ)ϵ
字母解析:
- AtA_tAt:真实标准动作序列(Ground Truth)
- ϵ\epsilonϵ:标准高斯随机噪声
- τ∈[0.02,0.98]\tau \in [0.02,0.98]τ∈[0.02,0.98]:插值权重,从Beta分布采样,限制区间防止数值爆炸
- AtτA_t^\tauAtτ:训练时输入的带噪动作样本
通俗解释:把真实动作和噪声按比例混合,作为扩散网络输入,网络学习从噪声还原真实运动轨迹。
2)流匹配损失函数
Lτ(θ)=Ep(At∣zt,st), q(Atτ∣At)[∥vθ(Atτ,zt,st)−u(Atτ∣At)∥2]\mathcal {L}^{\tau }(\theta )=\mathbb {E}_{p(A_{t}|z_{t},s_{t}),\, q(A_{t}^{\tau }| A_{t})}\left[ \| v_{\theta }(A_{t}^{\tau },z_{t},s_{t})-u(A_{t}^{\tau }| A_{t})\| ^{2}\right]Lτ(θ)=Ep(At∣zt,st),q(Atτ∣At)[∥vθ(Atτ,zt,st)−u(Atτ∣At)∥2]
字母解析:
- vθv_\thetavθ:模型预测时序速度场(扩散网络输出)
- uuu:目标真实流方向(从噪声指向真实动作)
- ztz_tzt:图文融合特征、sts_tst:机器人本体状态
- ∥⋅∥2\|\cdot\|^2∥⋅∥2:L2均方误差损失
通俗解释:让模型预测的运动偏移方向,和真实轨迹偏移尽可能一致,学习流畅连续机械运动。
3)推理动作输出
A^t=fAE(zt,st,Atτ)\hat{A}_{t}=f_{AE}\left(z_{t}, s_{t}, A_{t}^{\tau}\right)A^t=fAE(zt,st,Atτ)
- A^t\hat{A}_tA^t:模型预测未来H步动作chunk(一次性输出多帧连续动作,减少推理频次)
- fAEf_{AE}fAE:Cross-Attention扩散动作专家网络
2.3 集成对齐模块(论文最优Module A)
提取VLM第14层中层特征ztz_tzt,直接和机器人状态sts_tst拼接,整体作为扩散Transformer的KV上下文,不做维度投影压缩,完整保留视觉+本体信息。
消融证明:穿插自注意力、分层注入特征都会打断图文-动作信息流,只有纯多层交叉注意力架构效果最优。

图6(a)为论文最终采用Module A,仅用连续交叉注意力层,无自注意力插入;B/C/D为对比变体,LIBERO-Long任务成功率均低于A。
三、核心创新:两阶段保语义训练范式

绝大多数VLA直接端到端全量微调VLM,反向传播动作损失会污染图文预训练表征,出现注意力漂移(图7左)。Evo-1分两段训练,隔离噪声梯度,守住语义对齐。
阶段1:冻结VLM,只训练集成模块+动作专家
主干InternVL3全程锁权重,仅随机初始化的扩散头、对齐模块参与更新。先建立高层视觉语义与底层动作的粗对齐,避免动作梯度破坏VLM原生图文理解能力。
阶段2:解冻全部模块,全量联合微调
动作分支收敛后放开VLM权重,小幅微调实现精细跨模态匹配,此时VLM底层语义表征已经稳定,不会发生漂移。
(a)单阶段训练:注意力分散,无关区域出现高亮;(b)本文两阶段训练:精准聚焦任务交互物体,语义完整性保留。
消融柱状图佐证:
图8(b)可见全部4个难度等级任务,两阶段训练成功率全面高于单阶段端到端微调。
四、全维度实验结果(仿真+真机+泛化+效率)
4.1 三大仿真基准定量表(原文Table1)
| 模型 | 参数量 | 是否机器人预训练 | MetaWorld平均 | LIBERO平均 | RoboTwin双臂平均 |
|---|---|---|---|---|---|
| Diffusion Policy | - | 否 | 10.5% | - | 18.4% |
| π0 | 3.5B | 是 | 47.9% | 94.2% | 30.9% |
| SmolVLA | 2.25B | 是 | 68.2% | 88.8% | 25.8% |
| TinyVLA | 1.3B | 否 | 47.9% | - | - |
| Evo-1(Ours) | 0.77B | 否 | 80.6% | 94.8% | 37.8% |
| 核心结论: |
- 仅0.77B,不使用任何大规模机器人预训练数据,MetaWorld、RoboTwin达到新SOTA;
- LIBERO长时序任务92.3%成功率,远超多数7B大模型;
- 单/双臂仿真场景全部具备极强泛化能力。
4.2 真机xArm6实验(四类桌面操纵任务)
真机硬件:6轴UFACTORY xArm6平行夹爪,双RGB相机(前视+腕部)
四类真实任务:
- 易拉罐拾取投放;2. 纸杯倾倒泡沫;3. 人手递物;4. 易拉罐堆叠
真机成功率柱状图:
Evo-1四项任务平均78%,高于π0(73%)、OpenVLA(55%)、SmolVLA(50%),轻量模型真机落地可靠性拉满。
4.3 推理效率关键对比(RTX4090实测,原文Table2)
| 模型 | 参数 | 推理显存占用 | 推理帧率Hz | 真机平均成功率 |
|---|---|---|---|---|
| SmolVLA | 0.45B | 2.0GB | 12.7 | 50.0% |
| OpenVLA | 7.0B | 15.1GB | 7.9 | 55.0% |
| π0 | 3.5B | 17.9GB | 11.5 | 73.0% |
| Evo-1 | 0.77B | 2.3GB | 16.4 | 78.0% |
| 行业颠覆性指标: |
- 仅2.3GB显存,Jetson Orin嵌入式设备可直接部署;
- 16.4Hz推理频率,满足机械臂实时控制需求;
- 小参数量下真机效果反超3~7B巨型VLA。
4.4 分布外泛化测试(原文Table3)
测试干扰:新增遮挡物体、背景变色、目标偏移、高度变化
SmolVLA在各类扰动下成功率下跌20%~30%,Evo-1最低仅下跌5%,证明两阶段训练保留的语义表征具备极强域迁移能力。
五、可直接运行核心代码(两阶段训练+推理)
1. 环境安装(官方仓库标准流程)
git clone https://github.com/MINT-SJTU/Evo-1
cd Evo-1
conda create -n evo1 python=3.10
conda activate evo1
pip install -r requirements.txt
MAX_JOBS=64 pip install flash-attn --no-build-isolation
# 下载InternVL3-1B预训练权重
hf download OpenGVLab/InternVL3-1B --local-dir ./pretrain_vlm
2. 两阶段训练核心脚本(Deepspeed多卡)
# ========== Stage1:冻结VLM,仅训练动作专家+集成模块 ==========
accelerate launch --num_processes 1 --deepspeed_config_file ds_config.json \
scripts/train_stage1.py \
--vlm_path ./pretrain_vlm \
--dataset_config ./config/libero.yaml \
--batch_size 16 \
--lr 1e-5 \
--max_steps 5000 \
--save_dir ./output/stage1_ckpt \
--freeze_vlm True
# ========== Stage2:全模型微调(解冻VLM) ==========
accelerate launch --num_processes 1 --deepspeed_config_file ds_config.json \
scripts/train_stage2.py \
--resume_path ./output/stage1_ckpt/step_5000 \
--freeze_vlm False \
--max_steps 80000 \
--save_dir ./output/stage2_final
3. 真机xArm6推理客户端核心片段
import torch
import json
import asyncio
import websockets
from PIL import Image
# 加载训练好的Evo-1模型
device = "cuda"
model = torch.load("./output/stage2_final/best.pth", map_location=device)
model.eval()
async def robot_infer_client():
async with websockets.connect("ws://127.0.0.1:5000") as websocket:
# 采集相机图、机械臂状态、任务指令
obs = {
"image": [img_front.tolist(), img_wrist.tolist()],
"image_mask": [1, 1],
"state": arm_joint_qpos.tolist(),
"prompt": "Pick the can and put it into the box"
}
await websocket.send(json.dumps(obs))
recv_data = await websocket.recv()
action_chunk = torch.tensor(json.loads(recv_data))
# 下发连续动作到xArm6机械臂
arm.send_action(action_chunk.cpu().numpy())
asyncio.run(robot_infer_client())
4. 流匹配损失核心实现(论文公式复现)
import torch
import torch.nn as nn
def flow_matching_loss(pred_v, target_u, action_gt, eps=1e-6):
"""
复现论文公式(4)流匹配L2损失
pred_v: 模型预测速度场 [B, H, action_dim]
target_u: 真实流方向 [B, H, action_dim]
"""
loss = torch.mean(torch.square(pred_v - target_u))
return loss
def get_noisy_action(action_gt, beta_dist):
"""公式(3) 生成带噪动作A_t^τ"""
bsz = action_gt.shape[0]
tau = beta_dist.sample((bsz,)).clamp(0.02, 0.98)
tau = tau.view(bsz, 1, 1)
noise = torch.randn_like(action_gt)
A_tau = tau * action_gt + (1 - tau) * noise
# 真实流方向 u = action_gt - noise
target_u = action_gt - noise
return A_tau, target_u
六、Evo-1作为Baseline适配场景分析
✅ 极度适合作为核心基线
- 轻量化边缘VLA赛道:0.77B、2.3GB显存,Jetson工业部署方向首选对标模型;
- 无大规模机器人数据课题:不需要OXE/DROID预训练,仅少量真机演示即可训练;
- 语义对齐/抗域泛化方向:两阶段训练是独有的保语义范式,对比单阶段微调基线;
- LIBERO/MetaWorld/RoboTwin仿真桌面单/双臂通用,全部开源完整脚本与权重。
⚠️ 仅适合辅助基线
- 长时序动作CoT、3D世界模型赛道(TraceGen、ACoT-VLA):Evo-1无显式思维链、无3D轨迹建模,仅能作为下游轻量化执行策略对比;
- 人形、户外移动机器人:论文仅桌面小型机械臂验证,无人形/大场景实验;
- 百万级多模态预训练大VLA方向:参数量差距过大,对比说服力弱。
基线搭配推荐(你的3D轨迹VLA课题)
主基线:TraceGen / ACoT-VLA(规划推理主线)
辅助基线:Evo-1(轻量化下游执行策略,对比推理速度、显存开销)
七、总结
Evo-1解决了传统VLA“大参高显存、微调破坏语义、依赖海量机器人数据”三大痛点,0.77B超轻量架构搭配两阶段保语义训练,在仿真、真机双场景实现SOTA,同时推理帧率16.4Hz适配边缘嵌入式设备。
对于预算有限、仅有RTX4080/4090、低成本xArm6/SO100机械臂的科研人员,是复现成本极低、实验指标全面的标杆轻量VLA,非常适合作为消融对比基线。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)