当 AI 终于学会「看了再听」:ALBEF 是怎么把多模态预训练推进到「对噪声鲁棒」时代的
- 关联论文:2107.07651
你有没有想过这样一个问题 🤔:
当你给 AI 一张「猫在沙发上」的图片,再问它「沙发是什么颜色」——它是怎么先把图片看清、再把问题听懂、最后给出一个准答案的?这件事为什么难?是因为模型不够大,还是因为「看图」和「读文」这两件事,原本就没在同一套语言里?
答案是:arXiv 2107.07651(Li et al., 2021, ALBEF: Align Before Fuse, Salesforce)用一篇论文正面回答了——
真正缺的不是一个更大的模型,而是一个更聪明的训练顺序:先把「图」和「文」拉到同一个语义空间里(这一步叫 align / 对齐),再去学它们的细粒度交互(这一步叫 fuse / 融合)。 在此基础上再加一个「动量老师」帮忙过滤噪声配对——这就是 ALBEF 给 2021 年多模态预训练留下的两件工程神器。
今天这篇科普,我就把它讲透——哪怕你完全不懂 Transformer 和对比学习,10 分钟内也能看懂「AI 看图问答」这条路是怎么被 ALBEF 打通任督二脉的、为什么「先对齐再融合」成了 2021–2024 几乎所有多模态模型的事实骨架、以及工程师复现时会踩哪些坑。
TL;DR(30 秒版)
- 解决的问题:2021 年的 vision-and-language 预训练 (VLP) 主要分两条路线——双编码器(CLIP/ALIGN)对齐强但不会做生成类任务(VQA、captioning),联合编码器(LXMERT/UNITER)融合强但没有「单模态对齐先验」导致融合时要返工学对齐、收敛慢、还需要 region proposal。两条路线都没解决「网络爬来的图-文对天然带噪声」这个工业级最大障碍。
- 本文贡献:提出 ALign BEfore Fuse (ALBEF)——先 ITC(Image-Text Contrastive)把图像 / 文本单模态编码器对齐到同一个语义空间,再让跨模态 Transformer 在这个「已对齐」的基础上做 MLM(Masked Language Modeling)+ ITM(Image-Text Matching)融合;为应对噪声数据,引入 momentum distillation(用动量模型的伪标签当软目标帮主模型抗噪),并从互信息最大化(InfoMax)视角给出 ITC / ITM / MLM 三个目标的统一解释。
- 为什么重要:ALBEF 在 image-text retrieval、VQA、NLVR²、visual entailment 上同时刷新 SOTA,仅用 14M 数据就追平甚至超过 CLIP 用 400M 数据训出来的检索能力——「Align Before Fuse」从此成为 2021–2024 年所有多模态模型(BLIP / BLIP-2 / CoCa / LLaVA / Qwen-VL / InternVL)共享的工程模板,Momentum Distillation 成为 noisy label 训练的事实标准答案。
- 一个洞察:「两阶段推断」——先做轻量对齐(ITC),再做重量融合(MLM/ITM)——这正是今天所有 vision-LLM(如 LLaVA / InternVL)的事实骨架。ALBEF 不只是 VLP 的一种方法,而是一种结构性设计哲学。
一、2021 年的 vision-language 战场:双编码器 vs 联合编码器各有什么坑
把时间拨回 2021 年。
那时候的「视觉-语言 AI」世界是这样的:
| 路线 | 代表工作 | 关键优势 | 关键短板 |
|---|---|---|---|
| 双编码器 | CLIP (2021)、ALIGN (2021) | 检索 / zero-shot 强 | 不会做生成类(VQA、captioning) |
| 联合编码器 | LXMERT、UNITER、Oscar | 融合强,VQA / NLVR² 强 | 没有对齐先验——融合阶段要返工学对齐;需要 Faster R-CNN 抽 region feature(要 bbox 标注 + 高分辨率推理) |
| 学术好奇 | —— | —— | 「能不能先把对齐做掉,再去融合?」+ 「噪声图-文对怎么训?」两个问题都没人正面回答 |
也就是说——想要一个模型同时具备「检索强 + 生成强 + 抗噪声 + 推理快」——这四件事没有任何一个模型能同时做到。
ALBEF 一次性把这四件事全做了:
- 对齐 + 融合两阶段:ITC 先把 image / text encoder 拉到同一空间 → multimodal Transformer 在已对齐的 embedding 上做 MLM + ITM 细粒度融合;
- 抗噪:momentum distillation 用「上一代集体的共识」当软标签,把噪声 pair 的破坏力过滤掉;
- 推理快:用 ViT-B/16 替代 Faster R-CNN,不需要 region proposal——比 LXMERT/UNITER 路径快约 10 倍;
- 数据高效:14M 数据的 ALBEF 在 Flickr30K 上 R@1 = 95.9,追平甚至超过用 400M 数据训的 CLIP(R@1 = 88.0)。
二、ALBEF 的核心架构:先对齐再融合
ALBEF 的设计哲学可以一句话概括:别让融合层返工学对齐,先把「同一空间」铺好,再去做细粒度交互。
整个架构是这样的:
[Image] ──> ViT-B/16 ──> img_feats ──┐
│ ITC (对比)
[Text] ──> BERT-base (12L) ──> txt_feats ──┘ 对齐到同一空间
│
(image embedding 拼到 text 前面)
↓
[multimodal encoder: 6-layer Transformer] ← ITM (是/否匹配) + MLM (15% 掩码)
↓
[任务头:VQA / retrieval / NLVR² ...]
三编码器的设计:
| 编码器 | 架构 | 参数量 | 作用 |
|---|---|---|---|
| Image encoder | ViT-B/16 | ~86M | 把图像编码成 embedding |
| Text encoder | 12-layer BERT-base | ~110M | 把文本编码成 embedding |
| Multimodal encoder | 6-layer Transformer | — | 在「已对齐」的 embedding 上做跨模态融合 |
三个预训练目标:
| 目标 | 作用 | 阶段 |
|---|---|---|
| ITC (Image-Text Contrastive) | 单模态对齐:把 img / txt 拉到同一空间 | 「对齐」阶段 |
| ITM (Image-Text Matching) | 跨模态二分类:判「是/否匹配」 | 「融合」阶段 |
| MLM (Masked Language Modeling) | token 级语言建模:看过 image 后填合理词 | 「融合」阶段 |
关键的「加速技巧」:image 不进 multimodal encoder 主层,只用 image encoder 出来的 embedding 拼到文本前面——这让推理可以缓存 image embedding,同一张图的不同文本 query 不需要重跑 ViT。
三、Momentum Distillation:噪声图-文对的「动量老师」
2021 年,几乎所有公开图-文语料(Conceptual Captions、SBU、LAION-COCO、CC3M)都是 web 自动抓取的,里面普遍存在:
- 图完全没关系文(mis-aligned pair);
- 文是汉堡文 / product description,与图「描述 → 图像」关系弱;
- 重复 caption、模板化短句。
直接在这些数据上 ITC + MLM 学习会被噪声严重带偏。ALBEF 想正面回答:
如何在噪声图-文对上做稳的训练?答案是——不能全靠人工清洗,必须让训练自身抗噪。
Momentum Distillation 的做法:
- 维护一组 momentum encoder(参数 = base encoder 的 EMA):$\theta_{-} \leftarrow m \theta_{-} + (1-m)\theta$,$m=0.995$;
- 每个训练 step,对当前 batch 再跑一次 momentum encoder 的前向,得到「伪标签」(pseudo-target);
- 把伪标签当 soft label,与主 loss 加权融合:
$$ \mathcal{L}{\text{ITC-mom}} = (1-\alpha) \mathcal{L}{\text{ITC}} + \alpha \text{KL}(q^{\text{mom}} \Vert q) $$
其中 $\alpha \sim 0.4$(ITC)/ 0.5(MLM)控制蒸馏强度。
为什么有效?
对噪声 pair,主 loss 可能被带偏;momentum 模型来自「历史参数」,相当于「上一代集体的共识」,它对噪声更不敏感——把它当老师当过滤器。
这是 noisy label 训练的标准答案——后来 BLIP、MUM、Florence、CoCa 等近 20+ 篇后续论文都把它作为基本组件。
四、InfoMax 视角:三个目标的统一解释
ALBEF 不只是「ITC + ITM + MLM」三个 loss 的简单相加,它从互信息最大化 (InfoMax) 视角给出统一解释:
| 目标 | 互信息解释 |
|---|---|
| ITC | image 与 text 在共享 embedding 空间里的互信息下界最大化 |
| ITM | 在共享空间中判别 joint distribution 是否等于 product of marginals |
| MLM | 用「masked-out」作为「视图 view」,最大化 image 与 masked-text 视点间的互信息 |
这层理论解释后来在 BLIP、CoCa、BLIP-2 等 2022–2023 模型中都被直接引用作为模型设计的「思想根基」——今天的 VLM 工程师在设计目标函数时,InfoMax 视角是默认的思考工具。
五、关键实验与数字
Image-Text Retrieval(论文 Table 1, on Flickr30K / COCO)
| 方法 | 训练集 | Flickr30K R@1 | COCO R@1 |
|---|---|---|---|
| UNITER (2020) | 4M | 70.5 | — |
| CLIP (2021) | 400M | 88.0 / 82.1 | 55.4 |
| ALBEF | 14M | 94.3 / 85.6 | 67.6 / 56.7 |
| ALBEF + MOM-KD | 14M | 95.9 / 86.6 | 77.6 / 64.3 |
反直觉的发现:用 14M 小数据 ALBEF 直接追平甚至超过 CLIP(400M 数据)的检索能力——这是「Align Before Fuse」带来的训练效率直观反映,「数据规模不是唯一答案,质量 + schema 同样关键」。
VQA(test-dev)
| 方法 | VQA acc |
|---|---|
| LXMERT (2020) | 72.4 |
| UNITER | 72.2 |
| Oscar | 73.0 |
| ALBEF (4M pre-train) | 74.5 |
| ALBEF (14M pre-train) | 75.8 |
| ALBEF + MOM-KD (14M) | 76.0 |
提升 2.4 个绝对点,是当时 SOTA 增量最大的单篇论文。
NLVR²、SNLI-VE
- NLVR²:82.55%(先前 SOTA 78.5%,提升 3.8 个点);
- Visual Entailment:91.6%(先前 SOTA 90.3%)。
Ablation:每个组件的贡献
| 组件 | 平均增益 |
|---|---|
| + ITC | +5.0 |
| + ITM | +1.5 |
| + MLM | +1.0 |
| + Momentum Distillation | +2.0 |
ITC 是最大单一贡献者——这就是「Align Before Fuse」哲学的硬数据。
六、⚠️ 工程坑预警:复现 ALBEF 必须警惕的 5 个坑
| 坑 | 后果 | 应对 |
|---|---|---|
| ImageNet pretrain 权重不可跳 | ViT-B/16 强烈依赖 ImageNet supervised pretrain 权重;从零训 vision encoder 效果大幅下降 | 部署前确认 checkpoint 是否包含正确的 ImageNet pretrain 权重 |
| Momentum encoder 多卡同步 | 多卡训练时 momentum 状态不同步,对比学习目标不稳定 | 确认代码在每个 step 末同步 EMA 权重 |
| Fine-tune 时要不要保留 MOM-KD | 下游数据干净时,继续用 MOM-KD 可能反而引入噪声 | 在 fine-tune 时对 MOM-KD loss weight 做消融(0 / 0.2 / 0.5) |
| 中文场景必须替换 text encoder | 原版 ALBEF 用英语 BERT-base,中文 fine-tune 会遇到严重 tokenization 不匹配 | 替换为 Chinese-BERT / RoBERTa-zh,并重新在中文图文对上做 ITC 对齐 |
| Video 模态不支持 | ALBEF 是 static image + 文本;拓展到 video 需要另外工作(ALPRO、VideoALC) | 不要把 ALBEF 直接套到视频帧-字幕任务,需要参考 ALPRO 等 video 扩展工作 |
局限(必须显式标注)
- 数据量 14M 仍偏小:相对 CLIP 400M 数据,zero-shot 能力没有那么广泛;
- MLM 主导:MLM 在生成任务以外(比如 dense caption / 指代理解)落地仍要 fine-tune 改动;
- Momentum Distillation 的 $\alpha$ 是经验调:0.4 在 ITC / 0.5 在 MLM,没有给出统一的 hyper-param 自动调方法;
- Fine-tune 时「static」单 image 不能接视频——拓展到 video 需要另外工作(ALPRO、VideoALC 等是这一脉延伸)。
七、对工程落地的启发:今天怎么用 ALBEF 的范式
- 「align before fuse」是普适结构:对所有多模态融合任务(文本-代码、文本-表格、文本-3D、语音-文本),都可以先做两个 encoder 的 align,再 multi-modal fuse;
- Momentum Distillation 是 noisy label 的通用解药:所有你拿到的是「未严格清洗」的配对数据(用户 log、产品描述、客服对话)都可以套这一思路;
- 去掉 region proposal 是工业可部署性突破口:ALBEF 不需要 Faster R-CNN 的 region proposal 阶段,比 LXMERT/UNITER 快约 10 倍——这是它工业化的关键优势之一;
- 「InfoMax 视角」比「auxiliary task」更可理论化:工业研究里可以把多个目标写进同一个互信息公式,方便模型 scaling 时不容易遗漏 corner case;
- 小数据上追平超大数据:14M vs 400M 的对比说明数据质量与 schema 设计的重要性,不只是 scale。
八、后续 N 年铺了什么路:从 ALBEF 到 BLIP-2 / LLaVA / Qwen-VL 的多模态谱系
| 时间 | 工作 | 关键贡献 |
|---|---|---|
| 2021 | CLIP (OpenAI)、ALIGN (Google) | 双编码器对比学习奠基 |
| 2021.07 | ALBEF (Salesforce) | 「align before fuse」+ momentum distillation 奠基作 |
| 2022 | BLIP (Salesforce) | 加 captioner + filter,沿用 ALBEF 骨架 |
| 2022 | CoCa (Google) | 加 contrastive captioner head,三任务同时 SOTA |
| 2023 | BLIP-2 (Salesforce) | Q-Former 把 ALBEF 的 ITC 思想用到 vision-LLM 连接器 |
| 2023 | LLaVA / MiniGPT-4 / InstructBLIP | 在 BLIP-2 基础上接 LLM(Vicuna/Falcon) |
| 2024-2026 | Qwen-VL / InternVL / CogVLM | 主流 VLM 都继承「ALBEF → BLIP-2 → 视觉指令微调」pipeline |
这条谱系的内在逻辑:从「双编码器独立训」→「共享编码器独立训」→「共享 + captioner 三合一」→「VLM 装载 LLM」——LLM 派多模态正在从「对齐+融合」走向「连接+指令」,ALBEF 是这条主线的事实起点。
三个标题变体
- 《当 AI 终于学会「看了再听」:ALBEF 是怎么把多模态预训练推进到「对噪声鲁棒」时代的》(科普向,强调范式起点)
- 《14M 数据追平 400M:ALBEF 的「先对齐再融合」是怎么让多模态模型小数据也能打的?》(数据效率向,强调反直觉发现)
- 《从 ALBEF 到 Qwen-VL:多模态预训练这五年的范式拐点,一篇讲透》(谱系向,强调历史线)
小红书风格卡片文案
🤖 AI 看图问答这件事,arXiv 2107.07651 一次说透了!
你有没有想过:当 AI 看到「猫在沙发上」并回答「沙发是什么颜色」时,它是怎么先把图片看清、再把问题听懂、最后给出一个准答案的?
答案是 ALBEF(ALign BEfore Fuse)——Salesforce 2021 年的开山论文,提出「先对齐再融合」两阶段训练 + momentum distillation 抗噪——用 14M 数据就在 Flickr30K 上 R@1 = 95.9,追平甚至超过 CLIP(400M 数据)的 88.0。
📊 一个反直觉的发现:
- 别让融合层返工学对齐,先把「同一空间」铺好,再去做细粒度交互;
- ITC(对比学习)→ 把 img / txt 拉到同一语义空间;
- ITM(是/否匹配)+ MLM(掩码预测)→ 在已对齐的 embedding 上做跨模态融合;
- Momentum Distillation:用「上一代集体的共识」当软标签,过滤噪声配对。
🎯 「Align Before Fuse」三件套:
| 三件套 | 关键意义 |
|---|---|
| ITC 单模态对齐 | img / txt 编码器拉到同一空间,融合层只需「细调」不需「学对齐」 |
| ITM + MLM 跨模态融合 | 在已对齐空间上学判别 + token 级语言建模 |
| Momentum Distillation | EMA 动量老师抗噪,noisy label 训练的事实标准答案 |
⚠️ 必须警惕的 5 个坑:
- ImageNet pretrain 权重不可跳:ViT-B/16 强烈依赖 ImageNet supervised pretrain,从零训效果大幅下降;
- Momentum encoder 多卡同步:多卡训练时 EMA 状态不同步,对比学习目标不稳定;
- Fine-tune 时要不要保留 MOM-KD:下游数据干净时反而可能引入噪声,建议做消融(0 / 0.2 / 0.5);
- 中文场景必须替换 text encoder:英语 BERT-base 在中文上 tokenization 严重不匹配,换 Chinese-BERT / RoBERTa-zh;
- Video 模态不支持:ALBEF 是 static image + 文本,视频帧-字幕任务需参考 ALPRO 等 video 扩展工作。
📎 论文 ID:2107.07651
💬 你觉得「先对齐再融合」这条哲学 2026 年还能给 VLM 带来哪些新突破?评论区聊聊你的看法!