OFA:迈向构建全能模型

OFA(One-For-All)是一个统一的多模态预训练模型,旨在将不同模态的理解和生成任务整合到单一框架中。通过利用基于指令的多任务预训练,OFA 旨在创建一个通用模型,能够处理多样的输入和输出,而无需为不同任务更改模型结构。

跨模态、架构与任务的统一框架

OFA 通过聚焦于统一的三大核心支柱——模态无关、任务无关以及任务的全面性,来实现通用能力。

模态统一

为了处理多样的输入,OFA 将非文本模态离散为 token。图像使用 VQ(向量量化)token 表示,边界框则通过分箱离散,遵循 pix2seq 方法。这使得模型能够将所有模态视为 token 序列。

架构统一

OFA 采用通用的 Transformer 编码器-解码器架构,类似于 T5 模型。为处理图像输入,模型使用 ResNet 的前三个块。为了提升训练稳定性和迁移性能,架构中加入了 Normformer。

任务统一

OFA 使用基于指令的多任务学习方法进行预训练。模型在八个不同任务上进行训练:

  • Vision-Language Tasks (5): 视觉定位、定位式描述、视觉问答 (VQA)、图文匹配和图像描述。
  • Vision Tasks (2): 检测和图像填充。
  • Language Task (1): 文本填充。

指令以文本描述的形式插入,帮助模型区分这些任务,从而在基于新指令的情况下,实现对未见任务的零样本生成潜力。

模型变体与规模

OFA 在五种不同规模下发布,以满足各种部署和研究需求:

  • OFA-Tiny: 33M 参数
  • OFA-Medium: 93M 参数
  • OFA-Base: 180M 参数
  • OFA-Large: 470M 参数
  • OFA-Huge: 930M 参数

性能与实验结果

OFA 在多模态和单模态基准测试中表现出竞争力,常常匹配或超越专用模型。

多模态能力

  • Vision-Language Understanding: OFA-Huge 模型在 VQA 和 SNLI-VE 上的表现可与 Flamingo(80B 参数)和 CoCa(2B 参数)相媲美,并在视觉蕴含任务上达到最佳性能。
  • Vision-Language Generation: OFA 在图像描述任务中,无论是交叉熵还是 CIDEr 优化,都实现了最新的(SoTA)性能。在视觉定位任务中,基础规模模型超越了之前的 SoTA,且性能随模型规模一致提升。
  • Text-to-Image Generation: 由于在图像填充上的预训练,OFA 能生成图像代码并取得低 FID 分数,且在更大数据集上微调后进一步提升。

单模态能力

  • Natural Language Understanding (NLU): 在 GLUE 基准上,OFA 与 RoBERTa 和 DeBERTa 竞争力相当。
  • Natural Language Generation (NLG): OFA 在 Gigaword 摘要任务上表现出色,超越了之前的多模态预训练模型。
  • Vision Understanding: 在 ImageNet 分类任务上,OFA 的表现与自监督视觉模型如 BeiT 和 MAE 相当。

组合泛化与迁移

OFA 展示了通过组合泛化将已学能力迁移到未见任务和领域的能力。

  • Unseen Tasks: 研究者提出了“Grounded VQA”,一种结合 VQA 与定位式描述的新任务。仅通过更改指令,OFA 即可利用已有能力完成该新任务。
  • Unseen Domains: OFA 能有效迁移到未见领域,例如在动画图像上进行视觉定位,这得益于其在动漫数据和通用领域视觉定位上的预训练结合。

结论

OFA 模型表明,单一的基于 Transformer 的框架即可统一任务和模态,为多模态表征学习中通用基础模型的开发提供了有前景的路径。

Sources