My Vision, Computer Vision

[논문 리뷰/요약] BLIP-2: Bootstrapping Language-Image Pre-training 본문

Paper

[논문 리뷰/요약] BLIP-2: Bootstrapping Language-Image Pre-training

gyuilLim 2025. 2. 7. 18:35
 

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

The cost of vision-and-language pre-training has become increasingly prohibitive due to end-to-end training of large-scale models. This paper proposes BLIP-2, a generic and efficient pre-training strategy that bootstraps vision-language pre-training from o

arxiv.org

 

Problem

  • 대부분의 State-of-the-art Vision-Langauge model들은 모델의 크기가 크고 학습 데이터가 많기 때문에 높은 연산량을 요구한다.
  • 보통 VLM(Vision-Language Model)은 사전학습된 Unimodal model, 즉 이미지 인코더와 텍스트 인코더를 합쳐서 네트워크를 구축한다.
  • 이 때 사전학습된 Unimodal model, 예를 들어 텍스트 데이터만을 학습한 LLM은 이미지에 대한 시각적 정보가 없기때문에 Vision-Language Alignment가 어렵다.

Contribution

  • BLIP-2 : Bootstrapping Language-Image Pre-training with frozen unimodal models 을 제안한다.
  • BLIP-2는 두 단계로 사전 학습된 Q-Former를 활용하여 모달리티 갭을 줄인다.
  • BLIP-2는 Language instruction을 따라 Zero-shot image-to-text 생성으로도 사용할 수 있다.
  • Unimodal model을 Freezing하고, 가벼운 Q-Former를 사용하기 때문에 기존 Sota 모델보다 효율적이다.

Method

BLIP-2 아키텍쳐

BLIP-2 아키텍쳐

  • Q-Former는 위와 같이 Image Encoder와 LLM 사이에 있는 모듈이다. 두 단계의 사전 학습 과정을 거친다.
  • First stage : 고정된 이미지 인코더로 비전-언어 표현(Vision-Language Representation) 학습
  • Second stage : 고정된 LLM으로 비전→언어 생성(Vision-to-language generative) 학습
  • frozen Image encoder & frozen LLM의 모달리티 갭을 줄이기 위함

Q-Former 란

Q-Former 아키텍쳐

  • Q-Former는 두 개의 트랜스포머 서브 모듈로 구성되며, 같은 Self Attention 레이어(주황색)를 공유한다.
  • Image Transformer(왼쪽 모듈), Text Transformer(오른쪽 모듈)로 구성된다.
  • Self Attention 레이어와 Feed Forward는 BERT base의 사전학습 가중치를 사용하고, Cross Attetnion 레이어의 가중치는 랜덤으로 초기화한다.

Image Transformer(왼쪽 모듈)

  • Frozen Image Encoder와 상호작용하며 시각적 특징을 추출한다.
  • 입력으로 들어가는 학습 가능한 쿼리는 셀프 어텐션 레이어에서 서로 상호작용하며, Text transformer와 가중치를 공유하기 때문에 동시에 텍스트 정보도 반영된다.
  • 크로스 어텐션 레이어에서는 Frozen image encoder의 피쳐와 상호작용한다.

Learnable Queries

  • 768차원의 크기를 가진 벡터이며, 총 쿼리의 개수는 32개이다(32 * 768).
  • 출력된 쿼리Z 로 나타내며, 크기는 똑같이 (32 * 768)이다.
  • 이는 Frozen image feature(257 * 1024)와 비교했을 때 훨씬 작은 크기인데, 이는 병목 구조로 텍스트와 가장 관련성이 높은 정보를 추출하도록 강제한다고 설명한다.

Text Transformer(오른쪽 모듈)

  • Text encoder, Text decoder로 모두 작동한다.
  • Q-Former는 학습 가능한 쿼리를 포함하여 매개변수의 개수가 188M 개이다.

First Stage(Representation Learning) - Three Objective

  • 첫번째 사전학습 단계는 표현을 학습하는 과정이다.
  • 세 개의 목적함수(로스)가 사용된다.

세 개의 Self-Attention Mask

Image-Text Contrastive (ITC)

  • Image Transformer로부터 출력된 쿼리 ZText Transformer 로부터 출력된 Text representation t 끼리 대조학습한다.
  • Z 는 32개의 임베딩(32 * 768)으로 되어있기 때문에 32개 중 t가장 높은 유사도 값을 Image-Text 유사도로 사용한다.
  • 이 때, 쿼리와 텍스트 사이 정보 누출이 없도록 Uni-modal Self-Attention Mask를 사용한다. 이미지와 텍스트를 대조하는 학습이기 때문에, 이미지를 담당하는 쿼리와 텍스트 사이 정보 공유를 방지하는 것이다.

Image-grounded Text Generation (ITG)

  • Q-Former가 입력 이미지로부터 텍스트를 생성하도록 학습한다.
  • 구조상 텍스트 트랜스포머가 이미지의 정보를 직접적으로 활용할 수 없기때문에 Self-Attention 레이어에서 Query의 정보를 사용한다.
  • Multimodal Causal Self-Attention Mask를 적용하여 쿼리는 텍스트 토큰을 참조하지 못하도록, 텍스트 토큰은 쿼리의 정보와 이전 텍스트 토큰만을 참조할 수 있도록한다.

Image-Text Matching (ITM)

  • 주어진 이미지와 텍스트가 양성(Match)인지 음성인지 예측하도록 이진 분류로 학습한다.
  • Bi-directional Self-Attention Mask를 적용하여 Query와 Text가 서로 참조할 수 있도록한다.
  • 모든 쿼리의 평균 로짓을 최종 매칭 스코어로 사용한다.

Second Stage(Generative Learning)

Second Stage의 학습 파이프라인

  • 첫번째 단계에서는 고정된 이미지 인코더를 활용하여 Q-Former가 이미지로부터 텍스트와 관련된 정보를 추출하도록 훈련했다.
  • 두번째 단계고정된 LLM을 활용하여 Q-Former를 학습시킨다.
  • 위 그림에서처럼 Q-Former로부터 출력된 쿼리 임베딩을 Fully Connected 레이어를 거쳐 LLM의 입력과 같은 크기로 변환한다.
  • LLM Decoder만 사용할 수도 있고, LLM Encoder-Docoder를 사용할 수도 있다.
  • 그림에서 윗부분은 LLM Decoder만 사용한 경우인데, 이미지 정보를 LLM Decoder에게 넘겨주고 적절한 문장을 생성하게끔 학습하는 것이다.
  • 그림에서 아랫부분은 LLM Encoder에게 이미지 정보와 Prefix Text(앞부분)를 넘겨주고 디코더로부터 Suffix Text(뒷부분)를 예측하게끔 하는 것이다.

Model Pre-training

Pre-Training Data

  • 사전 학습 데이터의 이미지는 총 129M개이고, COCO, Visual Genome, CC3M, CC12M, SBU, LAION400M 데이터셋으로부터 가져온 115M개가 포함된다.
  • 캡션은 BLIP의 CapFilt 방법을 사용하여 선별된 캡션과 원본 캡션 중 랜덤 샘플링하여 사용한다.

Pre-trained image encoder and LLM

  • Frozen Image Encoder로는 CLIP의 ViT-L/14 혹은 EVA-CLIP의 ViT-g/14를 사용한다.
  • ViT의 마지막 레이어를 제거하고 그 이전 레이어의 출력을 사용한다(실험적으로 성능 향상 확인).
  • Frozen LLM으로는 OPT 계열 모델과 FlanT5 모델 계열을 사용한다.

Pre-training settings

  • First stage에서 250k step, Second stage에서 80k 스텝 학습.
  • ViT-L/ViT-g의 배치는 각각 2320/1680, 두번째 단계에서 OPT/FlanT5의 배치는 각각 1920/1520이다.
  • 그 외 하이퍼 파라미터 세팅은 논문 참고.

Experiment

BLIP-2 벤치마크 오버뷰

  • BLIP-2와 SOTA 모델들의 Zero-shot을 태스크별로 측정한 테이블이다.
  • BLIP-2가 Trainable Parameter는 가장 적지만 성능은 제일 높은 것을 확인할 수 있다.
  • 여기서 파라미터 개수는 모델 전체 파라미터 개수가 아니고 학습 가능한 파라미터의 개수이다.

BLIP-2와 SOTA 모델들의 VQA Zero-shot 성능 벤치마크 비교

  • VQA task에 대해 Zero-shot 성능을 비교한 것이다.
  • BLIP-2의 전체 파라미터는 3.1B ~ 12.1B인데, 비슷한 파라미터 개수를 가진 모델과 비교해보면 더 높은 것을 확인할 수 있다.

Conclusion

  • 본 논문에서는 BLIP-2를 제안한다.
  • BLIP-2는 Pre-trained Frozne Image Encoder, LLM을 활용하여 효율적인 훈련 방식을 제안한다.
  • 또한 Zero-shot을 포함한 여러가지 Vision-Language 태스크에서 State-of-the-art를 달성했다.

Review

  • BLIP-2는 상당히 복잡한 구조로 만들어졌다.
  • 학습 파라미터가 적다고 해도 Loss가 세번 계산되기 때문에, 학습 시간은 그만큼 느릴 것으로 생각된다.
  • 그래도 구조를 논리적으로 풀어내는 부분과 성능이 높게 측정됐다는 부분이 칭찬할 만 하다.
728x90