MoExtend: Tuning New Experts for Modality and Task Extension
GitHub - zhongshsh/MoExtend: ACL 2024 (SRW)
https://arxiv.org/pdf/2408.03511
大型语言模型(LLM)在各种任务中表现出色,然而其应用范围受限于主要在文本数据上进行训练。为了扩展LLM的功能以包括视觉语言理解,需要从头开始在多模态数据上对其进行训练,这既具有挑战性又成本高昂。目前的指令调优方法(如LLAVA)通过完全微调LLM来连接预训练的CLIP视觉编码器和LLM,以弥合不同模态之间的差距。然而,完全微调存在灾难性遗忘和高昂的训练成本问题,特别是在任务和模态不断增加的情况下。为了解决这个问题,提出了MoExtend框架,该框架旨在简化混合专家(MoE)模型对新模态适应和扩展过程。MoExtend将新专家无缝集成到预训练的MoE模型中,并赋予它们新知识,而无需对预训练模型(如MoE和视觉编码器)进行调整。这种方法能够快速适应并扩展到新的模态数据或任务,并有效地解决了在LLM中容纳新模态所面临的挑战。此外,MoExtend还避免了对预训练模型进行调整带来的灾难性遗忘风险。实验结果证明了MoExtend提升LLM多模态能力方面有效且高效,在推动多模态AI研究发展方面具有积极意义。
大型语言模型(LLMs)的局限性:
现状:LLMs在多种任务中表现出色,但主要基于文本数据训练,限制了其应用范围。
挑战:扩展LLMs以包含视觉-语言理解能力至关重要,但从头开始训练多模态数据成本高且困难。
现有方法的不足:
方法:现有指令调优方法(如LLaVA)通过全微调LLMs来连接预训练的CLIP视觉编码器和LLMs,以弥合模态差距。
问题:全微调存在灾难性遗忘(即忘记先前知识)和高训练成本的问题,特别是在任务和模态不断增加的时代。
MoExtend框架的提出:
框架:MoExtend是一个有效的框架,旨在简化Mixture-of-Experts(MoE)模型的模态适应和扩展。
优势:MoExtend能够无缝地将新专家集成到预训练的MoE模型中,赋予它们新知识,而无需调整预训练的MoE和视觉编码器,从而快速适应和扩展到新的模态数据或任务。
MoExtend的核心特点:
高效性:MoExtend避免了微调预训练模型,从而减轻了灾难性遗忘的风险。
灵活性:该框架支持在不改变原始MoE模型参数的情况下,仅训练新添加的专家和相应的门控层。
MoExtend的三个阶段:
对齐阶段:通过预训练的视觉编码器对新添加的MLP进行训练,使用图像-描述对数据实现模态对齐。具体细节包括:
利用CLIP编码器将图像映射为视觉向量V,并将文本描述通过词嵌入映射为文本向量T。
将V和T拼接后输入到MoE模型中,进行前向传播和自注意力计算。
扩展阶段:使用Extender确定哪些MoE层需要扩展以容纳新的模态信息。关键步骤包括:
通过分析在包含视觉模态数据的训练集上MoE层专家的选择频率变化,确定哪些层需要扩展。
只在选择频率变化最大的顶层MoE层中添加新的专家FFN_{m+1}。
微调阶段:对新添加的专家部分进行微调,以完成最终的多模态信息扩展。此阶段的关键是:
在冻结其他参数的情况下,仅对新添加的专家和对应的路由层进行微调。
使用特定的指令数据集对扩展部分进行训练,以达到更好的多模态理解和任务处理能力。
关键实现细节:
权重初始化:新专家的权重初始化是基于原有专家的权重分布,选择具有最高选择概率的专家进行复制。
校准模块:每个新添加的专家都配备了一个轻量级的校准模块,用于校正由于专家数量增加而导致的路由权重变化。
参数效率:通过仅在必要时添加新专家,并微调少量新参数,MoExtend在保持高效训练的同时,降低了过拟合的风险。
贡献:
贡献:MoExtend的贡献包括引入了一种新的策略来增强MoE LLMs的多模态能力,显著降低了微调成本,并在推理过程中没有额外成本,同时最小化了灾难性遗忘的影响。
MoExtend的应用前景:
前景:随着LLMs在更多领域的应用需求增加,MoExtend提供了一种高效且灵活的方法来扩展LLMs的模态和任务能力,具有广泛的应用前景。