Image as a Foreign Language: BEiT pretraining for all vision and Vision language tasks

2022/08/22

 

1. abstract

 

language, vision, multimodal pretraining의 큰 수렴이 부상하고 있다. 이 논문에서는 우리는 일반적인 목적의 multimodal foundation model로 BEiT-3을 소개한다.

 

이는 vision과 vision language task에서 SOTA 성능을 달성했다.

 

특히 우리는 3가지 backbone architecture, pretraining task, model scaling up의 3가지 측면에서 커다란 수렴을 달성했다.

 

우리는 일반적인 목적의 모델링을 위한 Multiway transformer을 소개하고자 하는데, modular architecture로 deep fusion, modality-specific encoding을 가능하게 한다.

 

공유하는 backbone을 기반으로, 우리는 masked language modeling을 이미지(Imglish라고 부르고) text(English라고 부르며), unified 방식의 image-text 페어(parallel sentence)에서 모두 수행하였다.

 

실험결과로 BEiT-3은 object detection(COCO)와 semantic segmentation(ADE20K), image classification(ImageNet), visual reasoning(NLVR2), visual question answering(VQAv2), image captioning(COCO), cross modal retrieval(Flickr30K, COCO)에서 모두 sota 성능을 달성했다.

 

마이크로소프트에서 미친 괴물 모델이 나왔나보네

 

 

2. introduction : The big convergence

 

최근에 language,vision,multimodal pretraining의 big convergence가 trend로 자리 잡았다.  

 

거대한 데이터에서 대규모의 pretraining을 수행하여, 우리는 쉽게 다양한 downstream task에 model을 transfer시킬 수 있고, 이는 우리가 일반적인 목적의 model을 설립할 수 있고 다양한 modality를 다룰 수 있음을 말해준다.

 

이 논문에서 우리는 다음 3가지 측면에서 vision-language pretraining의 convergence trend를 발전시켰다

 

########################################

 

첫번째는 language에서 vision으로, multimodal 문제로 번역된 transformer의 성공이다. 

 

네트워크 구조의 통합이 원활하게 다양한 modality를 다룰 수 있게 해준다.

 

vision-language modeling에서 서로 다른 downstream task의 특성때문에 transformer에 적용가능한 다양한 방식들이 있다.

 

예를 들어 dual-encoder 구조는 효과적인 retrieval 구조이고, encoder-decoder 네트워크는 generation task에 적절하며 fusion-encoder 구조는 image-text encoding에 적절하다.  

 

그러나 대부분의 foundation model이 특정 구조에 따라 수동으로 end-task format을 바꾼다. 게다가 parameter가 보통 modality를 따라서 효과적으로 공유되지 않는다.

 

이 논문에서 리는 일반적인 목적의 모델링을 위한 Multiway transformer를 적용해서, 다양한 downstream task에 공유되는 하나의 통일된 구조를 만들었다. 

 

modular network는 또한 modality specific encoding과 cross-modality fusion을 포괄적으로 고려한다 

 

################################

 

두번째로 masked data modeling을 기반으로 한 pretraining task는 text, image, image-text pair같은 다양한 modality에 대해 성공적으로 적용했다.

 

현재 vision-language foundation model은 보통 image-text matching같은 pretraining task와 scaling up을 친절하지 않게, 비효율적으로 동시에 수행하고 있다.

 

대조적으로 우리는 mask-then-predict라는 하나의 pretraining task만을 사용하여 일반적인 목적의 multimodal foundation model을 training시켰다.

 

이미지를 하나의 외국어인 Imglish로 간주하고, 우리는 text와 image를 동일한 방식의, 근본적인 모델링의 차이 없이 다루었다.(이게 말이 되나?)

 

결과적으로 image-text pair은 parallel sentence로 다루어지면서, modality 사이에 간격?(alignment)을 배웠다. 

 

우리는 또한 단순하면서도 효과적인 방법이 강력하면서도 전송가능한 표현(representation)을 배우면서도 vision과 vision-language task에서 SOTA 성능을 달성할 수 있음을 보였다.

 

주요한 성공이 생성 pretraining?(generative pretraining)의 우수성을 입증한다.

 

########################################

 

세번째로 모델 사이즈와 데이터 사이즈를 키우는 것이 foundation model의 일반화 성능을 개선하며, 다양한 downstream task에 transfer 시킬 수 있다는 것이다.

 

우리는 철학을 따라 모델 사이즈를 수십억 parameter로 증가시켰다. 게다가 우리 실험에서 pretraining을 위한 데이터 사이즈도 증가시켰지만, 오직 학술적으로 재현 가능하면서 공개적으로 이용가능한 자원만을 이용했다.

 

비록 어떠한 private data도 사용하지 않았을지라도, 우리의 방법이 내부 데이터에 의존한 여러 SOTA foundation model의 성능을 뛰어 넘었다.

 

게다가 이미지를 하나의 외국어로 다루면서 스케일을 키우는 것의 이점으로 우리가 대용량의 language model pretraining의 파이프라인을 직접적으로 재사용할 수 있다는 점이다.

 

############################################ 

 

이 논문에서 우리는 일반적인 목적을 가지는 multimodal foundation model BEiT-3을 pretrain하기 위한 위의 아이디어를 이용했다.

 

우리는 Multiway Transformer를 이미지, 텍스트, image-text pair에 대해서 masked data modeling을 하였으며, pretraining하는 동안에 우리는 랜덤하게 이미지 패치나 텍스트 토큰의 일부 비율을 mask 씌웠다.

 

self-supervised learning의 목표는 주어진 부패한 input에 대하여, text token이나 visual token같은 original token을 복구하는 것이다.

 

모델은 input이나 output과는 관계없이 다양한 task를 위해 재활용될 수 있다는 의미에서 일반적인 목적을 가진다.

 

 

 

위 그림에서 BEiT-3이 다양한 vision, vision-language task에서 SOTA 성능을 보인다는 것을 보여준다.

 

우리는 BEiT-3을 광범위한 downstream task와 dataset, 예를 들어 object detection(COCO), instance segmentation(COCO), semantic segmentation(ADE20K), image classification(ImageNet), visual reasoning(NLVR2), visual question answering(VQAv2), image captioning(COCO)와 cross-modal retrieval(Flickr30K, COCO)에서 평가했다.

 

특히 우리 모델은 pretraining과 finetuning을 위한 공공자원만을 사용하였음에도 불구하고 이전의 강력한 foundation model의 성능을 뛰어넘었다.

 

모델은 또한 특화된 모델보다도 더 좋은 결과를 냈다. 게다가 BEiT-3은 vision-language task에 좋은 성능을 냈을 뿐만 아니라 vision task(object detection과 semantic segmentation)에서도 좋은 성능을 냈다.

 

3. BEiT-3 : A General-Purpose Multimodal Foundation Model

 

 

위 그림2에서 보듯이 BEiT-3은 monomodal과 multimodal masked data modeling에 대해 Multiway Transformer을 사용하여 pretrain을 시켰다. 

 

모델은 다양한 vision과 vision-language downstream task로 transfer시킬 수 있다.

 

 

3.1 backbone network: multiway transformers

 

우리는 Multiway Transformer를 서로 다른 modality를 encoding하는데 backbone model로 사용했다.

 

그림2는 공유된 self-attention module로 구성된 각각의 multiway transformer block과 서로 다른 modality를 위해 사용되는 modality expert라고 부르는 feed-forward network의 모임을 나타낸다.

 

우리는 modality에 의존하는 expert에 각각의 input token을 넣는다.

 

우리 구현에서 각 layer는 vision expert와 language expert를 포함한다.

 

게다가 위 3가지 layer는 fusion encoder를 위해 디자인된 vision language expert를 가지고 있다. 

 

그림3의 a,b,c는 더 자세한 모델링의 레이아웃을 나타낸다.

 

 

modality expert의 모임을 사용하는 것이 모델이 더욱 많은 modality-specific한 정보를 포착하는데 도움을 줄 것이다. 

 

공유된 self attention module은 서로 다른 modality간의 간격(alignment)을 배우고 vision-language같은 multimodal task를 위한 deep fusion을 가능하게 한다. 

 

그림3에서 볼 수 있듯이, 하나의 통합된 구조는 BEiT-3이 넓은 범위의 downstream task를 지원해준다. 예를 들어 BEiT-3은 다양한 vision task(image classification, object detection, instance segmentation, semantic segmentation)를 위한 image backbone으로 사용될 수 있다

 

또한 효율적인 image-text retrieval을 위한 dual encoder로서 finetune될 수 있고 multimodal understancding, generation task를 위한 fusion model로 사용될 수 있다.

 

 

3.2 pretraining task: masked data modeling

 

우리는 BEiT-3을 통일된 masked data modeling을 통해 image, text같은 monomodal과 image-text pair같은 multimodal data를 이용해 pretrain시켰다.

 

pretraining동안에는 우리는 text token이나 image patch를 랜덤한 비율로 masking시키고, masking된 token을 복구하는 방식으로 model을 train시켰다.

 

통일된 mask-then-predict task는 representation을 배울뿐만 아니라, 서로 다른 modality의 alignment를 배울 수 있게 된다.

 

특히 text data는 SentencePiece tokenizer를 사용하였다. 이미지 데이터는 재구축된 target으로서 구별되는 visual token을 얻기 위해 BEiT v2에서 사용한 tokenizer에 의해 만들어졌다. 

 

우리는 monomodal text에서 랜덤하게 15%정도 masking된 token을 얻고 image-text pair에서 text의 50% token을 masking시켰다.

 

이미지에서 우리는 BEiT에서 사용한 block-wise masking 전략을 사용하여 40%를 랜덤하게 masking했다.

 

우리는 오직 하나의 pretraining task만을 사용하여 친절하게 training과정의 스케일을 키웠다.

 

대조적으로 이전의 visual language model은 보통 다양한 pretraining task, 예를 들어 image-text contrast, image-text matching, word-patch/region alignment같은 task를 사용하였다.

 

우리는 훨씬 더 적은 pretraining batch size가 mask-then-predict task에 사용될 수 있다는 것을 보였다.

 

비교해서, 대조기반의 model은 pretraining을 위한 매우 큰 batch size가 보통 필요해서 엄청 큰 GPU 메모리 비용같은 도전과제를 낳는다.

 

3.3 scaling up: BEiT-3 pretraining

 

1)backbone network

 

BEiT-3은 ViT-giant다음의 매우 큰 거대한 사이즈의 foundation model이다. 

 

표2에서 볼 수 있듯이 40 layer의 multiway transformer와 1408개의 hidden size로 이루어져있고, 6144 intermediate size와 16 attention head로 이루어져있다.

 

모든 layer는 vision expert와 language expert로 이루어져있다. 

 

vision language expert는 또한 Multiway Transformer layer의 위 세층에도 나타난다

 

self attention module은 서로 다른 modality에 공유된다.

 

BEiT-3은 19억개의 parameter를 가지며, 6억 9천 2백만개의 vision expert의 parameter와 language expert의 parameter, 그리고 5200만개의 parameter를 가지는 vision-language expert와 3억 1700만개의 parameter를 가지는 공유되는 self-attention module을 가진다.

 

model이 vision encoder로 사용될때, 오직 vision과 관련된 parameter만 활성화된다는 사실에 주목하라.

 

 

2)pretraining data

 

BEiT-3가 사용한 monomodal과 multimodal 데이터를 표3에서 볼 수 있다.

 

multimodal data로 5개의 public dataset인 Conceptual 12M, Conceptual Captions, SBU Captions, COCO, Visual Genome에서 1500만개의 이미지, 2100만개의 image-text pair를 모았다.

 

monomodal data로 우리는 1400만개의 이미지를 ImageNet-21K에서 얻었고, 160GB의 text corpora를 English wikipedia와 BookCorpus, OpenWebText, CC-News, Stories에서 얻었다.

 

 

3) Pretraining settings

 

우리는 BEiT-3을 100만 step pretraing 시켰다. 각 batch는 6144 sample을 가지고 있고, 2048개의 이미지, 2048개의 text, 2048개의 image-text pair를 가진다.

 

batch size는 contrastive model보다 훨씬 더 적다. BEiT-3은 14*14 patch size를 사용하고 있고, 224*224 resolution으로 pretrain되었다. 

 

우리는 BEiT에서 사용한 image augmentation을 사용하였고, random resized cropping, horizontal flipping, color jittering을 포함하여 사용하였다. 

 

SentencePiece tokenizer를 64k vocab에서 써서 text data를 tokenizing 시켰다.

 

우리는 AdamW optimizer를 $\beta_{1}=0.9$, $\beta_{2}=0.98$, $\epsilon=10^{-6}$으로 사용하였다.

 

우리는 cosine learning rate decay scheduler를 사용하여 learning rate 최고점을 $10^{-3}$으로 설정했고, linear warmup size를 10k step으로 설정했다. 

 

weight decay는 0.05이고, stochastic depth는 0.1비율로 설정했다.

 

BEiT의 초기화는 transformer의 training을 안정하게 만들고자 사용되었다.

 

 

4. conclusion

 

이 논문에서 우리는 일반적인 목적의 multimodal foundation model인 BEiT-3을 제시했고, 이는 다양한 vision, vision-language benchmark에서 SOTA성능을 달성했다.

 

BEiT-3의 핵심 아이디어는 image가 하나의 외국어로 모델링될 수 있다는 점이고, 그래서 우리는 하나의 통일된 방식으로 image, text, image-text pair에서 masked language modeling을 수행할 수 있다.

 

우리는 또한 Multiway Transformer가 효과적으로 다양한 vision, vision-language task을 모델링할 수 있다는 것을 입증했고, 일반적인 목적을 위한 모델링에 흥미로운 선택지가 될 수 있다는 점이다.

 

BEiT-3은 단순하면서 효율적이고, multimodal foundation model에서 유망한 방향이다. 

 

미래의 작품에서 우리는 multilingual BEiT-3을 pretraining하고 더욱 많은 예를 들어, audio같은 modality를 포함하여 BEiT-3에 포함시키고 싶고 이는 cross-lingual, cross-modality transfer를 촉진할 것이고, 더욱 큰 스케일의 language, modality 사이에 pretraining의 수렴을 발전시킬 것이다.

 

우리는 또한 BEiT-3과 MetaLM을 결합하여 multimodal foundation model의 내부 문맥을 배우는 능력에 흥미가 있다.

 

 

https://paperswithcode.com/paper/image-as-a-foreign-language-beit-pretraining

 

Papers with Code - Image as a Foreign Language: BEiT Pretraining for All Vision and Vision-Language Tasks

🏆 SOTA for Semantic Segmentation on ADE20K (Validation mIoU metric)

paperswithcode.com

 

 

 

 

TAGS.

Comments