转载整理自 智子引擎
量子位 | 公众号 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系列开源模型与清昴智能已形成标准的昇腾国产方案,将上线至昇腾平台,欢迎大家关注和使用。