先这样答
这三者的核心区别在于冻结策略与中间连接方式。面试官的考点聚焦于谁被冻结、谁参与训练以及中间模块怎么接。Flamingo 擅长处理少样本图文任务。BLIP 侧重双头架构与数据清洗。BLIP-2 追求训练成本的控制。
Flamingo 冻结了视觉编码器。它使用 Perceiver Resampler 模块进行特征投影。模型在语言模型内部插入交叉注意力层。这些交叉注意力层负责接收投影后的视觉特征。语言模型保留原有结构并训练这些新插入的注意力层。这种设计让模型能有效应对少样本图文输入。
BLIP 采用理解与生成双头架构。它引入 CapFilt 机制进行噪声过滤。模型利用生成头产出文本描述。模型再利用理解头主动过滤掉低质量的图文对。这种清洗机制去除了训练数据中的噪声。模型借此获得了更高质量的图文匹配能力。
BLIP-2 走向了彻底的两端冻结策略。它同时冻结了图像编码器与底层的 LLM。模型设计了 Q-Former 作为中间连接模块。Q-Former 负责从冻结的视觉特征中提取信息。提取出的特征随后直接送入冻结的语言模型。这种两端冻结的策略让训练成本大幅下降。模型在训练阶段只需要更新 Q-Former 模块的参数。
面试官会怎么追问
-
「Flamingo 处理少样本图文任务时,中间模块起到了什么作用?」 模型使用 Perceiver Resampler 模块进行特征投影。投影后的特征通过新插入的交叉注意力层进入语言模型。这种结构保留了语言模型原有的能力。它让模型能快速适应少样本的图文输入场景。
-
「BLIP 的双头架构和 CapFilt 噪声过滤是怎么配合的?」 模型利用生成头生成新的图像描述。模型再利用理解头去评估这些图文对。理解头会过滤掉包含噪声的低质量图文对。这种配合清洗了原始训练数据。它提升了模型对图文特征的学习效果。
-
「BLIP-2 训练成本大幅下降的根本原因是什么?」 模型同时冻结了图像编码器与 LLM。训练过程只更新中间的 Q-Former 模块。Q-Former 承担了连接两端冻结模块的全部对齐工作。这避免了微调庞大语言模型带来的巨额计算开销。
回答的坑
把 BLIP-2 的 Q-Former 记成直接微调语言模型,忽视了它两端冻结的核心创新。 混淆 Flamingo 和 BLIP-2 的冻结策略,误以为 Flamingo 也完全冻结了语言模型。
同系列的题