【ML笔记】论文阅读 - Keeping Yourself is Important in Downstream Tuning Multimodal Large Language Model
基本信息
- 论文标题:Keeping Yourself is Important in Downstream Tuning Multimodal Large Language Model
- 作者单位:the School of Computer Science, Wuhan University; the school of Electronics and Information Engineering, Harbin Institute of Technology; the Department of Computer Science and Technology, Zhejiang University; the School of Artificial Intelligence, Xidian University; the College of Computer Science and Technology, National University of Defense Technology; the Institute of Artificial Intelligence (TeleAI)
背景和原因
MLLM的微调工作发展迅猛,但是还没有出现总结现在的主流MLLM微调方法及在提升上下游任务性能的效果的工作。微调过程中主要产生两个问题:一个是对于下游任务过拟合,即执行下游任务的性能不佳;另一个是灾难性遗忘,即解决上游问题的性能不佳。
内容分析
由于本篇论文是综述形论文,所以主要分析里面出现的各种微调方法的核心思想。文中,微调的思路有两种,一种是“侵入式调参”,即直接改变原模型的参数;另一种是“外挂式调参”,即不直接改变原有模型的参数本身,而是通过另外训练新的组件来更改推理时的参数
¶Selective Tuning
属于“侵入式调参”,通过改变原模型的参数来更新模型。文中列举了两种方法,一种是迭代选择性调优,在训练过程中直接更新;另一种是后选择性调谐,在训练结束后将训练后的参数与原模型的参数进行融合。
迭代选择性调优在训练的时候就会评估原模型参数的权重,然后保护权重大的参数不被更新以保护上游知识不被遗忘。文中介绍了通过预训练幅度、当前梯度信息以及融合信息来判断权重大小的方法。
后选择性调谐则是在训练期间全力保障下游任务的性能,在训练结束后融合原模型和训练后模型的参数,以达到即最大化下游任务性能,又可以保护上游知识的目的。文中介绍了特殊任务融合,即只融合一个训练后的模型;以及任务合作融合,即融合多个训练后模型的方法。
Selective Tuning的好处在于对于模型架构的兼容性好,并且推理的效率很高,因为其并没有更改模型原有的参数量和架构设计。缺点在于难以把控参数更新的比例,以及内存消耗很高,因为这是对整个模型进行训练
¶Additive Tuning
属于“外挂式调参”,即通过额外的组件来更改模型的性能。文中介绍了提示词调优,以及适配器调优两种方法。
提示词调优在输入阶段对提示词进行优化。在MLLM中,视觉信息会经过视觉编码器提取特征,然后通过连接器来转换为LLM可以理解的token。也可以对connector产生的视觉token进行提示词优化。尽管这不是事实上的提示词,但是依然运用了提示词优化的思想,即优化输入模型的信息。
适配器调优的范围会更加广,它的思想是在模型的层之中添加额外的处理层,在推理的时候进行参数叠加,并不会更改原模型的参数。文中介绍了两种方法,一个是对每一个输入的样本进行单独的调参,另一个是对输入的样本进行集体调参。
Additive Tuning的好处在于即插即用,不用改变原有模型。缺点是推理消耗的资源变多,因为引入了额外的组件;对于下游任务的过拟合,这是根据很多实验结果得出的,推测是因为引入的组件只为下游任务服务,因此更容易过拟合;还有就是对于模型架构的限制较多,尤其是适配器调优会涉及到模型内部层设计,因此调优后的组件不会适用于所有模型。
¶Reparameterization Tuning
代表作“LoRA”,属于“外挂式调参”,也是适配器调优的一种优秀的实现方式。更新的模型结构是下游的低秩矩阵,而且通过△W = BA的方法进一步减少了需要调整的参数。文中给出了两种更新LoRA的方法,分别是结构重参数化调优和校准重参数化调优。
结构重参数化调优通过对LoRA的BA结构进行更新,来达到优化LoRA更新的效果。文中介绍了Additional Architecture Design,即直接魔改BA结构,比如通过傅里叶变换以及使用向量更新BA等;以及Dynamical Expert Combination,即使用多个LoRA进行参数更新,运用了MoE的思想,即将不同的专业知识训练到不同的LoRA上面,然后再使用多个LoRA对模型进行更新。
校准重参数化调优通过对LoRA的BA模型本身进行调优来实现对模型更新的优化。文中介绍了参数更新正则化和自适应优化策略,参数更新正则化就是在约束LoRA的行为的情况下来更新LoRA,目的是不让LoRA影响到模型的大权重参数。自适应优化策略则是通过优化更新LoRA的训练过程,比如LoRA+方法提出了BA模型采取不同的学习率。
Reparameterization Tuning的优点是可以适应不同的模型,以及节省计算资源;缺点在于可能会限制模型的表达,因为LoRA只会对下游的低秩矩阵进行更新;以及LoRA对秩的选择非常敏感。
实验
¶实验目标
文中的实验目标有四个:
- 任务特化能力如何 - 哪种方法在下游任务上性能最好
- 知识稳定能力如何 - 哪种方法能最大限度地保留上游知识
- 特化与稳定如何权衡 - 是否存在一个能平衡两者的甜点方案
¶实验设置
文中的实验主要对比选择性调优和重参数化调优,来代表“侵入式调参”与“外挂式调参”的两种调参思路。
- 使用的模型是
LLaVA-OV-QWEN2-7b-Si与VILA-3B,使用两个模型可以验证结论的普适性,减少偶然性。 - 在调优方法方面,选择性调优使用了Full-ST,Top-ST以及Last-ST,其中Full-ST作为性能上限以及灾难性遗忘的基准;而重参数化调优选择了LoRA以及DoRA。
- 数据集方面,上游数据集选择了通用VQA和Caption任务,下游数据集使用了遥感,科学问答,病理学以及图标理解等数据集
¶实验过程
实验均遵循官方代码库进行复现,同一学习率、训练轮次、批大小等关键超参数,与16张A100上完成(太壕了),确保公平比较。然后分为三步
- 基线测试 - 即不使用任何调优方法
- 模型调优 - 使用设置中的调优方法进行调优
- 性能评估 - 使用上下游数据集对不同方法的模型进行调优
¶实验结果
- 全参调优虽然能大大提升下游性能,但是灾难性遗忘的现象最严重,泛化能力不足,适合不在乎上游知识,全力提升下游能力的场景
- LoRA能提升上游知识的留存度,但是限制了下游性能的发挥,适用于需要保留上游知识的场景
- LLM的上游编码了视觉与文本交互,调优这些层对图文理解任务的特化非常有效
- LLM的下游主要用于输出风格,如果需要模仿风格,那么可以调整下游参数
- 调节连接器可以整体调节视觉风格,当下游知识与上游知识相差巨大的时候适合调节这里,反之需要冻结这里的参数
想法
是否能够通过对下游知识本身进行分解,分为类似于基础知识、举一反三,类似于学生学习时的步骤,先学习基础知识(寻找知识之间的共性),然后再在基础知识的前提下学习更加高级的知识(学习知识之间的异性)。
