본문 바로가기
Paper Review/Multi-modal

[Paper Review] Visual Instruction Tuning

by BangGeuk 2023. 11. 13.

본 글은 https://arxiv.org/abs/2304.08485 내용을 기반으로 합니다.

혹시 잘못된 부분이나 수정할 부분이 있다면 댓글로 알려주시면 감사하겠습니다.


본 눈문은 language-image instruction-following data를 생성하기 위해 GPT-4를 사용한다.

그리고 vision encoder와 LLM을 연결한 LLaVA(Large Language and Vision Assistant)를 소개한다.

LLaVA는 Science QA에서 SOTA 성능을 달성하였다.

1. Introduction

이 논문의 contribution을 요약하면 다음과 같다.

  • Multimodal instruction-following data

Vision-Language instruction-following 데이터가 부족하여 본 논문은 ChatGPT/GPT-4를 이용하여 image-text 쌍을 적절한 instruction-following 형식으로 변환하기 위한 데이터 재구성 관점 및 파이프라인을 제시한다.

  • Large multimodal models

Visual encoder로 CLIP을 사용하고 Language decoder로 LLaMA를 연결하여 instructional visual-language 데이터를 end-to-end로 fine-tuning하여 Large Multimodal Model(LMM)을 개발한다. 실험을 통해 생성한 데이터에 대한 효과를 입증하고 일반적인 instruction-following visual agent를 설계하는데 도움을 준다. 그리고 Science QA multimodal 추론 데이터셋에서 SOTA 성능을 달성하였다. 

  • Open-source

생성된 multimodal instruction 데이터, 데이터 생성 및 모델 훈련을 위한 codebase, 모델 checkpoint, visual chat 데모를 공개한다.

2. Related Work

Mutimodal Instruction-following Agents

Computer Vision 분야에서 instruction-following 에이전트를 구축하는 기존 작업들은 크게 두 가지 클래스로 분류한다.

1. 개별적으로 탐색되는 end-to-end 학습 모델

2. Visual ChatGPT, X-GPT, MM-REACT와 같은 LangChain / LLM을 통해 다양한 모델들을 조정하는 시스템

 

Instruction Tuning

NLP 분야에서 LLM instruction-tuning을 위해 많은 방법들을 탐색해 왔다.

NLP에서 Computer Vision으로 확장되었고 LLaMA는 multimodal LLM을 구축할 수 있는 길을 열어주었다.

이러한 모델들은 명시적으로 vision-language instruction 데이터로 instruction-tuned 되지 않는다.

본 논문에서는 이러한 간극을 메우고 그 효과를 연구하는 것을 목표로 한다.

3. GPT-assisted Visual Instruction Data Generation

기존 multimodal 분야에서 사용되는 CC, LAION과 같은 image-text 쌍 데이터들은 instruction-following 데이터가 아니다. Multimodal instruction-following 데이터 수집을 위해 ChatGPT/GPT-4를 활용할 것을 제안한다.

 

GPT를 사용하여 데이터를 생성할 때, 이미지와 관련된 caption 및 bounding box 값들을 사용한다. Caption 및 bounding box는 다음과 같은 역할을 한다.

1) Caption은 일반적으로 다양한 관점에서 시각적 장면을 설명한다.

2) Bounding box는 일반적으로 장면 내 객체를 localize하고 각 객체의 concept과 spatial location을 인코딩한다.

 

COCO 이미지를 사용하여 세 가지 유형의 instruction-following 데이터를 생성한다.

  • Conversation

이미지에 관해 assistant와 사람 사이의 대화형식으로 디자인한다. 개체 유형, 개체 수, 개체 동장, 개체 위치, 개체 간의 상대적 위치를 포함하여 이미지의 시각적 내용에 대해 다양한 질문을 한다. 명확한 답변이 있는 질문만 고려한다.

  • Detailed description

이미지에 대한 풍부하고 포괄적인 설명을 포함하기 위해 질문 목록을 만든다. 각 이미지에 대해 질문 목록에서 하나의 질문을 무작위로 샘플링하여 GPT-4에 상세한 설명을 생성하도록 요청한다.

  • Complex reasoning

위의 두 가지 유형은 content에 중점을 두며 이를 기반으로 심층 추론 질문을 추가로 생성한다. 답변은 일반적으로 엄격한 논리를 따르는 단계별 추론 프로세스를 필요로한다.

4. Visual Instruction Tuning

4.1 Architecture

이 연구의 주요 목표는 사전 훈련된 LLM과 visual 모델에 대한 능력을 효과적으로 leverage하는 것이다.

이미지를 입력으로 받는 Vision Encoder는 CLIP visual encoder ViT-L/14를 사용한다.

Language Model은 LLaMA를 사용한다.

이미지 특징들을 word embedding space에 연결하기 위해 간단한 linear layer(Projection W)를 추가한다.

Linear layer의 차원과 word embedding space 차원을 같게 설정한다.

4.2 Training

각 이미지에 대해 multi-turn conversation data를 생성한다. (T는 전체 turn의 횟수)

 

첫 번째 turn인 경우, 이미지 특징을 질문 뒤에 둘지 앞에 둘지 random하게 선택한다.

 

LLM의 instruction-tuning을 하기 위해, original auto-regressive training objective를 사용한다.

이미지 특징과 단어 토큰을 같이 사용하여 답변을 생성할 확률을 계산한다. 이를 수식으로 표현하면 위와 같다.

 

LLaVA는 two-stage로 학습한다.

 

Stage 1: Pre-training for Feature Alignment

Concept coverage와 학습의 효율성 간의 균형을 맞추기 위해 CC3M 595K image-text 쌍으로 필터링한다.

이러한 쌍들은 instruction-following 데이터로 변환한다.

이미지에 대해 질문을 임의로 샘플링하여 assistant에게 간략하게 설명하도록 instruction을 주면 기존 caption을 대답으로 사용한다.

질문에 해당하는 예는 "Describe the image concisely.", "Summarize the visual content of the image."이다.

Visual encoder와 LLM 가중치를 frozen하고 Project W만 학습한다.

이를 통해, 이미지 특징들은 사전 학습된 LLM word embedding과 정렬될 수 있다.

 

Stage 2: Fine-tuning End-to-End

Visual encoder만 frozen하고 LLM과 project layer을 학습한다.

저자들은 두 가지 특정 사례에 대해 고려한다.

1) Multimodal Chatbot : 앞서 설명했던 158K language-image instruction-following 데이터를 이용해 fine-tuning한 Chatbot

2) Science QA : ScienceQA benchmark에서 연구. 각 질문은 자연어 혹은 이미지의 형태로 제공되고 assistant는 자연어로 추론 과정을 제공하고 객관식에서 대답을 선택한다.

5. Experiments

5.1 Multimodal Chatbot

Quantitative Evaluation

LLaVA의 성능을 체계적으로 이해하기 위해 각 모델의 VQA능력을 측정하는 정량적 지표를 활용한다.

GPT-4를 사용하여 모델이 생성한 응답의 품질을 측정한다.

COCO 검증셋에서 무작위로 선택한 30개의 이미지를 기반으로 이전에 언급된 데이터 생성 파이프라인을 사용해 대화, 상세설명, 복잡한 추론 3가지 유형의 질문을 생성한다.

GPT-4는 알맞은 지도 역할을 하는 어시스턴트 응답을 생성한 뒤 유용성, 관련성, 정확성 및 세부 수준을 평가하고 성능의 우수함을 표현하는 1에서 10까지의 점수로 전체적인 평가를 수행한다.

실험 결과는 다음과 같다.

 

LLaVA의 VQA 성능을 알아보기 위해 이미지의 깊은 이해를 필요로 하는 GPT-4 논문의 예제를 사용한다.

LLaVA 모델은 작은 데이터셋(~80,000개)로 훈련되었음에도 불구하고 GPT-4와 매우 유사한 추론 결과를 보여준다.

두 예제들은 모두 도메인 밖에 있지만 이미지를 충분히 이해하고 질문에 따라 올바른 응답을 제공한다.

BLIP-2와 OpenFlamingo는 이미지를 설명하는 것에 그치며 지시에 대한 적절하지 못한 응답을 제공한다.

5.2 ScienceQA

1. GPT-4가 답변을 제공하지 못할 때, LLaVA의 예측을 사용한다.

2. GPT-4를 심사하는 방식으로 두 모델이 다른 예측을 하였을 때, 질문과 두 가지 답변을 기반으로 GPT-4 최종 예측을 재산출한다.

 

첫 번째 방법에서는 LLaVA 단일 모델과 거의 동일한 결과를 보였으나

두 번째 방법에서는 92.53%의 새로운 SOTA 성능을 달성하였다.

6. Discussions

본 논문에서는 Insturction tuning의 효과를 입증하기 위해 GPT-4를 활용한 데이터 자동생성 파이프라인을 제시하였다.

Fine-tuning된 LLaVA 모델은 ScienceQA에서 SOTA 성능을 달성하였다.

저자는 다음과 같은 후속 연구 주제를 남겨두었다.

1. 모델에 사용된 image-text 데이터는 아주 일부분으로 더 큰 데이터셋을 가지고 사전훈련과 다양한 데이터 생성 파이프라인을 이용한 fine-tuning은 더 유망한 모델로 연결될 것이다.

2. SAM과 같은 더 강력하고 다양한 시각 모델들의 연결을 통해 현재 모델이 갖지 못한 새로운 기능을 활성화하는 것을 추구한다.