Vision & Multimodal · ICML 2023 2023

BLIP-2: 고정된 이미지 인코더와 LLM을 잇는 부트스트랩 비전-언어 사전학습

고정된 이미지 인코더와 고정된 LLM 사이에 경량 Q-Former(32 query)만 학습 — 2단계 사전학습으로 Flamingo-80B를 54× 적은 학습 파라미터로 앞선다.

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

blip-2q-formermultimodalfrozen-backbonevision-language

1. 핵심 요약

2. 왜 중요한가 — 쉬운 설명

30초 비유

사진을 아주 잘 보는 친구 A와, 글을 아주 잘 쓰는 친구 B가 있습니다. 둘 다 이미 각 분야 전문가지만, 서로 대화가 안 통합니다. “이 사진 속 사람이 뭘 하고 있어?” 같은 질문에 답하는 AI를 만들려면 보통은 두 친구를 처음부터 다시 함께 훈련시켜야 하는데, 이건 돈과 시간이 어마어마하게 듭니다.

BLIP-2의 발상: 두 전문가는 그대로 두고(freeze), 그 사이에서 통역만 하는 작은 직원 한 명만 새로 뽑아 훈련시키자. 이 직원이 바로 Q-Former입니다.

BLIP-2가 제안한 해결책

  • 작은 통역사 (Q-Former) — 친구 A가 사진에서 알아낸 것을, 친구 B가 읽을 수 있는 아주 짧은 메모 32장으로 요약합니다. 사진이 복잡하든 단순하든 메모는 항상 32장이라, B가 부담 없이 읽습니다.
  • 큰 두 모델은 얼린다 — 실제로 학습되는 건 이 통역사뿐(약 2억 개 값). 전체를 훈련하는 방식보다 수십 배 저렴하고, 친구 B의 원래 글솜씨(언어 능력)도 망가지지 않습니다.
  • 통역사를 2단계로 가르친다 — (1) 사진과 그 설명문을 잔뜩 보여주며 “사진의 핵심 ↔ 문장”을 연결하는 법을 익히게 하고, (2) 그다음 친구 B 앞에서 그 메모를 B가 알아듣게 다듬습니다.

그래서 무엇이 달라졌나

  • 더 좋은 언어 모델이 나오면 통역사만 다시 훈련해서 바로 갈아 끼울 수 있습니다. 매번 전체를 다시 만들 필요가 없습니다.
  • 추가 학습 없이(제로샷) 사진 질문답변을 시켰을 때, 훨씬 큰 경쟁 모델(Flamingo-80B)보다 정확하면서, 실제로 훈련한 값의 개수는 약 54배 적었습니다.
  • “거대 모델은 얼리고, 그 사이 연결부만 학습한다”는 이 방식은 이후 여러 오픈소스 멀티모달 모델(MiniGPT-4, InstructBLIP 등)의 표준 뼈대가 됐습니다.

더 공부할 가치가 있을까?

  • 그렇다 — 이미지와 언어를 함께 다루는 모델(멀티모달)에 관심이 있다면. “사전학습된 거대 모델을 얼리고 그 사이 다리만 학습한다”는 발상은 지금도 널리 쓰입니다.
  • 먼저 볼 것 — 배경이 부족하면 CLIP(이미지와 글을 같은 공간에 맞추기)과 Flamingo(고정 모델 + 연결부)를 먼저 보면 이 논문이 훨씬 쉬워집니다.
  • 굳이 아니어도 됨 — 순수 이미지 인식이나 순수 텍스트 모델만 다룰 계획이라면 핵심 아이디어(위 3줄)만 알아둬도 충분합니다.

3. 배경 · 멀티모달 학습의 비효율

대형 비전-언어 모델은 이미지 인코더와 LLM을 처음부터, 또는 전체 파인튜닝으로 학습해 막대한 계산 비용이 듭니다. 새 LLM이 나올 때마다 전체를 다시 학습해야 하고, LLM 전체를 건드리면 재앙적 망각이 옵니다. BLIP-2의 질문: “이미 뛰어난 비전 모델과 언어 모델이 있다면, 둘을 잇는 경량 브릿지만 학습하면 되지 않을까?”

왜 BLIP-2인가

기존 멀티모달 학습의 4가지 부담과 BLIP-2의 대응. 카드를 클릭하세요.

이미지 인코더와 LLM을 함께 학습하면 막대한 GPU·데이터가 듭니다. BLIP-2는 둘을 고정하고 그 사이 커넥터(Q-Former ~188M)만 학습해 최적화 대상을 ~2억 파라미터로 줄입니다.

기존 방식의 4가지 부담과 BLIP-2의 대응. 카드를 클릭하세요.

4. Q-Former 아키텍처

Z=Q-Former(Q,  Fimg)∈R32×dZ = \mathrm{Q\text{-}Former}(Q,\; F_{\mathrm{img}}) \in \mathbb{R}^{32 \times d}
32개 학습 query Q가 고정 이미지 특징에서 정보를 뽑아냄
Q-Former query 추출수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명

Q-Former 내부

BERTbase 기반 ~188M. 3가지 어텐션 경로를 클릭하세요.

❄ 이미지 특징ViT-g · 가변 길이
🔥 32 Query 토큰학습되는 임베딩
Text 토큰인코딩/디코딩

활성: Query → 이미지 (크로스-어텐션)

Query32
출력 토큰32
학습 파라미터~188M

트랜스포머 블록을 하나 걸러 한 번씩, query가 고정 이미지 인코더 특징에 크로스-어텐션해 시각 정보를 끌어옵니다. 이미지 특징의 길이는 가변이지만 query는 항상 32개.

출력 Z ∈ ℝ^(32×d)는 이미지 인코더 해상도와 무관하게 고정 크기 — LLM 앞의 정보 병목입니다.

query·이미지·텍스트 경로를 클릭해 어텐션 구조를 확인하세요.

Q-Former는 BERTbase 기반의 작은 트랜스포머(~188M)로, 두 개의 서브모듈이 셀프-어텐션 층을 공유합니다. (1) 이미지 트랜스포머: 32개의 학습 가능한 query 토큰이 서로 셀프-어텐션하고, 트랜스포머 블록을 하나 걸러 고정 이미지 인코더 출력과 크로스-어텐션. (2) 텍스트 트랜스포머: 텍스트를 인코딩/디코딩. query와 텍스트가 공유 셀프-어텐션에서 상호작용하는 정도는 어텐션 마스크로 태스크마다 조절됩니다. 출력은 이미지 인코더 차원과 무관하게 항상 32 토큰 — ViT-g/14 @224px의 패치 토큰 257개(=16×16+CLS)보다 훨씬 작은 정보 병목이 LLM에 부담을 덜어줍니다.

5. 단계 1 · 비전-언어 표현 학습

LITC=−log⁡exp⁡(sim(z,t)/τ)∑t′exp⁡(sim(z,t′)/τ)\mathcal{L}_{\mathrm{ITC}} = -\log \frac{\exp(\mathrm{sim}(z, t)/\tau)}{\sum_{t'} \exp(\mathrm{sim}(z, t')/\tau)}
ITC: 짝이 맞는 이미지 query z와 텍스트 t의 유사도를 키움 (배치 내 부정 쌍 대비)
이미지-텍스트 대조 (ITC)수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명

단계 1 · 표현 학습

이미지 인코더만 고정. 한 Q-Former가 마스크만 바꿔 3목표를 학습.

ITC — 이미지-텍스트 대조

Query → Query허용
Query → Text차단
Text → Query차단
Text → Text허용

단일모달 마스크 — query와 텍스트가 서로 못 봄

LITC=−log⁡exp⁡(sim(z,t)/τ)∑t′exp⁡(sim(z,t′)/τ)\mathcal{L}_{\mathrm{ITC}} = -\log \dfrac{\exp(\mathrm{sim}(z,t)/\tau)}{\sum_{t'}\exp(\mathrm{sim}(z,t')/\tau)}

32 query 출력 중 텍스트 [CLS]와 유사도 최댓값을 정렬. 배치 내 다른 텍스트는 부정 쌍.

ITC · ITM · ITG 탭 — 각 목표가 쓰는 어텐션 마스크가 다릅니다.

이미지 인코더만 고정하고 Q-Former를 이미지-텍스트 쌍으로 학습. 세 목표를 동시에, 단 마스크만 바꿔 한 모델로 처리합니다.

  • ITC (Image-Text Contrastive) — query와 텍스트가 서로 못 보는 단일모달 마스크. 이미지 query 32개 중 최댓값 유사도를 텍스트 [CLS]와 정렬. 배치 내 부정 쌍 활용.
  • ITM (Image-Text Matching) — query·텍스트가 모두 서로 보는 양방향 마스크. query 출력 → 2-클래스 분류기로 매칭 여부. Hard negative mining.
  • ITG (Image-grounded Text Generation) — query끼리만, 텍스트는 query 전부 + 앞선 텍스트만 보는 인과 마스크. Q-Former가 뽑은 시각 정보만으로 캡션을 생성.

이 단계가 query가 “텍스트와 가장 관련된 시각 정보”를 뽑도록 강제해, 2단계에서 LLM이 소화하기 쉬운 표현을 만듭니다.

6. 단계 2 · 생성 사전학습 (LLM 연결)

LLM input=[ WZ  ;  Embed(text) ]\text{LLM input} = [\, W Z \;;\; \mathrm{Embed}(\text{text}) \,]
Q-Former 출력 Z를 선형 W로 LLM 임베딩 차원에 맞춰 텍스트 앞에 붙임
소프트 시각 프롬프트수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명

단계 2 · LLM 연결

이제 LLM도 고정. Q-Former 출력을 선형 투영해 소프트 시각 프롬프트로 연결.

🔥 선형 W
→
32 시각 토큰
→
+ 접두 텍스트
→
❄ OPT 디코더
→
→ 캡션 생성
학습Q-Former + W
고정ViT-g + OPT
시각 토큰32

시각 토큰 32개를 프롬프트로 앞에 두고, OPT가 그 뒤 텍스트를 언어 모델링 손실로 생성합니다. LLM은 고정.

1단계에서 표현을 미리 정렬해 뒀기 때문에, 이 32 토큰은 LLM이 바로 해석 가능합니다.

OPT(디코더 전용) · FlanT5(인코더-디코더) 연결 방식을 전환해 보세요.

이제 LLM도 고정. Q-Former의 32개 출력 토큰을 하나의 선형 층으로 LLM 임베딩 차원에 투영해, LLM 입력 텍스트 임베딩 앞에 붙입니다. LLM은 이 32 토큰을 “소프트 시각 프롬프트”로 받아들입니다.

  • 디코더 전용 (OPT): 시각 프롬프트를 조건으로 캡션을 언어 모델링 손실로 생성.
  • 인코더-디코더 (FlanT5): 시각 프롬프트 + 접두 텍스트를 인코더에, 나머지를 디코더 타깃으로.

1단계에서 표현을 미리 정렬해 뒀기 때문에, Q-Former는 LLM이 바로 해석 가능한 시각 토큰을 내보내고, LLM은 언어 능력을 그대로 유지합니다.

7. 전체 파이프라인 · 구성요소

전체 파이프라인

❄ 고정 · 🔥 학습. 블록을 클릭하세요.

🖼
→→
텍스트
학습Q-Former + 선형
고정ViT-g + LLM
학습 파라미터~200M

🔥 BERTbase 기반 ~188M. 32개 query가 셀프-어텐션 + 이미지 크로스-어텐션으로 32 시각 토큰을 뽑음. 학습됨.

백본이 12B든(ViT-g + FlanT5-XXL) 실제 최적화 대상은 ~2억. Flamingo의 '고정 백본 + 경량 커넥터' 계보지만, BLIP-2는 커넥터를 2단계로 미리 정렬합니다.

❄ 고정 · 🔥 학습. 블록을 클릭하세요.
Component선택지 / OptionsRole
Image encoder (❄)CLIP ViT-L/14 · EVA-CLIP ViT-g/14 · BLIP ViT-L/16이미지 → 패치 특징 (EVA-CLIP ViT-g 최상)
Q-Former (🔥)BERTbase 기반 · 32 query · ~188M이미지 특징 → 32 시각 토큰
Linear projection (🔥)1 layer32 토큰 → LLM 임베딩 차원
LLM (❄)OPT 2.7B/6.7B/66B · FlanT5 XL(3B)/XXL(11B)소프트 시각 프롬프트로 텍스트 생성
이미지 인코더와 LLM은 고정, Q-Former + 선형 층만 학습.

학습되는 파라미터는 Q-Former(~188M) + 선형 층뿐. 그래서 백본이 12B(ViT-g + FlanT5-XXL)든 뭐든, 실제 최적화 대상은 ~2억 파라미터입니다. Flamingo의 Perceiver Resampler + gated cross-attention과 같은 “고정 백본 + 경량 커넥터” 계보에 있지만, BLIP-2는 커넥터를 2단계로 미리 정렬한다는 점이 다릅니다.

8. 실험 · 의의

제로샷 성능

  • VQAv2 (zero-shot val): BLIP-2 (ViT-g + FlanT5-XXL) 65.2 vs Flamingo-80B 56.3 → 논문 초록은 “8.7%p 앞서고 학습 파라미터 54× 적음”으로 요약. (FlanT5-XL 63.1 · OPT-6.7B 54.3)
  • NoCaps val 캡셔닝 CIDEr (전체): OPT-2.7B 119.7 · OPT-6.7B 121.0 · FlanT5-XL 121.6 — 제로샷 SOTA. COCO Karpathy test는 144–146 CIDEr.
  • 비전 인코더는 EVA-CLIP ViT-g/14가 최상. 지시 튜닝된 FlanT5는 제로샷 지시 따르기에 유리.

제로샷 성능 · 효율

태스크별 파인튜닝 없이. 탭을 전환하세요.

Flamingo-80B
56.3
BLIP-2 OPT-6.7B
54.3
BLIP-2 FlanT5-XL
63.1
BLIP-2 FlanT5-XXL
65.2

제로샷 VQAv2 (val). BLIP-2 (FlanT5-XXL) 65.2 vs Flamingo-80B 56.3 — 논문 초록은 “8.7%p 앞서며 학습 파라미터 54× 감소”로 요약. 지시 튜닝된 FlanT5가 OPT보다 제로샷에서 유리(디코더 전용 OPT는 54.3).

VQAv2 · NoCaps CIDEr · 파라미터 효율 탭.

의의 · 영향

  • 파라미터 효율적 멀티모달 학습의 대표 레시피 — 백본 재학습 없이 커넥터만
  • 새 LLM 출시 시 Q-Former만 재학습으로 빠르게 통합
  • InstructBLIP: 여기에 지시 튜닝을 결합해 성능 향상
  • 이후 다수 오픈소스 멀티모달 모델(MiniGPT-4 등)의 기반

한계

  • 제로샷 VQA에서 in-context 학습 이득이 거의 없음(사전학습 데이터가 단일 이미지-텍스트 쌍이라)
  • 고정 LLM의 환각·편향을 그대로 상속
  • Q-Former 32 토큰 병목이 세밀한 시각 디테일을 잃을 수 있음
IdeaRole
Q-Former32 learned queries bridge a frozen image encoder and a frozen LLM
32 query tokensFixed-size visual bottleneck, independent of encoder resolution
Stage 1 (ITC/ITM/ITG)Align queries to text-relevant visual info via 3 masks
Stage 2 soft promptLinear-project 32 tokens; prepend as a virtual visual prompt
Frozen backbonesTrain ~200M params; beat Flamingo-80B with 54× fewer

이해도 점검

보기를 골라 정답과 해설을 확인하세요. 채점은 이 페이지 안에서만 이뤄집니다.

0 / 5 정답
  1. 1. Q-Former의 32개 query 토큰이 하는 일은?

  2. 2. BLIP-2의 2단계 사전학습에서 각 단계에 고정되는 것은?

  3. 3. 1단계에서 ITC · ITM · ITG를 한 모델로 처리하는 방법은?

  4. 4. 2단계에서 Q-Former 출력이 LLM에 연결되는 방식은?

  5. 5. 제로샷 VQAv2에서 BLIP-2와 Flamingo-80B 비교로 옳은 것은?