[23’ NIPS] LLaVA: Visual Instruction Tuning

Date:     Updated:

카테고리:

태그:

image


🔍 Abstract

image

LLM에서의 Instruction Tuning은 새로운 task에 대한 zero-shot capabality를 향상시켰다. 본 논문에서는 language-only GPT-4를 이용하여 multimodal instruction-following data를 생성하고, 이를 사용하여 visual instruction tuning을 진행하였다. 이 모델을 LLaVA(Large Language and Vision Assistant)라고 한다. GPT ensemble을 통해 Science QA에서 SOTA를 달성하였고, Benchmark 2개를 제시하였다.


1. Introduction

image

지금까지의 VLM은 각 task를 서로 다른 모델로 학습시켜 풀어 왔고, text 또한 이미지를 설명하는 데에만 사용되었다. 그러나 이러한 방식은 사용자의 instruction에 따라 유연한 답을 내놓지 못하게 하기에, 본 논문에서는 Instruction Tuning을 통해 이를 해결하고자 한다. LLM에서는 이미 FLAN이라는 논문에서 이러한 instruction tuning이 제안된 바 있다. 본 논문은 이것을 VLM에 적용한 것이다.


2. Data Generation

image

LLaVA에서는 language-only GPT-4를 이용하여 visual instruction data를 생성했다. Image 정보는 caption, box와 같은 symbolic representation이 담긴 context로 변환하여 전달하고, 적당한 prompting을 통해 질문과 답을 만들어달라고 하는 것이다. 단순히 Image-caption dataset을 사용하지 않고 GPT-4를 사용하여 dataset을 구축하여 더 깊이 있는 이해를 하도록 유도했다. 데이터셋 구축 시에는 conversation, detailed description, complex reasoning의 세 가지 타입을 고려했다.


3. Visual Instruction Tuning

3.1. Architecture

image

이제 LLaVA의 architecture 부분인데, pre-trained LLM Vicuna와 visual model CLIP vision encoder ViT를 사용하였다. 그리고 ViT으로부터 나온 visual feature $\mathbf{Z}_ \text{v}$를 trainable projection matrix $\mathbf{W}$를 통해 LLM Vicuna에 전달한다. 굉장히 간단한 구조이다. 저자들도 이러한 MLP-style이 아닌 Flamingo에서의 gated cross-attention, BLIP-2에서의 Q-former와 같은 방식이 사용될 수 있다고 제안한다. (이후 논문에서 이 부분이 개선되었다.)


3.2. Training

학습은 multi-turn conversation data $(\mathbf{X}_ \text{q} ^ 1, \mathbf{X}_ \text{a} ^ 1, \cdots, \mathbf{X}_ \text{q} ^ T, \mathbf{X}_ \text{a} ^ T)$를 이용하여 진행되었다. LLaVA에 들어가는 instruction $\mathbf{X}_ \text{instruct} ^ t$는 다음과 같다. 결과적으로 처음에 visual input을 주고, 그 뒤로는 question을 연속적으로 주는 방식이다.

image

image

일반적인 VLM과 같이, 다음 확률을 계산한다. 여기서 visual input이 하나뿐이라는 점이 한계가 될 수 있다.

image

학습은 크게 다음과 같은 2 Stage로 나누어진다.

  1. Stage 1: Pre-training for Feature Alignment. 단순히 original caption을 맞추는 간단한 task를 수행하며 $\mathbf{\theta} = \mathbf{W}$를 학습한다. 즉, frozen LLM에 맞는 visual tokenizer를 학습시킨다고 볼 수 있다.
  2. Stage 2: Fine-tuning End-to-End. Projection layer와 LLM을 fine-tuning한다. 즉 $\mathbf{\theta} = \lbrace \mathbf{W}, \mathbf{\phi} \rbrace$를 학습한다. 이때 데이터셋은 1) GPT-4로 생성한 conversation data를 사용해 Multimodal Chatbot을 제작한 경우, 2) ScienceQA benchmark를 사용한 경우의 2가지 케이스를 제시한다.


4. Experiments

4.1. Multimodal Chatbot

image

Qualitative Result. LLaVA는 다른 모델보다 더 정확하고 자세한 답변을 내놓았다. 다른 모델들은 단순히 장면을 설명한 것과 달리, LLaVA는 instruction에 맞추어 답변을 내놓았다.

image

Quantitative Result. 수치를 객관적으로 측정하기 위해 먼저 image, description, question의 triplet으로 이루어진 데이터를 만들었다. 그리고 LLaVA와 같은 평가 대상 모델과, language-only GPT-4에 각각 다음과 같이 answer를 얻었다. 여기서 Language-only GPT-4의 답변은 upper bound로 사용되었다.

  • 평가 대상 모델 (LLaVA 등): Input: Image + Question / Output: Answer
  • 평가 모델 (Language-only GPT-4): Input: Description + Question / Output: Answer

그리고 Judge model (Language-only GPT-4)에게 description, question, 두 모델의 answer를 주고 1부터 10 중에서 점수를 매기라고 했다. 일종의 GPT 기반 평가 방법이다. 이를 통해 얻은 결과는 위 Table 5와 같고, 다른 모델들에 비해 월등히 높은 성능을 보였다.

image

Ablation Study. 여러 타입의 데이터셋이 있는 것이 중요하고, Visual Instruction Tuning이 매우 중요하다는 것을 알 수 있다.

image

Limitation. 아직 LLaVA-Bench (In-the-Wild)와 같은 복잡한 데이터를 잘 처리하지 못한다. 예를 들어 딸기와 요거트가 각각 들어있는 냉장고 사진을 주고 딸기 요거트가 있냐고 물어보면 그렇다고 대답한다. 이는 LLaVA가 이미지를 일종의 “bag of patches”, 즉 위치 관계 등의 의미론적 정보를 완전히 이해하지 못한 채로 섞어서 이해하기에 발생하는 문제이다.


4.2. ScienceQA Benchmark

image

ScienceQA Benchmark. 이번에는 ScienceQA Benchmark를 사용하여 실험을 진행했다. 기존 SOTA 모델에 비해 LLaVA 자체는 성능이 더 좋지 않았다. 그래서 저자들은 GPT-4와 LLaVA의 장점을 결합하고자 2가지 방법을 시도했다.

  1. GPT-4 Complement: GPT-4가 정답을 도출하지 못하는 경우 LLaVA의 정답을 사용한다.
  2. GPT-4 as the Judge: GPT-4와 LLaVA의 정답이 다른 경우, GPT-4에게 두 정답을 보여주고 최종 정답을 다시 작성하도록 한다.

결과적으로 1의 방법은 큰 효과가 없었고, 2의 방법은 효과적이어서 SOTA를 기록했다. 2의 방법은 CoT(Chain of Thought)과 유사한 방법인데, GPT-4 내에서 CoT를 진행하는 것이 아닌 LLaVA라는 외부 모델의 지식을 활용하는 방식이기에 일종의 ensemble이라고 볼 수 있다. 저자들은 이러한 ensemble 방식이 본 논문에서 최초로 제시한 방법이라고 주장한다.

image

Ablation Study. 자잘한 것들인데 도움이 될만한 내용이 있어 정리한다.

  • Best variant: Visual Encoder로 CLIP ViT-L을 사용하였는데, Visual Feature $\mathbf{Z}_ \text{v}$로 ViT-L의 last layer를 사용하는 것보다 그 하나 전의 layer를 사용하는 것이 효과적이었다. 이는 마지막 layer는 global, abstract property를 가진 반면 그 전 layer는 상대적으로 local, detailed property를 가지기 때문인 것으로 보인다. 솔직히 그렇게 큰 성능 차이는 없는 것 같고, 더 깊이 있는 분석을 위해서는 다양한 layer level에서 비교해야 할 것 같다.
  • Predict answer first: 학습 시 정답을 (이유, 정답)으로 주는 것이 (정답, 이유)로 주는 것보다 더 수렴 속도가 빨랐지만, 성능에는 큰 차이가 없었다. CoT를 생각해보면 정답을 먼저 제시하는 것보다는 이유를 먼저 제시하는 것이 유리할 것 같다.
  • Training from scratch: Pre-training knowledge를 가지고 있는 것이 중요하다.
  • 7B model size: model scale이 중요하다.


💡 Summary

LLaVA는 처음으로 instruction tuning을 VLM에 적용한 모델로 의미가 있다. 이 논문이 나온 뒤로 굉장히 많은 후속 논문이 쏟아졌기에 영향력이 지대하다 할 수 있다. 이러한 vision instruction tuning은 모델이 더 정확하고 자세하게 시각적 상황을 이해하고 사람의 instruction에 적합하게 대답하도록 만들었다. GPT-4 ensemble 기법을 제안했는데, 굉장히 간단하지만 큰 성능 향상이 있었다는 것이 고무적이다. 다만 inference를 3배나 해야 한다는 점이 단점이 될 수 있겠다. 모든 것이 open-source라는 점도 중요하다. 아쉬운 점은 굉장히 간단한 MLP-style modality interface인 projection matrix $\mathbf{W}$를 사용했다는 점이다. 이후 논문에서는 이러한 부분이 개선되었다.


📃 Reference


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

댓글 남기기