21

AI学习者 · 2023年11月13日 · 广东

大模型即插即用 | 微调无门?Adapter Expert和门控注意力让你微调大模型不再是梦想!

image.png

由于大语言模型(LLM)在遵循指令方面的出色能力,社区中的助手数量不断增加,以协助人类。最近,在视觉语言模型(VLMs)的开发方面取得了重要进展,扩展了 LLM 的能力,使它们能够执行更多样化的指令。然而,可以预见,模型可能需要处理涉及其他模态(如语音、视频等)的任务。这使得处理混合模态的复杂性成为一项尤为突出的挑战。

为了解决这个问题,作者引入了一种名为 PILL 的新架构:通过Adapter Expert和注意门控插件到 LLM,以更好地解耦这些复杂模态并利用高效的微调。作者引入了两个模块:

  • 首先,利用混合模态Adapter Expert独立处理不同模态,使模型能更好地适应下游任务,同时保留原始模型的表达能力。
  • 其次,通过引入模态注意门控,实现了对模态Token对整体表示的贡献进行自适应控制。此外,作者还对Adapter进行了改进,以提高其学习和表达能力。

实验结果表明,与其他主流的模态融合方法相比,作者的方法具有竞争力的性能。

代码: https://github.com/DsaltYfish/PILL

1. 简介

人工智能的长期目标是使其能够像人类一样利用知识进行推理、思考、分析和决策等任务。大语言模型展现出的出色指令遵循能力和对人类语言的理解使得通用视觉语言模型(VLMs)在人工智能的多模态能力领域取得了显著进步。为了实现多模态任务的模块化处理,近期的大语言模型主要采用视觉提示生成器向大语言模型提供视觉信息,展示了各种视觉任务的零散性能。

然而,尽管具有与语言对齐的模态信息,底层大语言模型的内部结构仍然缺乏处理纠缠模态的能力,导致大多数视觉语言模型仍然难以理解复杂的多模态提示。一个直接的方法是完全微调大语言模型或使用参数高效微调(PEFT)方法,使 LLM 学会处理其他模态信息。然而,这可能导致多种模态信息的混合,从而干扰 LLM 学到的原始知识。

在本文中,作者提出了 PILL:利用Adapter Expert和注意门控插件到 LLM 的方法来解决上述问题。作者的方法包括三个模块:

  • 首先,受 Mixture-of-Modality-Experts(MoME)方法的启发,作者采用 Mixture-of-Modality-Adapter-Expert(MoMAE)处理不同模态输入。在作者的实验设置中,MoMAE 包括 V-Adapter 和 L-Adapter,分别处理视觉和文本模态。
  • 其次,为确保模型在初始训练过程中产生的结果与原始语言模型一致,作者引入了模态关注门控(MAG)模块。这一模块稳定了训练过程,防止视觉信息干扰 LLM 的文本建模阶段。
  • 第三,认识到增强Adapter可以带来更好的性能,作者通过引入 GLU-Adapter 对经典Adapter进行了优化。

为确保模型稳定训练,作者采用两阶段训练方法。在第一阶段,分别训练投影层和 V-Adapter,以对齐视觉和文本信息,使 LLM 学会处理视觉知识。在第二阶段,解冻所有提议的模块,进行下游微调。在两个阶段中,LLM 和 VPG 模块保持冻结。作者训练方法的一个显著优点是训练效率高,因为作者仅训练插入的模块。作者的方法可以在单个 A6000 GPU 上高效训练,从而加快训练完成速度。

实验结果表明,作者的模型在与其他方法竞争中表现出色。在 ScienceQA 数据集上,作者的模型比等规模模型 accuracy 提高 1.4%。与最佳表现的 LLaMA 基于模型相比,作者实现了 0.31% 的 accuracy 提升。

总之,作者的贡献可以总结如下:

  1. 作者提出了 PILL,它使用 MoMAE 处理模态特定信息,使用 MAG 动态调整模态注入 LLM,并使用改进的Adapter结构提高性能。
  2. 实验结果表明,PILL 在现有多模态 LLM 中表现出优越的效率和竞争力。同时,它在通用 VQA 基准测试中的表现也显示出处理多模态指令的巨大潜力。
  3. PILL 在训练和计算效率方面表现优越,因为作者的实验可以在单个 A6000 GPU 上完成。

2. 相关工作

2.1. 多模态预训练

在大规模预训练中,多模态学习取得了重要成果。例如,VLBERT,ViL-BERT,MCAN,LXMERT 和 Rosita 等方法利用对象检测器提取图像中的关键信息,并与文本在 Transformer 模块中一起处理。

在 CLIP 在图像 - 文本检索领域取得出色成果之后,对比学习在多模态领域也得到了关注。ALBEF,BLIP,VLMO,BEiT-3 和 CoCa 等方法利用对比学习对图像和文本特征进行对齐,证明了这种对齐的益处。

随着大规模模型技术的发展,PaLi,PaLM,KOSMOS,BLIP-2 等方法在 ClipCap 的基础上,将 ViT 处理的图像特征作为提示输入到 LM 中。

最近,随着 LLMs 的崛起,研究人员专注于利用 LLMs 的强大功能并将视觉信息与其相结合。Mini-GPT4 和 LLaVA 发现投影层可以将视觉信息有效投影到 LLMs 的语言空间,并且仅使用大规模预训练数据训练此投影层。

2.2. 多模态 PEFT 中的指令微调

为了解决全量微调成本过高的问题,参数高效微调(PEFT)技术应运而生。作者重点介绍三种常用的 PEFT 技术以及在各种方法中的应用。首先,Adapter 方法在 VL-Adapter 中得到了探索。

大量实验证明,在多模态场景中,Adapter 在其他 PEFT 方法中的优势。MAGMA 在 LM 中引入了 Adapter,基于冻结模型。LAVIN 采用类似方法,将单一模态和多模态任务视为不同任务,并使用 MMA(多模态Adapter)进行处理。

与作者提出的 MoMAE 方法的区别在于,作者关注模态Token,而 LAVIN 关注任务。接下来,注意 LoRA 在多模态场景中的应用。MultiModal-GPT 采用了类似 Flamingo 的架构,并引入 LoRA 进行 LM 微调。Visual-ChatGLM,mPLUG-Owl 和 LAMM 也在使用 VPG(视觉提示生成)预训练后引入 LoRA 进行 LM 微调。最后,prefix-tuning 技术,如 LLAMA-Adapter,通过将图像表示添加到前缀Token并将其与文本Token一起在 LM 层中处理,实现了对图像和文本的融合。

image.png

3. 方法

本节作者将详细介绍 PILL 的方法,包括模型架构(3.1),处理不同模态信息的 Mixture-of-Modality-Adapter-Expert(3.2),Modality-Attention-Gating(3.3)以及改善Adapter学习和表达能力的 SwiGLU-Adapter(3.4)。在详细介绍这些模块之后,作者将讨论模型的训练过程和目标(3.5)。

PILL 框架的概述如图 2 所示:

image.png

3.1. 模型架构

image.png

3.2. 混合模态Adapter专家

作者提出了一种通用多模态模块,名为 MoMAE,灵感来自 MoME 和 Adapter。MoMAE 通过引入 Mixture-of-Modality-Adapter-Expert 作为编码不同模态的替代方案,取代了标准的 Transformer 馈入网络。如 2(b) 所示,在利用前一层的输出向量和对数域多头自注意力(MSA)之后,MoMAE 能够通过切换到不同的模态Adapter Expert来捕捉和处理模态特定信息。作者使用视觉Adapter Expert编码图像 ,使用语言Adapter Expert编码文本 ,可以表示为:

image.png

以前的研究表明,知识在 Transformer 中的前馈网络(FFN)中得到保留。因此,作者采用 MoMAE 使 LLM 能够学习处理视觉特征的知识。

此外,在实验中,作者观察到视觉Token的方差通常远大于文本Token的方差。这种分布的不一致可能会导致训练结果不佳。使用专门的处理视觉Token的模块可能是明智的选择。此外,由于采用了 Adapter 策略进行学习,原始 LLaMA 的权重得到保留,允许在相同表示空间中对视觉和文本模态进行对齐。先前的工作已经证明,这种对齐对于多模态任务至关重要。

3.3. 模态 - 注意力 - 门控(MAG)

关于模态融合,Prefix-Tuning 和 CrossAttn 方法都已显示出优异的性能。在 Lynx 的实验中发现,Prefix-Tuning 通常取得更好的效果,而 CrossAttn 模型可能需要更多的超参数搜索才能获得优越的结果。是否可以结合这两种方法的优点?为了解决这个问题,作者提出了 MAG(Modality-Attention-Gating)方法。

具体来说,作者将 MAG 应用于过滤和调整其他模态信息的注意力权重,以使模态信息在不同的 Transformer 层中发挥各自的作用。

给定视觉模态Token,作者的 MAG 模块计算如下:

image.png

在注意层中,H 被Reshape为。的作用是乘以每个模态的注意力Head的一个门控权重,初始化为 0。

请注意,对于同一层中的每个视觉Token,它们经历相同的门。这使得视觉信息在不同层中具有不同的效果,同时过滤掉无关信息。

根据在 LLM 中的先前经验,靠近输入层的模块主要关注语言建模,而靠近输出层的模块负责知识注入。纯使用 Prefix-Tuning 可能会在语言建模阶段引入其他模态信息干扰,因为如 Flamingo 实验中所观察到的,输入层附近的门控权重接近于零。

另一方面,Prefix-Tuning 的优点在于在不同 Transformer 层注入不同的信息,从而有效地适应每个层的模态信息。这可能是 Prefix-Tuning 在一般情况下比 Cross-Attn 表现更好的原因。因此,基于上述假设,在引入 MAG 和 MoMAE 模块后,模型架构类似于 Prefix-Tuning,而细节类似于 Cross-Attn。实际上,作者的门控权重结果与 Flamingo 相似。

3.4. SwiGLU-Adapter

经典的 Adapter 架构包括下采样操作、激活函数、上采样和残差连接。引入了门控线性单位(GLU) 结构后,它在 LLM(如 LLaMA 和 PaLM)中得到了广泛应用。作者能否也将 Adapter 架构转换为 GLU?为了回答这个问题,作者提出了 SwiGLU-Adapter。

image.png

如图 3 所示,作者将 Adapter 的结构进行了修改,通过引入两个下采样操作,其中一个下采样输出经过激活函数后,与另一个下采样输出相乘,然后进行上采样操作。作者用以下方程表示这种转换:

image.png

3.5. 分阶段训练

作者的训练过程包括经典的预训练和下游任务微调阶段,其中不同模块在每个阶段进行训练。对于训练目标,两个阶段都使用自动回归损失进行训练。给定输入 、 和 ,作者使用以下方程表示训练目标:

image.png
这里,、、θ 分别表示预测词的概率、答案序列的长度和可训练参数。作者在两个训练阶段中都最大化 的似然性,同时优化可训练参数θ。以下部分将详细介绍每个阶段。

第一阶段:

模态对齐预训练。在第一阶段,与 VLMO 和 LLaVA 类似,作者设置 θ,其中 是视觉Adapter, 是投影矩阵。这样做是为了使从 Q-former 提取的视觉特征与预训练的 LLM 词向量对齐,允许 FFN 层在处理视觉Token时学习初步知识。

请注意,最后一层的 没有连接到训练目标,因此它是不可训练的。因此,作者只利用 V-Adapter 作为 T-Adapter,有效地反转输入 VL(VisualLanguage)Token的位置信息。

第二阶段:

下游任务微调。在第二阶段,作者旨在训练模型回应指令和图像,类似于真正的 AI 助手。因此,作者训练所有 Adapters、attn-gates 和投影层的参数,其中 θ。

为了定量实验分析,作者在 ScienceQA 上进行 ablation 实验。为了实现泛化的指令跟随,作者在 LLaVA1.5 665k 数据集上训练模型。

4. 实验

4.1 数据集

CC595K

CC595K 是由 LLaVA 过滤得到的。LLaVa 从整个 CC3M 数据集中的每个标题中提取名词短语,并计算每个独特名词短语的频率。对于频率低于 3 的名词短语,跳过,因为它们通常代表罕见的概念和属性组合。对于频率超过 100 的名词短语,从所有标题中随机选择 100 个样本。最后得到大约 595k 个图像 - 文本对。作者使用 CC595K 对模型进行预训练。

ScienceQA

ScienceQA 包含了 21,000 个数据样本,包括多选题和多模态内容。它涵盖了 3 个科目、26 个主题、127 个类别和 379 个技能。作者使用了 ScienceQA 数据的训练部分,包含 12,726 个样本,进一步优化作者的模型。此外,作者还使用了测试部分,包含 4,241 个样本,以初步评估作者模型性能。

4.2 实施细节

图像特征提取部分,作者使用了 BLIP2 中的 Q-former 模块,该模块在 Flan-T5-XXL 上进行了充分预训练。对于 LLM,作者选择了 LLaMA-2-chat 模型。作者 adapter 中默认的中间隐藏层维度为 32。作者使用 AdamW 作为优化器,采用余弦学习率衰减策略。

在预训练阶段,作者仅训练投影层和 V-Adapter 3 个 epoch,学习率为 1e-3。语言模型输入长度设置为 128,批次大小设置为 32。在微调阶段,作者训练投影层、V-Adapter、T-Adapter、attn-adapter 和 attn-gate 层 20 个 epoch,学习率为 2e-3。语言模型输入长度增加至 512,批次大小减少至 4。

在作者的实验设置下,可训练参数总数为 45M。模型训练在一台 A6000 硬件配置上进行,这是研究人员广泛接受的配置。

4.3 实验结果

4.3.1 科学问答结果

image.png

如表 1 所示,作者对比了若干现有方法在 ScienceQA 上的表现。首先,作者考虑零散或少量示例的方法。人类在问答任务中的准确率达到 88.40%。值得注意的是,GPT-4 没有针对 ScienceQA 进行特定训练,其准确率达到 82.69%。在其他 LLM 中,MM-CoTLarge 达到 91.68% 的准确率。作者推测这种性能差异可能源于基础模型的差异。值得注意的是,MM-COT 和基于 LLaMA 的模型在 NAT 和 SOC 指标之间存在显著差异。

此外,预计 MM-COT 表现尤为出色,因为它专注于链式思维,这种技术已经被证明可以显著提高 LLM 能力。因此,MM-COT 出色的性能并不令人意外。在基于 LLaMA 的方法中,作者的方法在所有指标上都排名第一或第二,最终在平均指标方面取得了最佳性能。即使没有采用任何奢侈的技术,作者的方法在性能上也能与现有技术相媲美。

在参数数量方面,作者的方法显著减少了训练开销,因为我們只需要训练模型的Adapter组件。尽管作者的训练参数数量比 LaVIN 要多,但作者的训练速度更快,因为在训练过程中没有对 ViT 进行梯度反向传播。实际上,在相同实验设置下,作者的方法只需要 LaVIN 训练时间的 90%。总的来说,这些结果验证了 PILL 设计的有效性。

image.png

在表 2 中,作者使用 LLaMA-7B 模型规范比较了 PILL 与其他多模态方法的性能。在没有预训练的情况下,LLaMA-Adapter 是率先采用 PEFT 技术的开创性方法之一,使 LLM 具有视觉识别能力,并在当时取得了令人印象深刻的 ScienceQA 结果。LAVIN 进一步将这一性能提高了约 4%。作者认为 Adapter 结构可能特别适合 VL-LLM,因为 VLAdapter 的实验结果证实了这一点。

另一方面,由于 LLaVA 需要完全微调,预训练的一个良好初始化视觉投影层可能会稳定后续的微调过程。因此,LLaVA 在预训练下取得了 4% 的改进。然而,尽管 SciTune 专注于分析科学论文中的图表,但在一些常识 VQA 任务上表现不佳。重要的是,无论是否使用预训练,作者的方法都能 consistently 取得最佳结果,证明了作者所提议方法的有效性。

image.png

如图 4 所示,作者还绘制了 PILL 模型不同层的 MAG 绝对值。该模型包含 32 个 LM 层。看来,所有层级的冻结 LM 堆都程度不同地利用了视觉信息。作者还观察到,绝对值随深度呈增加趋势。作者将其归因于 LLM 在不同层级的作用。

在接近输入的层级,LLM 专注于语言建模,并不严重依赖视觉信息。但是,随着层级的接近输出,LLM 已经积累了足够的知识,需要从图像中提取信息。因此,tanh 门激活值的绝对值从接近输入层时的接近零值迅速增加,在输出层接近 1。

消融研究

image.png

在表 3 中,作者展示了 PILL 在 ScienceQA 测试集上各种组件和训练过程的贡献。MoMAE 和线性Adapter作为作者的基线,获得 89.20% 的准确率。在此基础上,作者引入了 MAG 模块,性能提高了 0.4%。为了研究不同激活函数对Adapter的影响,作者最初使用 GELU 激活函数,但没有带来任何改进。

然而,当作者将激活函数替换为提出的 SwiGLU 激活函数时,作者实现了进一步的改进,提高了 0.64%。此外,作者研究了 LLM 虚构对模型影响。在训练过程中,作者以 0.1 的概率随机替换答案,带来额外的 0.33% 改进。

为了进一步提高 PILL 识别图像的能力,作者对模型进行了图像字幕训练。最初,作者尝试移除 V-Adapter,在预训练时仅训练投影层,并在微调时使用单个Adapter。这种方法获得了 90.45% 的准确率。

当引入 MoMAE 方法时,作者观察到进一步的改进,提高了 0.28%。作者还探索了使用随机错误答案,但遇到了性能下降的问题。作者认为这是由于缺乏预训练,导致图像识别能力不足并产生幻觉,与 MM-COT 的发现类似。在预训练后,模型的图像理解能力得到提高,部分抵消了幻觉问题。因此,在现阶段采用随机错误答案策略导致了性能下降。最后,通过将预训练 epochs 增加到 3,作者取得了最佳结果。

5. 局限性

由于作者使用 LLM 作为底层模型,PILL 不可避免地继承了 LLM 的一些局限性。因此,图像到文本生成过程可能产生不满意的成果,包括错误的知识、推理或幻觉。

此外,尽管作者的工作仅涉及图像模态的融合,但作者的方法可以自然地融入其他模态,如语音。在未来的工作中,作者致力于通过进一步探索多模态的整合和扩大 LLM 来创建一个真正的多模态 AI 助手。

6. 参考

[1].PILL:Plug Into LLM with Adapter Expert and Attention Gate

作者:AI视界引擎
文章来源:AI视界引擎

推荐阅读

更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
16944
内容数
1236
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息