본문 바로가기

논문 리뷰/Language Model

TinyGPT-V: Efficient Multimodal Large Language Model via Small Backbones

[Github]

[arXiv](Current version v1)

 

Abstract

훈련에는 24G GPU, 추론에는 8G GPU 또는 CPU만 있으면 작동할 수 있는 효율적인 MLLM인 TinyGPT-V 소개

 

 

 

Method

Model Architecture

Visual encoder backbone

EVA (자매품: EVA-02, EVA-CLIP)

 

Linear projection layers

먼저 초기 projection layer로 BLIP2의 Q-Former를 채택.

또한 Q-Former의 출력과 LLM 간의 격차를 해소하기 위해 MiniGPT-4의 projection layer를 채택하고 linear layer 추가.

 

Large lanuguage model backbone

2.7B의 작은 크기에 비해 성능이 뛰어난 Phi-2 모델을 backbone으로 채택.

 

Normalization and LoRA for TinyGPT-V

조사 결과 소규모 모델은 NaN 또는 INF 값에 취약하여 초기 순방향 전파가 실패하는 경우가 많았으며, 학습 가능한 피라미터의 수가 제한되어 있기 때문에 gradient가 사라질 수 있다.

 

이를 해결하기 위해 Phi-2의 모든 Layer norm을 훈련 가능하게 하고, (c)와 같이 RMS norm과 Query-Key norm, LoRA를 도입한다.

 

Multi-task Instruction Template

Multimodal 훈련에서 다양한 개별 작업을 처리하기 위해 MiniGPT-v2의 작업별 식별자를 사용한다.

 

Training Stages

Warm-up training for the first training stage

정렬된 500만 개의 image-text pair에 대해 20000 training step.

 

Pre-training for the second training stage

위에서 사용된 데이터셋을 다시 활용하여 LoRA를 추가한 뒤 훈련.

 

Human-like learning for the third training stage

일관성 있고 자연스러운 응답을 생성하는 능력을 향상하기 위해 “###Human: <Img><ImageHere></Img> Take a look at this image and describe what you notice.###Assistant:.”와 같은 지침이 포함된 MiniGPT4 또는 LLaVA의 image-text pairing을 사용하여 fine-tuning.

 

Multi-task learning in the fourth training stage

MiniGPT-v2와 마찬가지로 더 많은 multimodal instruction dataset으로 모델을 튜닝하여 다중 작업을 처리하고 챗봇으로써의 대화 능력을 향상한다.

MiniGPT-v2

 

 

 

Experiments