본문 바로가기
Multimodal

Flamingo (2022) 논문 리뷰

by 아르카눔 2025. 5. 5.

Flamingo 모델의 논문 이름은 Flamingo: a Visual Language Model for Few-Shot Learning다. (링크)

 

저자는 Jean-Baptiste Alayrac, Jeff Donahue, Pauline Luc, Antoine Miech, Iain Barr, Yana Hasson, Karel Lenc, Arthur Mensch, Katie Millican, Malcolm Reynolds, Roman Ring, Eliza Rutherford, Serkan Cabi, Tengda Han, Zhitao Gong, Sina Samangooei, Marianne Monteiro, Jacob Menick, Sebastian Borgeaud, Andrew Brock, Aida Nematzadeh, Sahand Sharifzadeh, Mikolaj Binkowski, Ricardo Barreira, Oriol Vinyals, Andrew Zisserman, Karen Simonyan다. 

 

Abstract

소수의 annotated 예시를 활용해서 multimodal을 학습하는 것은 아직 열린 과제다. Flamingo는 Visual Language Model의 일부로 다음의 구조적 혁신을 제안한다. 1) 강력한 사적학습된 visual-only models와 language-only models를 연결한다. 2) 임의로 삽입된 시각 데이터와 텍스트 데이터를 처리한다. 3) 이미지와 비디오 또한 매끈하게 처리한다. 

플라밍고의 유연성을 큰 규모의 멀티모달 웹 코퍼스 데이터에 대해서 학습이 가능하다. 이를 가능하게 하는 핵심은 in-context few-shot learning 능력이다. 모델의 능력을 평가하기 위해서 다양한 이미지와 비디오 태스크를 탐방하는데 open-ended tasks인 visual question-answering (VQA)과 어떤 장면이나 사건을 묘사하는 captioning tasks를 포함한다. Multiple-choice 객관식 VQA 같은 close-ended tasks도 포함한다. 어떠한 태스크든 Flamingo의 단일 모델로 모두 달성 가능하다. 또한 플라밍고는 태스크에 특화되어 학습된 모델들을 뛰어넘는 결과를 보여준다.

 

 

아래 Figure 1에서는 Flamingo에서 채택한 Few-shot 프롬프트의 예시를 보여준다. 

 

 

 

아래 Figure 2에서는 Flamingo가 다른 SOTA 모델들과 비교해서 더 나은 모델임을 보여준다.

 

 

2. Approach

 

Figure 3는 Flamingo 모델의 전반적인 구조를 보여준다.

 

기본적으로 Flamingo 모델은 next-token predicton의 측면에서 정의된 다음의 likelihood를 최대화한다. 

 

Interleaved images and videos 중간에 끼워진 이미지와 비디오$x$와 이 $x$에 conditioned 된 텍스트 $y$의 likelihood는 다음과 같다.

 

p$y | x$ = $ \prod_{l=1}^L p( y_l | y_{< l}, x_{<l} ) $ ... equation (1) 

 

우선 시각적인 이미지 부분부터 살펴본다. 

 

2.1. Visual Processing and Perceiver Resampler

Vision Encoder:

 

본 논문에서 비전 인코더는 pretrained and frozen Normalized Free ResNet (NFNet)의 F6 model이다.

이 모델은 이미지-텍스트 페어에 대해서 CLIP의 방식대로 two-term contrastive loss로 사전학습시켰다. 

비전 인코더의 아웃풋은 features의 2D spatial grid가 1D sequence로 flatten된 결과다. 

비디오의 경우 1 FPS로 샘플링되고 각각 독립적으로 인코딩되어 features의 3D spatio-temporal grid를 갖게 된다. 

이를 Perceiver Resampler에 넣은 다음에 1D로 flatten한다.

 

Contrastive learning의 자세한 내용은 Appendix B.1.3에, 그리고 그 performance는 B.3.2에 각각 나와있다. 

 

 

Perceiver Resampler:

 

Variable numbers 변동적인 숫자의 이미지와 비디오의 피쳐가 들어와도 이를 고정된 숫자의 visual outputs (64)로 만들어준다.

이를 통해서 vision-text cross-attention 계산의 복잡도를 줄여준다. 

자세한 과정은 아래 Figure 5에 나와있다. 

 

Perceiver와 DETR처럼 predefined number of latent input queries를 학습한다음 Transformer와 시각 피쳐에 대해서 cross-attend한다. DETR (이전 리뷰 블로그 글 링크)에서 N개의 object에 대해서 고정된 숫자를 무조건 반환하게끔 강제하듯이 여기서도 고정된 learned latent queries로 도출되는 숫자를 64로 강제한다고 이해했다. 

 

2.2. Conditioning frozen language models on visual representations

텍스트 생성은 Transformer decoder에 의해서 이루어진다.

 

Interleaving new GATED XATTN-DENSE layers within a frozen pretrained LM

 

사전학습된 언어 모델의 블록을 freeze한 다음에 원래의 레이어와 from scratch로 학습된 레이어 사이에 gated cross-attention dense blocks를 삽입한다.  

 

 

이를 통해서 초기에는 원래의 사전학습된 LM이 생성하는 결과를 출력하지만 학습할 수록 tanh gating을 넘어서서 도달하는 피쳐들과 합친 결과를 도출하게 된다. 적고 보니 Adapter layer와 비슷하게 동작하는것 같다. 

 

Model Sizes

Flamingo는 3B, 9B, 그리고 80B가 있다. 본 논문에서는 80B를 Flaminigo라고 부른다. 

 

 

2.3. Multi-visual input support: per-image / video attention masking

이미지 causal modeling은 equation (1)에서 소개된 것 처럼 full text-to-image cross-attention matrix에 masking을 함으로써 모델링한다. 이때 텍스트 토큰이 이전에 나타난 모든 visual tokens 시각적 토큰들이 아닌 바로 직전에 interleaved 끼워진 시퀀스만 참고하게 된다. 자세한 내용은 아래 Figure 7에 그림으로 묘사되어 있다. 이렇게 한 번에 하나씩만 참조하는 cross-attention 방법으로 인해서 시각적 입력의 개수에 무관하게 학습이 가능하다. 저자들은 학습에서 5개의 이미지 (혹은 비디오의 scene)만을 사용했지만 추론 이세는 최대  32개를 사용했다. 

 

 

 

2.4. Training on a mixture of vision and launauge datasets

M3W: Interleaved image and test dataset. 저자들은 Multimodal MassiveWeb (M3W) 데이터를 수집했다.

총 43 million 웹페이지에서 모았으며 이미지와 텍스트를 추출했다. Document Object Model (DOM)에서 텍스트와 이미지 요소의 상대적 위치를 기반으로 텍스트에 대한 이미지의 상대적 위치를 결정한다. 그런 다음 페이지의 이미지 위치에 일반 텍스트로 <image> tag 태그를 삽입하고, 이미지의 처음 부분과 문서 끝 부분에 특수한 토큰인 <EOC>(end of chunk) 토큰(어휘에 추가되어 학습됨)을 삽입하여 예시를 구성한다. 각 문서에서 $L$ = 256개 토큰의 random 무작위 subsequence 부분 시퀀스를 샘플링하고, 샘플링된 시퀀스에 포함된 처음 𝑁 = 5개 이미지를 추출한다. 그외 이미지는 계산 비용을 절약하기 위해 삭제했다. 자세한 내용은 Appendix A.3에 나와있다.

 

Pairs of image/video and text. ALIGN은 총 1.8 B의 이미지와 alt-text 페어를 가진 데이터다. LTIP는 312 M의 이미지와 텍스트 페어 데이터다. VTP는 27 M의 짧은 비디오 (평균 22초)와 묘사 문장이 페어로 이루어진 데이터다. 저자들은 위 세 데이터를 M3W의 형식으로 변경했다. <image>를 prepending 앞에 붙이고 <EOC>를 학습 캔션에 append 덧붙인다. 자세한 내용은 Appendix A.3.3에서 소개하고 있다.

 

Multi-objective training and optimisation strategy. 모델을 학습할 때 weighted sum of per-dataset expected negative log-likelihood of texxt, given visual inputs를 사용했다.

 

$\sum_{m=1}^M \lambda_m \cdot \mathbb{E}_{(x, y) \sim D_m}  \left[ \sum_{l=1}^L p( y_l | y_{< l}, x_{<l} \right]$

 

이때 $D_m$은 $m$번째 데이터 셋이고 $\lambda_m$은 $m$번째 데이터셋이 가지는 가중치다. 

이 가중치의 조절이 학습에 있어서 아주 중요한데 저자들은 round-robin 방법이 가장 좋다는 사실을 발견했다.

자세한 실험 결과와 내용은 Appendix B.1.2.에 소개되어있다. 

 

아래 Figure 8이 Few-shot을 위한 interleaved prompt 생성의 과정 예시를 나타낸다. 

 

2.3. Task adaptation with few-shot in-context learning

GPT-3에 영감을 받아서 in-context few-shot learning을 수행하였다. 이때 예시의 형식은 (image, text) 혹은 (video, text)으로 프롬프르를 작성하였는데 구체적인 내용은 Appendix A.2에 수록되어있다. Open-ended은 beam search를 사용한 디코딩을 수행했으며 close-ended의 경우 가능한 답변에 대한 모델의 log-likelihood를 점수로 사용했다. 추가적인 디테일은 Appendix B.1.5에 나와있다.

 

아래 Figure 9는 학습 데이터의 few-shot 예시를 보여준다. 

 

 

 

3. Experiments

다음의 데이터들을 포함한 16개의 데이어의 Dev 데이터셋 대해서 평가를 수행했다. 

COCO, OKVQA, VQAv2, MSVDQA, VATEX 등을 포함한다.

 

 

 

 

Table 1은 Flamingo와 다른 모델을의 성능 비교를 보여준다. 

 

밑줄  쳐진 숫자가 최상의 성능이며 굵게 표시된 숫자는 few-shot을 사용한 최상의 성능이다.

 

OKVQA를 비롯한 몇몇 태스크에서 가장 좋은 성능을 달성했다. 

 

 

'Multimodal' 카테고리의 다른 글

BLIP-2 (2023) 논문 리뷰  (0) 2025.05.10
Donut (2022) 논문 리뷰  (0) 2025.05.03
DALL-E (2021) 논문 리뷰  (1) 2025.05.03
LLaVA (2023) 논문 리뷰  (0) 2025.04.26
BLIP (2022) 논문 리뷰  (0) 2025.04.26