본 글은 https://arxiv.org/abs/2204.14198 내용을 기반으로 합니다.
혹시 잘못된 부분이나 수정할 부분이 있다면 댓글로 알려주시면 감사하겠습니다.
Abstract
소수의 주석이 달린 예제만을 사용하여 새로운 task에 빠르게 적응할 수 있는 모델을 구축하는 것은 멀티모달 머신러닝 연구에서 풀리지 않은 과제이다. 본 논문은 이러한 능력을 가진 Visual Language Models (VLM)인 Flamingo를 소개한다. 본 논문은 다음과 같은 주요 구조적 혁신을 제안한다. (1) 강력하게 사전학습된 비전 전용 및 언어 전용 모델을 연결, (2) 임의로 교차된 시각적 및 텍스트 데이터 처리, (3) input으로 이미지나 비디오를 원활하게 수용. 이러한 유연성 덕분에 Flamingo 모델은 임의로 교차된 텍스트와 이미지를 포함하는 대규모 멀티모달 웹 코퍼스에서 학습할 수 있으며, 이는 in-context few-shot learning 기능을 부여하는 데 중요하다. 다양한 이미지 및 비디오 task에 대한 모델의 빠른 적응 능력을 탐구하고 측정하는 철저한 평가를 수행한다. 여기에는 질문에 답해야 하는 visual question answering과 같은 open-ended task, 장면이나 사건을 설명하는 능력을 평가하는 captioning task, 다지선다 visual question answering과 같은 close-ended task가 포함된다. 이러한 스펙트럼의 어느 곳에 위치한 task이든, 단일 Flamingo 모델은 task별 예제로 모델을 프롬프트하는 것만으로도 few-shot learning으로 SOTA 성능을 달성할 수 있다. 수많은 벤치마크에서 Flamingo는 수천 배 더 많은 task별 데이터로 파인튜닝된 모델들을 능가한다.
1. Introduction
지능의 한 가지 핵심 측면은 간단한 지시를 받았을 때 새로운 task를 빠르게 배우는 능력이다. 비슷한 능력을 컴퓨터 비전에 도입하기 위한 초기 진전이 있었으나, 가장 널리 사용되는 패러다임은 여전히 대량의 supervised 데이터로 사전 학습을 먼저 수행한 후, 관심 task에 대해 모델을 파인튜닝하는 것이다. 그러나 성공적인 파인튜닝에는 종종 수천 개의 annotated 데이터들이 필요하다. 또한 task별로 신중한 하이퍼파라미터 조정이 필요하며 자원 소모가 많다. 최근에는 contrastive objective로 학습된 멀티모달 vision-language 모델들(CLIP)이 파인튜닝 없이 새로운 task에 zero-shot 적응을 가능하게 했다. 그러나 이러한 모델들은 단순히 텍스트와 이미지 간의 similarity score를 제공하므로, 미리 제공된 유한한 결과 집합을 사용하는 classification과 같은 제한된 사용 사례만 다룰 수 있다. 이 모델들은 언어를 생성하는 능력이 없기 때문에 captioning이나 visual question answering과 같은 보다 open-ended task들에는 적합하지 않다. 시각적으로 조건화된 언어 생성을 탐구한 연구도 있지만 아직 low-data 환경에서 좋은 성능을 보여주지 못했다. (SimVLM, OFA 모델)
Figure 1과 같이 몇 가지 input/output 예제들로 프롬프트를 제공받아 open-ended vision and language task에서 few-shot learning의 SOTA 성능을 달성하는 Visual Language Model (VLM)인 Flamingo를 소개한다. 16개 task 중 6개 task에서 Flamingo는 훨씬 적은 task별 학습 데이터를 사용함에도 불구하고 SOTA 성능을 가진 파인튜닝된 모델을 능가한다(Figure 2 참조). 이를 달성하기 위해 Flamingo는 few-shot 학습에 능한 large Language Models (LMs)에 대한 최근 연구(GPT-3, PaLM 등)에서 영감을 받았다. 단일 대형 LM은 텍스트 인터페이스만을 사용하여 여러 task에서 강력한 성능을 발휘할 수 있다. query input과 함께 task의 몇 가지 예제들이 프롬프트로 모델에 제공되고 모델은 해당 query에 대한 예측된 output을 생성하도록 한다. 본 연구는 동일한 방법이 classification, captioninig, question answering과 같은 이미지 및 비디오 이해 task들에도 수행될 수 있음을 보여준다. 이러한 task들은 시각적 input 조건을 가진 텍스트 예측 문제로 변환될 수 있다. LM과의 차이점은 모델이 텍스트와 섞인 이미지 및/또는 비디오를 포함하는 멀티모달 프롬프트를 받아들일 수 있어야 한다는 것이다. Flamingo 모델은 이 능력을 갖추고 있으며 시각적으로 조건화된 autoregressive 텍스트 생성 모델로서 텍스트 토큰과 이미지 및/또는 비디오가 교차된 시퀀스를 받아들여 텍스트를 출력할 수 있다. Flamingo 모델은 두 가지 상호 보완적인 사전 학습된 frozen 모델을 활용한다. 시각적 장면을 인지할 수 있는 비전 모델과 기본적인 형태의 추론을 수행하는 대형 LM이다. 이러한 모델들을 연결하기 위해 새로운 아키텍처 구성 요소가 추가되어 계산 집약적인 사전 학습 동안 축적된 지식을 보존한다. 또한 Flamingo 모델은 Perceiver 기반 아키텍처 덕분에 고해상도 이미지나 비디오를 받아들일 수 있으며, 이는 많은 수의 시각적 input 특징을 기반으로 이미지/비디오 당 소수의 고정된 시각적 토큰들을 생성할 수 있다.
대형 LM의 성능에 중요한 요소는 대량의 텍스트 데이터를 학습하는 것이다. 이러한 학습은 이 언어 모델이 범용적인 생성 능력을 갖추게 하여 task 예제들을 프롬프트로 받았을 때 우수한 성능을 발휘할 수 있게 한다. 이와 마찬가지로, Flamingo 모델을 학습하는 방식이 최종 성능에 매우 중요하다는 것을 입증했다. Flamingo 모델은 머신러닝 목적을 위해 주석이 달린 데이터를 사용하지 않고 웹에서만 얻은 상호 보완적인 대규모 멀티모달 데이터를 신중하게 선택한 혼합물로 학습한다. 이러한 학습 후, Flamingo 모델은 task별 튜닝 없이 단순한 few-shot 학습을 통해 vision task에 직접적으로 적응할 수 있다.
Contributions.
요약하자면, 본 논문의 contribution은 다음과 같다.
(1) 몇 개의 input/output 예제들만으로 다양한 멀티모달 task(예: captioning, visual dialogue, visual question answering)을 수행할 수 있는 Flamingo VLM을 소개한다. 구조적 혁신 덕분에 Flamingo 모델은 임의로 교차된 시각적 데이터와 텍스트를 효율적으로 input으로 받아들이고 open-ended 방식으로 텍스트를 생성할 수 있다.
(2) Flamingo 모델이 few-shot learning을 통해 다양한 task에 적응할 수 있는지 정량적으로 평가한다. 설계 결정이나 접근 방식의 하이퍼파라미터를 검증하는 데 사용되지 않은 대규모 벤치마크를 보유하고 있다. 이를 사용하여 편향되지 않은 few-shot 성능을 추정한다.
(3) Flamingo는 16개의 멀티모달 언어 및 이미지/비디오 이해 task에서 few-shot learning의 SOTA 성능을 가진다. 16개 task 중 6개에서 Flamingo는 task별 예제 32개만 사용하여 SOTA 성능을 능가했으며, 이는 현재 SOTA 모델보다 약 1000배 적은 task별 훈련 데이터를 사용한 것이다. 더 큰 주석 예산이 있을 경우, Flamingo는 VQAv2, VATEX, VizWiz, MSRVTTQA 그리고 HatefulMemes와 같은 추가적인 5개의 도전적인 벤치마크에서도 SOTA 성능을 설정하기 위해 효과적으로 파인튜닝될 수 있다.
2. Approach
이 섹션에서는 Flamingo를 소개한다. Flamingo는 이미지/비디오와 교차된 텍스트를 input으로 받아 자유형태의 텍스트를 출력하는 visual language model이다. Figure 3에 표시된 주요 구조적 요소는 사전학습된 비전 및 언어 모델을 활용하고 이를 효과적으로 연결하기 위해 선택되었다. 먼저, Perceiver Resampler (Section 2.1)는 vision encoder로부터 (이미지나 비디오에서 얻어진) 시공간적인 특징을 받아 고정된 수의 visual token을 출력한다. 두 번째로, 이러한 visual token은 사전학습된 LM layer 사이에 삽입된 새로 초기화된 cross attention layer를 사용하여 고정된 LM을 조건화하는 데 사용된다 (Section 2.2). 이러한 새로운 layer들은 LM이 next-token prediction task에서 시각적 정보를 통합할 수 있는 표현력을 제공한다. Flamingo는 텍스트 y의 likelihood를 교차된 이미지와 비디오 x에 대해 다음과 같이 모델링한다.
여기서 y_l은 input 텍스트의 l번째 language token, y_<l은 앞선 토큰들의 집합, x_<=l은 교차된 시퀀스에서 이미지/비디오의 집합이며 p는 Flamingo 모델에 의해 매개변수화된다. 교차된 text와 visual 시퀀스를 처리하는 능력 (Section 2.3)은 Flamingo 모델을 GPT-3가 few-shot text prompting을 사용하는 방식과 유사하게 in-context few-shot learning에 자연스럽게 사용할 수 있게 만든다. 모델은 Section 2.4에서 설명한 다양한 혼합 데이터셋으로 훈련된다.
2.1 Visual processing and the Perceiver Resampler
Vision Encoder: from pixels to features.
본 논문의 vision encoder는 사전학습되고 고정된 Normalizer-Free ResNet (NFNet)이며 F6 모델을 사용한다. vision encoder는 이미지와 텍스트 쌍 데이터셋에 대해 contrastive objective를 사용하여 사전학습되었으며 Radford et al.의 두 가지 contrastive loss를 사용한다. 최종 단계의 output을 사용하며 이는 2D 공간적 그리드 형태의 특징으로 1D 시퀀스로 평탄화된다. 비디오 input의 경우 프레임이 1초에 1프레임(FPS)으로 샘플링되고 독립적으로 인코딩되어 학습된 시간적 임베딩이 추가된 3D 시공간적 그리드의 특징이 생성된다. 그런 다음, 이 특징들은 Perceiver Resampler에 입력되기 전에 1D로 평탄화된다. contrastive 모델 학습과 성능에 대한 추가 세부 사항은 Appendix B.1.3 및 Appendix B.3.2에 나와 있다.
Perceiver Resampler: from varing-size large feature maps to few visual tokens.
이 모듈은 Figure 3에서 보여진 대로 vision encoder를 고정된 언어 모델에 연결한다. 이 모듈은 vision encoder에서 얻은 가변적인 수의 이미지 또는 비디오 특징을 input으로 받아 고정된 수의 visual output (64)을 생성하며 vision-text cross-attention의 계산 복잡성을 줄여준다. Perceiver 및 DETR과 유사하게, 본 논문은 사전에 정의된 수의 잠재 input query들을 학습하고 이를 Transformer에 입력하여 visual 특징에 cross-attend를 하게 한다. 본 논문의 ablation study (Section 3.3)에서 이러한 vision-language resampler 모듈을 사용하는 것이 단순한 Transformer나 MLP보다 우수한 성능을 발휘한다는 것을 보여준다. Appendix A.1.1에서 설명, 추가적인 구조적 세부 사항 및 pseudo-code를 제공한다.
2.2 Conditioning frozen language models on visual representations
텍스트 생성은 Perceiver Resampler가 생성한 시각적 표현을 조건으로 하는 Transformer 디코더에 의해 수행된다. 사전학습되고 고정된 텍스트 전용 LM block을 처음부터 학습된 block과 Perceiver Resampler의 visual output에 cross-attend하여 교차로 배치한다.
Interleaving new GATED XATTN-DENSE layers within a frozen pretrained LM.
사전학습된 LM block을 고정하고 original layer 사이에 처음부터 학습된 gated cross-attention dense block (Figure 4)을 삽입한다. 초기화 시 조건화된 모델이 원래 언어 모델과 동일한 결과를 도출하기 위해, tanh-gating 메커니즘을 사용한다. 이 메커니즘은 새로 추가된 layer의 output을 tanh(알파)로 곱한 다음 residual connection의 input 표현에 더한다. 여기서 알파는 0으로 초기화된 layer별 학습 가능한 scalar이다. 따라서 초기화 시 모델 output은 사전학습된 LM의 output과 일치하며, 이는 학습 안정성과 최종 성능을 향상시킨다. ablation study (Section 3.3)에서는 제안된 GATED XATTN-DENSE layer들을 최근의 대안들과 비교하고 이러한 추가 layer가 효율성과 표현력 사이의 균형을 어떻게 조절하는지 탐구한다. 추가 정보는 Appendix A.1.2에 있다.
Varying model sizes.
본 논문은 Chinchilla 모델을 기반으로 파라미터 크기가 1.4B, 7B, 70B인 세 가지 모델 크기에서 실험을 수행한다. 이 모델들을 각각 Flamingo-3B, Flamingo-9B, Flamingo-80B라고 부르며 논문 전반에서는 마지막 모델을 간단히 Flamingo라고 언급한다. 고정된 LM의 파라미터 수와 학습 가능한 vision-text GATED XATTN-DENSE 모듈의 파라미터 수를 증가시키는 동안, 고정된 크기의 vision encoder와 학습 가능한 Perceiver Resampler는 모델 크기에 관계없이 동일하게 유지된다(전체 모델 크기에 비해 작음). 자세한 내용은 Appendix B.1.1에 나와 있다.
2.3 Multi-visual input support: per-image/video attention masking
식 (1)에서 도입된 image-causal modeling은 전체 text-to-image cross-attention matrix를 마스킹하여, 각 텍스트 토큰이 모델이 볼 수 있는 시각적 토큰을 제한함으로써 이루어진다. 주어진 텍스트 토큰에서는 모델이 교차된 시퀀스에서 바로 전에 나타난 이미지의 시각적 토큰에만 attend를 하고, 이전의 모든 이미지에는 attend를 하지 않는다(이는 Appendix A.1.3에서 공식화되고 그림으로 설명된다). 모델은 한 번에 하나의 이미지에만 직접 attend를 하지만, LM의 self-attention을 통해 이전의 모든 이미지와의 의존성은 유지된다. 이 단일 이미지 cross-attention은 모델이 학습 중 사용된 이미지 수에 관계없이 임의의 수의 visual input에 원활하게 일반화할 수 있도록 한다. 특히, 본 논문은 교차된 데이터셋으로 학습할 때 시퀀스 당 최대 5개의 이미지만을 사용하지만, 평가 시에는 최대 32개의 이미지/비디이오와 해당 텍스트 쌍들(또는 "shots")로 구성된 시퀀스에도 혜택을 받을 수 있다. Section 3.3에서 이 방식이 모델이 이전의 모든 이미지에 직접 cross-attend를 하도록하는 것보다 더 효과적임을 보여준다.
2.4 Training on a mixture of vision and language datasets
본 논문은 웹에서 수집한 세 가지 종류의 데이터셋 (웹페이지에서 얻은 교차된 이미지와 텍스트 데이터셋, image-text 쌍, 그리고 video-text 쌍) 혼합물로 Flamingo 모델을 학습시킨다.
M3W: Interleaved image and text dataset.
Flamingo 모델의 few-shot 능력은 교차된 text와 image 데이터 학습에 의존한다. 이를 위해, 본 논문은 MultiModal MassiveWeb (M3W) 데이터셋을 수집한다. 약 4,300만 개의 웹페이지의 HTML에서 텍스트와 이미지를 추출하고, Document Object Model (DOM)에서 텍스트와 이미지 요소의 상대적인 위치를 기반으로 텍스트에 대한 이미지의 위치를 결정한다. 그런 다음, 페이지의 이미지 위치에 일반 텍스트로 <image> 태그를 삽입하고 모든 이미지 앞과 문서 끝에 special <EOC> (end of chunk) token을 삽입하여 예제를 구성한다. 각 문서에서 무작위로 L = 256개의 토큰으로 이루어진 하위 시퀀스를 샘플링하고 샘플링된 시퀀스에 포함된 첫 번째 N = 5개 이미지까지 사용한다. 그 이후의 이미지는 계산을 절약하기 위해 폐기된다. 자세한 내용은 Appendix A.3에 제공된다.
Pairs of image/video and text.
이미지와 텍스트 쌍의 경우, 먼저 18억 개의 이미지와 대체 텍스트로 구성된 ALIGN 데이터셋을 활용한다. 이 데이터셋을 보완하기 위해, 더 나은 품질과 긴 설명을 목표로 한 자체 이미지와 텍스트 쌍 데이터셋인 LTIP (Long Text & Image Pairs)를 수집한다. 이 데이터셋은 3억 1,200만 개의 이미지와 텍스트 쌍으로 구성된다. 또한, 정지 이미지 대신 비디오를 사용한 유사한 데이터셋을 수집한다. VTP (Video & Text Pairs)는 약 22초 길이의 짧은 비디오 2,700만 개와 이에 대한 문장 설명으로 이루어져 있다. M3W의 구문과 짝을 이루는 데이터셋의 구문을 일치시키기 위해, 각 training caption에 <image>를 앞에 붙이고 <EOC>를 뒤에 추가한다 (자세한 내용은 Appendix A.3.3 참조).
Multi-objective training and optimisation strategy.
visual input을 주어졌을 때, 데이터셋 별로 예상되는 텍스트의 negative log-likelihood의 가중치 합을 최소화하여 모델을 훈련한다.
여기서 Dm과 람다m은 각각 m번째 데이터셋과 그 가중치이다. 데이터셋별 가중치 람다m을 조정하는 것이 성능의 핵심이다. 모든 데이터셋에 걸쳐 그라디언트를 축적하는데, 이 방법이 "round-robin" 접근법보다 더 우수하다는 것을 발견했다. 추가적인 학습 세부 정보와 ablation study는 Appendix B.1.2에 제공된다.
2.5 Task adaptation with few-shhot in-context learning
Flamingo가 학습된 후, 멀티모달 교차된 prompt를 조건으로 하여 visual task를 처리한다. 예제 쌍을 (image, text) 또는 (video, text) 형태로 교차 배치한 후 query visual input을 추가하여 prompt를 구성함으로써 GPT-3와 유사하게 in-context learning을 사용하여 모델이 새로운 task에 신속하게 적응하는 능력을 평가한다 (자세한 내용은 Appendix A.2 참조). decoding을 위해 beam search를 사용하여 open-ended 평가를 수행하고 모델의 log-likelihood를 사용하여 각 가능한 답변의 점수를 매기는 close-ended 평가를 수행한다. 또한 해당 이미지 없이 task에서 텍스트만 있는 두 개의 예제를 prompt로 사용하여 zero-shot 일반화를 탐색한다. 평가 하이퍼파라미터와 추가 세부 사항은 Appendix B.1.5에 제공된다.
3. Experiments
본 논문의 목표는 다양하고 도전적인 task에 신속하게 적응할 수 있는 모델을 개발하는 것이다. 이를 위해, 16개의 인기 있는 멀티모달 이미지/비디오 및 언어 벤치마크를 고려한다. 프로젝트 진행 과정에서 모델 design 결정을 검증하기 위해, 5개의 벤치마크를 development (DEV) set의 일부로 사용했다. COCO, OKVQA, VQAv2, MSVDQA, VATEX. DEV 벤치마크에서의 성능 추정치는 모델 선택의 결과로 편향될 수 있다. 유사한 벤치마크를 사용하여 design 결정을 검증하고 분석하는 이전 연구에서도 마찬가지다. 이를 고려하여, 추가로 11개의 벤치마크에서 성능을 보고한다. 이 벤치마크는 spanning captioning, video question-answering, visual dialogue, multi-choice question-answering task와 같은 덜 일반적으로 탐색된 기능을 포함한다. 평가 벤치마크는 Appendix B.1.4에 설명되어 있다. 모든 평가 하이퍼파라미터는 모든 벤치마크에 걸쳐 고정되어 있다. task에 따라, Appendix B.1.5에서 더 자세히 설명된 네 가지 few-shot prompt template을 사용한다. 본 논문은 이 11개의 벤치마크에서 어떤 design 결정도 검증하지 않으며, 오로지 모델의 편향되지 않은 few-shot learning 성능을 추정하는 데만 사용한다고 강조한다.
구체적으로, 모델의 few-shot learning 성능을 추정하려면 지원 샘플 세트를 사용하여 모델을 프롬프트하고 query sample 세트에서 평가해야한다. design 결정과 하이퍼파라미터를 검증하는 데 DEV 벤치마크와 최종 성능을 보고하기 위해, 네 가지 하위 집합을 사용한다. validation support, validation query, test support, test query. 다른 벤치마크의 경우, 후자의 두 가지만 필요하다. 이러한 하위 집합을 구성하는 방법은 Appendix B.1.4에 보고한다.
Flamingo 모델의 few-shot learning 결과는 Section 3.1에 보고된다. Section 3.2에서는 Flamingo의 파인튜닝된 결과를 제공한다. ablation study는 Section 3.3에 제시된다. Appendix B.2는 Flamingo의 ImageNet 및 Kinetics700 classification task 성능과 contrastive model의 성능을 포함한 추가 결과를제공한다. Appendix C에는 추가적인 질적 결과가 포함되어 있다.
3.1 Few-shot learning on vision-language tasks
Few-shot results.
결과는 Table 1에 제시되어 있다. Flamingo는 16개 벤치마크에서 모든 이전의 zero-shot 또는 few-shot 방법을 크게 능가한다. 이는 task 당 단 네 개의 예제만으로 이루어진 것이며, 이는 vision 모델이 새로운 task에 실용적이고 효율적으로 적응할 수 있음을 보여준다. 더 중요한 것은, Flamingo가 종종 수십만 개의 annotated 예제에 대해 추가로 파인튜닝된 SOTA 방법들과 경쟁력이 있다는 점이다. 여섯 가지 task에서는 Flamingo가 단일 모델 가중치 집합과 32개의 task별 예제만 사용하면서도 파인튜닝된 SOTA 방법보다 성능이 우수하다. 마지막으로, design 결정에 DEV 벤치마크만을 사용했음에도 불구하고 본 논문의 결과는 다른 벤치마크에도 잘 일반화되며 본 논문의 접근 방식의 일반화를 확인해 준다.
Scaling with respect to parameters and shots.
Figure 2에서 보듯이, 모델이 클수록 few-shot 성능이 향상되며, 이는 GPT-3와 유사하다. 성능은 또한 shot의 수가 증가함에 따라 개선된다. 또한 가장 큰 모델이 더 많은 shot을 더 잘 활용한다는 것을 발견했다. 흥미롭게도, Flamingo 모델이 M3W에서 이미지 5장으로 제한된 시퀀스로 학습되었음에도 불구하고 추론 시에는 최대 32장의 이미지나 비디오에서 이점을 얻을 수 있다. 이는 다양한 수의 비디오나 이미지를 처리할 수 있는 Flamingo 아키텍처의 유연성을 보여준다.
3.2 Fine-tuning Flasmingo as a pretrained vision-language model
본 연구의 main focus는 아니지만, 더 많은 데이터를 제공할 경우 Flamingo 모델이 파인튜닝을 통해 task에 맞게 적응할 수 있음을 확인했다. Table 2에서는 annotation 예산에 제한 없이 주어진 task에 대해 가장 큰 모델인 Flamingo를 파인튜닝하는 방법을 탐구한다. 간단히 말해, 모델의 가중치를 파인튜닝하는데 짧은 일정과 작은 learning rate를 사용하며 높은 input 해상도를 수용하기 위해 vision backbone을 추가로 unfreeze한다(세부 사항은 Appendix B.2.2에 설명). 기존에 제시된 in-context few-shot learning 결과보다 성능을 향상시킬 수 있으며 VQAv2, VATEX, VizWiz, MSRVTTQA, HatefulMemes의 다섯 가지 추가 task에서 SOTA 성능을 달성한다.
3.3 Ablation studies
Table 3에서는 5개의 DEV 벤치마크에서 4 shot으로 Flamingo-3B를 사용한 ablation 결과를 보고한다. 최종 모델과 비교하여 더 작은 batch size와 짧은 training schedule을 사용했다. 전체 점수는 각 벤치마크 점수를 Table 1의 SOTA 성능으로 나눈 후 그 결과를 평균하여 얻는다. 더 자세한 내용과 결과는 Appendix B.3 및 Table 10에 나와 있다.
Importance of the training data mixture.
(1)번 행에서 볼 수 있듯이, 적절한 훈련 데이터를 확보하는 것이 매우 중요하다. 실제로, 교차된 image-text 데이터셋 M3W를 제거하면 성능이 17% 이상 감소하며 일반적인 image-text 쌍을 제거해도 성능이 9.8% 감소하여 다양한 유형의 데이터셋이 필요함을 보여준다. 또한, video-text 쌍 데이터셋을 제거하면 모든 비디오 task에서 성능이 저하된다. image-text pairs (ITP)를 공개된 LAION-400M 데이터셋으로 대체하는 실험을 했으며 이는 성능의 약간의 저하로 이어졌다. (2)번 행에서는 round-robin 업데이트를 사용하는 것과 비교하여 본 논문의 그라디언트 축적 전략의 중요성을 보여준다.
Visual conditioning of the frozen LM.
(3)번 행에서는 cross-attention output과 고정된 LM output을 병합할 때 0으로 초기화된 tanh gating을 사용하는 것을 소거했다. 이를 사용하지 않을 경우, 전체 점수가 4.2% 하락하는 것을 확인했다. 또한, 0으로 초기화된 tanh gating을 비활성화하면 학습 불안정이 발생하는 것을 관찰했다. 다음으로 (4)번 행에서는 다양한 조건화 아키텍처를 소거했다. VANILLA XATTN은 원래의 Transformer 디코더에 사용된 일반적인 cross-attention을 의미한다. [68]의 GRAFTING 접근법에서는 고정된 LM을 추가 layer없이 그대로 사용하고 고정된 LM output을 받는 cross-attention과 self-attention layer가 교차된 스택을 처음부터 학습한다. 전체적으로, 본 논문의 GATED XATTN-DENSE 조건화 접근법이 가장 우수한 성능을 보였다.
Compute/Memory vs. performance trade-offs.
(5)번 행에서는 새로운 GATED XATTN-DENSE block을 추가하는 빈도를 소거했다. 모든 layer에 추가하는 것이 더 나은 성능을 보이지만, 이는 학습 가능한 파라미터의 수와 모델의 시간 복잡성을 크게 증가시킨다. 특히, 네 번째 블록마다 삽입하면 학습 속도가 66% 빨라지면서도 전체 점수는 단 1.9%만 감소한다. 이러한 절충을 고려하여 하드웨어 제약 내에서 추가 layer의 수를 최대화하고 Flamingo-9B에는 네 번째 layer마다, Flamingo-80B에는 일곱 번째 layer마다 GATED XATTED-DENSE를 추가한다. 마지막으로, (6)번 행에서는 파라미터 예산이 주어졌을 때 Perceiver Resampler와 MLP 및 vanilla Transformer와 비교했다. 둘 다 Perceiver Resampler보다 성능이 떨어지고 속도도 느렸다.
Vision encoder.
(7)번 행에서는 contrastive learning으로 사전학습된 NFNet-F6 vision encoder(세부 사항은 Appendix B.1.3 참조)와 224 해상도로 학습되어 공개된 CLIP ViT-L/14 모델을 비교했다. NFNet-F6은 CLIP ViT-L/14보다 5.8% 높은 성능을 보였고 더 작은 NFNet-F0 인코더보다 8.0% 높은 성능을 보였다. 이는 강력한 vision backbone을 사용하는 것이 얼마나 중요한지를 강조한다.
Freezing LM components prevents catastrophic forgetting.
(8)번 행에서는 학습 시 LM layer를 고정하는 것이 중요한 이유를 검증했다. 만약 처음부터 학습한다면, 성능이 -12.9%로 크게 감소하는 것을 관찰했다. 흥미롭게도, 사전학습된 LM을 파인튜닝하는 것도 성능이 -8.0% 하락하게 된다. 이는 모델이 새로운 목표로 학습하는 동안 점진적으로 사전학습 내용을 잊어버리는 "catastrophic forgetting"의 사례를 나타낸다. 본 논문의 설정에서 언어 모델을 고정하는 것이 사전학습 데이터셋 (MassiveText)과 혼합하여 학습하는 것보다 더 나은 대안임을 보여준다.
4. Related work
Language modeling and few-shot adaptation.
언어 모델링은 최근 Transformer의 도입 이후 큰 발전을 이루었다. 방대한 양의 데이터로 사전 학습을 먼저 수행한 후, downstream task에 적응하는 패러다임이 표준이 되었다. 본 연구에서는 Flamingo의 기본 언어 모델로 700억 파라미터의 Chinchilla 언어 모델을 기반으로 구축한다. 많은 연구들이 몇 개의 예제를 사용하여 언어 모델을 새로운 task에 적응시키는 기술을 탐구해 왔다. 여기에는 작은 adapter 모듈을 추가하는 방법, LM의 일부분만 파인튜닝하는 방법, prompt에 in-context 예제를 제공하는 방법 또는 prompt를 gradient descent를 통해 최적화하는 방법이 포함된다. 이 논문에서는 metric 학습이나 meta-learning 기반의 보다 복잡한 few-shot learning 접근법 대신 in-context few-shot learning에서 영감을 얻었다.
When language meets vision.
이러한 언어 모델의 혁신은 vision-language modeling에도 큰 영향을 미쳤다. 특히, BERT는 많은 vision-language 연구에 영감을 주었다. Flamingo 모델은 새로운 task에 파인튜닝을 필요로 하지 않기 때문에 이러한 접근 방식들과는 다르다. 또 다른 vision-language 모델의 계열은 contrastive learning을 기반을 둔다. Flamingo는 contrastive 모델들과 달리 텍스트를 생성할 수 있지만, vision encoder를 구축하고 이에 의존한다. 본 연구와 유사한 것은 autoregressive 방식으로 텍스트를 생성할 수 있는 VLM들이다. 동시에 진행된 연구들은 다양한 vision task들을 텍스트 생성 문제로 공식화하는 방법을 제안한다. 강력한 사전학습된 언어 모델을 기반으로 하는 연구가 최근 여러 연구에서 탐구되었다. 최근 연구 중 하나는 사전학습된 언어 모델의 가중치를 고정시켜 catastrophic forgetting을 방지할 것을 제안한다. 본 연구는 Chinchilla LM layer들을 고정시키고 고정된 LM 내에 학습 가능한 layer를 추가하는 아이디어를 따른다. 그러나 본 논문은 임의로 교차된 이미지, 비디오, 텍스트를 수용할 수 있는 최초의 LM을 도입함으로써 이전 연구와 차별화된다.
Web-scale vision and language training datasets.
수동으로 annotated된 vision과 language 데이터셋은 비용이 높아 상대적으로 규모가 작다(10k-100k). 이러한 데이터 부족을 해결하기 위해, 여러 연구들은 쉽게 사용할 수 있는 vision-text 쌍 데이터를 자동으로 스크랩한다. 이러한 쌍 데이터 외에도, 본 연구는 교차된 이미지와 텍스트를 하나의 시퀀스로 포함하는 전체 멀티모달 웹페이지를 학습하는 것이 중요함을 보여준다. 동시 진행된 연구인 CM3는 페이지에서 HTML 마크업을 생성하는 것을 제안하지만, 본 연구는 단순히 일반 텍스트만 생성하여 텍스트 예측 task를 간소화한다. CM3는 주로 zero-shot 또는 파인튜닝된 설정에서 언어 전용 벤치마크로 평가하는 반면, 본 논문은 few-shot learning과 vision task를 강조한다.
5. Discussion
Limitations.
첫째, 본 논문의 모델은 사전학습된 언어 모델을 기반으로 구축되며 그 부작용으로 이들의 약점을 직접적으로 계승한다. 예를 들어, 언어 모델의 사전 정보는 일반적으로 유용하지만, 때때로 hallucination이나 근거 없는 추축을 일으킬 수 있다. 또한, 언어 모델은 학습 시 사용된 시퀀스보다 더 긴 시퀀스에 대해 일반화가 잘 되지 않는다. 이들은 또한 학습 과정에서 샘플 효율성이 낮다는 문제도 겪는다. 이러한 문제를 해결하면 이 분야의 발전을 가속화하고 Flamingo와 같은 VLM의 능력을 향상시킬 수 있다.
둘째, Flamingo의 classification 성능은 최신 SOTA contrastive 모델보다 뒤처진다. 이러한 모델은 text-image 검색을 직접 최적화하며, 분류는 그 특수한 경우에 해당한다. 반면, 본 논문의 모델은 open-ended task와 같은 더 광범위한 task를 처리한다. 두 접근 방식의 장점을 결합하는 통합된 접근 방식은 중요한 연구 방향이다.
셋째, in-context learning은 gradient 기반의 few-shot learning 방법에 비해 상당한 이점을 제공하지만 응용 프로그램의 특성에 따라 단점도 있다. 몇십 개의 예제만 사용할 수 있을 때 in-context learning의 효과를 입증했다. in-context learning은 단순한 배포도 가능하게 하며, 일반적으로 하이퍼파라미터 조정 없이 추론만 필요하다. 그러나 in-context learning은 다양한 시연의 측면에 매우 민감하며 저데이터 상황을 넘어서는 shot 수가 증가함에 따라 추론 계산 비용과 절대 성능이 잘 확장되지 않는다. 이러한 상호 보완적인 이점을 활용하기 위해 few-shot learning 방법을 결합할 기회가 있을 수 있다. 본 연구의 한계에 대해서는 Appendix D.1에서 더 깊이 논의한다.
Societal impacts.
사회적 영향 측면에서 Flamingo는 여러 가지 이점을 제공하는 동시에 일부 위험도 동반한다. 다양한 task에 빠르게 적응하는 능력은 비전문가 사용자도 데이터가 부족한 상황에서 좋은 성능을 얻을 수 있게 하여 유익한 응용뿐만 아니라 악의적인 응용의 장벽도 낮출 가능성이 있다. Flamingo는 대형 언어 모델과 동일한 위험에 노출되어 있으며 여기에는 공격적인 언어, 사회적 편견과 고정관념의 확산, 그리고 개인정보 유출과 같은 문제가 포함된다. 추가적으로 visual input을 처리할 수 있는 능력은 input image의 내용과 관련된 성별 및 인종적 편견과 같은 특정 위험을 초래할 수 있다. 이는 여러 visual recognition 시스템에서도 유사하게 나타나는 문제이다. 본 연구에 대한 사회적 영향, 긍정적 측면과 부정적 측면, 위험 완화 전략, 그리고 인종이나 성별 편견과 유해한 출력과 관련된 초기 연구에 대한 보다 광범위한 논의는 Appendix D.2를 참조하면 된다. 마지막으로, 언어 모델에 초점을 맞춘 이전 연구를 따르며, Flamingo의 few-shot 능력이 이러한 위험을 완화하는 데 유용할 수 있음을 지적한다.
Conclusion.
최소한의 task별 학습 데이터로 이미지 및 비디오 task에 적용할 수 있는 범용 모델인 Flamingo를 제안했다. 또한, 모델과의 "chatting"과 같은 Flamingo의 상호작용 능력을 질적으로 탐구하여 전통적인 vision 벤치마크를 넘어선 유연성을 입증했다. 본 논문의 결과는 사전학습된 대형 언어 모델과 강력한 visual 모델을 연결하는 것이 범용 visual understanding으로 나아가는 중요한 단계임을 시사한다.
Appendix
Method (Appendix A). 먼저 Appendix A.1에서 본 논문의 모델에 대한 추가 세부 정보를 제공한다.
- Appendix A.1.1 및 Figure 5 : Perceiver Resampler(Section 2.1에서 설명)의 illustration과 pseudo-code가 제공된다.
- Appendix A.1.2 및 Figure 4 : Section 2.2의 GATED XATTN-DENSE layer에 대한 유사한 illustration이 제공된다.
- Appendix A.1.3 : multi-image/video attention mechanism(Section 2.3)의 구현에 대한 세부 사항이 제공된다.
- Appendix A.1.4 : 모든 모델 아키텍처에 대한 하이퍼파라미터가 제공된다.
그런 다음 Appendix A.2에서 in-context few-shot learning을 사용하여 모델을 평가하는 방법을 설명한다. 여기에는 few-shot prompt를 구성하는 방법, open-ended 및 close-ended task에 대한 예측을 얻는 방법, zero-shot 수치를 얻는 방법, 그리고 더 많은 annotated 예제를 활용하기 위해 검색 및 앙상블을 활용하는 방법에 대한 세부 정보가 포함된다.
마지막으로, Appendix A.3에서 본 논문의 학습 데이터셋에 대한 더 많은 세부 정보를 제공한다.
- Appendix A.3.1 : M3W 수집 방법
- Appendix A.3.2 : 학습 중 M3W 샘플을 처리하는 방법
- Appendix A.3.3 : LTIP 및 VTP 수집 방법
- Appendix A.3.4 : 학습 데이터셋과 평가 데이터셋 간의 유출을 방지하기 위해 사용하는 중복 제거 전략
Experiments (Appendix B). 먼저 Appendix B.1에서 추가적인 학습 및 평가 세부 정보를 제공한다. 여기에는 다음이 포함된다.
- Appendix B.1.1 : Flamingo-3B, Flamingo-9B, Flamingo에 대한 세부 정보
- Appendix B.1.2 : 학습 하이퍼파라미터
- Appendix B.1.3 : contrastive 모델 사전학습에 대한 추가 세부 사항
- Appendix B.1.4 : 평가 벤치마크 및 분할에 대한 세부 정보
- Appendix B.1.5 : few-shot learning 하이퍼파라미터에 대한 논의
- Appendix B.1.6 : Appendix B.1.6의 Figure 1과 Figure 11에 표시된 질적 대화 예시에 사용된 대화 prompt
다음으로, Appendix B.2에서 모델로 얻은 추가 결과를 제공한다. 여기에는 Appendix B.2.1의 classification task에서의 Flamingo 모델 성능, Appendix B.2.2의 세부적인 파인튜닝 결과, 그리고 Appendix B.2.3에서 contrastive model의 zero-shot 결과가 포함된다.
마지막으로, Appendix B.3에서는 Flamingo 모델(Appendix B.3.1)과 contrastive pretrained Visual Encoder(Appendix B.3.2)에 대한 추가 ablation study를 제공한다.
Qualitative results (Appendix C). Appendix C에서는 추가적인 질적 결과를 제공한다. Figure 10(single image sample), Figure 11(dialogue examples), and Figure 12(video examples).
Discussion (Appendix D). Appendix D에서는 본 연구에 대한 더 완전한 논의를 제공하며, 여기에는 제한점, 실패 사례, broader impact 및 사회적 영향이 포함된다.
Model card (Appendix E). Flamingo model card는 Appendix E에 제공된다.
Datasheets (Appendix F). M3W, LTIP, VTP에 대한 datasheet는 각각 Appendix F.1, Appendix F.2.1, Appendix F.2.2에 제공된다.
Credit for visual content (Appendix G). 논문에서 사용된 모든 visual illustration에 대한 출처는 Appendix G에 제공된다.
A. Method
A.1 Model details
A.1.1 Perceiver Resampler
Section 2.1에서 간단히 설명한 내용을 확장하여 Figure 5에서는 예시 비디오를 처리하는 Perceiver Resampler의 illustration과 pseudo-code를 제공한다. Perceiver Resampler는 Jaegle et al.이 제안한 Perceiver 모델과 유사한 정신을 가지고 있다. 본 논문은 사전에 정의된 수의 잠재 input query들을 학습하고 flatten된 visual feature X에 cross-attend를 적용한다. 이 visual feature X는 주어진 비디오 프레임 내의 각 특징에 학습된 temporal position encoding을 추가하여 얻어진다(이미지는 단일 프레임 비디오로 간주된다). temporal encoding만 사용하며 명시적인 공간 격자 position encoding은 사용하지 않는다. 후자는 성능 개선을 관찰하지 못했기 때문이다. 이와 관련된 이유는 NFNet 인코더와 같은 CNN이 channel별로 암묵적으로 공간 정보를 포함하는 것으로 알려져 있기 때문이다. 그런 다음 visual feature은 Figure 5에서 설명한 대로 평탄화되고 연결된다. Perceiver Resampler의 output token 수는 학습된 잠재 쿼리 수와 같다. DETR 및 Perceiver와는 달리, 학습된 잠재 쿼리에서 계산된 key와 value 값은 X에서 얻은 key와 value 값에 연결되며 이는 약간 더 나은 성능을 보여준다.
A.1.2 GATED XATTN-DENSE details
Figure 4에서는 GATED XATTN-DENSE block과 이를 고정된 LM block에 연결하는 방법을 설명하는 pseudo-code를 제공한다.
또한, Figure 6에서는 Flamingo-3B 모델의 24개 LM layer로 구성된 LM 스택의 다양한 layer에서 학습 진행 상황(0%에서 100%)에 따른 tanh gating 값의 절대값 변화를 플로팅한다. 고정된 LM 스택의 모든 layer가 시각적 정보를 활용하는 것으로 보이며, tanh gating의 절대값이 초기 0에서 빠르게 증가한다. 또한 절대값이 깊이에 따라 증가하는 경향이 있음을 알 수 있다. 그러나 이 관찰에서 강한 결론을 도출하기는 어렵다. gating 이전의 활성화 값의 스케일도 깊이에 따라 달라질 수 있기 때문이다.
이 추가된 layer가 최적화 역학과 모델 자체에 미치는 영향을 더 잘 이해하기 위해서는 추가 연구가 필요하다.
A.1.3 Multi-visual input support
Figure 7에서는 특정 텍스트 토큰이 볼 수 있는 시각적 토큰의 수를 제한하기 위해 사용하는 마스킹 접근 방식을 설명한다. 또한, 이미지/비디오와 텍스트가 교차된 시퀀스에 대한 표기법을 공식화한다.
Interleaved sequences of visual data and text.
교차된 이미지/비디오와 텍스트 예제를 고려한다. 각 예제는 텍스트 시퀀스 y, 이미지/비디오 시퀀스 x, 그리고 텍스트에서 이미지의 위치 시퀀스를 포함한다. 시각적 데이터의 위치를 기반으로, 함수를 정의하며 이 함수는 각 텍스트 위치에 해당 위치 이전에 나타난 마지막 이미지/비디오의 인덱스를 할당한다(해당 위치 이전에 시각적 데이터가 나타나지 않으면 0으로 할당). 함수는 우리가 식 (1)에서 토큰 l을 예측하는 데 사용할 수 있는 시각적 input을 정의한다.
A.1.4 Transformer architecture
Table 4에는 Flamingo 모델의 각 Transformer 구성 요소에 대해 사용된 layer 수 (L), hidden dimension (D), head 수 (H), 그리고 FFW activation (Act.)를 나열한다. 각 구성에서의 key와 value 값의 차원은 D/H (Perceiver Resampler의 경우 96, GATED XATTN-DENSE 및 고정된 LM의 경우 128), 그리고 각 feed-forward MLP의 hidden dimension은 4D이다. 고정된 LM은 GeLU 활성화 함수로 학습되었고 나머지 학습 가능한 Transformer layer는 Squared ReLU 활성화 함수를 사용했다. Squared ReLU가 GeLU보다 더 나은 성능을 보였기 때문이다.
A.2 In-context few-shot evaluation details
In-context learning with Flamingo models.
GPT-3에서 사용된 접근 방식과 유사하게, in-context learning을 사용하여 모델이 새로운 task에 빠르게 적응할 수 있는 능력을 평가한다. 구체적으로 (image, text) 또는 (video, text) 형태의 예제 세트(여기서 이미지 또는 비디오는 input visual 자료이고 텍스트는 예상 응답 및 추가 task 관련 정보(예: question)이다)와 모델이 예측할 단일 시각적 쿼리가 주어진다.
Open-ended and close-ended evaluations.
open-ended 설정에서는 쿼리 이미지에 이어 모델이 생성한 텍스트가 해당 이미지에 대한 예측으로 간주되며, 첫 번째 <EOC> ("end of chunk") 토큰 예측에서 종료된다. 특별히 명시되지 않는 한, 항상 beam size를 3으로 beam search를 사용한다. close-ended 설정에서는 모든 가능한 output을 독립적으로 쿼리 이미지에 추가하고 모델이 추정한 log-likelihood를 사용하여 각 시퀀스를 평가한다. 그런 다음 이러한 점수를 사용하여 후보 output들을 자신감이 높은 순서에서 낮은 순서로 순위를 매긴다.
Zero-shot generalization.
few-shot 예제가 없는 경우, 접근 방식은 일반적으로 적절한 자연어 설명을 사용하여 모델을 조건화하는 prompt engineering에 의존한다. 이러한 prompt의 검증은 성능에 상당한 영향을 미칠 수 있지만, 다수의 주석이 달린 예제에 접근할 필요가 있어 진정한 zero-shot으로 간주될 수 없다. 또한, Perez et al.은 검증 과정에서 소수의 샘플만 사용할 때 이러한 검증 절차가 일반적으로 견고하지 않다는 것을 보여주었다. 우리 연구에서는 zero-shot 성능을 보고하기 위해, 대응하는 이미지나 비디오를 제거한 downstream task의 두 가지 예제로 prompt를 구성한다. 예를 들어, Figure 8 상단에 설명된 task의 경우, prompt는 "<BOS>Ouput: This is a cat wearing sunglasses.<EOC>Ouput: Three elephants walking in the savanna.<EOC><image> Output: "과 같이 되어 있으며, 지원 이미지는 모델에 입력되지 않는다. prompt에 두 개 대신 하나의 텍스트 예제만 보여주는 것은 매우 해롭다는 것을 관찰했는데, 이는 모델이 제공된 단일 텍스트 예제와 유사한 텍스트 출력을 생성하는 경향이 있기 때문이다. 두 개 이상의 텍스트 예제를 제공하는 것이 도움이 되지만, 그 차이는 미미하다. 따라서 실용성을 위해 모든 zero-shot 결과에서 두 개의 텍스트 예제를 사용한다. 실제로, 이는 주어진 task에 대해 좋은 자연어 설명을 찾는 것보다 번거롭지 않다고 생각한다. 이는 성능의 주요 요인인 시연의 측면에 대한 최근 연구 결과와 관련이 있다. 우리가 다른 가능한 답변에 점수를 매기는 close-ended task에서는 zero-shot prompt에 단일 텍스트 예제를 제공할 필요가 없음을 관찰했다.
Retrieval-based In-Context Example Selection.
support 세트의 크기가 일정 한계를 초과하면 in-context learning에서 모든 예제를 활용하는 것이 어려워질 수 있다. 첫째로, 모든 예제를 prompt에 맞추는 것이 지나치게 비용이 많이 들 수 있고 둘째로, prompt 크기가 학습 중에 사용된 시퀀스 크기를 초과하면 일반화가 잘되지 않을 위험이 있기 때문이다. 이러한 상황에서는 시퀀스 길이를 제한하고 prompt의 품질을 잠재적으로 향상시키기 위해 prompt 선택을 사용하는 것이 매력적이다. 이는 성능 향상으로 이어질 수 있다. 특히, 우리는 [136]에서 제안한 Retrieval-based In-Context Example Selection (RICES) 접근 방식을 따른다. 구체적으로, 쿼리 이미지가 주어지면 사전학습되고 고정된 visual encoder에서 추출된 시각적 특징을 비교하여 support 세트에서 유사한 이미지를 검색한다. 그런 다음, 가장 유사한 상위 N개의 예제를 연결하여 prompt를 구성한다. 언어 모델은 recency bias로 인해 prompt의 순서에 민감하기 때문에, 유사도 순으로 예제를 배치하여 가장 유사한 support 예제가 쿼리 바로 앞에 나타나도록 한다. 우리는 특히 여러 수백 개의 클래스를 갖는 classification 환경에서 이 접근 방식의 효과를 보여준다 (Appendix B.2.1 참조). 여기서 우리는 클래스당 하나 이상의 이미지/비디오를 제공받으며, 이로 인해 prompt에 맞추기 어려운 수의 예제가 발생할 수 있다.
Prompt ensembling.
close-ended 설정에서 모델의 output을 여러 prompt에 걸쳐 앙상블하는 방법도 탐구한다. 이는 특히 RICES와 결합할 수 있으며 순위가 매겨진 가장 가까운 이웃들의 여러 순열에 대해 앙상블을 수행할 수 있다. 구체적으로, 주어진 답변에 대해 선택된 few-shot 예제들의 6개의 무작위 순열에서 모델이 추정한 log likelihood의 평균을 계산한다.
A.3 Training dataset details
Flamingo 모델을 Figure 9에 설명된 다양한 데이터셋 혼합물을 신중하게 선택하여 학습시켰으며 이와 관련된 내용은 다음에 설명된다.
A.3.1 M3W collection
M3W를 위한 웹 페이지의 선택과 스크래핑은 MassiveWeb 데이터셋을 수집할 때 사용된 프로세스와 유사한 과정을 따른다. 먼저, 영어가 아닌 문서를 필터링한다. 또한, 이미지, 비디오, 텍스트 전반에 걸쳐 명시적 콘텐츠를 식별하는 내부 필터를 통과하지 못한 문서도 제거한다. 나머지 문서에서는 Section 2.4에서 설명한 대로 이미지와 교차된 순수 텍스트 형식으로 중요한 콘텐츠를 추출하기 위해 custom scraper를 사용한다. M3W의 텍스트는 MassiveWeb과 유사한 방식으로 수집되지만, HTML tree에서 동일한 수준에 있는 이미지를 모두 수집한다. 스크래핑 과정에서 이미지를 얻지 못한 문서는 폐기한다.
그 후, 반복성을 줄이고 저품질 문서를 제거하기 위해 유사한 텍스트 필터링 휴리스틱을 적용하며, 이미지가 너무 작거나(너비 또는 높이가 64픽셀 미만), 너무 넓거나 좁은(어느 방향에서든 종횡비가 3이상) 이미지를 제거하기 위한 몇 가지 이미지 필터도 적용한다. 또한, 명백히 저품질인 이미지(예: 단색 이미지)도 제거한다. 이 필터링 단계 이후에 더 이상 이미지가 포함되지 않은 문서는 폐기한다.
A.3.2 M3W image-placement augmentation
Flamingo 모델의 평가 동안, 모델에게 이미지를 제공하고 해당 이미지에 대한 텍스트를 생성하도록 요청한다. 이는 추론 시 이미지가 해당 텍스트 출력 전에 오는 자연스러운 시퀀싱을 유도한다.
그러나 교차된 M3W 데이터셋(Section 2.4)에 있는 이미지와 텍스트 간의 연관성은 일반적으로 알려져 있지 않으며, 특정 경우에는 명확하지 않을 수도 있다. 예를 들어, 간단한 웹페이지가 다음과 같은 두 가지 방식 중 하나로 구성될 수 있다.
(a) This is my dog! <dog image> This is my cat! <cat image>
(b) <dog image> That was my dog! <cat image> That was my cat!
텍스트와 정렬된 이미지 인덱스는 이상적으로 텍스트의 각 지점에서 해당 텍스트에 가장 의미적으로 관련된 이미지를 가리키도록 선택될 수 있다. 즉, 예시 (a)에서는 다음 이미지, 예시 (b)에서는 이전 이미지가 이에 해당한다. 일반적으로 웹페이지에서 텍스트와 이미지 간의 의미적 연관성을 결정하는 방법이 없기 때문에, 텍스트에서 주어진 시점에 가장 관련성이 높은 이미지는 텍스트 토큰 이전에 나타난 마지막 이미지이거나 바로 다음에 나오는 이미지라는 단순한 가정을 하고 이에 따라 인덱스를 선택한다.
훈련 중에는 샘플링된 각 웹페이지에 대해 텍스트를 이전 이미지나 다음 이미지에 매핑할 인덱스를 선택하는 확률을 p=1/2로 설정하여 샘플링한다. 이는 텍스트 "This is my cat!"을 위 예시 (a)에서처럼 강아지 이미지와 연관시키는 의미적으로 부자연스러운 선택을 약 절반의 확률로 하게 됨을 의미한다. Section 3.3에서 이 선택을 ablation study를 진행하여 p=1/2를 0(항상 이전 이미지 인덱스) 또는 1(항상 다음 이미지 인덱스)로 설정하는 것보다 약간의 이점이 있음을 발견했다. 이는 이러한 무작위화에 의해 유익한 데이터 증강 효과가 있을 수 있음을 시사한다.
A.3.3 LTIP and VTP: Visual data paired with text
교차된 이미지와 텍스트 데이터셋과 함께, 학습을 위해 여러 개의 시각적 데이터와 텍스트가 짝지어진 웹 데이터셋을 사용한다. 그 중 하나는 ALIGN 데이터셋으로, 18억 개의 이미지와 대체 텍스트로 구성되어 있다. ALIGN은 크기가 크지만, 노이즈가 많고 이미지로 제한되어 있다. 이미지가 해당 대체 텍스트 주석으로 제대로 설명되지 않는 경우가 많다. 이러한 이유로, 두 개의 데이터셋을 추가로 사용한다. LTIP(Long Text & Image Pairs)는 3억 1,200만 개의 이미지로 구성되어 있고, VTP(Video & Text Pairs)는 2,700만 개의 짧은 비디오(평균 약 22초)로 구성되어 있다. 이 두 데이터셋은 더 자세한 설명이 포함된 캡션과 짝을 이룬다. 예를 들어, ALIGN 텍스트 설명의 평균 토큰 수는 이미지당 12.4개인 반면, LTIP 데이터셋은 20.5개이다. LTIP와 VTP 데이터셋은 고품질의 풍부한 이미지 설명을 제공하는 10개 이하의 웹사이트를 대상으로 크롤링하여 수집되었다. 이러한 단일 이미지 및 단일 비디오 데이터셋은 앞서 설명한 M3W 데이터 전처리와 유사하게 전처리 되었으며, 시퀀스의 시작 부분(<BOS> 바로 뒤)에 <image> 태그를 추가하고 텍스트 뒤(<EOS> 앞)에 <EOC> 토큰을 추가한다. 이 데이터셋들은 Appendix A.3.4에 자세히 설명된 대로, 이미지 유사성을 사용하여 모든 벤치마크(훈련 및 평가 셋 모두)와 비교하여 중복 제거되었다. LTIP와 VTP 데이터셋에 대한 datasheet는 각각 Appendix F.2.1과 Appendix F.2.2에 제공된다.
A.3.4 Dataset deduplication against evaluation tasks
내부 중복 제거 도구를 사용하여 훈련 데이터셋에서 평가 데이터셋과의 중복을 제거했다. 이 중복 제거 파이프라인은 잠재적인 중복 가능성이 있는 임베딩을 서로 가깝게 매핑하는 훈련된 시각 인코더에 의존한다. 이미지 임베딩이 계산되면, 훈련 이미지에 대한 빠른 근사 최근접 이웃 검색을 수행하여 검증 데이터셋에서 중복 후보를 검색한다. 이미지-텍스트 쌍 데이터셋의 경우, LTIP와 ALIGN 훈련 이미지를 다음과 같이 비교하여 중복을 제거했다. ImageNet(train, val), COCO(train, valid, test), OK-VQA(train, valid, test), VQAv2(train, valid, test), Flickr30k(train, valid, test), VisDial(train, valid, test).
Flamingo 모델을 훈련한 후에 VizWiz, HatefulMemes, TextVQA에 대한 평가를 수행했기 때문에 이러한 이미지 데이터셋과의 중복 제거는 하지 않았다. 그러나 이 데이터셋의 이미지들을 웹에서 수집된 것이 아닐 가능성이 높기 때문에, 본 연구의 결과에 영향을 미치지 않았을 것으로 믿는다. VizWiz 이미지는 특정 모바일 앱을 사용하여 얻었고 다운로드 전용으로 제공되었으며, HatefulMemes는 연구자들이 웹에서 수집하는 대신 생성한 밈이며, 마지막으로 TextVQA 이미지는 OpenImages에서 가져온 것이다.
B. Experiments
B.1 Training and evaluation details
B.1.1 Models
세 가지 모델 크기에 걸쳐 실험을 수행하며 고정된 언어 모델의 크기를 14억에서 7억, 70억으로 확장하고 이에 따른 다른 구성 요소의 파라미터 수를 조정한다. 모든 실험에서 사전학습된 vision encoder는 고정된 상태로 유지하고, ablation study에서 명시적으로 언급하지 않는 한 contrastive learning으로 훈련된 NFNet-F6 모델을 사용한다(Appendix B.1.3 참조). 세 가지 모델 크기에서 약 2억 개의 파라미터를 가진 Perceiver Resampler를 사용한다.
GATED XATTN-DENSE layer를 몇 개로 교차 배치할지에 대한 결정은 주로 메모리 제한과 downstream 성능 간의 절충에 의해 결정된다. 작은 모델 규모에서 최적의 절충점을 식별한 후, 그 결과를 대형 모델 아키텍처에 적용했다.
아래에 설명된 세 가지 모델인 Flamingo-3B, Flamingo-9B, Flamingo-80B를 얻었다.
- Flamingo-3B 모델은 14억 파라미터를 가진 고정된 언어 모델을 기반으로 한다. 각 Transformer block 앞에 visual input에 attend하는 GATED XATTN-DENSE layer를 추가한다. 이는 14억 개의 추가 학습된 파라미터를 포함한다.
- Flamingo-9B 모델은 70억 파라미터를 가진 고정된 언어 모델을 기반으로 한다. 첫 번째 layer부터 시작하여 네 번째 Transformer block마다 visual input에 attend하는 GATED XATTN-DENSE layer를 추가한다. 이는 18억 개의 추가 학습된 파라미터를 포함한다.
- Flamingo-80B 모델은 700억 파라미터를 가진 고정된 Chinchilla 언어 모델을 기반으로 한다. 첫 번째 layer부터 시작하여 일곱 번째 Transformer block마다 visual input에 attend하는 GATED XATTN-DENSE layer를 추가한다. 이는 100억 개의 추가학습된 파라미터를 포함한다. 간단히 하기 위해, 이 모델을 논문 전체에서 Flamingo라고 부른다.
Table 5에서는 각 모델 구성 요소의 파라미터 수와 모델 sharding 요구사항을 보고한다. 더 자세한 Transformer 아키텍처 세부 사항은 Appendix A.1.4에 제공된다. 또한, Flamingo 모델 카드는 Appendix E에 제공된다.
B.1.2 Training details for the Flamingo models
Data augmentation and preprocessing.
경험적으로, 0.5의 확률로 공백 문자 하나씩 짝을 이룬 dataset 텍스트 샘플을 확률적으로 추가하는 것이 효과적임을 발견했다. 이는 subword tokenizer가 단어 앞에 공백이 있는지 여부에 따라 다양한 단어의 시작 부분을 서로 다른 토큰으로 매핑하기 때문인 것으로 보인다. 이를 통해, 이러한 토크나이저 특이성에 대한 불변성을 강화하면서도 많은 샘플에서 이미 부족한 구두점의 정확성을 크게 저하시키지 않을 수 있다. 이것이 task 전반에 걸쳐 상당한 성능 향상을 가져온다는 것을 관찰했다.
visual input은 가로세로 비율을 유지하면서 320 x 320으로 크기가 조정되며 필요한 경우 평균값으로 이미지를 패딩한다. 이는 vision encoder의 contrastive pretraining에서 사용된 288 x 288 해상도보다 높은 것이다(Appendix B.1.3 참조). 최종 단계 학습에서 해상도를 증가시킨 것은, CNN을 사용할 때 테스트 시 더 높은 해상도에서 성능이 향상될 수 있다는 [113]의 연구에서 영감을 받았다. 이 해상도 증가로 인해 계산 및 메모리 비용은 크게 증가하지 않는데, 이는 고정된 vision encoder를 통해 backpropagation이 수행되지 않기 때문이다. 또한, 랜덤 좌우 flip과 색상 증강을 사용한다.
교차된 데이터셋 (Section 2.4)에 대해서는, M3W 데이터셋에서 샘플링할 때 선택된 이미지 인덱스를 하이퍼파라미터로 약간 무작위화하는 증강 기법도 사용한다. 이 증강 기법은 Appendix A.3.2에서 자세히 설명되어 있으며 p=1/2의 선택은 Appendix B.3.1에서 ablation study를 통해 검증되었다. 비디오 학습의 경우, 각 학습 비디오에서 초당 한 프레임(fps)으로 샘플링된 8 프레임의 클립을 시간적으로 샘플링한다. 모델은 8 프레임 고정으로 학습되었지만, 추론 시에는 초당 3 프레임(fps)으로 30 프레임을 입력한다. 이는 추론 시 Perceiver Resampler의 학습된 시간적 position embedding을 선형 보간하여 달성된다.
Loss and optimization.
모든 모델은 AdamW optimizer를 사용하여 학습되며 global norm clipping 값을 1로 설정하고 Perceiver Resampler에는 weight decay를 적용하지 않으며 다른 학습 가능한 파라미터에는 0.1의 가중치 감쇠를 적용한다. 학습률은 처음 5000 step동안 0에서 10^-4까지 선형적으로 증가한 후, 학습이 진행되는 동안 일정하게 유지된다(학습률은 감소시켜도 개선이 관찰되지 않았다). 별도의 언급이 없는 한, 모델을 50만 step 동안 학습시킨다. 네 가지 데이터셋이 학습에 사용되며, M3W, ALIGN, LTIP, VTP의 가중치는 각각 1.0, 0.2, 0.2, 0.03으로 설정되었다. 이 가중치들은 작은 모델 스케일에서 경험적으로 얻어졌으며 이후 고정되었다. batch size는 설정에 따라 다르며, 다음 섹션에서 설명된다.
Infrastructure and implementation.
모델과 관련 인프라는 JAX와 Haiku를 사용하여 구현되었다. 모든 학습 및 평가는 TPUv4 인스턴스에서 수행되었다. 800억 개의 파라미터를 포함하는 가장 큰 모델은 1536개의 칩에서 15일 동안 학습되었으며 16개의 장치에 걸쳐 샤딩되었다. Megatron 타입의 샤딩이 사용되어 모든 Embedding / Self-Attention / Cross-Attention / FFW layer에 대해 16개의 병렬 처리를 가능하게 했으며 NFNet vision layer는 샤딩되지 않았다. ZeRO stage 1이 optimizer 상태를 샤딩하는 데 사용되었다. 모든 학습된 파라미터와 옵티마이저 누적치는 float32로 저장 및 업데이트되며, 모든 활성화 및 그라디언트는 파라미터를 float32에서 bfloat16으로 다운캐스팅한 후 bfloat16으로 계산된다. 고정된 파라미터는 bfloat16으로 저장 및 적용된다.
B.1.3 Contrastive model details
비전 인코더는 언어 인코더와 함께 처음부터 학습된다. 이 인코더들을 사용하여 이미지와 텍스트 쌍을 각각 인코딩하고 공유 임베딩 공간에 project한 후 L2 정규화를 한다. 이러한 임베딩에서, 짝지어진 임베딩의 유사성을 최대화하고 짝지어지지 않은 임베딩의 유사성을 최소화한다. 이를 위해 multi-class cross-entropy loss를 사용하며 이때 짝지어진 이미지-텍스트 쌍은 긍정 예제로, 나머지 배치는 부정 예제로 처리된다. CLIP에서 사용된 것과 동일한 loss를 사용하며 여기에는 텍스트에서 이미지로의 contrastive loss와 이미지에서 텍스트로의 contrastive loss가 포함된다. 최종 log-softmax layer에서 학습 가능한 온도 파라미터를 사용한다. text-to-image loss는 다음과 같다.
그리고 image-to-text loss는 이와 유사하게 정의된다.
두 loss의 합은 최소화한다. 여기서 Vi와 Li는 각각 배치의 i번째 요소의 비전 및 언어 구성 요소의 정규화된 임베딩이다. 베타는 학습가능한 역 온도 파라미터이고 N은 배치의 요소 수이다. 언어 인코더로 BERT 아키텍처를 사용한다. 언어 인코더와 비전 인코더의 output은 공유 임베딩 공간으로 투영되기 전에 각각 토큰과 공간 위치에 걸쳐 평균 풀링된다. 메인 Flamingo 모델에서 contrastive vision encoder의 가중치만 사용한다.
비전 인코더는 ALIGN 및 LTIP 데이터셋에서 사전학습된다. 학습 이미지 해상도는 288 x 288이며 공유 임베딩 공간의 크기는 1376, batch size는 16,384이다. 512개의 TPUv4 칩에서 총 120만 번의 파라미터 업데이트 step동안 학습되며, 각 step은 두 번의 그라디언트 계사 스텝으로 구성된다(자세한 내용은 아래 참조). 학습률은 학습과정에서 10^-3에서 0으로 선형 감소한다. 학습 중에는 이미지에 랜덤 색상 증강과 horizontal flip이 적용된다. Jia et al.[50]이 사용한 토크나이저를 사용한다. 네트워크 최적화를 위해 Adam optimizer를 사용하며 0.1의 label smoothing을 적용한다. NFNet 인코더에는 10^-2의 적응형 그라디언트 클리핑(AGC)을 적용하고 BERT 인코더에는 global norm gradient clipping 값 10을 적용한다.
사전학습된 모델을 평가하기 위해, zero-shot image classification 및 검색을 추적한다. zero-shot image calssification의 경우, 이미지와 클래스 이름 간의 이미지-텍스트 검색을 사용한다. Radford et al.[85]를 따라, "prompt-ensembling"을 사용하며 이는 "A photo of a {class_name}"과 같은 template을 사용하여 여러 텍스트를 임베딩하고 결과 임베딩을 평균화하는 방식이다.
B.1.4 Evaluation benchmarks
본 연구의 목표는 few-shot 설정에서 다양하고 도전적인 task에 빠르게 적응할 수 있는 모델을 개발하는 것이다. 이를 위해 Table 6에 요약된 여러 인기있는 이미지 및 비디오 벤치마크를 고려한다. 총 16개의 멀티모달 이미지/비디오 및 언어 벤치마크를 선택했으며, 여기에는 language understanding이 필요한 task(visual question answering, captioning, visual dialogue)과 두 가지 표준 이미지 및 비디오 분류 벤치마크(ImageNet 및 Kinetics)가 포함된다. YouTube에서 수집된 비디오 데이터셋(즉, NextQA 및 STAR를 제외한 모든 비디오 데이터셋)의 경우, 2022년 4월까지 공개된 모든 비디오에 대해 모델을 평가했다.
DEV benchmarks.
프로젝트 진행 과정에서 모델의 설계 결정을 검증하기 위해, 16개의 멀티모달 이미지/비디오 및 언어 벤치마크 중에서 5개의 벤치마크를 선택했으며 분류를 위한 ImageNet 및 Kinetics도 DEV로 선택했다. 그 관련성을 극대화하기 위해, 이미지와 비디오에서 captioning, visual question-answering, classification task에 대해 가장 도전적이고 널리 연구된 벤치마크를 선택했다.
Dataset splits for the DEV benchmarks.
구체적으로, few-shot learning 성능을 추정하는 것은 모델을 support 샘플 집합에 맞추고 query sample 집합에서 평가하는 것을 포함한다. 따라서, 모든 평가세트는 각각 지원 샘플과 쿼리 샘플을 포함하는 두 개의 서로 겹치지 않는 하위집합으로 구성되어야 한다. 설계 결정 및 하이퍼파라미터를 검증하고 최종 성능을 보고하기 위해 사용되는 DEV 벤치마크의 경우 다음 네 개의 하위 집합을 사용한다.
- validation support: 검증을 위한 support 샘플을 포함한다.
- validation query: 검증을 위한 쿼리 샘플을 포함한다.
- test support: 최종 성능 추정을 위한 support 샘플을 포함한다.
- test query: 최종 성능 추정을 위한 쿼리 샘플을 포함한다.
실제로, test query 하위 집합의 경우, 공정한 비교를 위해 이전 연구들이 결과를 보고한 하위 집합을 사용한다. validation query 하위 집합으로 검증 세트를 사용하는 것이 자연스러운 선택이지만, 일부 벤치마크는 공식 검증 세트가 없기 때문에(예: OKVQA), 다른 벤치마크의 경우 검증 세트가 테스트 세트를 대신하여 최종 성능을 보고하는데 일반적으로 사용된다(예: ImageNet or COCO). 단순성을 위해, 원래의 훈련 세트의 하위 집합을 validation query 하위 집합으로 사용한다. 마지막으로, 각각의 validation support 하위 집합과 test support 하위 집합으로 훈련 세트의 추가적인 서로 겹치지 않는 하위 집합도 사용한다.
이제 나머지 세 하위 집합을 어떻게 구성하는지 더 자세히 설명한다. captioning task의 경우, open-ended 평가가 효율적이므로 많은 수의 샘플로 평가한다. 구체적으로, COCO의 경우 Karpathy 분할에서 사용된 것과 동일한 수의 샘플(5000개)을 평가 세트로 사용한다. VATEX의 경우, 훈련 세트 크기가 제한적이기 때문에 지원 세트를 위해 나머지를 남겨두고 1024개의 샘플만 평가한다. question-answering task의 경우, open-ended와 close-ended 평가를 모두 합리적으로 빠르게 할 수 있도록 1024개의 샘플로 평가한다. 이미지 분류 task의 경우, 클래스당 10개의 이미지로 평가한다. ImageNet의 경우 10,000개의 샘플, Kinetics700의 경우 7,000개의 샘플을 사용한다. support 세트의 경우, 검증과 최종 성능 추정을 위해 모든 task에서 2048개의 샘플을 사용하며 분류 task의 경우 클래스당 32개의 샘플로 이를 확장하여 각 클래스에 대한 예상 성능을 더 잘 추정한다.
Unbiased few-shot performance estimation.
DEV 벤치마크에서의 few-shot learning 성능 추정은 프로젝트 진행 중에 이러한 벤치마크에서 얻은 성능을 기반으로 설계 결정을 내렸다는 점에서 편향될 수 있다. 이전 연구들도 이들 벤치마크를 사용하여 자신의 설계 결정을 검증하고 소거하는 데 활용했다는 점을 언급할 필요가 있다. 이러한 편향을 고려하고 편향되지 않은 few-shot learning 성능 추정을 제공하기 위해, 나머지 11개 벤치마크에 대한 성능을 보고한다. 이들 중 일부는 DEV 벤치마크와 동일한 open-ended 이미지 및 비디오 task(captioning and visual question-answering)를 포함하지만, 덜 탐구된 기능을 탐구하기 위해 보다 구체적인 벤치마크도 살펴본다. 여기에는 특히 OCR 기능을 질문 응답을 통해 평가하는 TextVQA, 시각적 대화 벤치마크인 VisDial, 비전 및 텍스트 분류 벤치마크인 HatefulMemes, 인과관계와 시간적 관계에 중점을 둔 NextQA, 다중 선택 질문 응답 작업인 STAR, 그리고 동작 인식에서의 조합성을 측정하는 RareAct가 포함된다. 이러한 벤치마크에서 어떤 설계 결정도 검증하지 않으며, Flamingo 학습이 완료된 후 편향되지 않은 few-shot learning 성능을 추정하기 위해서만 이들 벤치마크를 사용한다는 점을 강조한다.
B.1.5 Few-shot learning evaluation hyperparameters
few-shot learning에서 하이퍼파라미터 선택은 추가적인 검증 예제를 필요로 하므로, 이는 암묵적으로 shot 수를 증가시킨다. 이러한 점이 고려되지 않으면, 실무에서 흔히 그렇듯이 few-shot 성능이 과대평가될 수 있다. 유사하게, prompt와 같은 벤치마크별 하이퍼파라미터의 교차 검증은 기본적인 few-shot learning 방법으로 간주되어야 하며, 여기서는 shot 세트에서 task별 prompt를 선택한다. 그러나 다른 학습 접근법이 이러한 레이블이 있는 예제를 더 효과적으로 활용할 수 있다. [80]에서 보고된 교차 검증의 견고성에 대한 부정적인 결과를 감안하여, 별도로 언급하지 않는 한, 모든 벤치마크는 프롬프트를 포함한 단일 평가 하이퍼파라미터 세트를 사용하여 실행된다. DEV 벤치마크의 검증 하위 집합에서 하이퍼파라미터를 공동으로 최적화하며 몇 가지 예외를 제외하고는 벤치마크별 하이퍼파라미터 교차 검증을 수행하지 않는다.
HatefulMemes와 RareAct를 제외하고, 모든 non-question-answering task에 대해 "Output: {output}" prompt를 사용하고, 모든 question-answering / visual dialogue task에 대해서는 "Question: {question} Answer: {answer}" prompt를 사용한다. 특히, VisDial의 경우, 대화에서 각 질문/답변을 인코딩하기 위해 앞서 설명한 prompt를 사용하며 제공된 이미지 캡션은 대화 기록에 아무런 프롬프트 없이 추가된다. HatefulMemes의 경우, OCR 정보가 input으로 제공된 특정 prompt를 사용하며, 이는 "is an image with written: "{meme_text}" on it. Is it hateful? Answer: {answer}"이다. 여기서 답변은 yes 또는 no 이다. 이 데이터셋은 Flamingo 모델에 OCR 텍스트 "meme_text"를 명시적으로 입력하는 유일한 데이터셋이다. TextVQA의 경우, 제공된 OCR 전사본을 사용하지 않고 대신 Flamingo 모델의 사전 탑재된 OCR 기능을 직접 사용한다. RareAct의 경우, zero-shot 벤치마크로, 동사 이름을 3인칭으로 변경하고 각 명사 앞에 관사를 추가하며 "Caption: a person {verb + object}" prompt를 사용한다.
B.1.6 Dialogue prompt
Figure 1과 11의 대화 예제에서는 다음 prompt가 사용되었다.
B.2 Additional performance results
B.2.1 Few-shot learning on classification tasks
Flamingo 모델을 ImageNet이나 Kinetics700과 같은 잘 연구된 분류 벤치마크에 적용하는 것을 고려했다. 결과는 Table 7에 나와 있다. 다른 실험에서와 마찬가지로, 더 큰 모델이 더 나은 성능을 보이는 경향이 있음을 관찰할 수 있다. 두 번째로, few-shot 분류 task에는 종종 더 많은 학습 예제가 포함되기 때문에(예: ImageNet에서는 클래스당 1개의 예제로 총 1000개의 예제), 더 큰 지원 세트로 확장할 수 있는 방법을 사용하는 것이 유리하다. RICES (Retrieval In-Context Example Selection, Appendix A.2에 설명됨)는 prompt에 포함할 예제를 무작위로 선택하는 것보다 훨씬 더 나은 성능을 보인다. 실제로, RICES를 사용해 5000개의 지원 예제 중 16개를 선택한 경우, 동일한 수의 예제를 무작위로 선택한 것에 비해 ImageNet 분류에서 9.2%의 개선을 달성했다. 여러 프롬프트를 앙상블하는 것도 결과를 더욱 향상시킨다. 그러나 Flamingo 모델은 분류 task에서 현재 지배적인 contrastive 패러다임에 비해 성능이 떨어진다. 특히, 이들은 그들의 비전 인코더로 사용된 contrastive 모델보다 성능이 떨어진다(Flamingo의 한계에 대한 자세한 내용은 Appendix D.1을 참조). 마지막으로, ImageNet에서의 SOTA 모델인 BASIC과 LiT는 JFT-3B와 같은 이미지와 레이블을 포함한 데이터셋에서 학습되기 때문에 분류 task에 특히 최적화되어 있다. Flamingo와 같은 VLMs의 분류 task 성능을 향상시키는 것은 미래 연구에서 흥미로운 방향이 될 것이다.
B.2.2 Fine-tuning Flamingo as a pretrained vision-language model
Flamingo 모델을 downstream task에 맞게 파인튜닝하기 위해, Section 2.4에서 설명한 단일 이미지/비디오 데이터셋과 동일한 형식으로 관심 task의 데이터 배치를 사용하여 학습시킨다.
Freezing and hyperparameters.
Flamingo를 파인튜닝할 때, 기본 LM layer는 고정된 상태로 유지하며 사전학습 동안 사용된 Flamingo layer를 동일하게 학습시킨다. 또한 Input 이미지의 해상도를 320 x 320에서 480 x 480으로 증가시킨다. 사전학습 단계와는 달리, 기본 visual encoder도 파인튜닝하며 이는 일반적으로 결과를 향상시키는 것으로 나타났다. 이는 부분적으로 더 높은 Input 해상도 덕분일 수 있다.
task별 하이퍼파라미터를 선택하며, 이는 훈련 세트의 검증 하위 집합(또는 공식 또는 표준 검증 세트가 있는 경우 그 세트)에서 grid search를 통해 결정된다. 이러한 하이퍼파라미터에는 학습률(3 x 10^-8에서 1 x 10^-5 범위)과 decay schedule(10배수의 지수 감소), 학습 단계 수, 배치 크기(8 또는 16), 그리고 시각적 데이터 증강(색상 증강, 랜덤 horizontal flip)이 사용되는지 여부가 포함된다.
Results.
Table 8에서는 task별 Flamingo 파인튜닝에 대한 추가 결과를 제시한다. 수천 개의 예제가 포함된 대규모 task별 데이터셋에 접근할 수 있는 경우, 이전에 제시한 in-context few-shot learning 결과를 초과하여 성능을 향상시킬 수 있으며 VQAv2, VATEX, VizWiz, MSRVTTQA, HatefulMemes 다섯 가지 task에서 SOTA 성능을 달성했다. 예를 들어, VQAv2에서 82.0%로 개선된 결과를 관찰했으며 이는 32-shot in-context learning으로 얻은 결과(67.3%)와 이전 SOTA(81.3%, Yan et al.[133)을 초과한 것이다.
비록 이러한 파인튜닝 결과가 이전에 제시된 in-context few-shot learning 결과에 비해 높은 계산 비용이 필요하지만, 하이퍼파라미터 튜닝과 같은 다른 과제들과 함께 이러한 결과는 task별 학습 데이터가 많은 경우에도 시각적 이해를 위한 VLM 사전학습의 강력함을 다시 한 번 입증한다.
일부 경우에는 단순히 log-likelihood를 최적화하고 COCO captioning의 CIDEr optimization과 같은 일반적인 task별 최적화 metric을 사용하지 않거나 VisDial에 대한 dense annotation으로 파인튜닝을하지 않기 때문에 최고 성능에 미치지 못할 수 있다. 예를 들어, Murahari et al. [79]는 VisDial에서 dense annotation 파인튜닝으로 인해 NDCG가 10% 상대적으로 개선되었다고 보고했다.
B.2.3 Zero-shot performance of the pretrained contrastive model
본 연구의 접근 방식의 중요한 부분은 contrastive learning을 통해 별도로 사전학습된 후 Flamingo 모델을 학습할 때 고정된 상태로 유지되는 vision encoder이다. ImageNet, Kinetics700에서의 zero-shot 이미지 분류 결과와 Flick30K 및 COCO에서의 검색 결과를 보고한다. 분류 결과는 Table 7에, 검색 결과는 Table 9에 제시되어 있다. 검색 task의 경우, 모델은 SOTA contrastive dual encoder 접근 방식인 CLIP, ALIGN, Florence를 능가한다. 그러나, Kinetics700에서의 zero-shot SOTA (CLIP)과 ImageNet에서의 zero-shot SOTA (BASIC)에는 미치지 못했다. 그러나 앞서 언급했듯이, BASIC은 특히 분류에 최적화되어 있다. 이 모델은 캡션이 아닌 레이블이 있는 이미지가 포함된 JFT-3B 데이터셋에서 학습되었다. 레이블과 유사한 짧은 텍스트 설명과 이미지를 사용하여 학습하는 것이 ImageNet에서는 크게 도움이 되지만, 풍부한 장면 설명을 포착해야 하는 검색 벤치마크에는 해롭다는 것을 발견했다. 본 연구의 목표는 주요 객체만이 아니라 전체 장면을 포착하기 위해 Flamingo 모델의 특징 추출기로서 비전 인코더를 사용하는 것이기 때문에, 분류 metric보다는 검색 metric을 선호한다. contrastive pretraining에 대한 자세한 내용은 Appendix B.1.3에서 제공한다.
B.3 Extended ablation studies
B.3.1 Flamingo
Ablation study experimental setup.
Table 10에서와 같이, 5개의 DEV 멀티모달 벤치마크의 검증 하위집합에 대해 4-shot으로 Flamingo-3B의 task별 결과와 전체 점수(Section 3.3 참조)를 보고한다. ablation study는 M3W에 대해 batch size 256, ALIGN에 대해 512, LTIP에 대해 512, VTP에 대해 64로 설정하여 수행했다. 모델은 100만 번의 gradient step(즉, 기본 모델의 경우 25만 번의 gradient 업데이트로, 4개의 데이터셋에서 gradient를 누적한다)동안 학습되었다.
Resampler.
Table 10의 행 (1)에서 Resample의 아키텍처 설계를 추가로 조사했다. Resampler의 크기를 소, 중(모든 Flamingo 모델의 기본값), 대의 세 가지 옵션으로 소거했다. 중간 크기의 Resampler에서 최고의 성능이 달성되었음을 확인했다. 또한, 고정된 LM과 함께 크기를 확장할 때 Perceiver Resampler의 크기를 늘리면 학습이 불안정해지는 것을 관찰했다. 따라서 모든 Flamingo 모델에 대해 동일한 중간 크기의 Resampler를 유지하기로 보수적인 선택을 했다.
Effect of how many images are cross-attended to.
교차된 이미지-텍스트 시나리오에서, 모델이 가장 최근의 이전 이미지 하나에만 주의를 기울일 수 있는지 또는 모든 이전 이미지에 주의를 기울일 수 있는지를 소거 실험을 통해 검토했다(Table 10의 (2)행). 결과적으로, 단일 이미지에만 주의를 기울이는 경우가 전체 점수에서 7.2% 더 나은 결과를 낳는다는 것을 확인할 수 있었다. 한 가지 가능한 설명은, 모든 이전 이미지에 주의를 기울일 때, cross-attention input에서 서로 다른 이미지를 명확하게 구분할 수 있는 명시적인 방법이 없기 때문이다. 그럼에도 불구하고, 최근 연구에서는 인과적 attention 메커니즘을 통해 이러한 구분이 암묵적으로 여전히 가능하다는 것을 보여주었다. 또한 모든 이전 이미지에 주의를 기울일 때 이를 명시적으로 지원하기 위해 이미지 태그에 인덱스를 포함시키거나(<image 1>, <image 2> 등) 각 이미지에 대해 cross-attention 기능에 추가된 절대 인덱스 임베딩을 학습하는 방법을 탐구했다. 이러한 전략들은 학습과 테스트 시간 사이에 시퀀스당 이미지 수가 변경될 때 우리의 방법만큼 강력하지 않았다. 이러한 특성은 효율성을 높이기 위해 학습 시 시퀀스 당 이미지 수를 줄이면서도(학습 시에는 N=5를 사용) few-shot 평가에서 많은 이미지를 일반화할 수 있도록 하는 것이 바람직하다(테스트 시에는 N=32까지 사용). 이러한 이유로, Flamingo 모델에 대해 단일 이미지 cross-attention 전략을 유지한다. 이 마스킹 전략 때문에 모델이 명시적으로 모든 이전 이미지에 주의를 기울일 수는 없지만, 이전 텍스트 토큰을 통해 모든 이전 이미지의 특징을 전파하는 언어 전용 self-attention를 통해 암묵적으로 이를 참조할 수 있다.
M3W image placement data augmentation.
웹페이지의 경우, 페이지 DOM의 2차원 레이아웃에서 해당 페이지의 텍스트가 이전 이미지를 언급할지 다음 이미지를 언급할지 미리 알 수 없다. 이러한 이유로, pnext에 의해 제어되는 M3W 데이터 증강을 탐구했으며, 이는 주어진 텍스트 토큰이 이전 이미지 또는 다음 이미지에 주의를 기울일지를 나타낸다(Appendix A.3.2에서 더 자세한 내용을 확인할 수 있다). 기본값이 p=0.5는 샘플링된 각 웹페이지에 대해 모델이 이전 이미지에 주의를 기울일지 다음 이미지에 주의를 기울일지를 무작위로 결정함을 의미한다. p=0은 모델이 항상 이전 이미지에 주의를 기울이는 경우를, p=1은 모델이 항상 다음 이미지에 주의를 기울이는 경우를 의미한다. 결과(Table 10의 (3)행)는 이러한 무작위화가 유익하다는 것을 보여준다.
Language model pretraining.
텍스트 사전학습의 중요성을 측정하기 위해, MassiveText에서 사전학습된(본 연구의 주요 모델) 동결된 디코더 전용 Transformer와 C4 데이터셋에서 사전학습된 Transformer의 성능을 비교했다(Table 10의 (4)행). C4 데이터셋(이 데이터셋은 MassiveText보다 더 작고 덜 필터링됨)을 사용하여 학습한 경우 성능이 크게 감소하며(전체적으로 -7.9%), 특히 visual question-answering tasks(OKVQA, VQAv2, MSVDQA)과 같이 언어 이해가 더 필요한 작업에서 성능이 눈에 띄게 감소한다. 반면, 언어 이해가 그리 많이 필요하지 않은 task(COCO, VATEX)에서는 성능이 비슷하게 유지된다. 이는 고품질의 텍스트 전용 데이터셋에서 언어 모델을 사전학습하는 것이 중요함을 강조한다.
Freezing the vision encoder.
Flamingo 학습 중에는 사전학습된 구성 요소(비전 인코더와 언어 모델 layer)를 freeze한 상태로 새로 추가된 구성 요소들을 처음부터 학습시킨다. Table 10의 (5)행에서 이 freezing 결정을 소거 실험하여 비전 인코더 가중치를 처음부터 학습하거나 contrastive vision-language task로 초기화하는 방법을 비교했다. 처음부터 학습한 경우 성능이 크게 감소하며(-9.3%), 사전학습된 가중치에서 시작해도 성능이 -2.6% 감소하고 학습의 계산 비용이 증가하는 것을 확인했다.
Alternative to freezing the LM by co-training on MassivText.
catastrophic forgetting을 방지하는 또 다른 방법은 언어 모델을 사전학습한 데이터셋인 MassiveText에서 공동 학습을 하는 것이다. 구체적으로, MassiveText를 학습 혼합물에 추가하며 2048의 시퀀스 길이를 사용하고 Chinchilla의 사전학습과 동일한 설정으로 텍스트 전용 학습 loss를 계산한다. MassiveText에서 공동 학습을 수행하기 위해서는 언어 모델의 unfreeze를 해야 하지만, 비전 인코더는 동결된 상태로 유지된다. Table 10의 (6)행에서는 두 가지 소거 실험을 수행했다. 사전학습된 언어 모델에서 시작하는 경우(LM 가중치의 학습률을 0.1로 설정)와 처음부터 초기화하는 경우(모든 곳에서 동일한 학습률 사용)를 비교했다. 두 경우 모두 사전학습된 언어 모델을 동결한 상태로 학습한 기본 설정보다 전체 점수가 낮게 나타났다. 이는 언어 모델의 동결 전략이 catastrophic forgetting을 피하는 데 유익하다는 것을 나타낸다. 더욱 중요한 점은, 언어 모델을 동결하는 것이 계산적으로 더 저렴하다는 것이다. 이는 언어 모델의 가중치에 대해 그라디언트 업데이트가 필요 업으며 추가 데이터셋에서 학습할 필요가 없기 때문이다. 이 계산적 이점은 전체 가중치의 거의 90%를 동결하는 Flamingo-80B와 같은 대형 모델에서는 더욱 중요하다.
Additional experiments using the LAION400M datset.
공개적으로 사용할 수 있는 데이터셋과 네트워크 가중치를 사용하여 더 쉽게 재현 가능한 참조 숫자를 제공하기 위해, Table 10의 (7)행에서 CLIP ViT L-14 가중치와 LAION400M 데이터셋을 사용한 두 가지 추가 소거 실험을 제공했다.
B.3.2 Dataset mixing strategies for the contrastive pretraining
강력한 결과를 달성하는 데 중요한 요소 중 하나는 ALIGN과 함께 새로운 데이터셋인 LTIP를 학습에 포함한 것이다. LTIP는 ALIGN보다 6배 작은 데이터셋임에도 불구하고 LTIP만으로 학습된 contrastive 모델이 평가 지표에서 ALIGN만으로 학습된 모델을 능가했다. 이는 본 연구에서 사용하는 환경에서 데이터셋의 크기보다는 품질이 더 중요할 수 있음을 시사한다. 또한, ALGIN과 LTIP 모두에서 학습된 모델이 두 데이터셋에서 개별적으로 학습된 모델보다 우수하며 두 데이터셋이 어떻게 결합되는지가 중요하다는 것을 발견했다.
이를 입증하기 위해, ALGIN, LTIP 및 이 두 데이터셋의 혼합물에서 NFNet-F0 비전 인코더와 BERT-mini 언어 인코더를 사용하여 배치 크기 2048로 100만 번의 그라디언트 계산 스텝 동안 소규모 모델을 학습시켰다. 결과는 Table 11에 제시되어 있으며, 모델을 결합된 데이터셋에서 학습할 때 세 가지 다른 병합 방식으로 수행된 결과를 보여준다.
- Data merged: 각 데이터셋에서 예제를 하나의 배치로 병합하여 배치를 구성한다.
- Round-robin: 각 데이터셋의 배치를 번갈아가며 사용하여 각 배치에서 파라미터를 업데이트한다.
- Accumulation: 각 데이터셋에서 배치를 선택하여 그라디언트를 계산한다. 그런 다음 이러한 그라디언트에 가중치를 부여하고 합산하여 파라미터를 업데이트하는 데 사용한다.
모든 평가 지표에서, 누적 방식이 데이터셋을 결합하는 다른 방법보다 우수한 성능을 보인다는 것을 발견했다. 비록 LTIP 데이터셋이 ALIGN 데이터셋보다 5배 작지만, 이 소거 실험은 학습 데이터의 품질이 그 양보다 더 중요할 수 있음을 시사한다.
C. Qualitative results
Figure 1에 있는 샘플들 외에도, 이 섹션에서는 Figure 10, 11, 12에서 다양한 상호작용 방식들을 다루는 선택된 샘플들을 제공한다. beam 너비 3을 사용한 beam search를 통해 디코딩한 정량적 벤치마크 결과와는 달리, 이 섹션에 제시된 모든 질적 결과는 더 빠른 샘플링을 위해 greedy decoding을 사용했다.
Figure 10은 단일 이미지가 제공되고 그 뒤에 질문 형식이나 캡션의 시작 형식으로 텍스트 프롬프트가 이어지는 가장 단순한 형태의 상호작용을 보여준다. 모델이 질문 및 응답 형식에 특별히 훈련되지 않았음에도 불구하고 사전학습된 언어 모델의 능력 덕분에 이러한 적응이 가능하다. 이러한 예시 중 많은 경우에서, Flamingo는 적어도 하나의 암시적 추론 단계를 수행할 수 있다. 일부 객체들은 프롬프트에서 이름이 명시되지 않았지만 그 속성들이 직접적으로 질문된다. 모델은 시각적 input을 바탕으로 해당 객체와 관련된 지식을 떠올려 올바른 답을 생성한다. contrastive learning을 통해 훈련된 비전 네트워크들은 문자 인식 능력을 학습하는 것으로 나타났다. Flamingo가 전체 모델에서도 이 능력을 유지하고 있으며 이미지 크기에 비해 상대적으로 작은 텍스트에 대해서도 일부 경우에 잘 인식함을 관찰한다.
모델이 임의의 시각 및 언어 시퀀스 형식으로 input을 수용할 수 있기 때문에, 이미지와 텍스트가 교차된 확장된 대화를 유지할 수 있는 모델의 능력을 테스트했다. Figure 11은 간단한 대화(Appendix B.1.6)로 모델을 프롬프트하고 이미지 삽입을 포함한 사용자 상호작용이 뒤따른 샘플들을 보여준다. 여러 번의 상호작용 후에도 Flamingo는 여전히 이미지를 성공적으로 주목하고 언어만으로는 추측할 수 없는 질문에 답할 수 있다. 여러 이미지가 개별적으로 주목될 수 있으며 간단한 비교와 추론이 적절히 처리되는 것을 관찰했다.
마지막으로, 이미지와 비교해 몇 가지 추가적인 도전 과제를 제시하는 비디오 입력에서도 유사한 능력을 조사했다. Figure 12는 선택된 샘플들을 보여준다. 그림에서 볼 수 있듯이, 일부 경우에 Flamingo는 여러 프레임에서 정보를 성공적으로 통합하여(예: 장면이나 텍스트를 스캔하는 비디오) 시간적 이해를 포함하는 질문에 답할 수 있다(예: 마지막 예시에서 "after"라는 단어를 사용한 경우).
D. Discussion
D.1 Limitations, failure cases and opportunities
여기에서는 본 연구 모델의 몇 가지 한계와 실패 사례를 설명하고 모델을 개선하고 그 능력을 확장할 수 있는 기회에 대해 논의한다.
Classification performance.
본 연구의 시각 언어 모델은 contrastive 모델에 비해 중요한 이점(예: few-shot learning과 open-ended 생성 능력)을 가지고 있지만, 분류 task에서는 contrastive 모델에 비해 성능이 뒤처진다. 이는 contrastive training objective가 텍스트-이미지 검색을 직접 최적화하기 때문이며 실제로 분류의 평가 절차는 이미지-텍스트 검색의 특수한 사례로 볼 수 있기 때문이라고 생각된다. 그러나 시각 언어 모델을 학습시키기 위해 사용하는 언어 모델링 목표는 이와 다르며 이것이 분류 task에서 관찰된 성능 차이에 기여할 수 있다. 특히 Zhao et al. [148]은 언어 모델이 학습 데이터 분포, 프롬프트에서 사용된 샘플 세트, 그리고 그 순서에서 발생하는 다양한 편향에 시달린다는 것을 보여주었다. 또한, 이러한 문제는 특정 레이블 공간에 대해 일정한 사전 분포(예: 균일 분포)를 가정할 수 있는 경우 보정 기술을 통해 완화될 수 있음을 보여주었다. 그러나 이러한 가정은 일반적으로 성립하지 않으며 few-shot 설정에서 이러한 문제를 해결하기 위한 기술을 개발하는 데는 추가 연구가 필요하다. 더 일반적으로, 이 두 클래스의 모델 간의 격차를 해소할 수 있는 목표, 아키텍처 또는 평가 절차를 모색하는 것이 유망한 연구 방향이다.
Legacies of language models.
본 연구의 모델은 강력한 사전학습된 인과적 언어 모델에 기반을 두고 있으며 그 부작용으로 이들의 약점을 직접적으로 물려받는다. 예를 들어, 조건 input의 인과적 모델링은 양방향 모델링보다 표현력이 떨어진다. 이와 관련하여, 최근 연구에서는 비인과적 마스킹 언어 모델링 적응 후 multitask 파인튜닝을 통해 인과적 디코더 전용 언어 모델의 zero-shot 성능을 효율적으로 향상시킬 수 있음을 보여주었다. 또한, Transformer 기반 언어 모델은 훈련 시퀀스보다 훨씬 긴 테스트 시퀀스에 대해 일반화가 잘 이루어지지 않는 경향이 있다. 예상되는 텍스트 출력이 너무 긴 상황에서는 few-shot learning을 위해 충분한 shot을 활용하는 모델의 능력이 영향을 받을 수 있다. 예를 들어, VisDial 데이터셋의 경우 1-shot은 21개의 다른 문장으로 구성된 긴 대화가 이어지는 이미지로 구성된다. 따라서 32개의 VisDial shot으로 구성된 시퀀스는 최소 32 x 21 = 672개의 문장으로 이루어지며 실제로는 프롬프트 길이가 4096에서 8192 토큰에 이른다. 이는 우리가 학습시킨 언어 모델의 최대 시퀀스 길이(2048)보다 훨씬 길다. 이러한 이유로, VisDial에서 보고된 결과를 16-shot으로 제한했다. 또 다른 점으로, 우리의 소거 실험은 동결된 언어 모델에서 물려받은 언어 모델 프라이어의 중요성을 보여주었지만, 우리는 이것이 open-ended 대화 설정에서 가끔 발생하는 환각과 근거 없는 추측에 일부 영향을 미칠 수 있다고 의심한다. Figure 13에서 이러한 행동의 예를 제공하고 분석했다. 마지막으로, 언어 모델링은 사전학습 동안 샘플 효율이 낮다는 문제가 있다. 이 문제를 완화하는 것은 대규모 학습 실행의 전환 시간을 개선하고 결과적으로 더 큰 규모에서 설계 결정을 보다 체계적으로 탐색할 수 있는 가능성을 높여줌으로써 이 분야의 발전을 크게 가속화할 잠재력을 가지고 있다. 대형 언어 모델에서 관찰된 전형적인 약점에 대한 추가 논의는 [11, 86]에서 확인할 수 있다.
Trade-offs of few-shot learning methods.
본 논문에서 in-context learning을 주요 few-shot learning 방법으로 사용한다 (Section 2.5 참조). 이 방법은 파인튜닝과 같은 그라디언트 기반 접근 방식에 비해 주목할 만한 장점이 있다. 실제로, in-context learning은 거의 하이퍼파라미터 튜닝이 필요하지 않으며, 매우 적은 데이터 환경(수십 개의 예제)에서도 꽤 잘 작동하며, 추론만 필요하여 배포를 단순화한다. 반면에, 그라디언트 기반 접근 방식은 과적합을 피하기 위해 신중하게 조정된 설계 선택(적절한 학습률 스케쥴 또는 아키텍처 설계 등)을 필요로 하며, 일반적으로 잘 작동하려면 더 많은 데이터(수천개)가 필요하다. 이것이 in-context learning에 집중한 이유이지만, 이 방법에도 단점이 있다.
Inference compute cost.
Transformer 모델을 사용한 in-context learning의 계산 비용은 few-shot prompt를 여러 쿼리 샘플에 재사용할 수 있는 경우(key와 value 값을 캐싱함으로써) shot 수에 비례하여 선형적으로 증가하며, 그렇지 않은 경우에는 이차적으로 증가한다. 반면에, 그라디언트 기반 few-shot learning 방법은 추론 중 shot 수에 대해 일정한 복잡성을 유지한다.
Prompt sensitivity.
in-context learning은 샘플의 순서나 형식과 같은 다양한 측면에 대해 놀랄 만큼 민감하다는 것이 입증되었다.
Leveraging more shots.
in-context learning을 사용할 때, few-shot 샘플 수가 32개를 초과하면 성능이 급격히 정체된다. 이는 제대로 페어링된 훈련 데이터의 양이 성능에 중요한 요소인 전형적인 그라디언트 기반 방법과 현저한 대조를 이룬다. RICES(Retrieval In-Context Example Selection, Appendix A.2에서 설명됨)가 분류 task에서 이 문제를 효과적으로 완화하는 것으로 나타났지만(Appendix B.2.1), 여전히 클래스당 소수의 예제를 초과하는 경우에는 유사한 문제에 직면한다.
Task location.
in-context learning이 효과적인 이유를 이해하려는 최근 연구는 왜 더 많은 shot이 항상 도움이 되지 않는지에 대한 가능한 설명에 대해 통찰을 제공한다. 더 자세히 말하자면, Brown et al. [11]은 in-context learning이 실제로 주어진 input-output 매핑에 기반하여 추론 시 새로운 task를 학습하는지, 아니면 단순히 학습 중에 배운 task를 인식하고 식별하는지를 질문한다. 이 질문에 대해 Reynolds와 McDonell의 연구는 후자가 다양한 설정에서 성능의 주요 요인임을 시사하며 이를 task location이라고 부른다. 마찬가지로 Min et al. [76]은 input에서 output으로의 매핑이 적은 shot 성능에 미치는 영향이 일반적으로 제한적이며, 그보다는 예제의 전체 형식을 명시하는 것이 더 중요하다고 보여준다. 이러한 연구 결과와 일치하게, 본 연구는 이미지 없이 프롬프트를 사용하여 비상식적인 zero-shot 성능을 관찰하며, 따라서 task 형식이 상당히 중요하다는 것을 강조한다. 직관적으로, 소수의 샘플만으로도 task location을 잘 수행하는 데 충분할 수 있지만, 일반적으로 모델은 추론 시 더 많은 샘플을 활용하여 행동을 세밀하게 조정하지 못할 수 있다.
요약하자면, 모든 상황에서 잘 작동하는 "golden" few-shot 방법은 없다. 특히, few-shot learning 접근 방식을 선택할 때는 애플리케이션의 특성에 크게 의존한다. 데이터가 부족한 환경(예: 수백 개의 샘플)에서는 in-context learning이 매우 효과적일 수 있지만, 더 많은 데이터가 있는 환경에서는 그렇지 않을 수 있다.
Extending the visual and text interface.
자연어는 시각적 task를 모델에 설명하고 output을 생성하거나 likelihood를 추정하는 데 있어 강력하고 다재다능한 input/output 인터페이스이다. 그러나 바운딩 박스 (또는 그 시간적 및 시공간적 대응물)와 같은 구조화된 출력에 조건을 적용하거나 예측하는 task, 또는 공간적(또는 시간적 및 시공간적)으로 밀집된 예측을 수행해야 하는 task에서는 이 인터페이스가 번거로울 수 있다. 또한, 광학 흐름(optical flow) 예측과 같은 일부 비전 task는 연속 공간에서 예측을 수행해야 하며, 이는 우리 모델이 기본적으로 처리하도록 설계된 것이 아니다. 마지막으로, 시각 외에도 오디오와 같은 보완적인 추가 모달리티를 고려할 수 있다. 이러한 모든 방향은 우리 모델이 처리할 수 있는 task의 범위를 확장할 잠재력을 가지고 있으며, 관련 능력 간의 시너지 덕분에 우리가 집중하는 task의 성능을 향상시킬 수도 있다.
Scaling laws for vision-language models.
이번 연구에서, Flamingo 모델을 800억 개의 파라미터로 확장하고, 평가 벤치마크 전반에 걸친 확장 행동에 대한 초기 통찰을 제공했다. 언어 분야에서는 언어 모델에 대한 확장 법칙을 확립하는 데 중점을 둔 중요한 연구가 있다. 비전 도메인에서는 Zhai et al. [145]가 이 방향으로 한 걸음을 내디뎠다. 그러나 contrastive 모델을 포함한 vision-language 모델, 그리고 본 연구에서 제안하는 시각 언어 모델에 대해서는 유사한 노력이 아직 이루어지지 않았다. 언어 모델링 확장 법칙 연구는 perplexity를 주요 지표로 삼았지만, 이러한 추세를 downstream 평가 task 성능의 종합적인 측면에서 확립하는 것이 본 연구의 목적에 더 직접적으로 유용할 수 있다고 추측한다.
D.2 Benefits, risks and mitigation strategies
D.2.1 Benefits
Accessibility.
Flamingo와 같은 시스템은 잠재적으로 다양한 사회적 이점을 제공하며, 그 중 일부를 이 섹션에서 논의할 것이다. 전반적으로, Flamingo가 task generalization 능력을 갖추고 있다는 사실은 역사적으로 비전 연구의 초점이 되지 않은 사용 사례에 적합하게 만든다. 일반적인 비전 시스템은 특정 문제를 해결하기 위해 대규모의 수작업으로 주석이 달린 특정 task 예제를 학습하여 훈련되기 때문에, 의도적으로 훈련된 좁은 사용 사례 외의 응용에는 적합하지 않는다. 반면에, Flamingo는 최소한의 제약이 있는 설정에서 훈련되어 강력한 few-shot 과제 유도 능력을 갖추게 되었다. 질적 예시(Appendix C)에서 보여준 것처럼, Flamingo는 open-ended dialogue를 위한 채팅과 같은 인터페이스를 통해서도 사용할 수 있다. 이러한 능력은 비전 연구에 주로 초점을 맞추지 않은 문제에도 task별 훈련 데이터가 거의 수집되지 않은 저자원 문제에도 비전 모델을 적용할 수 있게 하여 다양한 형식과 글쓰기 스타일로 질의를 제시할 수 있게 한다. 이러한 방향에서, Flamingo가 시각 장애인을 돕기 위한 시각 인식 기술을 촉진하는 VizWiz 챌린지에서 강력한 성능을 달성했음을 보여주었다. 대화형 인터페이스는 시각 언어 모델의 이해와 해석 가능성을 향상시킬 수 있다. 또한, 모델이 학습 데이터에서 편향, 공정성, toxic 문제를 강조하는 데 도움이 될 수 있다. 전반적으로, Flamingo가 최첨단 시각 인식 기술을 더 널리 접근 가능하고 다양한 응용에 유용하게 만드는 중요한 단계라고 믿는다.
Model recycling.
모델링 관점에서 볼 때, Flamingo는 훈련에 많은 계산 자원을 요구하지만 중요한 것은 사전학습된 동결된 언어 모델과 시각 인코더를 활용한다는 것이다. 새로운 모달리티가 동결된 모델에 도입될 수 있어, 비용이 많이 드는 재훈련을 피할 수 있음을 입증했다. 이러한 모델들이 점점 더 커지고 계산 요구가 증가함에 따라, 재활용은 환경적인 관점(뿐만 아니라 실용적인 관점)에서 점점 더 중요해질 것이다. 이는 Larochelle [55]에서 설명되었고, Strubell et al. [105]에서 언어 모델에 대해 탐구된 바 있다. 이러한 결과가 기존 모델을 처음부터 훈련하는 대신 효율적으로 재목적화할 수 있는 방법에 대한 추가 연구를 고무할 수 있기를 바란다.
D.2.2 Risks and mitigation strategies
이 섹션에서는 Flamingo와 같은 모델의 잠재적 위험에 대한 초기 조사를 제공한다. 이 연구는 예비적이며 이러한 위험을 더 잘 평가하기 위해 추가적인 연구 노력이 필요할 것으로 예상된다. 또한 이러한 모델을 안전하게 배포하기 위한 잠재적 완화 전략에 대해서도 논의한다. Appendix E의 모델 카드에서 설명한 바와 같이, 이 모델은 연구 목적으로만 개발되었으며 적절한 위험 분석이 수행되고 완화 전략이 탐구되기 전에는 특정 응용 프로그램에서 사용해서는 안 된다.
By construction, Flamingo inherits the risks of Large LMs.
모델의 큰 부분은 기존 언어 모델의 가중치를 동결함으로써 얻어진다. 특히, 이미지가 제공되지 않을 경우 Flamingo는 언어 모델의 동작으로 되돌아 간다. 따라서, Flamingo는 대형 언어 모델과 동일한 위험에 노출된다. 잠재적으로 공격적인 언어를 출력하거나, 사회적 편향과 고정관념을 확산시킬 수 있으며, 개인 정보를 유출할 수 있다. 특히, Chinchilla 논문(Hoffmann et al. [42], Section 4.2.7)에서 Winogender 데이터셋을 사용한 성별 편향 분석을 참조한다. 이 분석에 따르면 이 모델이 이전 모델들보다 성별에 대한 편향이 덜하지만, 여전히 성별 편향이 존재한다는 것을 보여준다. 예상치 못한 toxic에 대해서는 Chinchilla [42]의 분석을 참조하는데, 25,000개의 샘플에서 PerspectiveAPI toxicity 점수를 계산하여 모델이 toxic 출력을 생성할 가능성이 전체적으로 낮다는 점을 강조한다. Weidinger et al. [126]은 이러한 위험에 대한 장기적인 완화 전략을 자세히 설명한다. 여기에는 규제 프레임워크 및 가이드라인의 생성과 같은 사회적 또는 공공 정책 개입; 사용자 인터페이스 결정과 관련된 신중한 제품 설계; AI 윤리와 자연어 처리(NLP) 간의 교차점에서의 연구, 예를 들어 더 나은 벤치마크 구축과 완화 전략 개선이 포함된다. 단기적으로는 프롬프트를 사용하여 편향과 해로운 출력을 완화하는 것이 효과적인 접근법이다. 다음으로, Flamingo의 추가적인 시각적 입력 기능으로 인해 발생하는 추가 위험을 탐구한다.
Gender and racial biases when prompted with images.
이전에 연구된 바에 따르면 캡셔닝 시스템에는 편향이 존재할 수 있으며, 이러한 모델링 편향은 신중하게 배포되지 않을 경우 실제로 해를 끼칠 수 있다. AI 시스템이 사회 전체에 유용하려면 그 성능이 피험자의 피부색이나 성별에 따라 달라져서는 안 되며, 모든 인구에 대해 동등하게 잘 작동해야 한다. 그러나 현재의 자동 비전 시스템 성능은 인종, 성별 또는 다양한 인구 통계 및 지리적 지역에 걸쳐 적용될 때 성과가 달라질 수 있다고 보고되었다. Flamingo의 성능이 인구 집단 간에 어떻게 달라지는지를 평가하기 위한 예비 연구로서, Zhao et al. [147]에서 제안한 평가 프로토콜과는 다른 프로토콜을 사용했다는 점에 유의해야한다. 그 연구에서는 5개의 사전학습된 모델을 대상으로 결과를 측정하고, 모델별 점수를 집계하여 신뢰 구간을 계산했다. 그러나 여기에서는 높은 학습 비용으로 인해 모델의 복사본이 하나뿐이므로, 대신 Zhao et al. [147]에서 제시한 분할에 대한 샘플별 CIDEr 점수에 대해 통계적 검정을 수행한다. 결과는 Table 12에 보고된다.
전반적으로, 여성으로 표시된 이미지와 남성으로 표시된 이미지를 비교하거나, 어두운 피부색과 밝은 피부색으로 비교했을 때, 샘플별 CIDEr 점수에서 통계적으로 유의미한 차이는 발견되지 않았다. 두 샘플 세트를 비교하기 위해 분산이 동일하지 않은 양측 t-검정을 사용했으며, 고려된 네 가지 비교 중에서 가장 낮은 p-값은 p=0.25로, 일반적인 통계적 유의미성 임계값(예: 일반적인 기각 임계값 p<0.05)을 훨씬 상회했다. 이는 평균 점수가 동일하다는 귀무가설 하에서 점수 차이가 무작위 변동과 구분되지 않는다는 것을 의미한다. 귀무가설을 기각하지 못하고 유의미한 차이를 보여주지 못했다는 것은 유의미한 차이가 없다는 것을 의미하지는 않는다. 예를 들어, 더 큰 샘플 크기로 차이가 존재한다는 것을 입증할 수 있을 가능성도 있다. 그러나 이러한 예비 결과는 여전히 고무적이다.
Toxicity when prompted with images.
COCO 테스트 세트의 이미지로 프롬프트를 제공했을 때 모델이 생성한 toxicity를 평가하기 위해 Perspective API를 사용하여 Flamingo의 독성을 평가한다. 일부 캡션이 분류기에 의해 잠재적으로 toxicity가 있다고 표시되었지만, 이를 수동으로 검토한 결과 명확한 toxicity는 관찰되지 않았다. 출력된 캡션은 제공된 이미지에 적절한 것으로 보였다. 전체적으로 프로젝트 진행 중 시스템과 상호작용한 본 연구의 경험에 따르면, "작업에 적합한(safe-for-work)" 이미지가 주어졌을 때 toxicity 출력을 관찰하지 않았다. 그러나 이것이 모델이 toxicity 출력을 생성할 수 없다는 의미는 아니며, 특히 "작업에 부적합한(not-safe-for-work)" 이미지나 독성 텍스트와 함께 사용될 경우 더더욱 그렇다. 만약 이러한 모델이 실제로 사용될 경우, 더 철저한 탐색과 연구가 필요할 것이다.
Applying Flamingo for mitigation strategies.
Flamingo는 저자원 환경에서 신속하게 적응할 수 있는 능력 덕분에, 위에서 설명한 일부 문제를 해결하는 데 직접 활용될 수 있다. 예를 들어, Thoppilan et al. [11]의 연구를 참고하여 적절히 조건화되거나 파인튜닝된 Flamingo 모델을 사용하여 훈련 데이터에서 toxicity 또는 유해한 샘플을 필터링하는 용도로 사용할 수 있다. 그들의 연구에서는 결과 데이터에 대해 파인튜닝 했을 때 안전성과 품질이 크게 개선되는 것을 관찰했다. 또한, 평가 중에 이러한 적응된 모델을 사용하여 공격적이거나 사회적 편견과 고정관념을 조장하거나 개인 정보를 유출할 가능성이 있는 출력을 낮게 평가하거나 제외함으로써, 저자원 작업에서도 이러한 방향으로의 발전을 가속화할 수 있다. HatefulMemes 벤치마크에 대한 본 연구의 결과는 이 방향으로의 유망한 진전을 나타낸다. 언어 모델링 분야의 최근 연구에서는 "red team" 역할을 수행하며 테스트 케이스를 생성하고 이를 통해 다른 대상 언어 모델이 해로운 방식으로 작동하는 사례를 자동으로 찾아내는 훈련에서 성공을 거두었다. 이와 유사한 접근 방식을 우리의 환경에 도입할 수 있을 것이다. 모델이 시각적 입력 내의 특정 위치나 외부의 검증된 인용을 참고하여 출력을 지원할 수 있도록 하는 것도 흥미로운 방향이다. 마지막으로, Figure 11에서 Flamingo가 자신의 출력을 설명할 수 있는 질적 예시를 제공하여 모델의 텍스트 인터페이스를 사용한 설명 가능성과 해석 가능성의 길을 제시한다.
E. Flamingo Model Card