23年9月来自Meta的论文“AnyMAL: An Efficient and Scalable Any-Modality Augmented Language Model“。
任意模态增强语言模型(AnyMAL),是一个统一的模型,可以对不同的输入模态信号(即文本、图像、视频、音频、IMU 运动传感器)进行推理,并生成文本响应。 AnyMAL 继承了包括 LLaMA-2 (70B) 在内LLM 基于文本的推理能力,并通过预训练的对齐器(aligner)模块将特定模态的信号转换到联合文本空间。 为了进一步增强多模态LLM的能力,手工收集的多模态指令集对模型进行微调,除简单的QA之外包括各种主题和任务。 作者做全面的实证分析,包括人工和自动评估,并展示出各种多模态任务的先进性能。
如图是AnyMAL 的输出示例。 该模型理解各种输入信号(即视觉、音频、运动传感器信号),并响应自由格式的用户查询。 当多种模态交织并作为输入时(例如最右边:图像 + IMU 运动传感器信号),模型会联合进行推理。
如图是AnyMAL的训练。 (a) 模态对齐预训练允许投影层将每个模态编码器的输出映射到联合 LLM 嵌入空间。 (b) 通过多模态指令调整,模型学习将系统指令和文本查询与输入的多模态上下文相关联。 特定模态编码器包括:CLIP ViT-L/ViT-G/DinoV2(图像)、CLAP(音频)、IMU2CLIP(IMU 运动传感器)和 Intervideo(视频)。
AnyMAL通过配对的多模态数据(特定模态信号和文本叙述)对LLM进行预训练,实现了多模态理解能力。 具体来说,为每种模态训练一个轻量级适配器,将输入信号投影到特定 LLM 的文本tokens嵌入空间中。 通过这种方式,LLM 的文本tokens嵌入空间成为联合 tokens嵌入空间,其中tokens代表文本或其他模态。 每个适配器用于表示每种输入模态的tokens嵌入数量是固定的,本文中范围取为 64 - 256。 在对齐训练过程中,冻结了底层LLM的模型参数,比从头开始端到端训练更快地达到收敛,并在推理时继承了LLM的推理能力。 此外,为了最大化特征兼容性,对每种模态采用与文本嵌入空间对齐的编码器,例如 CLIP [30, 31] 用于图像,CLAP [32] 用于音频信号,或 IMU2CLIP [33] 用于 IMU 信号。
将大数据集(200M+实例)的预训练扩展到 70B 参数模型需要大量资源,通常需要 FSDP [39] 包装器(wrapper)将模型分片到多个 GPU。 为了有效地扩展训练,在多模态设置中实施量化策略(4 位和 8 位)[40],其中保持模型的 LLM 组件冻结,并且只有模态token化器可训练。 这种方法将内存需求减少了一个数量级。 因此,能够在单个 80GB VRAM GPU 上训练 70B AnyMAL,批量大小为 4。
与 FSDP 相比,该量化方法仅使用一半的 GPU 资源实现了相同的吞吐量。 与 FSDP 训练相比,本文训练/验证损失始终较高,但仍然没有影响生成质量(在推理时,使用原始 LLM 的全精度来最大限度地提高准确性)。
为了进一步提高模型针对不同输入模态的指令跟从能力,用多模态指令调整数据集(MM-IT)进行了额外的微调。 具体来说,将输入连接为 [ <modality_tokens>],这样响应目标则基于文本指令和模态输入。 按照以下方式执行消融:(1)在不改变 LLM 参数的情况下训练投影层,或(2)使用低秩适应(Low-Rank Adaptation ) [41] 进一步调优LM 行为。
其局限性在于:
首先,所提出的因果多模态语言建模方法在建立一个输入模态的稳健落地方面仍然遇到挑战。 具体来说,在生成过程中,模型有时会优先考虑更多地关注生成的文本而不是输入图像。 这会导致生成的输出包含从底层语言模型 (LLM) 获取的偏差,与图像上下文进行比较时可能会导致不准确。 预计需要进行额外的架构调整或解冻 LLM 参数才能有效解决此限制(尽管这可能会带来更高的计算成本)。
其次,虽然大大增加了预训练数据集的大小,但对视觉概念和实体的理解仍然受到训练过程中所包含的配对图像文本数量的限制。 在纯文本语言模型领域,通常观察到结合外部知识检索的方法显着增强了模型去克服知识限制的能力。 这些方法提供了潜在方法去缓解前面提到的限制。
最后,LLM 的多模态适应受到四种模态的限制:图像、视频、音频和 IMU 信号。 虽然该方法有可能涵盖任何其他模态,但前提是存在配对数据集,但其对此类模态的有效性仍需要得到证实。
如图是一个AnyMAL多模态输入的推理实例。