ImageBind-LLM: Multi-modality Instruction Tuning

发表时间:11 Sep 2023

论文链接:https://arxiv.org/pdf/2309.03905

作者单位: Shanghai Artificial Intelligence Laboratory

Motivation : 现有的工作主要集中在语言和图像 指令 调优上。

解决方法 :与之不同的是,我们的 ImageBind-LLM 可以通过仅图像-文本对齐训练响应多模态条件,包括音频、3D 点云 、视频及其嵌入空间算术 。

ImageBind-LLM展示了四个关键特点:

  1. 支持多种模式的指令,包括图片、文本、音频、3D点云和视频。

  2. 实现了高效的调优方法,包括图像编码器冻结和参数高效方法的使用。

  3. 使用可学习的门控方法进行渐进性知识注入,更为高效。

  4. 提供了来自图像特征的视觉缓存模型,用于增强嵌入以解决训练和推理之间的模态差异。

实现方式 :

视觉Encoder换成了ImageBind里面的Encoder,而不是CLIP里面的Encoder,因此可以支持更多模态的信息理解。

在训练期间,我们采用可学习的bind network来对齐 LLAMA 和 ImageBind 图像 编码器 之间的嵌入空间 。然后,将bind network转换的图像特征添加到 LLAMA 中所有层的单词标记中,该标记通过无注意和零初始化的门控机制(与LLAMA-Adapter类似,但是这里不是concat,而是求和)逐步注入视觉 指令。在ImageBind的联合嵌入的帮助下,简单的图像-文本训练使我们的模型能够表现出优越的多模态指令跟随能力。

模型的训练包含两个阶段,预训练阶段和多模态指令微调阶段(多模态大模型基本都是这么做,除了MoE-LLaVA是三阶段)。

预训练阶段包括两个步骤,第一个步骤用image-caption对形式的数据,第二个步骤用 指令 更随形式的数据。

在多模态 指令 微调阶段,用 LoRA 和bias-norm tuning 方法对 LLM 进行微调,首先是每一层transformer layer的线性层用rank 为16的LoRA做微调,同时线性层的归一化参数也会进行更新,也会和LLaMA-Adapter V2一样,加上可学习的偏置项。模型的其他部分的参数固定不变。

在推理过程中,多模态输入被馈送到相应的 ImageBind 编码器,并由所提出的视觉缓存模型处理以进行进一步的跨模态嵌入增强。无训练缓存模型从 ImageBind 提取的 300 万个图像特征中检索,这有效地减轻了训练推理模态差异。

由于训练的时候只有图像-文本的指令微调数据,没有在包含其他模态的指令微调数据上进行微调,对应的推理和训练是存在gap的,为了更好地对其他模态的信息进行推理理解,本文提到了一种缓存增强的推理方式,即Cache-enhanced Inference。

左边是得到cache Model的方式,右边是如何使用cache Model。

实验 **:**我们在开源图像-文本对数据、仅语言和视觉指令数据的集合上训练 ImageBind-LLM。 对于缓存增强推理,我们使用 FAISS 库 来构建我们的检索系统,Autofaiss 库 2 为索引找到最佳超参数。

结论 : 我们通过可学习的绑定网络简单地将 ImageBind 的视觉编码器与 LLM 对齐来实现这一点。由于 ImageBind 的结合特性,我们可以直接将多模态输入输入到 ImageBind-LLM 中进行推理,无需任何训练。 我们还提出了一种无训练的图像缓存模型(cache Model)来缓解训练和推理之间的模态差异。 未来,我们计划通过增加多模态标记的数量来增强 ImageBind-LLM。此外,将更多模式集成到 ImageBind-LLM 中也是增强其多模态容量的一种有前途的方法。

相关推荐
特立独行的猫A15 小时前
用仓颉语言 cj-tauri 框架,五分钟给娃做了个鸿蒙形近字游戏
java·后端·python
大可不必了20 小时前
03 函数定义和调用
开发语言·python
承渊政道21 小时前
【Python编程—从入门到实践】(记分与闯关:用Python+Pygame,打造越战越精彩的太空大战!)
开发语言·python·pycharm·游戏程序·pygame
爱学习的程序媛21 小时前
Python常用框架梳理
开发语言·后端·python·ai·web·后端框架·python框架
imgsq21 小时前
GESP Python 一到四级:备考路线与真题特点
python·青少年编程
eggwyw1 天前
Anaconda安装卸载的详细流程指南
开发语言·python
2601_967979121 天前
纯手写:Python安装pip完整教程,搞了几小时,终于成功
python·教程·pip·安装·包管理
Norna1 天前
缓存文件从没写出来:一个 .json 被当成目录用了
python
aifannihao1 天前
AI 学习第 14 课:CNN 训 6 轮卡在 0.5352,数据没打乱
pytorch·python·深度学习·cnn·学习路线
yuyuxun11 天前
协同过滤的校园二手物品智能推荐系统的设计与实现 毕业设计-附源码40082
javascript·vue.js·spring boot·python·数据分析·django·课程设计