
论文链接:https://arxiv.org/abs/2307.08581
开源代码:https://bubo-gpt.github.io/
引言
LLM 在通过语言与人类进行交互方面表现出卓越的能力,尤其是在使用遵循指令的数据时。 LLM 的最新进展,例如 MiniGPT-4, LLaVA 和 X-LLM,通过融合图像、视频和语音等多模态输入进一步扩大了它们的能力。尽管这些LLM 在生成给定模态信号的精确详细的语言理解方面表现出有效性,但它们放弃了对输入的特定部分进行定位的能力,因此只构建了粗粒度的映射。然而,文本与其他模态之间的明确和有信息对应关系不仅可以改善用户体验,还可以帮助扩展多模态 LLM 的应用场景。
因此,本文提出了 BuboGPT ,这是一个带有视觉定位的多模态 LLM,可以在视觉、音频和语言之间进行跨模态交互,提供对视觉对象和其他给定模态的细粒度理解。BuboGPT的贡献有两个方面:
1)一个基于 SAM 的即插即用的视觉定位模块,用于提取句子中的实体并找到图像中相应的掩码。
2)一个两阶段的训练方案和指令数据集,用于赋予联合文本-图像-音频理解的能力。
实验证明,BuboGPT在与人类进行交互时具有令人印象深刻的多模态理解和视觉定位能力。当提供任意模态组合(无论是对齐还是不对齐)时,它的性能始终表现出色。
问题背景
大型语言模型(LLMs)通过在精心策划的数据集上进行指导调整(instruct tuning)取得了显著进展,并展示了在少样本和零样本学习方面的有希望的能力。为了利用 LLMs 在语言以外领域的潜力,一些最近的研究成功地将 LLMs 与更多的输入信号(例如图像、视频、语音和音频)相连接,构建了强大的多模态对话机器人。然而,这些模型通常在进行理解时没有深入挖掘视觉对象与其他给定模态之间的细粒度关系。
概述
本文提出了 BuboGPT ,这是将视觉对齐引入 LLMs 的首次尝试,通过将视觉对象与其他模态相关联,实现文本、视觉和音频的联合多模态理解和对话。
为此,首先基于 SAM构建了一个现成的视觉对齐流程,以探索不同视觉对象和模态之间的细粒度关系。该流程由三个模块组成,即标记模块、对齐模块和实体匹配模块。标记模块是一个经过预训练的模态,可以生成与输入图像相关的多个文本标签。基于 SAM 的对齐模块进一步将每个标签在图像上定位到语义掩膜或边界框。然后,实体匹配模块利用 LLMs 的推理能力从标签和图像描述中检索匹配的实体。
通过这种方式,使用语言作为桥梁将视觉对象与其他模态相连接。然后,为了实现任意组合输入的多模态理解能力,采用了类似于 Mini-GPT4 的两阶段训练方案。具体来说,使用 ImageBind 作为音频编码器,BLIP-2 作为视觉编码器,Vicuna作为 LLM。在第一阶段,通过学习一个 Q-former 将视觉或音频特征与图像或音频字幕数据集上的语言进行对齐。在第二阶段,在一个高质量的指令跟随数据集上进行多模态指导调整。观察到构建这个数据集对于 LLMs 识别模态是否提供以及输入模态是否相互匹配非常重要。

图 1: The overall framework of BuboGPT
因此,本文设计了一个新颖的高质量数据集,它由四个子集组成:1)视觉指令数据集;2)音频指令数据集;3)带有正配图像-音频示例的声音定位数据集;4)带有负配对的图像-音频字幕数据集。请注意,通过引入负的图像-音频对进行语义推理,并展示出更强的联合理解能力。
主要贡献
(1)构建了一个多模态的 LLM 模型,名为 BuboGPT ,用于多模态理解,包括图像、音频和文本,通过学习一个共同的语义空间,进一步探索不同视觉对象和不同模态之间的细粒度关系。
(2)构建了一个高质量的多模态指导调整数据集,其中包括细粒度音频描述和跨模态声音定位,并引入了正向和负向图像-音频对以促进跨模态理解。
方法实现
(1)Visual Grounding Pipeline
为了探索不同视觉对象与输入形式之间的关系,本文进一步构建了视觉对齐流程,包括标记模块、对齐模块和实体匹配模块,如图 2所示。具体而言,对于给定的图像,首先使用基于 Swin-transformer 的 Recognize Anything Model (RAM) [12],用于图像标记的强模型,生成相关的候选标记,表示为 {t1, t2, ..., tnt},其中 ti 为第 i 个语义标记,nt 为检测到的标记数量。然后,将这些标记用逗号连接起来形成提示语“t1, t2, ..., tnt”,并使用带有指代文本查询的 Grounding DINO [13],一个开放式目标检测模型,来识别与标记相关的视觉实体和相应的框。接下来,利用 Segment Anything Model (SAM) [11],将这些框作为提示语,获得细粒度的语义掩码。
通 过 标 记 和 对 齐 模 块, 获 得 所 有 的 视 觉 实 体 和 相 应 的 对 齐 信 息, 表 示 为{(e1, g1),(e2, g2), ...,(ene, gne)},其中 ei, gi 分别为第 i 个视觉实体和对齐信息(即框和掩码),ne 为实体数量。为了建模不同视觉实体与输入形式之间的关系,利用多模态LLM 的文本输出 to 作为桥梁,并基于 GPT-4 构建实体匹配模块,以检索匹配对。为了构造提示模板“e1, e2, ..., ene ,to”,利用强大的 LLM 进行推理和匹配对的检索,反映视觉实体与输入形式之间的关系。

图2:视觉定位的流程由标记模块、定位模块和实体匹配模块组成。
(2)Multi-Modal LLM Training
BuboGPT 考虑了三种模态之间的交互,即文本、视觉和音频。它将一个视觉编码器和一个音频编码器与每种模态的 Q-Former 对齐。更具体地说,使用 BLIP-2 [15] 中预训练的Q-Former 以及 ImageBind [14] 中的音频编码器来进行视觉和音频感知。为了对多个模态进行联合理解,使用 Vicuna 作为 LLM。使用线性投影层将模态 Q-Former 与 LLM 相连接。为了有效地训练这样的模型,本文开发了以下两阶段的训练方案。模态编码器和 Vicuna模型将在整个训练过程中保持不变。
阶段 1: 单模态预训练 类似于 MiniGPT-4 [2],第一阶段旨在将线性投影层的输出与 LLM 的词嵌入空间对齐。通过在大量的模态-文本配对数据上训练模态 Q-Former 和线性投影层来实现这一目标。对于视觉感知,只训练图像字幕生成的投影层,而 BLIP2 的 Q-Former 保持不变。对于音频理解,联合训练 Q-Former 和音频字幕生成的投影层。在这两种设置中都不使用提示,模型仅将相应的图像或音频作为输入,并预测相应的字幕。
阶段 2: 多模态指令微调 这一阶段旨在使多模态 LLM 具备理解人类指令的能力,从而能够基于给定的模态信号生成恰当的响应。为此,本文精心策划了一个高质量的多模态指令遵循数据集,其中包含图像-文本、音频-文本和图像-音频-文本对。为了使模型适应任意组合的输入模态,设计了一个通用提示,如下:
###Human:<Vision><ModalityHere></Vision><Audio><ModalityHere></Audio> <instruction>
###Assistant:。<Vision></Vision>和<Audio></Audio>是图像和音频输入的特殊标识符。<ModalityHere>将在进入 LLM 之前被一系列图像或音频标记序列所替代。<instruction>是与输入信号相关的人类指令,供 LLM 协助处理。

表 1: 不同输入来源的指令跟随提示示例
在 表1 中列出了几个不同输入模态组合的示例提示。经验证明,当仅包含正向配对的图像-音频数据时,模型总是假设图像和音频彼此相关,即使在测试时使用随机样本。因此,本文手动创建了一些负面配对,并要求 LLM 分别告知它们是什么。实验证明,引入这种负面配对数据能够显著地解决这个问题。
数据与训练
(1)Pretraining Datasets
根据 MiniGPT-4 的研究,本文使用了一个综合数据集,其中包括 CC3M、CC12M、SBU和 LAION来训练视觉投影层,共计包含 1.3 亿个图像-文本对。对于音频部分,主要使用了 WaveCaps 数据集,该数据集包含 403,050 个音频片段,平均持续时间为 67.59 秒,平均字幕长度为 7.8 个单词。该数据集结合了四个数据集,包括 FreeSound(262,300 个)(Font,2013)、BBC Sound Effects(31,201 个)[1]、SoundBible(1,231 个)[2]和 AudioSet 强标签子集(108,317 个),并使用 ChatGPT 将它们的原始描述转换为字幕。
(2)Instruction-Tuning Datasets
1)Image-Text Dataset
使用了两个先前发布的用于视觉指导调整的数据集。第一个数据集是由 MiniGPT-4 发布的,包含 3,439 对高质量的文本-图像配对。第二个数据集由 LLaVA(引用文献 liu2023visual)提供,从 COCO 数据集中筛选出 158,000 个样本,包括三种类型的指导,即对话(58,000 个)、详细描述(23,000 个)和复杂推理(77,000 个)。
2)Audio-Text Dataset
在音频理解领域中,还需要对音频 Q-Transformer 进行指令调整操作。然而,与视觉-语言理解不同的是,在这个领域仍然存在对高质量和组织良好的指令调整数据集的严重需求。为此,本文生成了一系列富有表现力和描述性的数据,以促进这一过程。具体来说,首先调查了不同类型的现有音频字幕数据集,并选择 Clotho作为原始数据集进行描述扩展。选择这个数据集的原因有两方面的考虑。一方面,它作为一个指令调整数据集具有适度和可接受的规模,而且音频的语义范围足够大。另一方面,每个音频都有来自不同标注者的五个简短的字幕,涵盖与音频相关的各种可能场景,增加了描述的多样性。在获得原始数据之后,需要将短字幕重写为描述性和富有想象力的段落。
考虑到 GPT-4在少样本学习、文本生成和复杂推理方面的非凡能力,利用它来帮助我们自动将短字幕组合成长描述,以减少对人工注释的依赖。最终的描述应该涵盖所有相关的原始字幕。本文设计了一个与任务相关的提示,并构建了一些类似的少样本示例,以促进上下文推理过程。因此,收集了一个新的数据集 Clotho-Detail1,用于音频理解中的指令调整,其中包含 3938 个项目,描述的平均长度为 52.70 个词。
(3)Audio-Image-Text Dataset
正样本集为了进一步赋予模型多模态推理的全面能力,使用一组音频-图像对来帮助模型理解音频与其来源之间的对应关系。在现有的音频-视觉数据集中,VGGSS [33] 在这一过程中被证明是一个更好的选择。它涵盖了广泛的声音对象,并且音频仅与相应图像中的特定区域相关联。因此,检索所有的数据案例,并使用一组固定模板将相应的类标签包装成自然语句描述。结果,生成了共计 5,158 个 < 音频, 图像, 文本 > 三模态指令调整数据对,用作三模态指令调整数据集。
负样本集仅依靠上述数据集会导致 LLM 无法识别不相关的音频-图像对。因此,本文构建了负样本的 < 音频, 图像, 文本 > 对,使得 < 文本 >对音频和图像输入提供独立的描述。音频是从音频-文本数据集中随机抽样得到的,而图像则是从 MiniGPT-4 数据集中随机抽样得到的。文本是通过连接以“图像为开头”的描述和以“音频为开头”的描述构建而成的。
结果分析
BuboGPT展示了以下几个吸引人的功能:
(1)细粒度视觉理解与基础,如图所示,该模型可以准确地将文本词语或短语与图像中的不同复杂情景中的区域相关联。

图3:示例1
(2)音频理解,给出包含几乎所有声学部分的信息性描述,即使一些音频片段对人类来说过于短暂以至于难以察觉。

图4:示例2
(3)匹配的音频-图像理解,为输入图像和音频生成一个整体描述,然后经过推理指出图像中哪个对象发出了声音。

图5:示例3
(4)任意音频-图像理解,判断图像和音频是否相互关联,并为任意音频-图像理解生成高质量的响应。

图6:示例4
参考文献
[1] BuboGPT: Enabling Visual Grounding in Multi-Modal LLMs
https://arxiv.org/abs/2307.08581
448



被折叠的 条评论
为什么被折叠?



