CogACT
微软开源 VLA 模型,通过认知-动作解耦架构,让机器人推理速度比 OpenVLA 快 40%
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
微软开源 VLA 模型,通过认知-动作解耦架构,让机器人推理速度比 OpenVLA 快 40%
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象你让一个机器人去「把海绵放到苹果旁边」——对人类来说,这是一个简单的指令,但机器人需要同时完成两件事:一是「认知」,理解眼前的场景:海绵在哪、苹果在哪、路径怎么走;二是「动作」,精确控制末端执行器的位姿(7个自由度:XYZ坐标 + 翻滚角 + 俯仰角 + 偏航角 + 夹爪开合)。
传统 Vision-Language-Action(VLA)模型通常的做法是:把 VLM(视觉-语言模型)直接改造,让它像预测文本 token 一样预测动作 token。这就好比让一个短跑运动员既要思考战术,又要同时控制每一块肌肉——认知和动作混在一起,互相干扰,效率低下。尤其当需要预测长序列动作时(如16步连续操作),这种「边想边做」的范式推理速度慢、动作质量不稳定。
CogACT(来自 Microsoft 的研究团队)提出了一种全新的 VLA 架构范式,将「认知」和「动作」两个环节彻底解耦。具体来说:
认知层(Perception):使用业界成熟的 Prismatic VLM(如 DINOv2 + SigLIP 视觉编码器 + Llama 语言模型),对输入的 RGB 图像和语言指令进行深度理解,提取场景特征。
动作层(Action):用一个独立的 Diffusion Transformer(DiT)模块,在 VLM 提供的认知特征基础上,逐步去噪生成一整段 16 步、每步 7-DoF 的机器人动作序列。这相当于先用 VLM「想清楚」整体策略,再由 DiT 统一「执行」一套完整的动作规划。
这种设计的精妙之处在于:传统 OpenVLA 风格的模型需要为每个动作维度(7个)生成一个独立的 token,16步动作就需要 16×7=112 个 token;而 CogACT 只需要一个「认知 token」,就能生成整个动作序列的开销。
项目在 HuggingFace 上发布了三个规模的 CogACT 模型:
用户可以非常方便地通过 HuggingFace Hub 一键加载模型权重,推理代码仅需数十行即可完成。
根据项目主页提供的 benchmark 数据(单卡 A6000 GPU、bfloat16 推理、100次重复调用取平均):
| 指标 | CogACT-Base | OpenVLA |
|---|---|---|
| 单次推理耗时 | 181ms | 307ms |
| 单次输出动作数 | 16步 | 1步 |
| 有效动作频率 | ~5.5Hz | ~3.3Hz |
CogACT 的推理速度比 OpenVLA 快约 40%,同时每次推理输出16个连续动作而非1个,使得实际有效动作频率达到 OpenVLA 的 5.5 倍。这对于需要高频率控制的机器人实时操作场景意义重大。
此外,CogACT 还提供了 Adaptive Action Ensemble(自适应动作集成)策略,通过时间窗口内多帧预测的加权融合,进一步提升动作的平滑性和鲁棒性。
对于需要在自己的机器人数据上微调的用户,CogACT 提供了完整的微调方案:
项目提供了与 SimplerEnv 仿真环境深度集成的评测脚本,覆盖 6 种典型机器人操作任务(抽屉开关、物品抓取、视觉匹配等),用户可以在无需真实机器人的情况下验证模型效果。
对于真实机器人部署,项目提供了完整的推理服务方案:
scripts/deploy.py 基于 Flask 框架构建,暴露 HTTP API 端点multipart/form-data 上传图片和任务描述,返回 7-DoF 动作指令尽管 CogACT 在多个维度展现了技术优势,但作为一款学术研究项目,它也存在一些客观局限:
CogACT 的认知-动作解耦设计代表了 2024 年 VLA 领域的一个重要趋势:不再追求用单一模型「一刀切」处理所有感知-决策-控制环节,而是通过模块化设计让各环节各司其职。这种范式与人类大脑的「快系统/慢系统」双过程理论有异曲同工之处——快速直觉式认知(System 1)与慢速深思熟虑的动作规划(System 2)分别由不同模块处理,再协调输出。
从增长曲线看,自 2024 年 11 月发布以来,项目在 6 个月内获得了 428 stars,反映出学术界和产业界对高效 VLA 架构的强烈需求。同期 OpenVLA、RVT-2、π0 等同类型项目也呈现快速迭代态势,共同推动具身智能从实验室走向实际应用。
| 层级 | 技术选型 |
|---|---|
| 视觉编码器 | DINOv2 + SigLIP(via Prismatic VLMs) |
| 语言模型 | Llama 系列(via Prismatic VLMs) |
| 动作生成 | Diffusion Transformer(DiT-S/B/L) |
| 训练框架 | PyTorch FSDP + Flash Attention 2 |
| 推理服务 | Flask + Torch |
| 数据格式 | RLDS(Open X-Embodiment 标准) |
| 仿真环境 | SimplerEnv |
| 模型托管 | HuggingFace Hub |