[24’] MM1: Methods, Analysis & Insights from Multimodal LLM Pre-training

Date:     Updated:

카테고리:

태그:

image


🔍 Abstract

image

image

Apple에서 2024년 초에 발표한 Multimodal LLM 구조 및 데이터에 관한 실험 논문이다. 결론은 💡 Summary 부분에서 참고하면 된다. 결과적으로, 이러한 실험을 통해 최적의 모델 구조와 데이터 조합을 찾아 MM1이라는 Few-shot 가능한 Multimodal 모델을 개발하고, 여러 분야에서 SOTA를 달성했다. Large-scale pre-training 덕분에 In-context Learning, Multi-image Reasoning, Few-shot Chain-of-Thought Prompting 등이 충분히 가능하다.


1. Introduction

image

저자들은 3가지 중요한 요소들에 대한 실험을 진행했다.

  1. Model Architectures: Pre-trained image encoder 종류, Modality interfaces 종류 실험
  2. Data: Pre-training에서 4가지 데이터(Image+Text, Interleaved, Synthetic, Text-only) 비율 실험
  3. Training Procedure: 각종 Training 방법 실험

각 절에 각 주제에 대한 실험 결과를 정리하였다.


2. Model Architecture

2.1. Image Encoder

Image encoder는 크게 CLIP과 같은 contrastive loss로 훈련한 모델과, DINO와 같은 reconstructive loss (혹은 self-supervised learning) 로 훈련한 모델로 나뉜다. 일반적인 성능은 CLIP-style encoder가 더 좋지만, dense prediction 즉 segmentation과 같은 task에서는 DINO-style encoder가 더 유리할 수 있다고 알려져 있다.

image

Encoder Lession. Image resolution이 굉장히 중요하다. CLIP, DINO와 같은 모델 타입에 따른 결과는 CLIP이 전반적으로 우세하나 학습 데이터 수를 동일하게 맞추지 못해 직접적인 비교가 불가능했다.


2.2. Vision-Language Connector

Vision-Language Connector, 즉 modality interface로는 Average Pooling, Attention Pooling, C-Abstractor 등을 실험하였다. C-Abstractor라고 하는 Convolutional Mapping은 카카오브레인에서 제시한 방법으로 아래 그림과 같다.

image

image

Vision-Language Connector Lesson. Visual token의 수와 Image resolution이 중요했고, VL connector의 종류는 크게 중요하지 않았다.


3. Pre-training Data

image

일반적으로 모델은 pre-traininginstruction-tuning의 2단계로 학습되며, pre-training 단계에서는 web-scale large data가 사용되고 instruction-tuning 단계에서는 task-specific curated data가 사용되는 것이 일반적이다. 위 Table은 pre-training에 사용한 데이터의 종류를 나타낸다.

image

결과 그림이 썩 알아보기 좋게 되어 있지는 않은데, TextCore는 전반적인 성능을 나타내는 지표라고 생각하면 되고 이후 zero-shot, few-shot의 결과를 나열해 두었다. 각 데이터들의 역할을 정리하면 다음과 같다.

  • Captioned Images: Zero-shot 성능 향상에 중요하다. Captioned Image를 이용한 task는 zero-shot setting과 유사하기 때문으로 해석할 수 있다. 그러나 evaluation task 8개 중 3개가 captioning이기 때문에, bias의 결과일 수도 있다
  • Captioned Images (Synthetic): Few-shot 성능을 약간 향상시킨다.
  • Interleaved Image-Text: Few-shot 및 text-only 성능 향상에 중요하다. 이는 Interleaved data가 few-shot setting과 유사하고, long-form text를 포함하고 있기 때문이다.
  • Text-only: Interleaved와 비슷한 이유로 few-shot 및 text-only 성능 향상에 중요하다.

Pre-training Data Lesson. 각 데이터가 zero-shot, few-shot, text-only 성능에 어떤 영향을 미치는지 분석했으며, trade-off를 분석하여 필요에 따라 적당한 비율로 image와 text data를 맞춰 학습시킬 수 있다.


4. Training Procedure

4.1. Pre-training

image

위에서 얻은 결과에 따라 (1) Image resolution이 큰 Image Encoder, (2) Vision-Language Connector는 임의로 사용, (3) 적당한 비율로 pre-training data를 사용하여 pre-training을 진행했다. 여기서는 model scale에 따른 scalability와 타 모델간의 비교를 진행했다. 참고로, 위와 같이 parameter 수 $N$에 따라 최적의 learning rate $\eta$를 linear regression을 통해 찾을 수 있었다. Weight decay는 $\lambda = 0.1\eta$로 설정했다.

\[\eta = \exp(-0.4214 \ln (N) - 0.5535)\]

image

결과는 놀라울 정도이다. 위에서의 분석을 통해 parameter-efficient한 SOTA 모델을 얻을 수 있었다. 다른 모델들의 파라미터에 비해 굉장히 적은 수준의 파라미터로 더 높은 성능을 낼 수 있다는 점을 증명한 것이다. 특히 few-shot 성능이 zero-shot에 비해 급격히 상승하는 것을 볼 수 있다. Flamingo와 비교해보면, zero-shot 성능은 더 떨어지지만 few-shot 성능은 더 높다. Zero-shot 성능이 좋지 않다는 것은 단점이 될 수 있을지도 모르겠다.


4.2. Supervised Fine-Tuning (SFT)

이어서 저자들은 SFT(=Supervised Fine-Tuning)을 진행하여 일종의 ChatBot인 MM1-Chat 모델을 구축했다. 학습 시에는 일반적으로 LLM만 학습시키는 것과 달리 visual encoder와 LLM을 모두 학습시켰고, 이 경우 더 성능이 좋았다고 한다. 다른 VLM 모델들과 비교한 결과는 당연히 SOTA이고, 여기서는 두 가지 실험에 집중하여 살펴보자.

image

Impact of Image Resolution. Image resolution이 높을수록 성능이 좋다. 이는 pre-training에서도 나타난 결과와 일치한다. 저자들은 image resolution을 다른 학습 없이 높이기 위해 1) positional encoding interpolation, 2) sub-image decomposition을 활용했다는 점을 언급해둔다.
Impact of Pre-training. Pre-training을 많이 할수록 성능이 좋다. 또한, in-context learning과 multi-image reasoning에서도 더 좋은 성능을 보였다.


💡 Summary

Apple에서는 MM1 모델을 개발하며 MLLM에 대한 여러 ablation study를 진행하여 어떠한 조건에서 성능을 최대로 끌어올릴 수 있는지에 대한 일종의 레시피를 제공한다. 지금까지의 lesson을 정리하면 다음과 같다.

  1. Model Architecture.
    1. Encoder Lession. Image resolution이 굉장히 중요하다. CLIP, DINO와 같은 모델 타입에 따른 결과는 CLIP이 전반적으로 우세하나 학습 데이터 수를 동일하게 맞추지 못해 직접적인 비교가 불가능했다.
    2. Vision-Language Connector Lesson. Visual token의 수와 Image resolution이 중요했고, VL connector의 종류는 크게 중요하지 않았다.
  2. Data.
    1. Pre-training Data Lesson. 각 데이터가 zero-shot, few-shot, text-only 성능에 어떤 영향을 미치는지 분석했으며, trade-off를 분석하여 필요에 따라 적당한 비율로 image와 text data를 맞춰 학습시킬 수 있다.
  3. Training Procedure.
    1. Parameter-efficient model. 위 결과들을 종합하여 학습하면 기존 모델보다 적은 파라미터로 더 높은 성능을 낼 수 있다.
    2. SFT. Vision encoder와 LLM을 모두 학습시키는 것이 더 좋다. Image resolution이 높을수록 성능이 좋고, Pre-training을 많이 할수록 성능이 좋은데 이는 기존의 결과와 부합한다.


📃 Reference


Multimodal 카테고리 내 다른 글 보러가기

댓글 남기기