Flamingo 略读

来源:duangxin/LLM-learing week4/week4_log.md

Flamingo: a Visual Language Model for Few-Shot Learning

Flamingo | Alayrac et al., 2022 | 【略读】

阅读重点

  • Flamingo 首次证明 few-shot 多模态 in-context learning 可行。
  • 核心思想是将冻结视觉编码器与冻结 LLM 通过跨注意力机制连接。
  • 由于工程细节和训练成本较高,重点把握它的历史定位,以及“如何把视觉信息高效注入 LLM”的思想。

笔记

  1. Flamingo 想让模型看懂图片或视频,并且只靠几个例子就学会回答新任务。它可以接收图片、视频和文字交错组成的提示,然后生成文字输出。
  2. 它的目标是把大语言模型的上下文学习能力搬到多模态任务里。这里的 few-shot 不只是文本 prompt 里的几个例子,而是图文交错上下文中的示例。
  3. Flamingo 同样冻结视觉编码器和语言模型,但和 BLIP-2 不同,它面向交错图文序列的自回归生成,并在语言模型层中插入跨模态注意力模块,让视觉信息能在多层被使用。
  4. 这篇文章和 BLIP-2 可以形成对照:BLIP-2 更强调用 Q-Former 低成本桥接冻结模型,Flamingo 更强调在 LLM 内部多层注入视觉信息和支持 few-shot 多模态上下文。
  5. Flamingo 使用网页级大规模图文数据,因此容易遇到噪声和不准确标签。它的数据清洗主要依赖基础网页过滤、图像质量过滤、显式内容过滤、部分 benchmark 去重,以及用高质量数据补充 noisy 数据。
  6. 我的质疑是:Flamingo 可以借鉴 BLIP 的 CapFilt 思路进一步清洗数据。用生成器生成更贴近图片内容的 caption,再用过滤器筛掉不匹配样本,可能有助于降低训练成本并提升泛化。