[BLIP] Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
Junnan Li, Dongxu Li, Caiming Xiong, Steven Hoi · Salesforce Research
한 줄 요약. 두 가지 한계를 같이 푼다 — (모델) 이해(retrieval)에 강한 encoder형과 생성(captioning)에 강한 encoder-decoder형이 따로 놀던 걸, 하나로 합친 MED(Multimodal mixture of Encoder-Decoder)로 통합(ITC·ITM·LM 3-목적). (데이터) 노이즈 많은 웹 캡션을, CapFilt — Captioner가 합성 캡션을 만들고 Filter가 노이즈를 걸러 — 더 깨끗한 학습 데이터로 부트스트랩. retrieval·captioning·VQA에서 SOTA, 비디오로도 zero-shot 전이. BLIP-2의 전신이자, BLIP-2/LLaVA가 쓰는 합성 캡션(CapFilt) 의 출처.
배경
기존 VLP(Vision-Language Pre-training)에는 두 가지 한계가 있었다.
- 모델 관점 — encoder형(예: CLIP)은 이해/retrieval엔 좋지만 텍스트 생성이 어렵고, encoder-decoder형은 생성엔 좋지만 retrieval에 잘 안 맞는다. 하나의 모델이 둘 다 잘하기 어렵다.
- 데이터 관점 — 대부분 웹에서 긁은 노이즈 많은 alt-text로 규모만 키웠다. 스케일로 성능은 올랐지만, 노이즈는 차선의 감독 신호다.
하나의 모델로 이해와 생성을 모두 하고, 노이즈 웹 데이터를 더 똑똑하게 쓸 수는 없을까?
핵심 아이디어
두 가지 기여로 답한다.
하나의 모델이 ① 단일 인코더 ② image-grounded 텍스트 인코더 ③ image-grounded 텍스트 디코더 세 모드로 동작. 3개 목적(ITC·ITM·LM)으로 공동 학습 → 이해 + 생성 통합.
학습된 MED를 Captioner(합성 캡션 생성)와 Filter(노이즈 제거)로 미세조정해, 웹 캡션을 정제된 데이터로 갈아끼운다.
방법
1) MED (Multimodal mixture of Encoder-Decoder)
같은 파라미터를 공유하며 세 가지 기능으로 동작하는 멀티태스크 모델이다.
| 모드 | 구조 | loss | 역할 |
|---|---|---|---|
| ① 단일 인코더 | 이미지·텍스트 따로 인코딩 (텍스트 BERT식, [CLS]) | ITC | 비전·언어 표현 정렬 (contrastive, momentum) |
| ② image-grounded 인코더 | SA–FFN 사이에 cross-attention(CA) 삽입, [Encode] | ITM | 이미지-텍스트 매칭 이진분류 (hard negative) |
| ③ image-grounded 디코더 | ②의 양방향 SA를 causal SA로 교체, CA·FFN 공유, [Decode] | LM | 이미지 조건 캡션 생성 (autoregressive) |
텍스트 인코더와 디코더는 self-attention(SA) 층만 빼고 모든 파라미터를 공유한다 — 인코딩/디코딩의 차이는 SA(양방향 vs causal)가 담당하고, 임베딩·CA·FFN은 공유해 효율↑.
2) CapFilt — Captioning & Filtering
사람이 단 고품질 캡션은 적고(COCO 등), 웹 alt-text는 많지만 노이즈가 크다. CapFilt는 사전학습된 MED를 COCO로 가볍게 미세조정해 두 모듈을 만든다.
- Captioner = image-grounded 텍스트 디코더(LM 미세조정) → 웹 이미지에 합성 캡션 $T_s$ 생성. (nucleus sampling으로 다양·정보량 높은 캡션 — beam search보다 좋음)
- Filter = image-grounded 텍스트 인코더(ITC·ITM 미세조정) → 원본 웹 텍스트 $T_w$ 와 합성 $T_s$ 둘 다에서 ITM이 “불일치”로 판정한 노이즈를 제거.
- 정제된 쌍 + 사람 라벨을 합쳐 새 데이터셋을 만들고, 그걸로 새 모델을 다시 사전학습한다.
- 데이터 — 14M 이미지(COCO·Visual Genome + CC3M·CC12M·SBU), 추가로 LAION 115M까지.
결과
- CapFilt가 핵심 — Captioner와 Filter를 함께 쓰면 downstream이 일관되게 향상. 더 다양한 캡션일수록 이득이 크다(nucleus > beam).
- 광범위한 SOTA — image-text retrieval(+2.7% avg R@1), captioning(+2.8% CIDEr), VQA(+1.6%). VQA·NLVR2에서 더 큰 데이터/백본을 쓰는 모델도 능가(Table 8).
- zero-shot 비디오 전이 — 이미지로 학습한 모델을 프레임 단순 결합만으로 text-to-video retrieval·videoQA에 직접 적용해도 강력.
한 줄 정리 & 의의
- MED(이해+생성 통합) + CapFilt(데이터 부트스트랩) 으로, “한 모델이 둘 다” 그리고 “노이즈 웹 데이터를 똑똑하게”를 함께 해결한 통합 VLP.
- CapFilt의 유산 — captioner로 만든 합성 캡션과 필터링은 이후 BLIP-2·LLaVA의 학습 데이터 레시피로 이어진다(LLaVA의 CC 필터링, BLIP-2의 동일 데이터).
- 위치. CLIP이 contrastive 인코더라면, BLIP은 거기에 생성(LM) 과 데이터 정제(CapFilt) 를 더한 통합 모델 → 곧 frozen LLM을 붙이는 BLIP-2(Q-Former)로 진화한다. → VLM 개요