Flamingo: 소수샷 시각-언어 모델의 선구자

개요

Flamingo는 2022년 4월 DeepMind가 발표한 소수샷(few-shot) 시각-언어 모델(VLM)이다. 80B 파라미터 규모의 이 모델은 고정된 대규모 언어 모델(Chinchilla 70B)과 비전 인코더(NFNet-F6)를 Perceiver Resampler로 연결하고, Gated Cross-Attention 레이어를 LLM에 삽입하는 혁신적 구조를 제안했다.

Flamingo의 가장 중요한 기여는 인터리브(interleaved) 이미지-텍스트 처리이다. GPT-3이 텍스트 프롬프트에 예제를 제공하듯, Flamingo에 이미지-텍스트 쌍 예제를 제공하면 새로운 시각 태스크를 파인튜닝 없이 수행할 수 있다. 16개 멀티모달 벤치마크 중 6개에서 32샷만으로 파인튜닝 모델을 능가하는 놀라운 성과를 달성했으며, 이 연구는 LLaVA, BLIP-2 등 모든 후속 VLM의 이론적 토대가 되었다.

논문: Flamingo: a Visual Language Model for Few-Shot Learning

아키텍처 상세

전체 구조

Flamingo는 세 가지 핵심 컴포넌트로 구성된다:

  1. 비전 인코더(Frozen): NFNet-F6 기반 (CLIP 방식으로 사전학습, ~400M params)
  2. Perceiver Resampler(Trainable): 시각 특징을 고정 크기 64개 토큰으로 압축
  3. LLM + Gated Cross-Attention(Partially Trainable): Chinchilla 70B

Perceiver Resampler

Perceiver Resampler는 임의 크기의 이미지/비디오 특징을 고정된 64개의 시각 토큰으로 압축한다:

64개의 학습 가능한 잠재 쿼리(latent query)가 교차 어텐션을 통해 비전 인코더 출력에서 필요한 정보를 추출한다. 이미지와 비디오 모두 동일한 차원의 고정 크기 토큰 시퀀스로 변환되므로, 모델이 다양한 시각 입력을 유연하게 처리할 수 있다. 이 설계는 이후 BLIP-2의 Q-Former에 직접적인 영감을 주었다.

Gated Cross-Attention

LLM의 기존 셀프 어텐션 레이어 사이에 새로운 교차 어텐션 레이어를 삽입한다:

여기서 학습 가능한 게이팅 스칼라로, 0으로 초기화된다. 이를 통해:

  • 학습 초기: 게이팅 값 ≈ 0이므로 LLM의 원래 행동을 완벽히 보존
  • 학습 진행: 게이팅 값이 점진적으로 증가하며 시각 정보를 반영
  • 결과: LLM의 언어 능력을 손상시키지 않으면서 멀티모달 능력을 안정적으로 추가

모든 Gated Cross-Attention 레이어가 아닌, LLM 레이어 중 일부에만 삽입된다 (4개 레이어마다 1개).

인터리브 멀티모달 처리

[Image1] This is a photo of a golden retriever.
[Image2] This is a photo of a tabby cat.
[Image3] This is a photo of

이미지와 텍스트가 임의 순서로 인터리브된 시퀀스를 처리할 수 있어, ICL(In-Context Learning) 방식의 소수샷 학습이 자연스럽게 구현된다. 이는 이후 GPT-4V, Gemini 등 모든 멀티모달 대화 시스템의 기본 능력이 되었다.

구성 요소사양
LLMChinchilla 70B (Frozen)
비전 인코더NFNet-F6 (Frozen)
Perceiver 쿼리 수64
히든 차원8192
레이어 수80
어텐션 헤드64
학습 파라미터~10B (Perceiver + Gated XAttn)

핵심 혁신

1. Perceiver Resampler

가변 크기의 시각 입력을 고정 크기(64개 토큰)로 압축하여 LLM의 컨텍스트 윈도우를 효율적으로 사용한다. 이미지든 비디오 프레임이든 동일한 64개 토큰으로 표현되므로, 다양한 시각 입력을 유연하게 처리할 수 있다.

2. Gated Cross-Attention with Zero Init

0으로 초기화된 게이팅으로 LLM의 사전학습된 능력을 보존하면서 멀티모달 능력을 추가하는 우아한 방법이다. 이 테크닉은 이후 LoRA의 zero-init, ControlNet의 zero convolution 등 다양한 연구에서 응용되었다.

3. 인터리브 멀티모달 소수샷 학습

이미지와 텍스트가 자유롭게 섞인 시퀀스를 처리하는 최초의 대규모 모델로, “프롬프트에 예제를 제공하면 새 태스크를 수행”하는 GPT-3의 ICL 패러다임을 멀티모달로 확장했다.

벤치마크/성능

벤치마크Flamingo-80B (32-shot)이전 SOTA (fine-tuned)비고
COCO Caption138.1 CIDEr131.1 (CoCa)파인튜닝 모델 능가
VQAv267.6%80.0% (파인튜닝)32샷 기준
OK-VQA57.8%54.4% (파인튜닝)파인튜닝 모델 능가
TextVQA54.1%60.2% (파인튜닝)32샷 기준
Hateful Memes70.7%64.7%파인튜닝 모델 능가

16개 벤치마크 중 6개에서 32샷만으로 파인튜닝 SOTA를 능가하였다. 나머지 벤치마크에서도 격차가 크지 않아, 소수샷 멀티모달 학습의 강력함을 입증하였다.

관련 모델 비교

특성FlamingoLLaVABLIP-2GPT-4V
발표 연도2022202320232023
소수샷 능력우수제한적보통우수
브릿지 방식Perceiver + XAttnLinear/MLPQ-Former네이티브
LLM 학습FrozenFull FTFrozenEnd-to-End
오픈소스비공개공개공개비공개
비디오 지원지원미지원 (v1)미지원지원

학습 상세

학습 데이터 구성:

데이터셋유형규모
M3W (MultiModal MassiveWeb)인터리브 이미지-텍스트43M 웹페이지
ALIGN이미지-텍스트 쌍1.8B
LTIP긴 텍스트 이미지 쌍312M
VTP비디오-텍스트 쌍27M

옵티마이저: AdaFactor (누적 그래디언트) 학습 인프라: TPU v4 Pod 학습 파라미터: ~10B (전체 80B 중 Perceiver + Gated XAttn만)

실무 활용

Flamingo 자체는 비공개 모델이지만, 충실한 오픈소스 재구현이 다수 존재한다:

# OpenFlamingo (LAION 커뮤니티 재구현)
from open_flamingo import create_model_and_transforms
 
model, image_processor, tokenizer = create_model_and_transforms(
    clip_vision_encoder_path="ViT-L-14",
    clip_vision_encoder_pretrained="openai",
    lang_encoder_path="anas-awadalla/mpt-7b",
    tokenizer_path="anas-awadalla/mpt-7b",
)
 
# Few-shot VQA
demo_images = [Image.open(f"demo_{i}.jpg") for i in range(3)]
demo_texts = ["Q: What is this? A: A dog.", "Q: What is this? A: A cat."]
query_image = Image.open("query.jpg")
query_text = "Q: What is this? A:"
# ... generate response

주요 오픈소스 파생 모델:

  • OpenFlamingo (LAION): 직접적 아키텍처 재구현
  • IDEFICS/IDEFICS2 (HuggingFace): Flamingo 아키텍처 기반 오픈 모델
  • Otter (NTU): OpenFlamingo 기반 인스트럭션 튜닝

한계 및 전망

한계

  1. 비공개 모델: 가중치 미공개로 직접 사용 불가
  2. 대규모 컴퓨팅: 80B 파라미터로 추론 비용이 매우 높음
  3. 이미지 생성 불가: 이미지 이해에 특화, 생성 능력 부재
  4. 시각 해상도: NFNet 인코더의 해상도 제한으로 OCR 등 고해상도 태스크에 약함

전망

Flamingo는 “고정된 LLM에 멀티모달 능력을 추가”하는 패러다임을 정립한 선구적 연구이다. Perceiver Resampler → Q-Former(BLIP-2) → MLP Projector(LLaVA)로의 브릿지 모듈 진화, Gated Cross-Attention → 다양한 게이팅 기법으로의 발전, 인터리브 멀티모달 처리의 범용화 등 현대 VLM의 거의 모든 기본 개념이 Flamingo에서 출발했다. 2024-2025년의 GPT-4o, Gemini 등이 네이티브 멀티모달로 진화하면서 Flamingo 스타일의 “모듈 추가” 방식은 줄어들었지만, 효율적 파인튜닝과 모듈형 설계라는 핵심 철학은 여전히 유효하다.

관련 문서