作者:Anas Awadalla 和 Irena Gao , 2023 年 3 月 28 日
概述。 我们很高兴地宣布 OpenFlamingo 的发布,它是 DeepMind 的 Flamingo 模型的开源复制品。OpenFlamingo 的核心是一个支持大型多模态模型 (LMM) 训练和评估的框架。查看我们的GitHub 存储库和演示以开始使用!
代码地址:https://github.com/mlfoundations/open_flamingo
对于第一个版本,我们的贡献如下:
- 🏋️ 一个用于训练 Flamingo 风格 LMM 的 Python 框架(基于 Lucidrains 的flamingo 实现和 David Hansmair 的flamingo-mini 存储库)。
- 🪅 具有交错图像和文本序列的大规模多模态数据集。
- 🧪 视觉语言任务的上下文学习评估基准。
- 🤖 我们基于 LLaMA 的 OpenFlamingo-9B 模型的第一个版本,还有更好的模型!
随着BLIP-2和FROMAGe的发布,开源 LMM 的最新进展显示了多模式系统令人兴奋的潜力。我们希望 OpenFlamingo 能够帮助推动多模态机器学习的进步,我们正在准备更多令人兴奋的贡献,敬请期待!
目标。 我们与 OpenFlamingo 的目标是开发一个可以处理各种视觉语言任务的多模式系统。最终,我们的目标是在处理视觉和文本输入方面与 GPT-4 的功能和多功能性相匹配。为了实现这一目标,我们正在创建DeepMind 的 Flamingo模型的开源版本,这是一种能够处理和推理图像、视频和文本的 LMM。我们致力于构建完全开源的模型,并相信这种透明度对于促进协作、加速进步和使对最先进的 LMM 的访问民主化至关重要。我们的发布是朝着这个目标迈出的第一步。
我们正在分享我们的 OpenFlamingo-9B 模型的第一个检查点。虽然该模型尚未完全优化,但它展示了该项目的潜力。通过共同努力并接收来自社区的反馈,我们可以培养更好的 LMM。我们鼓励社区通过提供反馈和为存储库做出贡献来参与开发过程。
技术细节。我们的实施很大程度上遵循Flamingo 的实施。Flamingo 模型在包含交错文本和图像的大规模网络语料库上进行训练,这对于赋予它们上下文中的少样本学习能力至关重要。OpenFlamingo 实现了原始 Flamingo 论文中提出的相同架构(感知器重采样器、交叉注意层)。然而,由于 Flamingo 的训练数据不向公众开放,我们使用开源数据集来训练我们的模型。具体来说,已发布的 OpenFlamingo-9B 检查点是在来自我们新的多模式 C4 数据集的 500 万个样本和来自LAION-2B的 1000 万个样本上进行训练的。
多式联运C4
Multimodal-C4 数据集是纯文本C4 数据集的扩展,用于训练 T5 模型。对于C4 en.clean数据集中的每个文档,我们从Common Crawl检索原始网页,然后收集可下载的图像。数据清理是通过重复数据删除和内容过滤进行的,旨在消除不安全的工作(NSFW)和不相关的图像,例如广告。此外,我们运行人脸检测并丢弃具有正面识别的图像。最后,图像和句子在文档中使用二分匹配交错:CLIP ViT/L-14 图像-文本相似性作为边缘权重。Multimodal-C4 包含大约 7500 万个文档,包括大约 4 亿张图像和 38B 个标记。即将发布包含更多详细信息的完整版本。
基准
为了衡量 OpenFlamingo 的性能,我们评估了一组不同的下游任务。我们的目标是最终构建 Flamingo 基准的开源版本,并超越它以标准化视觉语言任务评估。目前我们支持视觉问答(VQAv2、OK-VQA)、字幕(COCO、Flickr30k)和图像分类(ImageNet)任务。期待我们添加更多的评估集来探测模型推理、偏差等!您可以访问 OpenFlamingo 存储库上的基准测试。
模型发布
作为我们发布的一部分,我们还提供了来自我们正在开发的 OpenFlamingo-9B 的检查点,OpenFlamingo-9B 是一个建立在LLaMA 7B和CLIP ViT/L-14之上的 LMM 。该模型仍在进行中,但已经可以为社区带来很多价值。例如,
表现
我们在 COCO 和 VQAv2 上评估了我们的检查点。在这里,我们使用不同数量的镜头报告验证性能。
可可(苹果酒)
*请注意,我们报告了 OpenFlamingo-9B 的验证性能(使用 Flamingo 论文中概述的相同设置),而 DeepMind Flamingo-9B 性能基于测试数据。
安全和道德考虑
由于 OpenFlamingo-9B 建立在冻结的LLaMA和CLIP模型之上,您可以期望 OpenFlamingo 继承父模型的危害。我们知道,通过发布这些模型,它们可能会被用于有害的方式。然而,对于研究界来说,研究大型多模态模型的危害很重要,我们相信开源这些模型将使社区能够开发出更好的方法来减轻未来模型中的这些危害。
我们强调 OpenFlamingo-9B 是研究神器而非成品。它可能会产生意想不到的、不适当的、令人反感的和/或不准确的结果。因此,我们提倡在任何实际应用中使用我们的模型之前要谨慎和彻底评估。