阿里猫头鹰多模态大模型 mPLUG-Owl2: Revolutionizing Multi-modal Large Language Model with Modality Collaboration

在这里插入图片描述
阿里多模态大模型之猫头鹰2
文章:https://arxiv.org/abs/2311.04257
代码:https://github.com/X-PLUG/mPLUG-Owl/tree/main/mPLUG-Owl2
demo:https://modelscope.cn/studios/damo/mPLUG-Owl2/summary

概述

这篇文章介绍了一项关于多模态大型语言模型 (Multi-modal Large Language Model, MLLM) 的研究工作,提出了一个名为 mPLUG-Owl2 的模型。mPLUG-Owl2 利用模态协作 (modality collaboration) 来提高在文本和多模态任务上的性能。具体来说,mPLUG-Owl2 使用了一个模块化的网络设计,其中语言解码器作为统一接口来管理不同模态的信号。它结合了共享功能模块以促进模态协作,并引入了一个模态自适应模块来保留模态特定特征。实验证明,mPLUG-Owl2 能够在多个基准测试中实现最先进的性能,包括图像字幕、视觉问答、自然语言理解和推理等任务。这项工作为未来多模态基础模型的发展提供了新思路。

主要框架图

在这里插入图片描述
该图展示了 mPLUG-Owl2与现有MLLMs的性能对比以及现有MLLMs与mPLUG-Owl2在处理模态协作和模态干扰问题上的差异。图中分为两部分:
a) 以往的方法使用标准语言解码器(LLM)来处理不同类型的指令,导致模态干扰和性能下降。
b) 提出了mPLUG-Owl2,它使用模态自适应语言解码器来处理不同模态的信号,同时在不同的模块内共享一些参数以促进模态协作。这种方式减轻了模态干扰的问题。

在这里插入图片描述
mPLUG-Owl2模型的整体架构和训练范式:
a) mPLUG-Owl2由四个主要组件构成:视觉编码器(Vision Encode)、视觉抽象器(Visual Abstractor)、文本嵌入层(Text Embedding)和语言解码器(Language Decoder)。视觉编码器处理输入图像并生成视觉特征序列。视觉抽象器通过一组可学习的查询(Learnable Queries)从视觉特征序列中提取高级语义特征。文本嵌入层将文本标记(Tokens)转换为嵌入(Embedding)。语言解码器作为一个通用接口,将视觉和文本嵌入连接起来并处理,以生成预测。注意,语言解码器由两部分组成,一部分是作者新提出来的模态自适应模块(Modality-Adaptive Module),另一部分就是FFN,即大语言模型中训练好的Transformer Block。
b) 模态自适应模块(MAM)的详细结构。MAM将多模态输入投影到共享语义空间,同时保留模态特定特征。它通过分离键投影矩阵和值投影矩阵来避免模态之间的干扰,并通过不同的层归一化层来建模模态特性。
c) 两阶段训练范式:1) 预训练阶段:训练视觉编码器、视觉抽象器以及部分语言解码器参数(即MAM的参数),保持训练好的语言模型冻结(即FFN的参数)。2) 指令调优阶段:联合训练整个模型(包括视觉编码器),使用文本指令和多模态指令数据进行调优。这种训练策略使模型能够更有效地捕捉视觉信息,同时保留语言能力。

摘要

多模态大型语言模型(MLLMs)已经在各种开放任务中展示了令人印象深刻的指令能力。然而,以往的方法主要关注于增强多模态能力。本文中,我们提出了一个多才多艺的多模态大型语言模型 mPLUG-Owl2,它通过有效地利用模态协作来提高文本和多模态任务的性能。mPLUG-Owl2 使用模块化的网络设计,其中语言解码器充当一个通用接口来管理不同的模态。具体来说,mPLUG-Owl2 并入了共享功能模块以促进模态协作,并引入了一个模态自适应模块来保留模态特定特征。大量实验表明,mPLUG-Owl2 能够泛化文本任务和多模态任务,并在单个通用模型上取得最先进的性能。值得注意的是,mPLUG-Owl2 是第一个在纯文本和多模态场景中都展示模态协作现象的 MLLM 模型,为未来多模态基础模型的发展铺平了道路。

引言

大型语言模型(LLMs),如 GPT-3、LLaMA 和 GPT-4,由于其在文本理解和生成方面出色的泛化能力,已经引起了广泛关注。为了促进视觉-语言应用的发展,GPT-4V最近展示了在各种任务(如描述、问题回答等)中的出色多模态能力,激发了研究人员对视觉-语言领域潜在融合的兴趣。这导致了一类多模态大型语言模型(MLLMs)的出现,它们旨在增强 LLMs 的能力,使其能够理解和处理视觉问题。

以往的研究表明,不同的模态可以有效地协作,从而提高文本和多模态任务的性能。然而,MLLM 是一个统一的模型,支持不同的模态和任务,而不对特定任务进行微调。近期的一些工作利用交叉模态对齐模块(例如 Q-former 和线性层)将视觉特征从视觉编码器映射到冻结的 LLMs,以利用保留的语言能力执行多模态任务。这种策略限制了模态协作的潜力。因此,一些研究者选择在多模态指令调优期间对 LLMs 进行微调。虽然微调显著改进了多模态任务,但存在削弱文本任务性能的风险。如图1所示,MLLM 的模态协作挑战在于应用单个模块来平衡模态协作的收益和模态干扰,其中模态在大量的跨模态指令数据集上可能会相互干扰。

为了应对这一挑战,作者提出了一种新的通用多模态基础模型 mPLUG-Owl2。作者的模型采用模块化网络设计,既考虑了模态协作,也考虑了模态干扰,使用语言解码器作为统一接口来管理多模态信号。具体而言,mPLUG-Owl2 并入了某些共享功能模块以促进模态协作,并引入了一个模态自适应模块,作为不同模态之间的枢纽。因此,视觉和语言模态被投影到一个共享的语义空间进行交叉模态交互,而所提出的模块有助于保留模态特定特征。有了作者的新颖架构,具有不同信息密度的模态由于模态自适应模块而免受模态干扰的影响,并能在捕捉共享信息方面有效协作。此外,作者引入了一种创新的两阶段训练范式,包括视觉-语言预训练和联合视觉-语言指令调优。这个范式在两个阶段训练视觉编码器,使其能更有效地捕捉低级和高级语义视觉信息。

广泛的实验证明了 mPLUG-Owl2 的有效性和泛化能力,它在 8 个经典视觉-语言基准测试中使用单个通用模型实现了最先进的性能。此外,它在 5 个最近的零样本多模态基准测试中要么排名第一,要么排名第二,凸显了它在多模态指令理解和生成方面的适应性和熟练程度。除了在多模态任务上的尖端性能外,mPLUG-Owl2 还在多个纯文本基准测试中取得了最先进的成果。此外,作者提供了深入的分析,通过作者提出的模态自适应模块来证明模态协作的影响,特别是在提高包括理解、知识和推理在内的文本任务方面。最后,全面的消融研究验证了所提出的 MLLM 训练范式的有效性,这可以激发未来多模态基础模型的发展。

方法

本文提出了一种名为mPLUG-Owl2的多模态大型语言模型,主要通过以下三个方面的方法来提高模型在文本和多模态任务上的性能:
1)模块化网络设计模型采用模块化的网络设计,包含视觉编码器、视觉抽象器、文本嵌入层和语言解码器。语言解码器作为一个通用接口来管理不同模态的信号。
2)模态自适应模块(MAM)为了平衡模态协作和模态干扰,mPLUG-Owl2引入了模态自适应模块。该模块将视觉和文本特征投影到共享的语义空间进行交互,同时保留各自的模态特定特征。具体来说,它使用不同的权重矩阵对视觉和文本特征进行线性变换,将它们映射到共享空间,从而在降低模态干扰的同时保持模态特性。
3)两阶段训练范式mPLUG-Owl2采用两阶段训练策略:(1) 视觉语言预训练:在这个阶段,视觉编码器、视觉抽象器和部分语言解码器参数被训练,而预训练的语言模型保持冻结。(2) 联合视觉语言指令调优:在这个阶段,整个模型(包括视觉编码器)都被训练,使用文本指令数据和多模态指令数据进行联合调优。这种训练策略使模型更好地理解视觉概念,同时保留语言能力。

通过这些方法,mPLUG-Owl2在多模态任务和文本任务上实现了卓越的性能,成为了第一个在纯文本和多模态场景中都展现模态协作现象的多模态大型语言模型。这为未来多模态基础模型的发展提供了新思路。

实现细节

训练设置

使用AdamW优化器进行优化,设置β1 = 0.9, β2 = 0.98 和 ε = 1e-6。学习率采用余弦退火策略,峰值学习率为1e-4,预热步骤为1k。预热步骤的数量设置为1,000,全局批量大小为8,192。使用梯度累积技术来实现大批量训练。对于视觉编码器,应用层级学习率衰减,衰减因子为0.9,以保留低层视觉特征的表示能力。在指令调优阶段,训练整个模型1个epoch,使用学习率为2e-5,批量大小为256。将图像分辨率从224×224增加到448×448。层级学习率衰减同样适用于视觉编码器,这在保留良好视觉表示能力方面至关重要。

数据集

mPLUG-Owl2首先在五个公共数据集的约400百万个图像-文本对上进行预训练:Conceptual Captions (CC3M/CC12M), COCO, Laionen, COYO, DataComp。对于指令数据,收集了五种类型的数据集,包括图像字幕数据集(如TextCaps, COCO), 图像问答数据集(如VQAv2, OKVQA, OCR-VQA, GQA, A-OKVQA), 区域感知问答数据集(如RefCOCO, VisualGenome), 多模态指令数据(如LLaVA-instruct-150K), 纯文本指令数据。还随机选取了约1亿个图像-文本对作为预训练数据。对于指令调优阶段,从五个来源收集了不同类型的指令数据,包括图像字幕、图像问答、区域感知问答、多模态指令和纯文本指令。还处理了VQAv2数据集,通过选择具有最高置信度的答案,并将共享相同图像的问题-答案对合并,以创建一个指令数据集。对于具有多个选择问题的A-OKVQA数据集,通过切换选项的顺序来增强数据集,以提高对多个选择的鲁棒性。对于字幕数据集,如COCO和TextCaps,随机选择一个标题作为ground truth。

训练过程

首先预训练视觉编码器,视觉抽象器和训练新增的MAM参数。预训练阶段共有42,500个迭代,批量大小为8,192。在预训练阶段,使用224×224的图像分辨率。在指令调优阶段,联合训练整个模型,包括视觉编码器、视觉抽象器和语言模型。为了提高视觉表示能力,将图像分辨率提高到448×448。层级学习率衰减对视觉编码器非常重要,这有助于保留较低层的视觉表示。总的来说,在预训练和指令调优阶段都训练了视觉编码器,使其能够捕捉到更多的低级和高级语义信息。这有助于提高mPLUG-Owl2在多模态任务上的性能。

结果

图像字幕与视觉问答

在这里插入图片描述

zero-shot泛化

在这里插入图片描述

纯文本

在这里插入图片描述

视频问答

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深山里的小白羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值