논문 및 이미지 출처 : https://arxiv.org/pdf/2303.02506.pdf
Shikun Liu, Linxi Fan, Edward Johns,
Zhiding Yu, Chaowei Xiao, Anima Anandkumar
Imperial College London, NVIDIA, ASU, Caltech
최근 vision-language 모델이 multi-modal 능력을 보이기 위해 거대한 학습이 필요하다.
이에 Prismer 로 데이터 및 파라미터에 효율적인 vision-language 를 소개
Prismer 는 적은 수의 구성요소만 학습하며, 대부분의 가중치는 미리 학습된 domain experts 로부터 상속받아 학습 중 동결 상태를 유지한다.
넓은 범위의 domain experts 를 모아, Prismer 는 효율적으로 expert knowledge 를 수집하고, 다양한 vision-language 추론 작업에 적용할 수 있음을 보여준다.
최대 2배 적은 데이터로도 Prismer 는 SOTA 를 달성한 모델들과 경쟁력 있는 fine-tuning 과 few-shot learning 성능에 도달 했다.
pretraining 한 대규모 모델은 다양한 작업에 좋은 일반화 능력을 가졌지만 대량의 훈련 데이터 및 계산 비용이 든다.
특히, vision-language 은 image captioning, visual question answering 등과 같은 multi-modal 추론이 필요하므로 recognition, detection, counting, 3D perception 등의 많은 기술이 요구된다.
일반적으로 이들은 대규모 데이터를 학습한 모델로 해결한다.
대신에, 저자들의 접근법으로 experts 라고 하는 서로 분리된 sub-network 로 이러한 스킬들과 domain knowledge 을 학습시키는 것이다.
이 모델은 모든 것을 한번 학습하는 것보다, 여러 스킬과 domain knowledge 를 통합하는데 초점을 둔다. 이 방법은 multi-modal 학습을 축소하는데 효과적인 방법이다.
Prismer 의 핵심 설계는 다음 요소를 포함한다.
모든 expert model 은 따로 따로 pre-trained 하여 동결하여 전체 network parameter 에 약 20% 에 해당하는 학습가능한 components 로 연결된다.
Prismer 는 13M 에도 불구하고 image captioning, image classification, visual question answering 등의 multi-modal 에 좋은 추론 성능을 보인다.
마지막으로, Prismer 의 다음 학습 방식을 분석한다.
Prismer 는 encoder-decoder 인 transformer model 이다.
endoer : vision
decoder : auto-regressive language
위 Prismer 는 다른 SOTA 만큼의 성능에 도달하는데 필요한 GPU 시간을 줄였다.
web-sacle 을 학습한 pretrained vision 과 language 인 top backbone 모델로 만들어 졌다.
또한 multi-modal signals 를 받아들이기 위해 vision encoder 를 확장하였으며, 이는 generated multi-modal auxiliary knowledge 와 capture semantic 을 가능케 했다.
예를 들어,
모든 visual expert labels 은 Prismer 에 포함한다.
Prismer 는 생성 모델로, language modeling 이나 prefix language modeling 같은 vision-language 추론 작업을 새로 만들었다.
Prismer 는 두 가지의 pre-trained experts 를 포함한다.
위 predicted labels 에 modality 별로 후 처리 후 tensor 로 transforming 한다 (H, W, C 는 height, width, channel 임. e.g. depth 는 , surface 는 ).
high-level semantic signal 를 인코딩한 모든 experts 에 대해, 각 픽셀을 이에 대응하는 pretrained CLIP model 로 text embedding 과 함께 tiling 한다.
이후 효과적인 훈련을 위해서 PCA 를 적용하여 차원수를 으로 down-sampling 한다.
모든 modality experts 에 대한 자세한 사항은 아래 테이블과 같다.
모든 experts labels 는 처음에 무작위로 초기화된 convolution layer 를 지난다.
[3 x 3]
의 작은 커널을 구성For high-level semantic labels
For RGB images
self-attention 의 계산 복잡도는 patch 수에 비례하므로, modality experts 의 수가 크면 쉽게 많은 메모리를 요구할 수도 있다.
이 이슈를 해결하기 위해 Experts Resampler 를 제안한다.
For Experts Resampler
multi-modal features 의 표현력과 훈련성을 향상 시키기 위해 vision 과 language 백본 모델의 각 transformer layer 에 lightweight adaptor 를 삽입
For Lightweight Adaptor
위 adaptor 를 통해서, language decoder 에서 cross attention block 과 연결하여 domain 별 vision 및 language 백본을 vision-language 로 자연스럽게 변환시킨다.
저자는 Prismer 를 next token 을 autoregressive 하게 예측하기 위한 한 가지 목표로 훈련 시켰다.
표준 encoder-decoder 아키텍처에 따라 다음의 forward autoregressive factorisation 진행
위 목표는 gradient 계산을 위해 한 번의 forward pass 만 요구되며, 다른 VLMs 보다 효과적이고 능률적이다.
하지만 모델은 multi-modal language generation 에 초점을 두기 때문에, image-text retrieval 이나 visual entailment 와 같은 mutli-modal discriminative task 에는 적합하지 못하다.
Prismer 말고도, Experts Resampler 없이 RGB 이미지 만으로 학습을 진행한 PrismerZ 도 있다.
두 모델은 vision encoder 에 pretrained CLIP, language decoder 에 RoBERTa 를 활용했다.
실험 초기엔 다른 언어 모델인 OPT 나 BLOOM 을 사용했지만 좋은 성능은 내지 못했다.
모델 사이즈는 LARGE, BASE 두 가지로 진행을 한다.
in-domain 데이터셋
web 데이터셋
web 데이터셋은 image captioner 로 pre-filter 와 re-caption 을 거쳤다.
데이터셋은 11M image 또는 12.7M 의 image/text 쌍을 포함하고 있다.
Optimizer
Model Sharding
Mixed Precision
image captioning 평가를 위해 텍스트 생성을 beam size 3 으로 beam search 를 사용한다.
fine-tining 된 image captioning 에 "A picture of" 라는 접두사 prompt 를 input text 에 추가하니 품질 개선에 도움이 되는 것을 발견했다.
VQA 및 image classification 평가에 대해서는 미리 정의된 답변 목록에서 token 단위로 log-likelihood 를 순위로 매겨서 closed ended 방식으로 평가한다.
beam search NLP 분야의 Decoder 알고리즘표준 cross-entropy loss 로 COCO Caption 을 fine-tuning 진행
이후, COCO Caption test 와 NoCaps validation, VQAv2 dataset 와 Visual Genome training samples 로 평가
다른 VLMs 모델들과 다음과 같이 비교를 하였다.
Fig 4
Prismer approach 는 zero-shot 생성도 가능하며, 추가적인 fine-tuning 없이 image captioning 에 직접적으로 적용이 가능하다.
위 중앙 테이블을 살펴보자.
다음과 같은 Prismer 로 생성한 caption 목록 예제를 보여준다.
few-shot 으로 ImageNet 데이터셋을 통해 평가를 진행
"A photo of a [CLASS NAME]
" 과 같은 임시 caption 으로 각 카테고리를 매핑하여 classification task 로 변환하였으며, log-likelihood 를 사용하여 모든 caption 에 점수를 매긴다.
Flamingo 는 gradient 업데이트 없이 in-context (문맥에 포함되는지) 를 통해 few-shot 한것과 달리, Prismer 는 가벼운 fine-tuning 으로 few-shot 하였다.
Fig 4 의 오른쪽을 살펴보자.
저자는 Prismer 에 대한 추가적인 조사와 발견을 위해 추가 실험을 수행, 여러 component 아키텍처 를 제거
모든 실험은 BASE 모델로 진행하였으며, 총 3M data 인 Conceptual Captions 와 SBU 를 결합하여 훈련 하였으며, 평가는 [224 x 224]
해상도의 VQAv2 로 평가했다.
adaptor 설계에 대한 ablation study 는 위 표에서 확인할 수 있다.
표준 residual connection 과 encoder-decoder 구조가 포함된, 간단한 adaptor design 이 가장 성능이 좋았다.
각 transformer layer 끝마다 adaptor 를 추가하거나 learnable gating 메커니즘을 구성한 복잡한 설계에 대해서는 성능이 좋지 않았다.
나아가, 단일 adaptor 에 큰 bottleneck hidden size 를 주니 개선된 성능을 보였다.
resampler 설계에 대한 ablation study 는 위 표에서 확인할 수 있다.
간단한 설계가 학습에 가장 적합했다.
무작위로 non-learnable 샘플링한 접근법은 learnable resampler 보다 성능이 낮았고, resampler 를 RGB 를 포함하여 모든 input signal 을 받아 들이니 (Prismer design 은 RGB 에 대해선 받지 않음) 성능 감소가 일어났다.
마지막으로 resampler 크기를 키우니 이득을 얻지 못하였다.
모델을 freezing 한 것과, pre-training 및 fine-tuning 을 비교한 실험을 진행
freezing pre-trained 파라미터가 좋은 성능이 나타났으며, 과적합 및 학습하며 배운 knowledge 을 잊는 것을 피하였다.
또한 이 파라미터들을 freezing 을 하니 GPU 메모리의 상당 수의 양을 save 하였다.
심지어 다른 downstream task 에 fine-tuning 할 때도 이득을 얻었다.
이 논문의 결론으로 Prismer 가 적은 수의 trainable components 를 활용하여, Image captioning, VQA, image classification 등에 좋은 성능을 보인다는 것을 말한다.
Prismer 는 모든 experts 에 대해 후 처리 후 이미지와 동일한 3차원 텐서로 변환하는데, object detection labels 을 텍스트 토큰 시퀀스로 변환과 같은 domain knowladge 을 나타내는 효과적인 방법도 있으며, 이는 앞으로의 연구에서 더 강한 추론과 안정적인 훈련이 가능할 것으로 보임.