facebookresearch/multimodal

TorchMultimodal is a PyTorch library for training state-of-the-art multimodal multi-task models at scale.

解决的问题

TorchMultimodal 提供了一个用于训练最先进多模态模型的扩展 PyTorch 库。它通过提供模块化构建块、常用配置的预训练权重以及各种多模态任务的示例脚本,简化了构建这些模型的过程。

工作原理

该库由几个关键组件组成:

  • 模块化构建块:包括可以组合以创建新架构的融合层、损失函数、数据集和实用程序。
  • 模型类:提供流行多模态模型的即用型实现,如 ALBEF、BLIP-2、CLIP、CoCa、DALL-E 2、FLAVA、MAE/Audio MAE 和 MDETR。
  • Diffusion Labs:专门为构建扩散模型而设计的组件部分。
  • 数据转换:包含来自 CLIP、FLAVA 和 MAE 等流行模型的常用数据转换,以确保数据一致性。
  • 示例:用于检索、视觉问答、短语落地(phrase grounding)和文本生成视频等任务的实用脚本。

适用对象

该库专为希望大规模训练、微调或评估多模态模型的研究人员和开发人员设计,可将其作为研究的基准或未来工作的起点。

亮点

  • 广泛的模型库:支持包括 CLIP、BLIP-2 和 DALL-E 2 在内的广泛多模态架构。
  • 可组合架构:提供通用的构建块,如 ViT 和 BERT 编码器、Transformer 编码器/解码器以及各种融合模块。
  • 预训练权重:为常用模型的标准配置提供预训练权重。
  • 交叉任务:支持文本生成视频和视觉问答等多样化任务。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目