VIMA
VIMA 是一个面向通用机器人操作的开源 AI 模型,源自 ICML 2023 的研究论文。它通过“多模态提示”(即结合文字指令与图像示例)来统一表达各种机器人任务,让同一个模型能灵活应对不同操作需求,而无需为每个任务单独训练专用模型。传统机器人系统通常依赖任务特定的模型,VIMA 则借鉴自然语言处理中的提示学习思想,构建了一个基于 Transformer 的编码器-解码器架构:输入由文本和视觉对象组成的序列,输出则是机器人在每一步应执行的动作。其独特之处在于采用以物体为中心的表示方式——利用现成的目标检测器将图像解析为对象序列,而非直接处理原始像素,从而提升泛化能力和数据效率。VIMA 提供了从 2M 到 200M 参数规模的多种预训练模型,适合机器人学习领域的研究人员和开发者使用,尤其适用于探索多任务、少样本或跨任务迁移的机器人控制场景。项目代码简洁易用,支持快速部署与评估。
使用场景
某智能仓储实验室正在开发一套通用机械臂系统,用于执行多样化的分拣、装配和包装任务,但面临任务泛化能力差的问题。
没有 VIMA 时
- 每新增一种操作任务(如“将红色积木放入蓝色盒子”),都需要重新收集数据、训练专用模型,开发周期长达数周。
- 不同任务依赖不同的输入接口:有的靠自然语言指令,有的需预设视觉模板,系统集成复杂且难以统一维护。
- 对未见过的物体组合或场景布局,模型泛化能力弱,容易失败,需大量人工干预调试。
- 团队必须为每类任务单独标注动作轨迹和状态映射,数据标注成本高、复用率低。
使用 VIMA 后
- 仅通过多模态提示(如文字指令+示例图像)即可让同一模型执行新任务,无需重新训练,任务部署时间缩短至几分钟。
- 所有任务统一通过文本与视觉令牌序列输入,接口标准化,大幅简化系统架构和后续扩展。
- 借助预训练的跨模态理解能力,VIMA 能在少量示例下泛化到新物体和新布局,成功率显著提升。
- 利用公开的 VIMA-Bench 和预训练模型,团队直接复用高质量训练数据与策略,节省了90%以上的数据标注工作。
VIMA 将机器人操作从“一任务一模型”的定制模式,转变为“一模型多任务”的提示驱动范式,极大提升了开发效率与系统灵活性。
运行环境要求
- Linux
未说明
未说明

快速开始
VIMA:基于多模态提示的通用机器人操作
ICML 2023
基于提示(prompt-based)的学习已在自然语言处理(NLP)中成为一种成功的范式,其中单一的通用语言模型可通过输入提示来执行任意指定任务。然而,不同的机器人任务目前仍由专用模型分别处理。本工作表明,我们可以使用多模态提示(multimodal prompts)——即文本与视觉 token 的交错序列——来表达广泛范围的机器人操作任务。
我们提出了 VIMA(VisuoMotor Attention agent),这是一种新颖的、可扩展的多任务机器人学习器,通过多模态提示实现了统一的序列输入输出(IO)接口。其架构遵循在 NLP 中已被证明有效且可扩展的编码器-解码器 Transformer 设计。VIMA 使用一个预训练的语言模型对交错的文本和视觉提示 token 序列进行编码,并在每个环境交互步骤中以自回归方式解码机器人控制动作。Transformer 解码器通过交叉注意力(cross-attention)层接收提示信息,这些层与常规的因果自注意力(causal self-attention)层交替堆叠。不同于直接处理原始像素,VIMA 采用以物体为中心(object-centric)的方法:我们使用现成的检测器将提示或观测中的所有图像解析为物体,并将其展平为物体 token 序列。上述设计共同构成了一个概念简洁、兼具强大模型与数据扩展能力的架构。
在本仓库中,我们提供了 VIMA 模型代码、覆盖多种模型规模的预训练检查点,以及演示和评估脚本。本代码库采用 MIT 许可证。
安装
VIMA 要求 Python ≥ 3.9。我们已在 Ubuntu 20.04 上完成测试。安装 VIMA 代码库非常简单:
pip install git+https://github.com/vimalabs/VIMA
预训练模型
我们在 Hugging Face 上托管了覆盖多种模型容量的预训练模型。下载链接如下所示。Mask R-CNN 模型可在此处获取:链接。
| 200M | 92M | 43M | 20M | 9M | 4M | 2M |
|---|
基线方法实现
由于此前尚无方法能直接适用于我们的多模态提示设置,我们尽力选取了若干具有代表性的基于 Transformer 的智能体架构作为基线,并对其重新解释以兼容 VIMA-Bench。这些基线包括 VIMA-Gato、VIMA-Flamingo 和 VIMA-GPT。其实现代码位于 policy 文件夹中。
演示
要运行实时演示,请首先按照 VIMA-Bench 安装说明 安装 VIMA-Bench。随后可通过以下命令运行演示:
python3 scripts/example.py --ckpt={ckpt_path} --device={device} --partition={eval_level} --task={task}
其中 eval_level 表示四种评估级别之一,可选值包括 placement_generalization(位置泛化)、combinatorial_generalization(组合泛化)、novel_object_generalization(新物体泛化)和 novel_task_generalization(新任务泛化)。task 表示具体的任务模板。更多细节请参考 任务套件 和 基准评估。例如:
python3 scripts/example.py --ckpt=200M.ckpt --partition=placement_generalization --task=follow_order
运行上述命令后,应会弹出一个 PyBullet GUI 窗口,同时显示一个小窗口展示多模态提示。随后机械臂将开始移动以完成对应任务。请注意,由于 PyBullet GUI 需要图形显示,此演示在无头(headless)机器上可能无法运行。
论文与引用
我们的论文已发布于 arXiv。如果您觉得本工作对您有帮助,请考虑引用我们!
@inproceedings{jiang2023vima,
title = {VIMA: General Robot Manipulation with Multimodal Prompts},
author = {Yunfan Jiang and Agrim Gupta and Zichen Zhang and Guanzhi Wang and Yongqiang Dou and Yanjun Chen and Li Fei-Fei and Anima Anandkumar and Yuke Zhu and Linxi Fan},
booktitle = {Fortieth International Conference on Machine Learning},
year = {2023}
}
常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
PaddleOCR
PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。