多模态大模型学杂了能力反下降?新研究:MoE+通用专家解决冲突
来源:51CTO.COM
时间:2023-12-31 14:35:52 440浏览 收藏
哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《多模态大模型学杂了能力反下降?新研究:MoE+通用专家解决冲突》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!
通过微调,可以使通用大模型更加适配具体的行业应用。微调是指在通用大模型的基础上,使用特定行业的数据进行再训练,以优化模型在该行业的表现。通过微调,模型可以更好地理解和处理与行业相关的任务和领域特定的语言。这样可以提高模型在具体行业应用中的性能和准确度,
然而,最近的研究表明:
对于多模态大模型进行多任务指令微调时,可能会面临一些挑战。由于不同任务之间存在冲突,大模型可能会学得更多的错误知识,从而导致其泛化能力下降。这是因为在多任务微调过程中,不同任务的目标可能存在差异,模型需要在这些目标之间进行权衡和平衡。这可能会导致模型在某些任务上表现出色,但在其他任务上表现糟糕。为了克
△多模态指令微调存在任务冲突
举个例子,多模态问答任务通常需要简洁准确地回答问题,而文档理解任务则要求大模型提供尽可能详细的描述。
由于不同的下游任务指令导致数据分布的差异较大,使得一个大型模型难以在所有下游任务中都达到最佳性能。 这是因为不同的下游任务可能具有不同的数据特征和目标函数,因此它们对模型的要求也会有所不同。一个模型在一个任务上表现出色,并不意味着它在其他任务上也能表现出同样的优秀性能。 为了解决这个问题,可以考虑
要解决《文字玩出花》怀旧大扫除关卡的问题,首先需要仔细观察图像,找出与时代不符的细节。这些细节可能是物品、服装、建筑等方面的差异。一旦发现了一个不符合时代的细节,可以点击它进行标记。通常,每个关卡
香港科技大学、南方科技大学和华为诺亚方舟实验室的研究团队联合开展了一项研究。他们受到了MoE(混合专家模型)开源大模型Mixtral-8×7B的启发,提出了一种利用稀疏专家模型的方法,来构建一个具有更好下游任务泛化性能和更强理解能力的多模态大模型。
图片
好的,下面是《文字玩出花》怀旧大扫除关卡的通关攻略。 1. 仔细观察图像:打开关卡后,先仔细观察整个图像,注意细节和背景。 2. 寻找与时代不符的细节:在图像中寻找与时代不符的细节,比
多模态指令微调存在任务冲突
为了验证多模态指令微调中不同类型任务数据对模型性能的影响,研究人员将数据进行如下划分:
- VQA(视觉问答):VQAv2、OKVQA、A-OKVQA、OCRVQA,
- Captioning(图像描述):COCO Caption、Web CapFilt、TextCaps,
- Full(所有数据):VQA、Captioning、LLaVA-150k、VQG(视觉问题生成,基于VQA数据)。
基于以上数据,研究人员采用LoRA对InstructBLIP进行微调,获得3个专家模型,并在其他数据(Flickr30k-图像描述、GQA/SciQA/IconQA/TextVQA等不同类型视觉问答、HM/VSR等多模态分类或推理任务)上进行零样本测试和评估。
图片
从上图(右)中可以看出,在指令微调中,并非采用全量数据会取得最好效果,相反,只有三个下游任务(GQA,VSR,TextVQA)在全量数据专家下表现最好。
这说明,对于大部分任务来说,在指令微调过程中引入其他任务的数据,反而会降低模型性能,多模态指令微调存在任务冲突。
另一方面,实验中观察到,VQA和Captioning两个专家模型,在各自任务中取得了相较于全量专家更好的表现。这样的方法看似解决了任务冲突的问题,但存在以下局限:
- 不同训练任务的知识无法在任务专家之间共享;
- 训练的数据需要人为地划分,当训练数据种类较多时难以进行;
- 新任务来临时,需要人为判断使用哪一个任务专家。
为了解决以上局限,研究团队提出,可以利用稀疏专家模型(MoE),不同的专家处理不同的任务,并设计一种数据划分的方法,把相似的任务交给同一个专家处理。
基于指令聚类的稀疏专家多模态大模型
通过指令聚类划分数据
图片
在大型视觉-语言模型(LVLM)中,该文定义指令为所有的文本输入,如上图(左)C1-C4的文本。
这些指令描述了任务的意图、要求。因此,作者使用Kmeans将所有的指令聚为64类。
如上图(右)所示,指令的聚类信息可以有效表示数据的任务类型。这样做省去了人力划分数据的成本。
基于指令聚类信息进行混合LoRA专家路由
图片
和前面的任务专家相似,模型在该层的输出同样由冻结的LLM线性层以及微调的LoRA产生。
不同的是,这里利用数据的指令聚类信息来对混合LoRA进行路由。具体而言,对于的模型的输入,可以按照如下方式计算它的路由信息:
图片
其中,topk()(考虑k=1的情况)保持前k个最大项不变,并将其他的设置为0,C是可学习的类别的嵌入表征,C[xi]表示xi对应指令的聚类表征,Wgate是路由的线性参数。
通用专家提升模型泛化性
实验发现,上述的指令聚类LoRA专家的确缓解了任务冲突的问题,但由于一个专家可能只见过一部分任务,整个模型对下游任务的泛化性降低了。
图片
因此,该研究团队提出用通用专家来从所有数据中学习指令泛化能力。
与MoE不同,除了通过top1选择的任务专家,该方法还固定地激活一个通用专家,使得这个专家从所有的指令数据中学习。
因此,模型在该层输出为LLM原始冻结参数W,任务专家We和通用专家Wu的加权和。
图片
在这样的设计下,任务专家和通用专家的协同既提升了模型在和训练集相似任务的表现,又保障了模型对新任务的泛化能力。
实验效果
该论文遵循InstructBLIP的实验场景(数据使用、评估标准、训练细节),在13个训练数据集(包括VQA、Captioning、VQG等)上进行指令微调并在11个测试数据集上评估(训练数据集和测试数据集没有重叠)。
图片
由上表所示,引入该文章提出的方法(MoCLE)后,InstructBLIP相较于基线模型在所有下游任务上都有提升,其中,在VSR,IconQA,TextVQA和MSVD-QA的提升尤为明显。
图片
上图可视化了LLM某一层混合LoRA专家在不同数据下的路由结果,虚线上下方分别是训练和测试数据。(a)和(b)分别显示了使用指令聚类信息和指令token平均表征作为路由的结果。
可以看到,使用指令聚类信息路由时,数据在专家中出现了分化。例如专家0主要负责VQA相关任务,专家2主要负责Captioning相关任务,有效实现专家的差异化。另一方面,使用指令token平均表征作为条件时,不同任务对专家的激活是相似的,没有出现分化。
研究团队认为,稀疏专家多模态大模型+通用专家模块的组合,缓解了任务之间的冲突,还保证了稀疏模型对任务的泛化能力,使得多模态大模型能够更有效地适配不同的下游行业应用。
这是首个在多模态大模型指令微调中结合LoRA和稀疏专家模型(MoE)来缓解任务冲突并保持模型泛化能力的工作。
该工作证实了其应对复杂下游任务的有效性,并未多模态大模型的应用和发展开辟了新途径。
论文链接:
https://arxiv.org/abs/2312.12379
今天带大家了解了的相关知识,希望对你有所帮助;关于科技周边的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
204 收藏
-
336 收藏
-
205 收藏
-
246 收藏
-
211 收藏
-
336 收藏
-
455 收藏
-
277 收藏
-
377 收藏
-
433 收藏
-
473 收藏
-
224 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习