📑 논문

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

노바깅 2025. 4. 6. 21:48

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

 

Abstract

 Vision-and-language pre-training은 대규모 모델을 end-to-end로 학습시키는 방식 때문에 점점 더 비용이 많이 들고 있다. 이 논문에서는 BLIP-2라는 새로운 pre-traning 전략을 제시한다. BLIP-2는 미리 학습된 이미지 인코더와 llm을 frozen 시킨 채로 vision-language pre-training을 bootstrap 하는 방식이다. BLIP-2는 lightweight Querying Transformer를 사용하여 vision과 language 사이의 gap을 연결하며, 이 transformer는 두 단계로 pre-train 된다. 먼저 frozen 이미지 인코더를 활용해 vision-language representation learning을 bootstrap하고, frozen된 언어 모델을 사용해 vision-to-language generative learning을 bootstrap 한다. BLIP-2는 기존의 방법들보다 학습 가능한 파라미터 수가 훨씬 적지만, 뛰어난 성능을 보인다.

 

1. Introduction

 Vision-language pre-training (VLP) 연구는 최근 몇 년 간 빠르게 발전하고 있고, 더 큰 규모의 사전 학습된 모델들이 개발되어 다양한 다운스트림 태스크에서 좋은 성능을 보이고 있다. 하지만 대부분의 최신 vision-language model은 대규모 모델과 데이터셋을 사용한 end-to-end 학습으로 인해 높은 비용이 발생한다.

 

 Vision-language 연구는 vision과 language 사이의 교차점에 위치하므로 vision-language 모델들이 비전과 자연어 unimodal 모델들을 활용할 수 있을 것으로 자연스럽게 기대된다. 이 논문에서는 기존에 학습된 비전 모델과 언어 모델을 frozen 하여 부트스트랩하는 방식으로 효율적인 VLP 방법을 제시한다. 사전 학습된 비전 모델은 고품질의 visual representation을 제공하고, 사전 학습된 언어 모델, 특히 LLM은 강력한 언어 생성 및 zero-shot transfer 능력을 제공한다.. 계산 비용을 줄이고, catastrophic forgetting을 방지하기 위해 unimodal pre-trained model은 학습 중 frozen 상태를 유지한다.

 

 VLP를 위해 기존의 unimodal 모델을 사용하려면 cross-modal alignment가 중요하다. 그러나 LLM은 이미지 데이터를 학습하지 않았기 때문에 이를 frozen 하는 것은 vision과 language 사이의 align을 어렵게 만든다. 기존의 방법들 (Frozen, Flamingo 등)은 image-to-text generation loss를 사용하지만 이는 modality gap을 충분히 해소하지 못한다.

 

 

 이를 해결하기 위해 논문에서는 두 단계로 학습된 Querying Transformer (Q-Former)를 제시한다. Q-Former는 lightweight transformer로 학습 가능한 query vector set을 사용하여 frozen image encoder에서 visual features를 추출하고, frozen image encoder와 frozen LLM 사이의 information bottleneck 역할을 한다. 그 후 LLM이 원하는 텍스트를 출력할 수 있도록 유용한 visual feature를 제공한다. 첫 번째 pre-training stage에서는 vision-language representation learning을 수행하여, Q-Former각 텍스트와 가장 관련이 깊은 visual representation을 학습하도록 한다. 두 번째 pre-training stage에서는 Q-Former의 output을 frozen LLM과 연결하여 vision-to-language generation learning을 수행한다. 이를 통해서 Q-Former의 output인 visual feature가 LLM에 의해 해석될 수 있도록 훈련한다.

 

 이 VLP framework를 BLIP-2 (Bootstrapping Language-Image Pre-training with frozen unimodal models) 라고 하며 아래와 같은 이점을 가진다.

  • Frozen pre-trained image model과 language model을 효과적으로 활용한다.
  • LLM을 활용한 zero-shot image-to-text generation
  • Frozen unimodal models와 lightweight Q-Former 덕분에 BLIP-2는 현재 SOTA보다 더 계산 효율적이다.

 

3. Method

3.1. Model Architecture

 Q-Former는 frozen image encoder와 frozen LLM 사이의 gap을 연결하는 학습 가능한 모듈이다. 이 모듈은 image encoder에서 고정된 수의 output feature를 추출한다. Q-Former는 (1) frozen image encoder와 상호작용하여 visual feature를 추출하는 image transformer와 (2) text encoder와 text decoder로 동작할 수 있는 text transformer 두 개의 transfomer submodule로 구성되며, 같은 self-attention layer를 공유한다. (Figure 2) 

 고정된 수의 학습 가능한 퀄리 임베딩을 image transformer의 입력으로 넣으면, 쿼리들은 self-attention layer를 통해 서로 상호작용하고 frozen image features와 cross-attention layer를 통해 상호작용한다. 쿼리들은 추가적으로 동일한 self-attention layer를 통해서 text와도 상호작용한다. 사전 학습 task에 따라서, 다른 self-attention masks를 사용하여 query-text 상호작용을 제어한다. 

 Q-Fromer는 BERT$_{base}$의 사전 학습된 weight로 초기화되고, cross-attention layer는 랜덤으로 초기화한다. Q-Former의 파라미터는 188M이다. (쿼리 역시 모델의 파라미터로 계산)

 

 실험에서 32개의 쿼리를 사용하고 각 쿼리는 768차원을 가진다. Output query representation은 $Z$로 표시하고 $Z$는 32 x 768 사이즈로 image feature보다 훨씬 작다. 이 bottleneck 구조는 pre-training objectives와 함께 작동하여 쿼리들이 텍스트와 가장 관련있는 visual information을 추출하도록 강제한다.

 

3.2. Bootstrap Vision-Language Representation Learning from a Frozen Image Encoder

 Representation learning 단계에서, Q-Former를 frozen image encoder에 연결하고 image-text pair를 이용해서 pre-train을 한다. 목표는 Q-Former가 쿼리들을 학습하여 텍스트와 가장 관련 있는 visual representation을 추출하는 것이다.

Image-Text Contrastive Learning (ITC)

 Image representation과 text representation을 align하여 그들의 mutual information을 최대화 한다. Image transformer에서 나온 output query representation $Z$와 text transformer에서 나온 text representation $t$를 align 한다. $t$는 [CLS] 토큰의 output embedding이다. $Z$는 여러 개의 (각 쿼리에서 나오는) output embedding을 포함하므로 각 쿼리 output과 $t$ 사이의 pairwise similarity를 계산한 후 가장 높은 값을 image-text similarity로 선택한다. Information leak를 방지하기 위해서 쿼리와 테스트가 서로를 볼 수 없도록 하는 unimodal self-attention을 사용한다. Frozen image encoder 덕분에 더 많은 샘플을 GPU에 올릴 수 있다.

Image-grounded Text Generation (ITG)

 이미지가  주어졌을 때 Q-Former가 텍스트를 생성하도록 훈련한다. Q-Former는 frozen image encoder와 텍스트 토큰 간의 직접적인 상호작용을 허용하지 않기 때문에 텍스트를 생성하는데 필요한 정보는 먼저 쿼리에 의해 추출되어야 하고, 그 다음에 self-attention layer를 통해 텍스트 토큰에 전달된다. 따라서 쿼리는 텍스트와 관련된 모든 visual feature를 추출해야 한다. 쿼리와 텍스트 사이의 상호작용을 제어하기 위해 multimomdal causal self-attention mask를 사용한다. 쿼리는 서로 볼 수 있지만 텍스트 토큰은 서로 볼 수 없다. 각 텍스트 코튼은 모든 쿼리와 그 이전의 텍스트 토큰을 볼 수 있다. [CLS] 토큰을 새로운 [DEC] 토큰으로 대체하여 첫 번째 토큰으로 사용하고 이는 디코딩 작업을 나타낸다.

Image-Text Matching (ITM)

 Image와 text representation 사이의 fine-grained alignment을 학습한다. 이진 분류 작업으로, 모델은 image-text pair가 positive한지 negative한지 분류한다. Bi-directional self-attention mask를 사용하여 모든 쿼리와 텍스트가 서로를 볼 수 있도록 한다.  Output query embedding $Z$는 multimodal 정보를 캡처한다. 각 output query embedding을 two-class linear classifier에 입력하여 logit 값을 얻고, 모든 쿼리에서의 logit 값을 평균내서 최종 matching score를 계산한다. Informative negative pairs를 구축하기 위해 hard negative mining 전략을 사용한다.

 

3.3. Bootstrap Vision-to-Language Generative Learning from a Frozen LLM

 Generative pre-training stage에서 Q-Former를 frozen LLM과 연결하여 LLM의 언어 생성 능력을 활용한다. Figure 3에서 나타난 것 처럼, fully-connected layer를 사용해서 output query embedding $Z$ 를 텍스트 임베딩과 동일한 차원으로 linearly projection 한다. 변환된 쿼리 임베딩은 텍스트 임베딩 앞에 추가되고, 이는 LLM을 Q-Former가 추출한 visual representation에 조건을 주는 soft visual prompts 역할을 하게 된다. Q-Former는 언어 정보를 포함한 visual representation을 추출하도록 pre-trained 되었기 때문에, information bottleneck 역할을 하여 LLM에 가장 유용한 정보를 제공하고 관련 없는 visual 정보는 제거한다. 이로 인해 LLM이 vision-language alignment를 학습할 부담이 줄어들어 catastrophic forgetting 문제를 완화하는데도 도움이 된다.

 

 디코더 기반 LLM은 language modeling loss로 pre-train을 진행한다. Frozen LLM이 Q-Former의 visual representation을 바탕으로 텍스트를 생성하는 작업을 수행한다. 인코더-디코더 기반 LLM의 경우 prefix language modeling loss로 pre-train을 진행한다. 텍스트를 두 부분으로 나누어 prefix text를 visual representation과 concat하여 LLM의 인코더에 input으로 준다. suffix text는 LLM의 디코더에서 생성할 텍스트로 사용된다.

 

 

3.4. Model Prer-training

Pre-training data

 BLIP과 동일한 pre-trained 데이터셋을 사용했다. 총 1억 2900만개의 이미지가 포함되어 있다. (COCO, Visual Genome, CC3M, CC12M, SBU, LAION400M) 웹 이미지에 대한 캡션을 생성하기 위해서 CapFilt 방법을 채택하였다. BLIPlarge 모델로 10개의 캡션을 생성하고, CLIP ViT-L/14 모델을 이용해 이미지-텍스트 유사도를 계산해 상위 두 캡션을 선택한다. Pre-trained 단계에서는 이를 무작위로 샘플링하여 사용한다.

Pre-trained image enccoder and LLM

CLIP의 ViT-L/14, EVA-CLIP의 ViT-g/14를 사용했다. ViT 모델의 마지막 층을 제거하고 두 번째 마지막 층의 출력을 사용한다.

Frozen LLM에 대해서는 디코더 기반 LLM은 unsupervised-trained된 OPT 모델군, 인코더-디코더 기반 LLM의 경우 instruction-trained된 FlanT5 모델군을 사용한다.

 

4. Experiment

자세한 실험 내용은 논문 참고

 

5. Limitation

  • BLIP-2는 in-context VQA 예시를 제공해도 성능 향상이 없었다. 이는 pre-trained dataset이 각 샘플당 하나의 이미지-텍스트 쌍만 포함하고 있기 때문이다. 여러 이미지-텍스트 쌍의 상관관계를 학습할 수 없었다. Flamingo 논문에서는 M3W 데이터셋을 사용하여 여러 이미지-텍스트 쌍을 시퀀스에 포함 시키는 방식으로 in-context learning을 가능하게 했다.
  • BLIP-2의 이미지-텍스트 생성은 부정확한 LLM의 지식, 잘못된 추론 등으로 인해 만족스럽지 않을 수 있다.
  • BLIP-2는 고정된 모델을 사용하기 때문에 LLM의 위험이 그대로 있다.

 

 

6. Conclusion

 고정된 pre-trained image encoder와 LLM을 활용한 vision-language pre-training을 위한 일반적이고 계산 효율저거인 방법을 제시한다. BLIP-2는 학습 가능한 파라미터가 적음에도 불구하고 다양한 vision-language task에서 sota를 달성한다. 또한 BLIP-2는 zero-shot instructed image-to-text generation에서 새로운 능력을 보여준다.