BLIP-2는 비전-언어 사전학습의 높은 비용 문제를 해결하기 위해 제안된 효율적인 전략으로, 사전학습된 이미지 인코더와 대형 언어 모델을 얼려둔 상태로 활용하고, 이 둘을 연결하는 가벼운 쿼리 트랜스포머만 학습한다.
이 트랜스포머는 두 단계로 학습되며, 첫 단계에서는 이미지 인코더를 통해 비전-언어 표현을, 두 번째 단계에서는 언어 모델을 통해 이미지 설명 생성 능력을 학습합니다. BLIP-2는 훨씬 적은 학습 가능한 파라미터로도 VQAv2 같은 과제에서 Flamingo-80B보다 더 나은 성능(+8.7%)을 보이며, 자연어 지시를 따르는 제로샷 이미지-텍스트 생성 능력도 갖추고 있다.
최근 몇 년간 비전-언어 사전학습(VLP) 연구는 빠르게 발전했으며
점점 더 대규모의 사전학습 모델들이 개발되어 여러 다운스트림 과제에서 SOTA를 지속적으로 갱신했다.
⚠️ 하지만 비용이 너무 큰 문제점이 있다.
이런 최첨단 모델들 대부분은 엔드투엔드 학습 기반이라,
엄청난 양의 데이터셋, 수십~수백억 개의 모델 파라미터을 요구한다.
결과적으로, 사전학습 비용이 매우 크고 비효율적이라는 한계에 부딪히게 됨
-> 이 때문에, 더 효율적인 VLP 전략이 필요
💡 단일모달 모델을 활용하자!
비전-언어 연구는 이름 그대로 비전과 자연어의 경계선에 위치한 분야이기 때문에 기존의 비전 및 자연어 처리 분야에서 이미 잘 학습된 단일모달 모델들을 적극 활용할 수 있을 것이라는 기대가 따른다.
따라서 이 논문에서는, 사전학습된 비전 및 언어 모델을 부트스트랩(활용)하는 방식으로, 범용적이고 계산 효율적인 비전-언어 사전학습(VLP) 방법을 제안한다.
사전학습된 이미지 인코더
→ 고품질의 시각 표현을 그대로 제공
사전학습된 대형 언어 모델(LLM)
→ 강력한 언어 생성 능력 + 제로샷 전이 능력
이 두 모델은 학습 도중에도 절대 업데이트되지 않으며,중간에서 필요한 정보만 뽑아주는 가벼운 모듈(Q-Former 등)만 학습한다.
이것이 BLIP-2에서 가장 중요한 포인트 중 하나이다.
이미지 인코더와 언어 모델을 학습 중에도 고정(frozen)된 상태로 사용한다는 것!
왜 고정된 상태로 쓰는가?
✅ 계산 비용 절감
→ 기존처럼 거대한 모델 전체를 다시 학습할 필요가 없음
→ 훨씬 가볍고 빠르게 학습 가능
✅ 파국적 망각(Catastrophic Forgetting) 방지
| 기존 방식 | BLIP-2 방식 |
|---|---|
| 모델 전체 학습 | 기존 모델은 고정 |
| 계산 비용 높음 | 비용 효율적 |
| 기존 지식 덮어쓸 위험 있음 | 기존 지식 보존 가능 |
| 학습 시간 오래 걸림 | 빠르고 가벼움 |
이러한 사전학습된 단일모달 모델을 비전-언어 사전학습(VLP)에 효과적으로 활용하려면, 모달리티 간 정렬을 잘 수행하는 것이 핵심이다.
하지만 대형 언어 모델(LLM)은 사전학습 중 이미지 데이터를 본 적이 없기 때문에, 이를 고정한 상태로 사용하면 비전-언어 정렬이 특히 어려워진다.
이미지-텍스트 생성 손실을 사용하는데, 저자들은 이러한 방식만으로는 모달리티 간 간극을 메우기에 충분하지 않다고 지적한다.
왜 이 방법만으로는 충분하지 않을까?
문제점 설명 얕은 정렬 단순히 "그럴듯한 문장"만 생성해도 손실이 작아짐 세부 정보 미정렬 단어와 이미지의 세부 영역이 정확히 매핑되지 않음 언어 모델 중심 시각 정보가 보조 역할로만 작동 단방향성 이미지→텍스트만 학습, 텍스트→이미지는 미반영
이에 따라, 저자들은 Q-Former(Querying Transformer)라는 새로운 구조와 이를 위한 2단계 사전학습 전략을 제안합니다.
📌 Q-Former란?
Q-Former는 가벼운 트랜스포머 구조로, 학습 가능한 쿼리 벡터(query vectors)를 통해 고정된 이미지 인코더에서 시각 정보를 추출한다.
이 구조는 고정된 이미지 인코더와 고정된 LLM 사이에서 정보 병목(bottleneck) 역할을 하며, LLM이 원하는 텍스트를 생성할 수 있도록 가장 유용한 시각적 특징만을 전달한다.
두 단계 사전학습 전략
1️⃣ 1단계: 비전-언어 표현 학습 (Representation Learning)
Q-Former가 텍스트와 관련 있는 시각 표현을 효과적으로 추출하도록 학습된다.
2️⃣ 2단계: 비전 → 언어 생성 학습 (Generative Learning)
Q-Former의 출력을 고정된 LLM에 연결하여, LLM이 이해할 수 있는 형식의 시각 표현을 만들도록 Q-Former를 학습한다.
🔑 BLIP-2의 핵심 장점
1. 고정된 모델만으로도 SOTA 성능
Frozen 이미지 인코더 + Frozen LLM만 활용하는데도
VQA, 이미지 캡셔닝, 이미지-텍스트 검색 등 다양한 과제에서 SOTA 달성
2. LLM 기반 제로샷 텍스트 생성 가능
OPT, FlanT5 같은 대형 언어 모델의 힘을 활용해
이미지만 보고 자연어 지시를 따르는 제로샷 텍스트 생성 가능
→ 예: 시각적 지식 추론, 비주얼 챗봇 등 새로운 멀티모달 능력 발현
3. 높은 효율성
Flamingo(80B)보다 성능은 8.7% 더 좋고,
학습 파라미터 수는 54배나 적음
즉, 성능↑, 비용↓, 구조는 심플
나아가, 더 강력한 이미지/언어 모델이 생기면 그대로 교체해서 더 성능 향상이 가능하다.
비전-언어 사전학습은 이미지와 텍스트를 함께 처리할 수 있는
멀티모달 기반 모델을 학습하는 것이 목적이다.
📐 다양한 아키텍처 구조들
과제에 따라 다양한 구조가 사용된다:
| 구조 | 설명 | 대표 논문 |
|---|---|---|
| Dual-Encoder | 이미지와 텍스트를 각각 인코딩 후 비교 | CLIP (Radford et al., 2021) |
| Fusion-Encoder | 이미지와 텍스트를 한 공간에 융합 | Tan & Bansal (2019) |
| Encoder-Decoder | 인코더가 멀티모달 입력을 인코딩 → 텍스트 생성 | Cho et al. (2021) |
| Unified Transformer | 완전히 통합된 구조 | Li et al. (2022), Wang et al. (2022) |
🧪 사전학습 목적의 흐름
점점 다양한 pretraining 방식이 등장했지만, 최근엔 몇 가지로 수렴되고 있다:
Image-Text Contrastive Learning (CLIP 방식)
Image-Text Matching
(Masked) Language Modeling
하지만 대부분의 방법은 End-to-End로 거대한 데이터셋을 사용해 학습하기 때문에 계산 비용이 매우 크고 기존에 잘 학습된 LLM 같은 단일모달 모델을 유연하게 활용하기 어렵다.
BLIP-2와 유사한 접근은 바로 이 모듈형 사전학습 방식이다.
기존에 잘 학습된 모델을 그대로 frozen 상태로 유지하며 활용하는 방식이다.
주요 방법들
| 모델 | 고정 대상 | 설명 |
|---|---|---|
| Early works | 이미지 인코더 | 객체 탐지기 기반 시각 피처만 추출 (Chen et al., 2020) |
| LiT | 이미지 인코더 | CLIP 학습에 frozen 이미지 인코더 사용 (Zhai et al., 2022) |
| Frozen | 언어 모델 | 이미지 인코더만 파인튜닝, 출력은 LLM의 soft prompt로 사용 |
| Flamingo | 언어 모델 | LLM에 cross-attention 층 삽입, 수십억 이미지-텍스트 쌍으로 학습 |
이들은 대부분 Language Modeling Loss를 사용해
이미지를 조건으로 텍스트를 생성하는 구조로 학습된다.
하지만 이런식으로 LLM을 고정했을 경우,
시각 피처를 텍스트 임베딩 공간으로 정확히 정렬하는 것이 매우 어렵다.
✅ BLIP-2는 무엇이 다른가?
BLIP-2는 기존 방법들과 달리 이미지 인코더 + LLM 둘 다 frozen 상태로 유지하면서도,
Q-Former라는 중간 모듈을 통해 효과적이고 효율적으로 다양한 비전-언어 과제에서 강력한 성능을 발휘한다.
이 논문에서는 BLIP-2라는 새로운 비전-언어 사전 학습 기법을 제안한다.
이 방법은 사전학습된 단일 모달 모델들을 froze한 상태에서 부트스트랩하는 방식으로 작동한다.
모달리티 간 간극을 효과적으로 연결하기 위해, 두 단계로 사전학습되는 쿼리 트랜스포머를 제안한다,:
1단계: 고정된 이미지 인코더를 사용하는 비전-언어 표현 학습 단계 (vision-language representation learning stage)
2단계: 고정된 LLM을 사용하는 비전-투-언어 생성 학습 단계 (vision-to-language generative learning stage)
이 절에서는 먼저 Q-Former의 모델 아키텍처를 소개한 뒤,
이어지는 두 단계의 사전학습 절차를 자세히 설명한다.

우리는 고정된 이미지 인코더와 고정된 대형 언어 모델 사이의 간극을 메우기 위한 방법 -> Q-Former
🧩 Q-Former의 구성
Q-Former는 두 개의 Transformer 서브모듈로 이루어져 있으며,
self-attention 레이어를 공유한다.
| 단계 | 역할 | 설명 |
|---|---|---|
| 표현 학습 | 인코더처럼 동작 | 텍스트 전체를 보고 이미지와 의미를 정렬함 |
| 생성 학습 | 디코더처럼 동작 | 텍스트를 왼쪽에서 오른쪽으로 한 단어씩 생성 |
우리는 고정된 개수의 학습 가능한 쿼리 임베딩을 이미지 트랜스포머의 입력으로 사용한다.
이 쿼리들은 서로 간에는 self-attention을 통해 상호작용하고,
고정된 이미지 특징들과는 cross-attention을 통해 상호작용한다.
(※ 크로스-어텐션은 트랜스포머 블록마다 하나씩 삽입된다.)
| 상호작용 | 대상 | 메커니즘 | 목적 |
|---|---|---|---|
| Self-Attention | 쿼리 ↔ 쿼리 | Query-Key-Value 전부 쿼리들 | 쿼리 간 정보 공유, 조율 |
| Cross-Attention | 쿼리 → 이미지 피처 | Query = 쿼리, Key/Value = 이미지 | 쿼리가 시각 정보 추출 |
한줄 요약:
Q-Former의 쿼리 벡터는 서로에게 정보를 공유(self-attention)하고,이미지로부터 필요한 정보를 질문해서 가져온다(cross-attention)
또한 이 쿼리들은 동일한 self-attention 레이어를 통해 텍스트와도 상호작용할 수 있다.
사전학습 과제에 따라, self-attention 마스크를 조정해
쿼리와 텍스트 간의 상호작용 범위를 제어한다.
🔧 초기화 및 파라미터 정보
| 구성 요소 | 설명 |
|---|---|
| Self-Attention | BERT-base 사전학습 가중치 사용 |
| Cross-Attention | 무작위 초기화 |
| 총 파라미터 수 | 188M (쿼리 포함) |
| 쿼리 수 | 32개 |
| 쿼리 차원 | 768 (Q-Former hidden dim과 동일) |
| 출력 크기 Z | 32 × 768 |
"Q-Former가 BERT-base로 초기화된다는 건 무슨 의미?"
BERT는 Transformer Encoder 구조 기반의 사전학습 언어 모델
Q-Former도 내부 구조가 Transformer이기 때문에,
BERT의 pre-trained weight로 초기화할 수 있음
즉, 텍스트 처리 능력은 BERT의 사전지식을 그대로 이어받음 이 병목 구조는 사전학습 목적과 결합되어, 쿼리들이 텍스트와 가장 관련 있는 시각 정보를 효과적으로 뽑아내도록 유도하는 역할을 한다.
표현 학습 단계에서, 우리는 Q-Former를 고정된 이미지 인코더에 연결하고, 이미지-텍스트 쌍을 사용해 사전 학습을 수행한다.
이때 목적은 Q-Former의 쿼리들이 텍스트와 관련 있는 시각적 표현을 학습하도록 훈련하는 것이다.
이 논문엑서는 동일한 입력 형식과 모델 파라미터를 공유하는 세 가지 사전 학습 목표를 공동으로 최적화한다.
각 학습 목표는 쿼리와 텍스트 간의 상호작용을 제어하기 위해 서로 다른 어텐션 마스킹 전략을 사용한다
ITC는 이미지 표현과 텍스트 표현을 정렬하도록 학습시킨다.
즉, 이 둘 간의 상호 정보량(mutual information)을 극대화하는 방식
같은 이미지-텍스트 쌍의 벡터를 가깝게, 다른 쌍은 멀게 만드는 학습은
→ 같은 쌍이 서로에 대한 정보가 더 많아지게 만드는 거고
→ 결국 상호 정보량을 키우는 방식이 된다.
구체적으로는,
양성 쌍(positive pair)의 이미지-텍스트 유사도를
음성 쌍(negative pairs)의 유사도와 비교하여 학습이 이뤄진다.
※ 정보 누출을 방지하기 위해, 쿼리와 텍스트가 서로를 볼 수 없도록
unimodal self-attention 마스크를 사용한다.
※ 고정된 이미지 인코더를 사용하기 때문에, 엔드 투 엔드 방식보다 GPU당 더 많은 샘플을 학습시킬 수 있다.
따라서, BLIP에서 사용한 momentum queue 대신 in-batch negative 방식을 적용한다.
궁금한 점 정리
[CLS] 임베딩 t: 텍스트 인코더의 출력 중 문장 전체 의미를 요약한 벡터
Q-Former의 출력 Z: 미리 준비된 쿼리들이 이미지 피처를 바라보고 뽑아낸 결과 벡터들 (예: 32개)
ITG 손실 함수는, 입력 이미지에 기반해 텍스트를 생성하도록 Q-Former를 훈련시킨다.
Q-Former 구조는 이미지 인코더와 텍스트 토큰이 직접 상호작용하지 못하기 때문에,
쿼리들이 이미지에서 정보를 먼저 추출한 뒤, 그 정보를 self-attention 레이어를 통해 텍스트에 전달해야 한다.
👉 이 구조 덕분에 쿼리들이 텍스트 생성을 위해 반드시 필요한 시각 정보를 효과적으로 추출하도록 강제된다.
이때 사용되는 마스킹 전략은 다중모달 인과적 self-attention 마스크(multimodal causal self-attention mask)이다.
구체적으로는:
📍포인트:
[CLS] 대신 [DEC] 토큰을 맨 앞에 둬서 "디코딩 태스크야!"라고 명시함
ITM은 이미지와 텍스트 표현 간의 미세한 정렬을 학습하는 것을 목표로 한다.
이는 이진 분류 문제로, 주어진 이미지-텍스트 쌍이 정답 쌍(positive)인지 아니면 무작위 조합(negative)인지를 예측하는 것이다.
이를 위해, 양방향 self-attention 마스크를 사용하며,
쿼리와 텍스트가 모두 서로를 참조할 수 있도록 설정된다.
이 구조 덕분에 Q-Former의 출력 임베딩 Z는 다중모달(multimodal) 정보를 포함하게 된다.
추가적으로, 정보량 높은 음성 샘플(negative pairs)을 만들기 위해
BLIP 논문(2021, 2022)에서 제안된 하드 네거티브 마이닝 기법을 채택하였다.
🔥 하드 네거티브 마이닝:
일부러 헷갈릴만한 가짜 쌍을 넣어 모델 분별력을 키움
궁금한 부분
'이 구조 덕분에 Q-Former의 출력 임베딩 Z는 다중모달정보를 포함하게 된다.'의 의미
Z가 텍스트까지 참고하면서 학습되니까,
이미지에서 얻은 시각적 정보 +텍스트에서 얻은 언어적 정보까지
두 모달리티 정보를 모두 포함하는 멀티모달 벡터가 되는 것
정리
| 🧪 학습 목적 | 🎯 목표 | 👁️ 마스킹 전략 | 🔍 누가 누구를 참조하는지 |
|---|---|---|---|
| 1. ITC (Image-Text Contrastive) | 이미지와 텍스트 표현 정렬 | Unimodal Self-Attention | - 쿼리끼리 O - 텍스트끼리 O - 쿼리 ↔ 텍스트 ❌ |
| 2. ITG (Image-grounded Text Generation) | 이미지를 기반으로 텍스트 생성 | Multimodal Causal Self-Attention (UniLM 스타일) | - 쿼리끼리 O - 쿼리 → 텍스트 ❌ - 텍스트 → 쿼리 O - 텍스트 → 이전 텍스트 O |
| 3. ITM (Image-Text Matching) | 이미지-텍스트 조합 분류 (맞음/틀림) | Bidirectional Self-Attention | - 쿼리 ↔ 텍스트 모두 O - 쿼리끼리 O - 텍스트끼리 O |

생성 기반 사전 학습 단계에서는, Q-Former (고정된 이미지 인코더가 연결된 상태)를 고정된 LLM에 연결하여, LLM의 텍스트 생성 능력을 활용한다.
Figure 3에서 보이는 바와 같이, Fully-Connected층을 사용해 Q-Former의 출력 쿼리 임베딩 Z를 LLM의 텍스트 임베딩 차원에 맞게 선형 변환 한다.
이렇게 변환된 쿼리 임베딩은 텍스트 임베딩 앞에 붙여서 입력되며, "soft visual prompts"처럼 작동한다.
→ 즉, Q-Former가 추출한 시각 표현을 기반으로 LLM이 조건부 생성을 수행하게 된다.
Q-Former는 이전 단계에서 언어 정보가 풍부한 시각 표현을 추출하도록 사전 학습되었기 때문에,이제는 LLM에 정보를 전달할 때, 불필요한 시각 정보는 제거하고, 중요한 정보만 전달하느 bottleneck 역할을 수행한다.
이 구조 덕분에 LLM이 비전-언어 정렬을 새롭게 학습할 필요가 줄어들고,그 결과로 파괴적 망각 문제도 완화된다.
논문에서는 두 종류의 LLM을 실험했다:
✅ 1. 디코더 기반 LLM (예: GPT 계열)
LLM은 Q-Former로부터 받은 시각 표현을 조건으로 텍스트를 생성하도록 학습된다.(LLM은 freeze되어 있음)
✅ 2. 인코더-디코더 기반 LLM (예: T5 계열)
하나의 텍스트를 두 부분으로 나누어 사용한다:
| 항목 | Language Modeling Loss (GPT 등) | Prefix Language Modeling Loss (T5 등) |
|---|---|---|
| 구조 | 디코더-only | 인코더-디코더 |
| 입력 | [Z] + 텍스트 전부 디코더 입력 | [Z] + prefix는 인코더, suffix는 디코더가 예측 |
| 학습 목표 | 텍스트 전체를 왼쪽→오른쪽 순차 생성 | prefix 기반으로 suffix 예측 |
| 활용 모델 | GPT, OPT 등 | T5, BART 등 |
BLIP-2는 BLIP에서 사용한 것과 동일한 이미지-텍스트 데이터셋을 활용한다.
총 1억 2900만 개의 이미지로 구성되어 있고, 다음과 같은 데이터셋이 포함된다.:
| 사용된 데이터셋 | 비고 |
|---|---|
| COCO | 대표적인 캡션 데이터셋 |
| Visual Genome | 객체 관계 및 이미지 영역 주석 포함 |
| CC3M, CC12M | 웹 기반 이미지-텍스트 캡션 데이터 |
| SBU | Flickr 기반 이미지-텍스트 쌍 |
| LAION400M (115M 샘플) | 대규모 웹 기반 이미지-텍스트 오픈 데이터셋 |
웹 이미지들엔 캡션 퀄리티가 좀 애매할 수도 있기 때문에 웹 이미지의 캡션을 생성하기 위해 CapFilt 기법(Li et al., 2022)을 활용했다.
📌 즉, 이미지 하나당 고품질 캡션을 골라서 효율적인 학습이 가능하다
✅ 이미지 인코더 (Frozen)
이때 ViT의 마지막 레이어는 제거하고, 그 전 단계의 출력 피처를 사용하는데, 이 방식이 성능이 소폭 더 좋았다.
✅ LLM (Frozen)
→ 모델은 동결(frozen)되어 파라미터 업데이트 없이 사용되며,
Q-Former가 시각 정보를 정리해서 전달하는 구조로 학습 부담을 줄여준다.
BLIP-2는 2단계 사전 학습을 사용한다.
1단계: 표현 학습 (25만 스텝)
2단계: 생성 기반 학습 (8만 스텝)
| 모델 종류 | 배치 사이즈 |
|---|---|
| ViT-L (1단계) | 2320 |
| ViT-g (1단계) | 1680 |
| OPT (2단계) | 1920 |
| Flan-T5 (2단계) | 1520 |
모델의 연산 효율을 위해 Frozen된 ViT 및 LLM의 파라미터는 FP16 (반정밀도)으로 변환
단, FlanT5만 BFloat16을 사용함. 32비트(float32)와 비교했을 때 성능 저하는 없었음
Frozen 모델을 사용했기 때문에, 기존 대규모 Vision-Language Pretraining 방법보다 훨씬 연산 비용이 낮음.
예를 들어, A100(40GB) 16개 장비만으로도 ViT-g + FlanT5-XXL 조합의 가장 큰 모델도
1단계는 6일 미만,
2단계는 3일 미만에 학습 완료 가능
모든 모델에서 동일한 하이퍼파라미터를 사용함:
- Optimizer: AdamW (Loshchilov & Hutter, 2017)
- β1 = 0.9, β2 = 0.98
- Weight Decay = 0.05
- Learning Rate: 코사인 감쇠 방식 사용
- 최대 학습률: 1e-4
- 워밍업 단계: 2,000 스텝
- 2단계에서의 최소 학습률: 5e-5
- 이미지 크기: 224x224,
- 랜덤 리사이즈 크롭 및 수평 뒤집기(Random Crop & Flip) 적용

BLIP-2 모델 (ViT-g + FlanT5XXL)을 이용한 instructed zero-shot image-to-text generation의 다양한 예시.
모델은 시각적 대화, 시각 지식 추론, 상식 추론, 스토리텔링, 개인화된 이미지 설명 등 폭넓은 능력을 보여준다.”

표 1은 다양한 제로샷 비전-언어 태스크에서 BLIP-2의 성능 개요를 보여준다. 이전의 최첨단(state-of-the-art) 모델들과 비교했을 때, BLIP-2는 성능이 향상되었으며, 비전-언어 사전학습 과정에서 필요한 학습 가능한 파라미터 수는 훨씬 적다.
이 절은 BLIP-2가 얼마나 잘 이미지 기반 질문에 텍스트로 대답하는지를 본격적으로 실험한 내용


BLIP-2는 LLM이 이미지를 이해할 수 있도록 효과적으로 도와주면서도,
텍스트 프롬프트를 따르는 능력은 그대로 유지시킨다.
이 덕분에 우리는 텍스트 프롬프트를 활용해 이미지→텍스트 생성 과정을 제어할 수 있다.
이를 위해 단순히 시각적 프롬프트 뒤에 텍스트 프롬프트를 덧붙여 LLM에 입력으로 넣는다.
우리는 제로샷 시각 질문 응답(VQA) 태스크에서 BLIP-2의 성능을 정량적으로 평가했다.
OPT 모델의 경우, 프롬프트는 "Question: {} Answer:" 형식을 사용했고
FlanT5 모델의 경우 "Question: {} Short answer:" 형식을 사용했다.
생성 과정에서는 beam search 를 사용했으며, 빔 너비는 5로 설정했다. 또한 길이 패널티(length penalty)를 -1로 설정해,
정답이 짧고 사람의 응답과 잘 맞도록 유도했다.
빔 서치란?
하나의 문장이 아닌 여러 문장 후보를 동시에 따라가면서 가장 가능성 높은 정답을 찾는 생성 방식
| 항목 | 설명 |
|---|---|
| Beam Search (width=5) | 문장 후보 5개씩 따라가며 가장 좋은 문장 생성 |
| Length Penalty = -1 | 너무 길어지는 문장을 억제하고 짧고 정확하게 말하도록 유도 |
Table 2에 나온 결과를 보면 BLIP-2는 VQAv2와 GQA 데이터셋에서 최첨단 성능을 달성했다.
특히 Flamingo-80B보다 VQAv2에서 8.7% 더 높은 정확도를 기록했는데, 놀랍게도 학습 가능한 파라미터 수는 Flamingo보다 54배나 적다!
-> 즉, 파라미터 수는 Flamingo의 1/54밖에 안 되는데도 성능이 더 우수했음
단, OK-VQA 데이터셋에서는 Flamingo-80B가 더 우수했다. 그 이유에 대해 다음과 같이 추측한다:
OK-VQA는 시각적 이해보다는 오픈 월드 지식에 더 의존하며, Flamingo-80B는 70B 크기의 Chinchilla 언어모델을 사용해
BLIP-2의 11B FlanT5XXL보다 훨씬 더 많은 지식을 갖고 있기 때문일 것이다.
🔍 Table 2로부터 주목할 만한 관찰
더 강력한 이미지 인코더 또는 더 강력한 LLM을 사용하면 성능이 향상된다!
이 주장은 다음 근거들로 뒷받침된다:
1.더 좋은 이미지 인코더를 쓰면 성능이 올라간다
좋은 인코더 + 좋은 LLM 조합일수록 확실히 더 좋은 성능
이러한 관찰 결과는 BLIP-2가 범용적인 비전-언어 사전학습 방법론으로서, 비전과 자연어 커뮤니티의 빠른 발전을 효율적으로 흡수할 수 있음을 보여준다.
이 실험에서 특히 강조되는 게 하나 있는데-바로 1단계 표현 학습이 얼마나 중요한지이다.
1단계에서의 표현 학습(Representation Learning)은 Q-Former가 먼저 텍스트 관련 시각 정보만 뽑도록 학습을 해놓으면,
나중에 LLM이 굳이 비전-언어 정렬을 스스로 다시 안 해도 된다.!
만약 이 표현 학습 단계를 건너뛰고, Q-Former가 비전→언어 생성 학습만으로 정렬하려고 하면,
→ Flamingo의 Perceiver Resampler 방식과 유사한 결과가 된다.
( 정렬 안된 정보 전달이 되버린다.)
Figure 5는 이 표현 학습의 효과를 보여준다:
표현 학습이 없는 경우, 두 종류의 LLM 모두 제로샷 VQA에서 성능이 크게 저하된다.
특히 OPT는 학습이 진행될수록 catastrophic forgetting 현상이 발생하며, 성능이 심각하게 감소하는 문제가 생긴다.
이번 절에서는 BLIP-2가 어떻게 이미지 설명(캡셔닝)을 잘하는지에 대한 실험 내용이다.
BLIP-2 모델은 이미지 캡셔닝 태스크에 대해 파인튜닝되어, 이미지의 시각적 내용을 자연어로 설명하는 문장을 생성하도록 학습되었다.
연구진들은 LLM에게 입력으로 "a photo of" 라는 프롬프트를 시작 입력으로 주었고, 모델이 그 뒤를 이어 캡션을 생성하도록 학습시켰다.
이때 언어 모델링 손실(language modeling loss)을 사용했다.
⚠️ 중요한 점은:
파인튜닝 과정에서 LLM은 frozen 상태로 두었으며,
대신 Q-Former와 이미지 인코더의 파라미터만 업데이트했다.
연구진들은 ViT-g (이미지 인코더로)와 다양한 LLM 조합에 대해 실험을 진행했다.
파인튜닝은 COCO 데이터셋을 기반으로 수행되었으며,
성능 평가는 다음 두 가지로 나뉘었다:
결과는 Table 3에 제시되어 있다.
BLIP-2는 이미지 캡셔닝 태스크에서 최신(state-of-the-art) 성능을 달성했으며, 특히 NoCaps에서 기존 방식 대비 매우 큰 성능 향상을 보였다.
이것은 BLIP-2가 도메인 외 이미지에 대해서도 뛰어난 일반화 능력을 갖고 있음을 보여준다.
궁금한 부분 정리
- Language Modeling Loss란?
: "다음 단어를 잘 예측하도록 만드는 손실 함수"텍스트가 "a photo of a cat"이면, 모델은 a → photo → of → a → cat이렇게 순차적으로 다음 단어를 예측해야 한다.
2. BLIP-2는 이미지 인코더, LLM 둘 다 동결하는 거 아닌가?
이미지 인코더는 원래는 frozen이다. (대부분 BLIP-2 구조에서)
그런데 이미지 캡셔닝을 위한 "파인튜닝"에서는, 이미지 인코더도 같이 업데이트함
→ 이미지에서 더 캡셔닝에 맞는 표현을 뽑아내도록 조금 더 맞춰주기 위해서즉, 일반 pretraining 단계에서는 이미지 인코더, LLM 둘 다 얼려놓고,Q-Former만 학습
그런데 image captioning처럼 특정 task를 위해 파인튜닝할 땐, Q-Former + 이미지 인코더를 같이 조정한다.
LLM은 그대로 동결!
👉 큰 모델을 괜히 건드리면 성능 망가질 수도 있고, 파라미터 수가 너무 커서 학습이 비효율적이기 때문에
이번에는 이미지를 보고 질문에 직접 답변하는 태스크,
즉 VQA(Vision Question Answering)에 BLIP-2를 어떻게 활용했는지 살펴보자

주석이 달린 VQA(Vision Question Answering) 데이터를 활용하여,
우리는 Q-Former와 이미지 인코더의 파라미터를 파인튜닝하고,
LLM은 frozen 상태로 유지한다.
이는 open-ended answer generation loss을 사용하여 학습한다. 이때 LLM은 Q-Former의 출력과 질문을 입력으로 받아 답변을 생성하는 역할을 수행한다.
Open-ended answer generation loss란?
- 이미지 보고 정해진 정답 고르기(X)
- 이미지 + 질문 보고 직접 정답 문장을 생성하게 하는 방식(O)
❌ 고양이, 개, 사람 중 골라
✅ "The cat is on the chair." 처럼 직접 말하게 시킴생성된 정답이 사람이 쓴 답변과 얼마나 비슷한지로 손실을 계산해 학습함.
여기서 중요한 부분은
이미지에서 질문과 더 관련 있는 특성(feature)을 추출하기 위해,
Q-Former를 질문에 조건부로 설정한다는 것이다.
구체적으로는, 질문 토큰을 Q-Former의 입력으로 제공하고,
이 토큰들이 셀프 어텐션 레이어를 통해 쿼리들과 상호작용하게 만든다.
원래 Q-Former는 이미지만 보고 "어떤 시각 정보가 중요하지?" 라고 판단하는데 여기에 질문도 같이 주면
→ “질문에서 고양이 물어봤네?”
→ “그럼 이미지에서 고양이 있는 쪽에 더 집중해야겠네~”이렇게 질문과 관련된 이미지 특징에 집중하도록 도와준다.
-> Q-Former의 크로스 어텐션 레이어가 더 정보가 풍부한 이미지 영역에 집중할 수 있도록 유도하는데 도움이 됨
BLIP의 학습 설정을 따르며, 사용하는 VQA 데이터는 다음과 같다:
👉 결과는 Table 4에 제시되어 있으며, BLIP-2는 개방형 생성 기반 모델들 중에서 최신 성능을 보여준다.
이미지-텍스트 검색(image-text retrieval)은 텍스트를 생성할 필요 없이, 주어진 이미지(또는 텍스트)에 가장 잘 맞는 텍스트(또는 이미지)를 찾아주는 작업이다.
따라서 BLIP-2는 LLM 없이 1단계에서 사전학습된 모델을 직접 파인튜닝한다.
사용한 모델: BLIP-2 (1단계 사전학습 모델)
텍스트 생성은 안 하니까 → LLM은 제외
파인튜닝 대상: 이미지 인코더 + Q-Former
데이터셋: COCO, Flickr30K
손실 함수: 사전학습 때와 같은 세 가지
❗️이 손실 함수들은 이미지와 텍스트를 얼마나 잘 맞추는지 학습하게 해주는 핵심 요소이다.
그 후 모델을 다음 두 가지 작업에 대해 평가한다:
추론 과정에서는 Li et al. (2021; 2022)의 방식을 따른다:

결과는 Table 5에 제시되어 있으며, BLIP-2는 제로샷 이미지-텍스트 검색 성능에서 최신(state-of-the-art) 성능을 달성했으며, 기존 방식들보다 크게 향상된 결과를 보였다.
특히, ITC (Image-Text Contrastive loss)와 ITM (Image-Text Matching loss)는
이미지-텍스트 검색에서 핵심적인 손실 함수이며,
이 두 손실이 이미지-텍스트 간의 유사도 학습에 직접적으로 기여함을 보여줍니다.

또한, Table 6에서는 ITG (Image-Grounded Text Generation) 손실 역시 검색 성능 향상에 도움이 됨을 확인했다.
이 결과는 우리가 표현 학습 목적(representation learning objective)을 설계할 때 가졌던 직관을 지지한다.:
📌 ITG 손실은 쿼리들이 텍스트와 관련 있는 시각 정보를 더 잘 추출하도록 유도하고, 이로 인해 비전-언어 정렬(vision-language alignment)이 더욱 향상된다.
연구진은 그 이유를 다음과 같이 추측한다.
BLIP-2의 사전학습 데이터셋에는 하나의 이미지-텍스트 쌍만 포함되어 있고, 하나의 시퀀스(입력)에 여러 이미지-텍스트 쌍이 함께 등장하는 구조가 아니기 때문.
→ 즉, LLM이 다양한 이미지-텍스트 쌍 간의 상호 연관성을 학습할 수 있는 기회 자체가 부족했던 것.
같은 현상은 Flamingo 논문에서도 보고된 바 있다. Flamingo는 M3W라는 비공개 데이터셋을 사용했는데, 여기엔 하나의 시퀀스에 여러 이미지와 텍스트가 서로 섞여 등장하도록 구성되어 있었다.
💡 연구진은 향후 연구에서 Flamingo처럼 복수의 이미지-텍스트 쌍이 포함된 interleaved(교차된) 데이터셋을 만들고자 합니다.
그 원인에는 다음과 같은 것들이 있다:
(1).LLM이 부정확한 지식을 가지고 있는 경우
(2). 잘못된 추론 경로를 활성화한 경우
(3). 최신 이미지 콘텐츠에 대한 정보 부족
👉 이러한 문제를 완화하기 위한 방안으로는, 명시적인 지시어를 통해 모델의 출력 생성을 유도하거나, 모델을 재학습(재튜닝)하는 방식의 접근이 있다.
BLIP-2는 범용적이고 계산 효율적인 비전-언어 사전학습 방식으로,
사전학습된 이미지 인코더와 LLM을 frozen 된 상태로 활용한다.
BLIP-2는 사전학습 중 학습해야 할 파라미터 수는 적으면서도, 다양한 비전-언어 작업에서 최첨단 성능을 달성한다.
또한 BLIP-2는 제로샷 기반의, 프롬프트에 따라 제어되는 이미지→텍스트 생성 능력이라는 새로운 가능성도 보여준다.