使用 VL-MoE 大规模扩展生成式专家混合多模态模型

人工智能生成内容 (AIGC) 领域正在快速发展,其目标是使内容创建更有效率和更易于访问。AIGC 最令人兴奋的领域之一是大型多模态模型的开发,例如 FlamingoBLIPGPT4,它们可以接受来自多个来源的输入,例如图像、文本、音频等,并生成各种格式的输出。例如,图像创建可以通过使用提示文本的稳定扩散和 DALLE 来实现,即将推出的 Office 的新功能可以利用新的 Microsoft Office Copilot 的强大功能,通过文本、图像、动画等创建幻灯片。

扩大模型规模是提高 AIGC 任务可用性和能力的一种常见方法。然而,简单地扩大密集架构(例如,从 GPT-1 到 GPT-3)通常对模型训练和推理来说都非常耗费资源和时间。解决这一挑战的一种有效方法是应用专家混合 (MoE)。特别是,最近的 基于文本的 MoE基于视觉的 MoE 研究表明,与质量相当的密集模型相比,MoE 模型可以显着降低训练和资源成本,或者在相同的训练预算下产生更高质量的模型。到目前为止,联合训练 MoE 用于多模态模型的有效性尚未得到很好的理解。为了探索这种重要能力,DeepSpeed 团队 自豪地宣布我们第一个大型生成式专家混合 (MoE) 多模态模型,名为 VL-MoE

Model architecture

图 1:我们 VL-MoE 中用于各种模态输入的新编码过程,其中灰色和彩色块分别表示未激活和激活的模块。

具体来说,我们将 MoE 结构合并到经典的单塔多模态模型中,该模型由以下部分组成:(1)跨模态的共享自注意力模块,(2)前馈网络 (FFN) 中的一组模态特定专家,以及(3)从密集 FFN 扩展的稀疏门控 MoE。随后,在与 VLMO(200k 训练步骤)中使用的训练资源相同的情况下,我们在以下两个方面展示了 VL-MoE 比最先进的密集对应物的优势

(1) VL-MoE 与其密集对应物相比,可以实现显着的精度提升。 表 1 显示,在相同的训练预算下(即每个标记具有相同数量的激活参数),具有 32 个专家的 VL-MoE Base 在所有四个视觉语言数据集上都比 VLMO-Base 密集模型获得了更好的精度。

(2) VL-MoE 在与密集对应物相比,使用更少的激活参数数量实现了相似的模型质量。 我们的结果表明,VL-MoE 的微调性能类似于 3.1 倍更大的 VLMO-Large 密集模型(即每个标记的激活参数数量多 3.1 倍)。由于 Transformer 的训练 FLOPs 与每个标记的激活模型大小成正比,因此这可以直接转化为大约 3.1 倍的训练成本降低。

  每个标记的参数(总参数数) VQA NLVR2 COCO Flickr30K
    test-dev / std dev / test-P TR / IR TR / IR
密集对应物          
VLMO-dense Base 180M (180M) 76.64 / 76.89 82.77 / 83.34 74.8 / 57.2 92.3 / 79.3
VLMO-dense Large 560M (180M) 79.94 / 79.98 85.64 / 86.86 78.2 / 60.6 95.3 / 84.5
我们的(具有 32 个专家的 VL-MoE)          
VL-MoE 180M (1.9B) 78.23 / 78.65 85.54 / 86.77 79.4 / 61.2 96.1 / 84.9

表 1:用于视觉语言分类任务和图像文本检索任务的不同模型的微调精度结果比较。

复杂的 MoE 模型设计需要一个高效且可扩展的训练系统,该系统可以支持多维并行和有效的内存管理。 DeepSpeed MoE 训练系统提供了此类高级功能,包括易于使用的 API,支持数据、张量和专家并行的灵活组合。此外,DeepSpeed MoE 通过利用专家并行和 ZeRO 优化,可以实现比最先进的系统更大的模型规模。通过利用 DeepSpeed MoE 系统,具有 32 个专家的 VL-MoE Base 实现了与 VLMO-dense Large 相似的模型质量,训练速度提高了约 2.5 倍。

DeepSpeed MoE 系统已经开源,可以轻松用作即插即用的组件,为任何大型 MoE 模型实现高性能低成本训练。如何使用 DeepSpeed MoE 的教程可在此处获得 这里。VL-MoE 目前正在集成到 DeepSpeed Examples 中作为模型示例。请继续关注我们关于此主题的即将发布的更新。

更新: