©作者 | 谢春宇,王斌
单位 | 360人工智能研究院
研究方向 | 多模态大模型
摘要
当前广泛流行的基于 LLaVA 结构的多模态大语言模型(LMM: Large Multimodal Model)在视觉任务上表现出色,然而因为训练中需要对内嵌的语言模型进行微调,常常会显著削弱其在自然语言任务(NLP)上的能力,具体来说,模型对文本的整体理解能力会减弱,而且在回答问题时给出的信息也不够详细。
为了防止这种性能退化,一个行之有效的办法是在扩展模型的多模态能力时,不改变语言模型的原始参数。不过,先前像 Flamingo 和BLIP2 这样的尝试,并没有达到预期的效果。
本文受到图像生成领域中的 ControlNet 思路的启发,在保持语言模型不变的基础上,创新性地加入了内部适配器结构(IAA)。这一策略不仅保持了模型在自然语言处理(NLP)方面的原有能力,同时还显著提升了模型的通用多模态处理能力和视觉定位性能。与之前依赖大量图文对齐数据的冻结语言模型的方法不同,IAA 架构能够在使用较小规模数据集的情况下,依然展现出卓越的性能。
此外,面对多样化的任务需求,可以轻松地在单个 GPU 上同时部署多个 IAA,从而在显存利用上实现高效的优化。
论文标题:
IAA: Inner-Adaptor Architecture Empowers Frozen Large Language Model with Multimodal Capabilities
论文链接:
https://www.arxiv.org/abs/2408.12902
模型和代码:
https://github.com/360CVGroup/Inner-Adaptor-Architecture
https://huggingface.co/qihoo360/Inner-Adaptor-Architecture
动机
主流的多模态大模型 LMM 采用的是以 LLaVA 为代表的 vision-encoder + projector + LLM 的结构。这种结构的优点是可以利用已经预训练好的语言模型内嵌来大幅降低多模态模型训练的代价和难度,当前国内主要的多模态大模型如 Qwen-VL、InternVL、MiniCPM、DeepSeek-VL 等采用的都是这种架构。
但是这种架构在实践中也存在一个非常难以解决从而被大家刻意回避讨论的问题,就是内嵌的语言模型在多模态模型的训练过程中会不可避免地发生“灾难性遗忘”问题,从而降低其在文本任务上的性能表现。
做为验证,本文利用了 LLaVA-1.5 的 1.2M 开源数据集,在其模型架构上进行了实验。该数据集中除了常见的 VQA 和指令微调数据外,还包含少量的纯文本数据。如图 1 所示,无论是在 Qwen2 还是 Llama3 这两种语言模型基础上构建的 LLaVA-1.5 架构,在训练前后,语言模型在 MMLU 和 C-Eval 等纯文本基准测试中的得分均有显著下降。
▲ 图1:在基于 Qwen2 和 Llama3 语言模型的仅文本评估集 MMLU 和 C-eval 上训练 LLaVA-1.5 架构前后的结果
内嵌语言模型的“灾难性遗忘”发生的根本原因,在于为了强调多模态模型在视觉任务上的能力,内嵌的语言模型在训练过程中都要参与训练。对于多模态 LMM 而言,为了实现优秀的多模态理解能力,需要大量的图像-文本数据来进行训练,训练量越大,灾难性遗忘的问题越严重。尽管像 LLaVA 这样的模型试图在其训练过程中整合一些纯文本数据,但仍未能完全避免这一问题。
防止大语言模型性能下降的一个直接方法是在 LMM 训练过程中冻结语言模型的参数。然而,目前采取这种策略的模型在多模态能力的 benchmark 测试中并未表现出令人满意的性能。为了解决这些挑战,本文提出了一种包含内部适配器结构(IAA)的训练范式,旨在不影响原始语言模型能力的同时,显著提升模型的多模态性能。
方法
▲ 图2:IAA 的总览,包含两个工作流:多模态交互和纯文本对话
鉴于前面的讨论,保持 LLM 原有的能力变得至关重要。本文提出的 Inner-Adaptor Architecture(IAA)可以让 LMM 在部署后同时运行两个工作流:一个是多模态交互,另外一个是纯文本对话。
多模态交互工作流包括以下三个部分:
图像编码器与 MLP 层:使用图像编码器(如 CLIP 或 SigLIP)提取高质量的图像特征,并通过 MLP 层实现视觉与语言的对齐。
大语言模型:在训练期间保持冻结状态,以保留原有的语言处理能力。
内部适配器结构:包括插入层、嵌入层以及专为多模态输入设计的语言模型头。
纯文本对话工作流则仅包含原始的大语言模型,不添加其他特定的模块。
▲ 图3:IAA 的结构探索
在内部适配器结构(IAA)的设计上,参考图 3(a),本文受到了 ControlNet 架构的启发,额外进行 self-attention 等层的插入操作,可以简洁地表示如下:
其中,ϕfl 和 ϕil 分别表示冻结的语言模型层(LM)和插入层。Xin 表示多模态输入,Xout 表示多模态输出,G 表示零初始化的门控层。插入层包括自注意层、层归一化、前馈网络等,这与大语言模型中 transformer 层的参数尺度一致。例如,如果目标是第 22 个语言模型层,则相应的插入层的初始参数来源于第 22 个语言模型层。尽管如此,基于 ControlNet 的设计并没有获得很好的性能。
参考图 3(b),本文对基于 ControlNet 的结构进行了进一步的改进,消除了插入层之间的特征传播,将语言模型层的输出作为插入层的输入。每个冻结的 LM 层将通过一个插入层和门控层来容纳多模态数据,而插入层不再直接受到后续层的影响。与图 3(a)中的设计相比,改进后的结构在实验结果上展现出了显著的改善。
此外,本文认为门控层可能无法通过 LMM 常用的单轮数据训练策略达到最佳状态。因此,本文提出了一个更精简的解决方案,如图 3(c)所示,模型中特定层的操作可以用如下方式表示:
与方案(a)类似,如果将插入层放置在第 22 个冻结的 LM 层之后,则使用第 22 个冻结的 LM 层的参数进行初始化。在训练的模型中,插入层的数量可以任意指定。
除此之外,为了进行更好的多模态训练,本文同时引入了新的嵌入层和语言模型头,这些同样由原始的语言模型对应的结构初始化而来。在所有的多模态训练阶段里,原始的语言模型保持固定,仅对新加入的结构进行训练。最终,本文选择了图 3(c)中所示的结构,并将其命名为内部适配器结构(IAA)。实验结果验证了这种策略的有效性。
实验
4.1 训练策略
在训练多模态大语言模型(LMM)的过程中,预训练阶段的核心任务是让模型学会如何将视觉信息与文本描述相对应。这个阶段,通常被称作图像-文本对齐阶段,它建立了视觉编码器与大语言模型(LLM)之间的桥梁。
在我们的架构设计中,图像编码器和 LLM 在整个训练过程中都是保持不变的,这样做是为了保留它们在视觉和语言理解上的基础知识。而 MLP 投影层和 IAA 内部适配器结构则是需要通过训练来提升模型的多模态处理能力。
在实验中,我们发现对于 IAA 内部适配器结构来说,如果使用过高的学习率,会导致训练损失的不稳定甚至溢出。为了解决这个问题,我们设计了一个两阶段的预训练策略。在第一阶段,我们的模型结构由三个部分组成:图像编码器、MLP 投影层和大语言模型。在这个阶段,图像编码器和大语言模型的参数是固定的,我们使用 0.001 的高学习率来专注于训练高质量的投影层。
在第二阶段的预训练中,我们对模型进行了扩展,加入了专门用于处理多模态任务的 IAA。在这个阶段,可训练的参数包括了投影层和新增的 IAA,同时我们采用了更低的 2e-5 学习率,以便更精细地调整模型。完成预训练之后,模型还会接受进一步的指令微调和视觉定位微调,以优化其性能。
4.2 通用多模态benchmark结果
▲ 表1:多模态评测集的结果
本文将对比方法分为两大类:一类是采用冻结语言模型进行训练的,另一类则是采用未冻结(即微调)语言模型进行训练的。为了进行深入的分析,我们详细展示了每种方法所使用的数据集大小,以及它们所依赖的图像编码器、大语言模型等关键组件。
为了确保比较的公正性,我们选择了参数规模相似的 LMM,并且这些方法的性能指标都是基于官方公布的数据。通过比较,我们可以明显看出,本文提出的方法在使用冻结语言模型训练的类别中展现出了显著的优势。这一结果表明,我们的方法在保持模型原有能力的同时,还能有效提升其在多模态任务上的表现。
此外,作为目前流行的做法,未冻结语言模型的 LMM 通常能够在多模态性能上获得更优的表现。然而,这种提升往往是以牺牲部分 NLP 能力为代价的。当我们对比 LLaVA-Llama3 这一方法时,我们发现 IAA 在采用相同的视觉编码器、语言模型和训练数据的情况下,在多模态性能指标上实现了更出色的成绩。
正如表 2 所展示的,IAA 在提升多模态能力的同时,其 NLP 能力并未受到影响。相反,LLaVA 这种对语言模型进行微调的方法,在 MMLU 和 C-Eval 等自然语言处理评测集上的表现则受到了较为明显的影响,显示出 NLP 能力的下降。这进一步证明了 IAA 在保持语言模型原有优势的同时,有效地增强了模型的多模态处理能力。
▲ 表2:纯文本评测集上的比较
图 4 展示了不同模型在纯文本对话任务上的性能表现。从中可以清晰看出,IAA 在处理纯文本对话时,成功保留了语言模型原有的对话能力。与此形成对比的是,开源的 LMM,例如 LLaVA-Llama3 和 LLaVA-v1.5,由于受到多模态数据的影响,其在纯文本对话任务上的表现有所下降。
当面对相同的提问时,LLaVA-Llama3 和 LLaVA-v1.5 给出的回答往往更为简短。这种现象与它们在训练过程中接触的大量多模态数据中文本长度普遍较短的事实密切相关。对大语言模型进行微调,尤其是在处理多模态数据时,可能会削弱模型深入理解内容并生成详尽回复的能力。因此,IAA 的设计在保持模型对话质量方面显示出其独特的优势。
▲ 图4:IAA 的结构探索
4.3 视觉定位benchmark结果
▲ 表3:视觉定位评测集的结果
表 3 的结果表明,IAA 能够在有限的数据集上实现有竞争力的视觉定位表现。为了保证公平可比,表中排除了使用超大数据集进行训练的模型,如使用了 15 亿图像文本对和 40 亿 grounding 数据的 CogVLM-grounding,以及那些利用了预训练目标检测模型的结构,如 LLaVA-Grounding 和 Groma 等。
4.4 部署效率
目前,高性能的多模态模型通常需要解冻大语言模型来进行训练。CogVLM 强调了开发一个同时擅长多模态理解和视觉定位任务的模型的困难。为了解决这个问题,它采用了双模型策略,一种模型训练通用多模态能力,另一种模型训练视觉定位能力。
在这种情况下,在 GPU 上采用 FP16 同时部署一个语言模型、一个通用多模态模型以及一个视觉定位模型,大约需要 50GB 的显存。本文提出的方法,通过内部适配器结构巧妙地结合了通用多模态能力和视觉定位能力,同时保护了原始大语言模型的 NLP 能力。举例来说,通过使用 8 层内部适配器配置,模型能够显著地减少显存占用,同时部署这三种能力的模型显存占用仅需 30GB 左右。
4.5 消融实验
本文对 IAA 结构、训练策略、插入层数量等进行了一系列消融实验,具体结果可以看下面的表格。
▲ 表4:IAA 结构探索的消融学习
▲ 表5:采用不同训练策略的比较
▲ 表6:IAA 插入层数量的消融
结论
本文提出了一种内部适配器结构(IAA),其设计宗旨在于提升大语言模型(LLM)在通用多模态理解和视觉定位等方面的能力。通过一系列精细的架构探索实验,本文证实了采用冻结语言模型策略的 LMM 在性能上能够超越那些经过微调的同类模型。
在部署应用时,IAA 同时兼具多模态,目标定位与纯文本三个工作流程,这样不仅保持了语言模型在自然语言处理(NLP)方面的实力,而且还增强了其在处理复合任务时的灵活性。IAA 的这一特性为模型未来扩展至更多模态提供了广阔的可能性。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
·
·