Flamingo: a Visual Language Model for Few-Shot Learning
Flamingo: 퓨샷 학습을 위한 시각 언어 모델
Jean-Baptiste Alayrac, Jeff Donahue, Pauline Luc, et al. (2022)
Perceiver Resampler와 게이티드 크로스 어텐션으로 사전학습된 비전 모델과 언어 모델을 연결하여, 이미지와 텍스트가 교차된 입력에서 소수 예시만으로 다양한 시각-언어 과제를 수행할 수 있는 비주얼 언어 모델이다.
배경
대규모 언어 모델(LLM)은 인컨텍스트 학습(in-context learning)을 통해 소수의 예시만으로 새로운 과제를 수행할 수 있는 놀라운 능력을 보여주었다. 하지만 이러한 능력을 시각적 입력을 포함한 멀티모달 과제로 확장하는 것은 여전히 도전적인 문제였다. 기존 비전-언어 모델들은 대부분 특정 과제에 맞춤 학습이 필요했으며, 퓨샷 멀티모달 학습 능력이 부족했다.
핵심 아이디어
Flamingo는 두 가지 핵심 아키텍처 혁신을 도입한다. 첫째, Perceiver Resampler가 다양한 크기의 시각 특징을 고정된 수의 시각 토큰으로 변환하여 연산 비용을 일정하게 유지한다. 둘째, 사전학습된 LLM의 각 레이어 사이에 게이티드 크로스 어텐션(gated cross-attention) 레이어를 삽입하여 시각 정보를 텍스트 생성에 주입한다. 게이트의 초기값을 0으로 설정하여 학습 초기에는 원래 LLM의 동작을 유지하면서 점진적으로 시각 정보를 통합한다. 이를 통해 이미지/비디오와 텍스트가 임의로 교차된 시퀀스를 처리할 수 있다.
방법론
사전학습된 비전 인코더(NFNet)와 언어 모델(Chinchilla)을 동결(freeze)하고, Perceiver Resampler와 게이티드 크로스 어텐션 레이어만 학습한다. 웹에서 수집한 이미지-텍스트 인터리브 데이터, 이미지-텍스트 쌍, 비디오-텍스트 쌍을 혼합하여 다음 토큰 예측 목적함수로 학습한다. 가장 큰 모델인 Flamingo-80B는 800억 파라미터의 Chinchilla를 언어 모델 백본으로 사용한다.
주요 결과
16개의 멀티모달 벤치마크 중 6개에서 제로샷 상태에서 기존 파인튜닝 SOTA를 능가했고, 4-shot으로는 더 많은 벤치마크에서 SOTA를 달성했다. VQA, 캡셔닝, 시각적 대화 등 다양한 과제에서 예시 수가 증가함에 따라 성능이 지속적으로 향상되는 강력한 퓨샷 학습 능력을 보여주었다.
임팩트
Flamingo는 대규모 비주얼 언어 모델(VLM)의 설계 패턴을 확립했다. 사전학습된 비전 모델과 언어 모델을 효율적으로 연결하는 방식은 이후 LLaVA, BLIP-2, GPT-4V 등 수많은 멀티모달 모델의 기반이 되었다. 특히 '동결된 기반 모델 + 경량 어댑터'라는 패러다임은 멀티모달 AI 개발의 효율적인 접근법으로 자리잡았다.