[BLIP-2] Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models

VLM ICML 2023

Junnan Li, Dongxu Li, Silvio Savarese, Steven Hoi · Salesforce Research

arXiv GitHub

한 줄 요약. frozen 이미지 인코더와 frozen LLM 사이를 가벼운 Q-Former(Querying Transformer) 하나로 잇는다. Q-Former는 learnable query 32개로 시각 특징을 고정 길이로 뽑는 정보 병목(information bottleneck)이며, 2-stage로 학습한다 — (1) frozen 인코더로 표현 학습(ITC·ITM·ITG), (2) frozen LLM으로 생성 학습. 학습 파라미터가 188M뿐인데도, Flamingo-80B를 zero-shot VQAv2에서 +8.7%(trainable 파라미터 54배 적음)로 능가하고, 자연어 지시를 따르는 zero-shot image-to-text도 보인다.

배경

멀티모달 사전학습(VLP)은 대형 모델을 end-to-end로 학습하면서 비용이 폭증했다. 비전·언어 커뮤니티엔 이미 강력한 단일 모달 사전학습 모델이 많은데, 이걸 재활용하면 싸고 좋을 것이다.

  • frozen으로 두는 이유 — 연산을 줄이고, 재학습 시의 catastrophic forgetting(기존 지식 망각)을 막기 위해 비전 인코더와 LLM을 얼린다.
  • 하지만 정렬이 어렵다 — LLM은 사전학습에서 이미지를 본 적이 없다. 그래서 frozen LLM에 시각을 맞추는 게 특히 까다롭다.
  • 기존 한계 — Frozen·Flamingoimage-to-text generation loss 하나로만 정렬하는데, 저자들은 이것이 modality gap을 메우기엔 불충분하다고 본다.

frozen 비전 인코더와 frozen LLM을, 둘 다 건드리지 않고 효과적으로 정렬할 다리를 어떻게 놓을까?

핵심 아이디어

Q-Former(Querying Transformer) 라는 가벼운 학습 모듈 하나로 둘을 잇는다. learnable query가 frozen 이미지 인코더에서 고정 개수의 시각 특징만 뽑아 LLM에 가장 유용한 정보만 흘려보내는 정보 병목 역할이다. 이를 2-stage로 학습한다.

① Image Encoder (frozen)

CLIP ViT-L/14 또는 EVA-CLIP ViT-g/14. 고품질 시각 표현 제공.

② Q-Former (trainable, 188M)

learnable query 32개로 시각 특징을 뽑는 bottleneck. 유일하게 학습되는 부품.

③ LLM (frozen)

decoder형 OPT 또는 encoder-decoder형 FlanT5. 강한 생성·zero-shot 능력.

Figure 1. BLIP-2 개요. 가벼운 Q-Former를 2-stage로 학습해 modality gap을 메운다 — (1단계) frozen 이미지 인코더로 vision-language 표현 학습, (2단계) frozen LLM으로 vision-to-language 생성 학습 → 지시를 따르는 zero-shot image-to-text 생성.

방법

1) Q-Former 구조

입력 이미지 해상도와 무관하게 고정 개수의 출력 특징을 뽑는다. self-attention을 공유하는 두 서브모듈로 이뤄진다.

  • Image transformer — frozen 이미지 특징과 상호작용. learnable query 32개(각 768차원) 를 입력으로 받아, query끼리 self-attention, 이미지 특징과는 cross-attention(매 2블록마다 삽입).
  • Text transformer — 텍스트 인코더 겸 디코더. query는 같은 self-attention 층을 통해 텍스트와도 상호작용.
  • BERT$_\text{base}$로 초기화(cross-attention은 random). 총 188M 파라미터(query도 파라미터로 셈).
  • 출력 $Z$ 의 크기 32×768은 frozen 이미지 특징(예: ViT-L/14의 257×1024)보다 훨씬 작다 → 이 bottleneck이 “텍스트에 가장 관련된 시각 정보”만 짜내도록 강제한다.
Figure 2. (왼쪽) Q-Former 구조와 1단계 표현학습의 세 objective. learnable query가 텍스트와 가장 관련된 시각 표현을 뽑도록 공동 학습. (오른쪽) objective별 self-attention 마스킹 — query-text 상호작용을 다르게 통제.

2) Stage 1 — Representation Learning (frozen 이미지 인코더)

이미지-텍스트 쌍으로, 세 objective를 공동 최적화한다. 셋은 입력 형식과 파라미터를 공유하되, attention mask로 query-text 상호작용만 다르게 준다.

Objective Self-attention mask 역할
ITC (Image-Text Contrastive) uni-modal (query·text 서로 못 봄) query 출력 $Z$ 와 텍스트 [CLS]를 정렬, in-batch negative로 contrastive
ITM (Image-Text Matching) bi-directional (전부 상호 attend) 이미지-텍스트 매칭 이진분류(hard negative mining), query별 logit 평균
ITG (Image-grounded Text Gen.) multi-modal causal (query끼리만, text는 query+이전 text) 이미지 조건 텍스트 생성 → query가 텍스트의 모든 정보를 담도록 강제

3) Stage 2 — Generative Learning (frozen LLM)

frozen 이미지 인코더를 단 Q-Former를 frozen LLM에 연결한다.

  • FC(완전연결) layer 하나로 출력 query $Z$ 를 LLM의 텍스트 임베딩 차원으로 투영 → 텍스트 임베딩 앞에 붙여(soft visual prompt) LLM을 시각에 조건화.
  • Q-Former가 이미 “언어와 관련된 시각 표현”만 뽑아주므로, LLM의 정렬 부담을 덜어 catastrophic forgetting을 완화한다.
  • decoder형 LLM(OPT) → language modeling loss. encoder-decoder형(FlanT5) → prefix LM loss(텍스트를 prefix/suffix로 나눠 encoder 입력/decoder 타깃).
Figure 3. 2단계 vision-to-language 생성 학습. (위) decoder형 LLM(OPT) — language modeling. (아래) encoder-decoder형(FlanT5) — prefix LM. FC layer가 Q-Former 출력 차원을 LLM 입력 차원으로 맞춘다.

학습 설정

  • 데이터 — BLIP과 동일한 129M 이미지(COCO·Visual Genome·CC3M·CC12M·SBU + LAION 115M), CapFilt로 합성 캡션 생성·필터.
  • frozen 부품 — 이미지: CLIP ViT-L/14, EVA-CLIP ViT-g/14 / LLM: OPT(unsupervised), FlanT5(instruction-tuned). FP16(FlanT5는 BFloat16).
  • 스케줄 — 1단계 250k steps, 2단계 80k steps. frozen 덕에 가벼워, 최대 모델(ViT-g + FlanT5-XXL)도 16×A100로 1단계 6일·2단계 3일 미만.

결과

Table 1. 여러 zero-shot vision-language task 종합. BLIP-2가 가장 적은 trainable 파라미터로 최고 zero-shot 성능을 낸다.
  • 최소 파라미터로 SOTA — VQA·captioning·retrieval 전반에서, 학습 파라미터를 훨씬 적게 쓰면서 기존 SOTA를 상회(Table 1).
Table 2. zero-shot VQA. BLIP-2가 VQAv2·GQA에서 SOTA — Flamingo-80B 대비 VQAv2 +8.7%, trainable 파라미터는 54배 적다. 더 강한 인코더(ViT-g>ViT-L)·더 큰/instruction-tuned LLM(FlanT5>OPT)일수록 성능↑.
  • zero-shot VQA — VQAv2·GQA에서 SOTA. Flamingo-80B를 VQAv2에서 +8.7%, trainable 파라미터 54배 적게. (단 OK-VQA는 Flamingo-80B에 근소하게 뒤 — 외부 지식 비중이 커, Chinchilla-70B의 지식량이 유리)
  • generic 방법임을 입증 — 더 강한 이미지 인코더나 더 강한 LLM을 꽂으면 그대로 성능이 오른다 → 비전·NLP의 발전을 손쉽게 흡수.
Figure 4. instructed zero-shot image-to-text 예시(ViT-g + FlanT5-XXL). 시각 대화·시각 지식/상식 추론·스토리텔링·개인화 생성 등 자연어 지시를 따르는 다양한 능력.
  • 표현 학습 단계가 핵심 — 1단계(표현 학습)를 빼면 Q-Former가 생성 학습에만 의존하게 되어 zero-shot VQA가 크게 하락. 특히 OPT는 catastrophic forgetting으로 학습이 진행될수록 성능이 급락한다.
Table 6. retrieval에 ITG loss가 주는 효과. 생성을 안 쓰는 retrieval에도 ITG(image-grounded text generation) loss가 도움 — query가 텍스트와 관련된 시각 특징을 뽑게 강제하기 때문.

한 줄 정리 & 의의

  • frozen 비전 + frozen LLM을 Q-Former(learnable query bottleneck) + 2-stage(표현학습 → 생성학습) 로 잇는 효율적 VLP. 학습 파라미터 188M만으로 Flamingo-80B를 능가 — “무거운 end-to-end” 대신 “가벼운 다리”의 설득력.
  • 세 objective(ITC·ITM·ITG)로 먼저 시각 표현을 텍스트에 정렬한 뒤 LLM에 붙이는 게 핵심. generation loss 하나로만 잇던 Flamingo와의 차별점이자, “표현 학습 단계가 forgetting을 막는다”는 ablation이 이를 뒷받침.
  • 위치(connector 계열). Flamingo가 cross-attention으로 LLM 내부에 시각을 주입했다면, BLIP-2는 Q-Former라는 별도 bottleneck으로 뽑아 soft prompt로 앞에 붙인다. 이후 LLaVA는 이를 더 단순한 projection(MLP) 으로 줄인다. → VLM 개요