ChatGPT问世以来,大语言模型(LLM)实现了跳跃式发展,基于自然语言进行人机交互的AI范式得到广泛运用。然而,人类与世界的交互中不仅有文本,其他诸如图片、深度等模态也同样重要。然而,目前的多模态大语言模型(MLLM)研究大多数闭源,对高校和大多数研究机构的同学们并不友好。而且,大语言模型受限于训练知识,往往缺乏时事认知、复杂推理能力,这就如同只能快速问答,没有“深度思考”能力。AI Agent(人工智能代理)则是解决这一问题的关键,它赋予LLM深度思考、复杂决策的能力,使LLM向自主性、反应性、积极性和社交能力特征的智能实体发展。我们相信,AI Agent领域将会诞生更多改变生活工作方式的成果,是大语言模型及多模态大模型的重要进化方向。
来自北航、复旦大学、悉尼大学、香港中文大学(深圳)等高校与上海人工智能实验室的学者共同推出多模态语言模型最早的开源社区之一 ——LAMM(Language-Assisted Multi-modal Model)。我们旨在将 LAMM 建设成一个不断发展的社区生态,支持 MLLM 训练和评测、MLLM 驱动的 Agent 等方向的研究。作为多模态大语言模型领域最早的开源项目之一,LAMM 的目标是建立一个开放的研究社区生态,让每个研究和开发人员都可以基于此开展研究,共同建设开源社区。
- 项目主页:https://openlamm.github.io
- 代码地址:https://www.github.com/OpenGVLab/LAMM
在这里,你可以 :
- 以最小的计算资源成本训练和评估 MLLM,仅需 3090 或 V100,轻松开始 MLLM 的训练和评测。
- 构建基于 MLLM 的具身智能 Agent,能够使用机器人或游戏模拟器定义任务并生成数据。
- 在几乎任何专业领域扩展 MLLM 应用。
开源框架
LAMM 代码库实现了统一的数据集格式、组件式模型设计、一键式分布式训练,方便用户启动和实现自己专属的多模态语言模型。
- 使用标准数据集格式兼容不同指令微调数据集。LAMM 定义了标准化多模态指令微调数据格式,可以多模态指令微调常用的 LLaVA、LAMM、ShareGPT4V 等数据集可以直接无缝适配,一键启动。
- 组件式搭建模型流程,方便地更新和修改模型架构。LAMM 中模型以视觉编码器(Vision Encoder)、特征映射器(Feature Projector)、语言模型(LLM)为主要组件。目前 LAMM 已经支持 Image、Point Cloud 等模态编码器和 LLaMA/LLaMA2 等预训练语言模型,用户可以自由选择适合需求的模块搭建 pipeline,实现自己专属的 MLLM。
- 以最小计算资源训练和评测 MLLM。LAMM Repo 集成了 Deepspeed、LightLLM、flash attention 等加速框架,将训练成本大幅优化。目前已经支持在 4 张 RTX3090 或更新设备上微调 7B 的语言模型。同时 LAMM 也在不断跟进新的大语言模型和优化框架,以推动多模态领域的发展。
- 基于 MLLM 构建具身智能 AI Agent。使用机器人或模拟器定义目标任务并生成相应指令数据后,LAMM 支持的 MLLM 可以作为强大的 AI Agent 进行决策和分析。
更多详情请参考项目主页。
多模态大语言模型训练与评测
近期大量工作展现了多模态大模型 (MLLM) 在视觉内容理解和交互上的能力,并且体现出了解决更为复杂的下游任务应用的能力。除了常见的图片输入,LAMM 目前还支持点云等视觉模态输入,用户也可以根据自己的需求加入新的编码器。同时,LAMM 支持 PEFT 包进行高效微调,也引入了 flash attention、xformer 等工具进一步优化模型计算成本,使得用户能够用尽可能低的成本训练 MLLM。面对复杂的多任务学习,LAMM 也支持 MoE 等策略统一多组微调参数,进一步提高模型多任务能力,实现更全能的 MLLM。
然而,由于缺乏一个标准化的全面评估框架,这些模型的能力和局限性尚未被全面探索,我们仍然无法确认这些模型的能力究竟如何,他们究竟能做什么事情。现有的基准测试工作主要集中于为多模态大模型构建多模态评估数据集,或仅评估了一部分的视觉能力维度,或尝试建立了一个评测框架但缺乏可扩展性和全面性,对各个模型的全面评估和不同模型间进行公平可靠的对比仍然具有挑战性。LAMM 实现了一种具有高度可扩展性和灵活性的评测框架,旨在为多模态大模型提供一种可靠的、全面的评估。
详情可参考 https://openlamm.github.io/paper_list/ChEF
一键式组合式多模态语言模型评测框架
基于 LAMM 框架的多模态模型能力部分展示如下:
基于 2D 图像内容的问答:
基于 3D 点云的视觉问答:
多模态大语言模型驱动的具身 Agent
近期大量工作借助大语言模型 (LLM) 的强大推理规划能力来构建 Agent,例如 Minecraft 中的 Voyager 和 GITM 都借助 LLM 和文本记忆来规划智能体的行动,但是这些工作都假定智能体可以在规划决策的时候获取所有正确的环境感知信息,直接跳过感知阶段,忽视了实时的第一人称视角图片对具身智能体规划自身行动的影响,这在现实生活中也是不可能存在的。
为了让具身智能体在开放世界复杂环境中更好地感知环境,我们提出了以MLLM驱动的具身智能体MP5,其特点在于具备视觉感知和主动感知能力。视觉感知模块(模型主要架构为LAMM)允许MP5解决以前从未见过的任务,主动感知可以主动获取环境信息,以执行合适动作。最终 MP5 具有开放感知能力,并能根据不同的目的提供量身定制的感知结果,可以完成长时序及复杂环境信息任务。
下面是 MP5 在 Minecraft 这一开放世界中完成「在晴天且光线充足的情况下,找到一头在平原且靠近水附近有草的猪」这一需要复杂环境信息的任务的演示过程。
总结
基于 MLLM 的强大能力和广阔应用前景,多模态学习来到了一个全新的阶段。LAMM 旨在建设一个助力多模态大模型研究的开源社区,并向社区开源了包括数据准备、模型训练、性能评测所有相关数据。
作为最早一批投入多模态语言模型研究的团队,我们希望不断发展 LAMM 工具箱,为 LAMM 开源生态提供轻量易用的多模态研究框架,和开源力量合作,助力更多有意义的研究。
以上内容均会在 LAMM 主页持续开源,请大家关注我们的主页和项目,也欢迎为 LAMM 代码库多多提交反馈和 PR。