Routing Experts:在多模态大语言模型中学习动态专家路由

183 篇文章 0 订阅
176 篇文章 1 订阅

24年7月来自厦门大学的论文“Routing Experts: Learning to Route Dynamic Experts in Multi-modal Large Language Models”。

最近,混合专家 (MoE) 已成为实现多模态大语言模型 (MLLM) 的模态容量和效率之间权衡的流行范例。与以前的努力不同,这里致力于探索现有 MLLM 中的动态专家路径,并表明标准 MLLM 也可以是专家的混合。为了实现这一目标,为 MLLM 提出了一种动态专家方案,称为路由专家 (RoE),它可以实现基于示例的最佳路径路由,而无需明显的结构调整。同时,还引入结构稀疏性的新正则化,强制 MLLM 学习更多捷径推理,从而确保效率。此外,还实现在网络路由方面协调 MLLM 训练和推理方案。为了验证 RoE,将其应用于一组最新的 MLLM,包括 LLaVA-1.5、LLaVA-HR 和 VILA,并在一系列 VL 基准上进行广泛的实验。

如图是RoE示意图。(a)RoE 对给定示例,激活重要层的最佳专家网络进行采样。(b)在每一层中,路由器将根据输入特征决定使用适配器或默认层作为专家。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HvP7EbH9-1721839221368)(https://i-blog.csdnimg.cn/direct/ccaf831281e24fa78bf884b5235d2f71.png)]

现有 MoE-MLLM(如 MoE-LLaVA [36])通常会构建多个 FFN 分支作为每层的专家。在推理过程中,只激活一个或多个专家。实际上,MoE 模型仅根据输入特征激活子集。尽管模型性能有效,但其计算对于所有任务仍然相同,这对于某些示例也是冗余的。

与 LLM [1, 51] 类似,现有的 MLLM 在许多情况下也存在大量冗余。并非所有层对最终输出的贡献都相同。在这种情况下,专注于探索已存在 MLLM 中的动态专家路径。具体来说,可以将 MLLM 的每一层视为一个专家,并跳过不太重要的层以形成路由路径 G(x)′。

然而,MLLM某些层的缺失,必然会阻碍路由过程中的特征转换,尤其是对于训练良好的 MLLM 而言。这个问题也使得 MLLM 在动态训练过程中往往不会跳过任何步骤。

直接跳过方案容易阻碍特征转换,即特征差距。在这种情况下,本文为 MLLM 引入基于适配器的跳连接,构建动态专家路径 G(x)′,其中一个二值路由函数决定哪一层跳过。

虽然适配器仍然涉及一些计算,但它比 MLLM 层便宜得多。更重要的是,它已被证明能够在参数高效调优(PEFT)方面对大型模型进行特征自适应 [56, 61]。通过这种设计,RoE 也更容易优化。

可以引入一个稀疏正则化项,支持动态训练。这种正则化推动模型实现所需的跳过层率,从而提高模型效率。

然而,这个初始公式没有考虑问题的不同难度。直观地看,任务越难,通常需要更高的计算复杂度。因此,根据任务损失函数对稀疏正则化进行加权。RoE 模型使用任务损失函数作为问题难度的指标,将其整合到 RoE 模型的整体优化目标中。

动态路由的一个实际问题是,如何同时训练和优化所有示例的路由器?对每个示例插入路由器tokens。

这些路由器tokens是可学习的向量,它们从相应问题中汇总信息。这种设计使得每个问题都能参与其特定的专家网络,同时保持训练效率,从而调整动态 MLLM 训练和推理之间的差距。

一种针对 MLLM 的 RoE 训练方案主要包括三个阶段:

  • 阶段 1:适配器预热。在此阶段,目标是优化初始化的适配器,使其能够进行特征转换。具体而言,将根据预定义的稀疏目标随机选择默认层和一些适配器作为专家路径。为了降低优化难度,将冻结整个 MLLM 并仅更新适配器。因此,在此阶段只会更新适配器。
  • 阶段 2:路由器预热。当适配器学习良好后,开始优化路由器以进行路径选择。在此阶段,在适配器和路由器都经过训练时,MLLM 仍处于冻结状态。同时,除了默认目标外,还使用 RoE 的稀疏正则化。
  • 阶段 3:指令调整。最后,更新整个 RoE 和 MLLM 以进行指令调整,其中目标还包括稀疏正则化和默认目标。

将 RoE 应用于三种流行的 MLLM,即 LLaVA-1.5 [38]、LLaVA-HR [47] 和 VILA [37],并将新模型分别称为 RoE-LLaVA-1.5、RoE-LLaVA-HR 和 RoE-VILA。在 RoE 中,插入适配器的隐维度,设置为 1,024。超参数 α 设置为 0.5, 以控制稀疏正则化的影响。分别随机抽取 LLaVA-1.5 [38] 665k 指令数据的 15%、10% 和 25% 用于三阶段训练。在训练期间,MLLM 以 2 × 10^−6 的学习率进行优化,而路由器和适配器以 4 × 10^−4 的学习率进行更新。训练epoch设置为 1。其余设置与原始 MLLM 保持一致。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值