딥러닝 논문/VLM(비전 랭귀지 모델) 딥러닝 논문

[REVIEW] Flamingo : a Visual Language Model for Few-Shot Learning

서울대 경제학부 22학번 이지원 2026. 3. 3. 14:47

(1) 어떤 문제를 해결하고 싶은가

  • 목표: multimodal(image/video + text) 모델이 few-shot in-context learning으로 새로운 시각-언어 태스크에 빠르게 적응하도록 만드는 것이다.
    • “few-shot”은 태스크별 fine-tuning 없이, prompt에 (입력,정답) 예시를 몇 개(예: 4, 32 shots) 넣고 autoregressive generation으로 답을 생성하는 설정이다.
  • 문제의 핵심 난점:
    • 기존 CV 파이프라인은 대개 대량의 태스크별 라벨 데이터 + fine-tuning에 의존해서, 새로운 태스크/도메인에 빠르게 적응하기 어렵다.
    • contrastive 기반 vision-language 모델(예: CLIP류)은 zero-shot 분류는 강하지만, 기본적으로 “text-image similarity”라서 언어를 생성해야 하는 open-ended 태스크(captioning, VQA, dialogue 등)에 제약이 있다.
    • 텍스트 LLM처럼 few-shot을 하려면, 모델이 text 토큰 사이에 image/video 입력이 임의로 interleave될 수 있는 prompt를 처리해야 한다.
직관적 의미

“LLM이 텍스트만 보고 few-shot으로 태스크를 맞추는 것”을, “이미지/비디오를 prompt 중간중간 끼워 넣어도 같은 방식으로 few-shot을 하게 만들자”가 이 논문의 큰 방향이다.


(2) 선행연구는 어땠는가

  • Fine-tuning 중심의 vision / vision-language:
    • 대규모 supervised pretraining 후 태스크별 fine-tuning이 표준이고, 실무적으로는 수천~수십만 라벨이 필요할 때가 많다는 문제의식을 둔다.
  • Contrastive vision-language(dual encoder):
    • CLIP/ALIGN 계열처럼 contrastive objective로 zero-shot 분류/검색은 가능하나, 출력이 “생성”이 아니라 “유사도 점수”라 open-ended 생성 태스크에 직접 쓰기 어렵다.
  • Visually-conditioned language generation:
    • 이미지 조건부 생성/다중 모달 생성 연구들이 있었지만, low-data(few-shot)에서 강한 성능을 충분히 보여주지 못했다는 식으로 한계를 둔다.
  • Frozen LM + adapter류 흐름:
    • 큰 LM을 그대로 두고 일부 모듈만 학습해 catastrophic forgetting을 줄이는 흐름이 있으며, 이 논문도 “frozen LM을 기반으로 새로운 모달리티를 주입”하는 방향을 택한다.
왜 중요한지(왜 알아야 하는지)

이 논문은 “VLM에서 few-shot이 되려면 데이터(웹 기반 interleaved) + 아키텍처(이미지-텍스트 interleave 처리) + 학습전략(frozen backbone 연결)”이 동시에 맞아야 한다는 관찰을 강하게 밀고 간다.


(3) 이 논문에서 하는 새로운 기여는 무엇인가

  • 핵심 기여:
    1. Visual Language Model(VLM) 패밀리 제안:
      • image/video와 text가 arbitrarily interleaved된 입력을 받아 free-form text를 생성하고, 이를 few-shot prompting만으로 다양한 태스크에 적용한다.
    2. 아키텍처 기여:
      • pretrained & frozen vision encoder와 pretrained & frozen LM을 “지식 손실을 최소화”하면서 연결하기 위해,
          1. Perceiver Resampler로 가변 길이 vision feature를 고정 개수 visual token으로 압축
          1. LM 블록 사이에 GATED XATTN-DENSE(학습 가능한 cross-attention + FFN, tanh gating) 삽입
          1. interleaved 입력에서 토큰마다 보게 할 visual token을 제한하는 per-image/video attention masking 도입
    3. 학습 데이터 설계 기여:
      • 웹에서 수집한 interleaved image-text 문서(M3W) + image-text pair(ALIGN, LTIP) + video-text pair(VTP) 혼합 학습이 few-shot 성능에 중요함을 실험적으로 보여준다.
    4. 폭넓은 few-shot 평가:
      • 다수 image/video 벤치마크에서 few-shot 성능을 정리하고, 일부 태스크에서는 적은 shot으로도 strong supervised baseline에 근접/상회하는 결과를 보고한다.
    5. Ablation 기반 요인 분해:
      • gating, cross-attn 구조, interleaved 데이터, 데이터 믹싱/최적화, 마스킹 전략, resampler 형태 등이 성능에 미치는 영향을 분해한다.

(4) 연구 방법은 무엇인가

4.1 문제정의: interleaved vision-text 조건부 언어모델링

  • 모델은 interleaved sequence에서 텍스트 \(y\)를 vision input \(x\)에 조건부로 생성한다.
    • autoregressive factorization:
      • \(p(y|x)=\prod_{\ell=1}^{L} p(y_\ell \mid y_{<\ell}, x_{\le \ell})\)
      • \(x_{\le \ell}\)는 interleaved 순서에서 토큰 \(y_\ell\) 이전에 등장한 image/video들의 집합을 의미한다.
  • 중요 포인트:
    • 많은 vision-language 태스크를 “정답 텍스트를 생성하는 next-token prediction”으로 통일해 다룬다.
직관적 의미

captioning/VQA/multiple-choice까지 전부 “prompt를 텍스트로 포맷팅하고, 필요한 곳에 image를 끼운 다음, 다음 토큰을 맞히는 문제”로 바꿔서 하나의 모델 인터페이스로 처리한다.


4.2 아키텍처

(A) Vision Encoder

  • pretrained & frozen NFNet-F6를 vision encoder로 사용한다.
    • image: 마지막 stage의 2D grid feature를 flatten해 1D sequence로 만든다.
    • video: 1 FPS로 frame을 샘플링해 각 frame을 인코딩하고, temporal embedding을 더해 spatio-temporal feature를 구성한 뒤 flatten한다.

(B) Perceiver Resampler

  • vision feature 길이는 해상도/프레임 수에 따라 커지므로, 이를 고정 개수(예: 64) visual tokens로 줄여 LM과의 cross-attention 비용을 줄인다.
  • 방식:
    • 학습된 latent queries(고정 개수)로 flatten된 vision feature에 cross-attention을 반복 적용하는 Perceiver 계열 구조를 사용한다.

(C) Frozen LM + GATED XATTN-DENSE

  • 텍스트 생성 backbone은 pretrained & frozen Chinchilla LM(여러 스케일) 계열을 사용한다.
  • LM layer 사이사이에 학습 가능한 cross-attention + dense(FFN) 블록을 삽입한다.
    • cross-attention: query는 language hidden \(Y\), key/value는 visual tokens \(X\).
  • tanh gating + 0-init:
    • 새 모듈의 출력에 \(\tanh(\alpha)\)를 곱하고 residual로 더한다.
    • \(\alpha\)를 0으로 초기화하면 초기에는 원래 LM과 거의 동일하게 동작하도록 만들 수 있다.
왜 이 설계가 중요한가

pretrained LM을 “깨지 않게” 유지하면서(초기엔 동일), 학습이 진행될수록 필요한 만큼만 vision 정보를 쓰게 만드는 장치다. frozen backbone + 작은 trainable 모듈로 성능을 끌어올리는 전형적 패턴이다.

(D) Multi-visual input 마스킹

  • interleaved 입력에서, 각 텍스트 토큰이 cross-attend하는 visual tokens를 직전 이미지/비디오 범위로 제한하는 마스킹을 둔다.
    • 목표: 학습 시 제한된 개수의 이미지로도, 추론 시 더 많은 shots로 일반화 가능하게 하는 것.

4.3 학습 데이터와 학습목표

(A) 데이터 믹스

  • 웹 기반 3종 데이터 혼합:
    1. M3W: 웹페이지에서 text와 images의 위치 정보를 이용해 image 태그를 삽입한 interleaved 문서 시퀀스
    2. Image-Text pairs: 대규모 pair 데이터(ALIGN 계열) + 더 길고 설명적인 자체 수집 pair(LTIP 계열)
    3. Video-Text pairs: short video와 문장 설명으로 구성된 자체 수집 데이터(VTP 계열)
  • 메시지:
    • interleaved 문서 데이터가 few-shot 능력에 특히 중요하고, pair 데이터가 보완적으로 중요하다는 결론을 제시한다.

(B) 학습목표

  • 데이터셋별 NLL을 가중합으로 최소화:
    • \(\sum_{m=1}^{M} \lambda_m \cdot \mathbb{E}_{(x,y)\sim \mathcal{D}_m}\Big[-\sum_{\ell=1}^{L}\log p(y_\ell \mid y_{<\ell}, x_{\le \ell})\Big]\)
  • 최적화 전략:
    • 데이터셋별 gradient를 계산해 accumulation으로 합치는 방식이 더 낫다는 실험적 주장(데이터 믹싱 방식 ablation).

4.4 Few-shot 평가 프로토콜

  • in-context learning:
    • support 예시(support set)를 interleaved prompt로 구성한 뒤 query에 대한 출력을 생성한다.
  • open-ended:
    • 생성 기반 decoding으로 정답 텍스트를 생성한다.
  • close-ended(예: multiple-choice):
    • 후보 답을 각각 붙여 log-likelihood로 점수화해 랭킹한다.
  • 큰 support pool에서 예시 선택:
    • 비슷한 예시를 골라 prompt 길이를 제한하는 retrieval 기반 선택(RICES)을 사용한다.

(5) 한계는 무엇인가

  • 주요 한계(논문이 논의하는 축):
    1. LM 약점 상속:
      • hallucination/ungrounded guess 위험, 긴 시퀀스 일반화의 어려움.
    2. Classification에서 contrastive 대비 약점 가능:
      • language modeling objective가 retrieval/분류에 직접 최적화된 contrastive objective에 비해 불리할 수 있다.
    3. In-context learning의 구조적 제약:
      • prompt sensitivity(포맷/순서/데모 선택에 민감), shot 수 증가 시 inference compute 증가, 성능 plateau 가능성.
    4. 데이터/재현성 제약:
      • 대규모 웹 데이터/모델 학습 세부가 공개되지 않을 경우 재현이 어렵다.
    5. Societal risk:
      • 웹 데이터 기반 bias/toxicity/PII 위험, 시각 입력까지 포함되며 편향 증폭 가능성.
실무적 해석(왜 중요한지)

Flamingo의 few-shot 성능은 “아키텍처”만으로 설명되지 않고, interleaved 데이터와 prompting 프로토콜이 결합된 결과로 제시된다. 재현/확장에서는 데이터 믹스와 prompt 포맷이 어긋나면 성능이 쉽게 붕괴할 수 있다는 점이 핵심 리스크다.