[24’] MM1: Methods, Analysis & Insights from Multimodal LLM Pre-training
카테고리: Multimodal
🔍 Abstract
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
저자들은 3가지 중요한 요소들에 대한 실험을 진행했다.
- Model Architectures: Pre-trained image encoder 종류, Modality interfaces 종류 실험
- Data: Pre-training에서 4가지 데이터(Image+Text, Interleaved, Synthetic, Text-only) 비율 실험
- 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가 더 유리할 수 있다고 알려져 있다.
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은 카카오브레인에서 제시한 방법으로 아래 그림과 같다.
Vision-Language Connector Lesson. Visual token의 수와 Image resolution이 중요했고, VL connector의 종류는 크게 중요하지 않았다.
3. Pre-training Data
일반적으로 모델은 pre-training과 instruction-tuning의 2단계로 학습되며, pre-training 단계에서는 web-scale large data가 사용되고 instruction-tuning 단계에서는 task-specific curated data가 사용되는 것이 일반적이다. 위 Table은 pre-training에 사용한 데이터의 종류를 나타낸다.
결과 그림이 썩 알아보기 좋게 되어 있지는 않은데, 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
위에서 얻은 결과에 따라 (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)\]결과는 놀라울 정도이다. 위에서의 분석을 통해 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이고, 여기서는 두 가지 실험에 집중하여 살펴보자.
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을 정리하면 다음과 같다.
- Model Architecture.
- Encoder Lession. Image resolution이 굉장히 중요하다. CLIP, DINO와 같은 모델 타입에 따른 결과는 CLIP이 전반적으로 우세하나 학습 데이터 수를 동일하게 맞추지 못해 직접적인 비교가 불가능했다.
- Vision-Language Connector Lesson. Visual token의 수와 Image resolution이 중요했고, VL connector의 종류는 크게 중요하지 않았다.
- Data.
- Pre-training Data Lesson. 각 데이터가 zero-shot, few-shot, text-only 성능에 어떤 영향을 미치는지 분석했으며, trade-off를 분석하여 필요에 따라 적당한 비율로 image와 text data를 맞춰 학습시킬 수 있다.
- Training Procedure.
- Parameter-efficient model. 위 결과들을 종합하여 학습하면 기존 모델보다 적은 파라미터로 더 높은 성능을 낼 수 있다.
- SFT. Vision encoder와 LLM을 모두 학습시키는 것이 더 좋다. Image resolution이 높을수록 성능이 좋고, Pre-training을 많이 할수록 성능이 좋은데 이는 기존의 결과와 부합한다.
댓글 남기기