智子引擎开源多模态MoE大模型,可高效扩展模型容量 DATE: 2024-11-28 17:53:02
转载整理自 智子引擎
量子位 | 公众号 QbitAI
随着多模态大模型的智引展模快速发展,当前主流多模态大模型具备完成多种任务的擎开能力(图文描述、视觉问答、源多盘锦市某某化品运营部文字识别、模态模型图标理解、可高目标检测等)。效扩型容但是智引展模,这些不同的擎开多模态任务往往具有完全不同的数据分布,导致在模型训练过程中遇到“多任务冲突”的源多问题,尤其在模型参数量较小时,模态模型这种问题尤为突出。可高如何才能在有限增加模型参数量以及训练成本的效扩型容条件下,高效地扩展模型容量,智引展模盘锦市某某化品运营部缓解多模态大模型“多任务冲突”问题?
近日,擎开针对这一挑战,源多来自大模型初创公司智子引擎的研究团队开源了基于MoE架构的多模态大模型Awaker2.5-VL。Awaker2.5-VL通过设置多个专家,扩展了模型在不同任务上的能力,有效地缓解了多模态“多任务冲突”的问题。该模型还对MoE中门控网络的路由策略进行了细致的研究,并设计了一个简单且十分有效的路由策略,提升了模型训练的稳定性。目前,Awaker2.5-VL的论文和代码已经公开,后续还会更新更强的版本。
论文地址:
https://arxiv.org/abs/2411.10669
代码仓库:
https://github.com/MetabrainAGI/Awaker
模型架构
Awaker2.5-VL采用参数高效的LoRA-MoE架构,如下图(左)所示。该架构包含多个Task Expert和一个Global Expert,分别学习专用知识和通用知识,每个专家都是一个LoRA结构。此外,该架构还包含一个门控网络用于控制专家的激活。这种MoE架构可以在Attention、MLP等结构中执行快速插入的操作,并且还可以通过调整每个LoRA的秩自行调整模型的参数量。Awaker2.5-VL还设计了一个简化版的MoE架构,如下图(右)所示,在这个简化版MoE中,门控网络被移除,而是由其它层MoE共享的路由结果控制专家的激活。Awaker2.5-VL在基座模型中的不同模块穿插使用这两种MoE架构。
Awaker2.5-VL采用的两种MoE架构
Awaker2.5-VL针对MoE架构中门控网络的路由策略进行了研究,并设计了一种简单且有效的Instance-level的路由策略。该策略将图片和问题的Embedding作为门控网络的输入,并且为了保持训练和推理时路由的一致性,训练时数据中的label部分不参与路由。此外,与传统MoE不同的是,Awaker2.5-VL每一层MoE的门控网络都共享相同的输入。这种简单高效的路由策略降低了模型的复杂度,提高了模型的稳定性。
模型训练
Awaker2.5-VL以Qwen2-VL-7B-Instruct作为基座模型进行实现,总模型参数量为10.8B。训练分为三个阶段,如下图所示。第一阶段,初始化训练。在该阶段基座模型被冻结,并设置一个单LoRA进行训练。第二阶段,MoE训练。该阶段进行整个MoE模块的训练(包括每个专家和门控网络),其中每个专家都使用第一阶段训练的LoRA进行参数初始化。第三阶段,指令微调阶段。该阶段将MoE的门控网络冻结,仅训练每个“专家”,将进一步加强模型的指令跟随能力。同时,该阶段的训练策略也适用于基座模型在其他下游任务微调的场景。
Awaker2.5-VL的三阶段训练过程
Awaker2.5-VL一共使用了1200万的指令数据进行模型训练,其中包括700万的英文数据和500万的中文数据。英文数据主要来源于开源数据,包括Cambrian (2M)、LLaVAOneVision (4M)、Infinity-MM (800K)、MathV360k (360K)等。中文数据则是智子引擎团队的自建数据集,包括图文描述、图文问答、目标检测、文字识别等多种任务数据。
模型性能
Awaker2.5-VL主要在MME-Realworld系列和MMBench系列Benchmark上分别进行了中文测评和英文测评。MME-Realworld是当前最难、规模最大多模态评测基准,而MMBench是主流多模态大模型参评最多的评测基准之一。
Awaker2.5-VL在MME-Realworld和MME-Realworld-CN都位列榜首,且是目前唯一在该Benchmark上“及格”(超过60分)的模型。考虑到MME-Realworld主要面向自动驾驶、遥感、视频监控等复杂场景,Awaker2.5-VL在MME-Realworld上的出色表现很好地展示它在落地应用中的巨大潜力。
Awaker2.5-VL分别在MMBench、MMBench_v1.1、MMBench_CN、MMBench_CN_v1.1四个榜单进行了测评,并且分别以英文能力平均分数(MMBench和MMBench_v1.1)和中文能力平均分数(MMBench_CN和MMBench_CN_v1.1)进行排序。Awaker2.5-VL在中文场景和英文场景中分别位列第9和第7。在同量级参数量的模型中,Awaker2.5-VL表现远超其他模型。这就是说Awaker2.5-VL能够兼顾模型效果和资源消耗,也进一步证明它具有极大的落地应用价值。
模型应用
2024年,智子引擎已经成功地将Awaker2.5-VL应用于多个复杂的实际场景,包括国家电网、社会治理、服务型机器人等。在即将到来的2025年,智子引擎将继续探索Awaker2.5-VL更多的落地应用场景。为了鼓励这种探索,智子引擎选择开源Awaker2.5-VL,基于战略合作伙伴清昴智能的华为昇腾原生工具链MLGuider-Ascend,Awaker2.5-VL已适配昇腾全产品线,希望更多生态伙伴能够参与进来。同时,为了加速国产化AI进程,Awaker系列开源模型与清昴智能已形成标准的昇腾国产方案,将上线至昇腾平台,欢迎大家关注和使用。