본문 바로가기
Multimodal

LLaVA (2023) 논문 리뷰

by 아르카눔 2025. 4. 26.

LLaVA 모델의 논문 제목은 Visual Instruction Tuning이다. (링크)

 

저자는 Haotian Liu, Chunyuan Li, Qingyang Wu, Yong Jae Lee다.

 

Github: 링크

 

논문 제목 Visual instruction tuning 그대로 시각적 내용에 대한 지시를 토대로 파인 튜닝한 모델이다.

 

 

Abstract

Machine-generated instruction following data를 활용한 LLM의 instruction tuning은 새로운 태스크에 대한 zero-shot 능력의 향상을 보여왔다. 하지만 multimodal 분야에서는 덜 탐구되었는데 본 논문에서는 처음으로 language only GPT-4를 사용해서 multimodal language-image instruction following data를 생성하는 첫 시도를 제안한다. 이렇게 생성된 데이터를 활용한 인스트럭션 튜닝은 LLaVA: Large Language and Vision Assistant라고 부르며 end-to-end trained large multimodal로 vision encoder와 LLM을 연결한다. 이는 general purpose의 visual and language understanding이 목적이다. 미래의 visual instruction following 연구를 위해서 두 가지 평가 벤치마크를 구축했는데 다양하고 어려운 application-oriented tasks다. GPT-4가 생성한 visual instruction tuning data와 모델, 코드를 공개되어있다.  

 

 

3. GPT-assisted Visual Instruction Data Generation

초록에서 언급한대로 사람이 image-text pair에 대해서 annotation한 데이터의 수는 적고 비용과 시간이 많이 필요하기 때문에 LLM 특히, CahtGPT / GPT-4를 이용해서 multimodal instruction-following data를 모았다. 이는 현존하는 넓은 범위의 이미지-페어 데이터에 기초한다.

 

이미지 $X_v$와 연관된 캡션 $X_c$가 있을 때, 이미지 content 내용을 묘사하는게 도움을 주도록 지시하는 의도를 가진 질문들의 셋 $X_q$를 만드는건 자연스럽다. GPT-4로 하여금 Appendix에 나와있는 그러한 질문들의 리스트를 엄선하도록 프롬프트를 통해서 일을 시켰다. 그러므로 이미지-텍스트는 다음처럼 instruction 지시를 따른다. Human: $X_q$ $X_v$ <STOP> Assistant: $X_c$ <STOP>. 하지만 이런 간단한 버젼의 경우 지시와 응답 양쪽 측면에서 다양성과 in-depth reasoning 면밀한 추론을 결여하게 된다.

 

 

위 Table 1에 있는 내용처럼 instruction-following data를 생성한다.

 

이를 위해서 저자들은 language-only GPT-4 or ChatGPT (둘 다 텍스트만을 입력으로 받는다)를 strong teacher 강력한 선생님으로 삼아 지시-팔로잉 데이터가 시각적 내용을 포함하도록 생성한다. Visual features를 인코딩하기 위해서 두 가지 종류의 symbolic representations를 이용한다. (1)은 Captions으로 여러가지 관점에서 시각적 장면을 묘사한다. (2)는 Bounding boxes로 시각적 장면에 있는 객체를 localize하고 각각의 박스는 객체의 개념과 spatial location을 인코딩한다. Table 14에 그 예시가 나와있다.

 

COCO 데이터를 이용해서 세 가지 종류의 instruction-following 데이터를 생성한다.

 

Conversation

 

사람이 어시스턴트에게 사진에 대해서 질문하는 대화를 디자인한다. 마치 어시스턴트가 사진을 보고 답변하는 톤을 이용한다. 

객체의 종류, 객체의 수, 객체의 동작, 객체의 위치, 객체 간의 상대적인 위치를 포함한다. Appendix에 자세한 프롬프트가 있다. 

 

 

Detailed Description

 

Rich and comprehensive 풍부하고 포괄적인 이미지 설명을 포함하기 위해서 이런 의도를 갖는 질문들의 리스트를 생성한다. GPT-4로 하여금 이 리스트를 엄선하는 프롬프트를 생성한다. 개별 이미지에 대해서 GPT-4가 엄선한 리스트에서 질문 하나를 뽑아서 자세한 설명을 생성한다. Appendix에 자세한 프롬프트가 있다. 

 

 

Complex Reasoning

 

In-depth reasoning 면밀한 추론을 위해서 step-by-step 추론 프로세스를 거쳐서 rigorous logic 엄밀한 논리를 따르도록 한다. 

 

158K의 unique language-image instruction-following samples를 수집했으며, 58K개의 conversations, 23K 개의 detailed description, 77k개의 complex reasoning으로 구성된다. ChatGPT와 GPT-4에 대해서 모두 실험했지만 GPT-4가 보다 고품질의 데이터를 생성함을 ablation study로 확인했다.

 

 

 

4. Visual Instruction Tuning

 

4.1. Architecture

효과적으로 사전학습된 LLM을 레버리지하여 시각처리 성능을 높이는 것이 최종 목적이다.

 

네트워크 구조는 아래 Figure 1과 같다. 저자들은 Vicuna를 LLM으로 설정했으며 파라미터 $\phi$로 표시되는 $f_{\phi}(\cdot)$으로 표기한다.

 

 

 

Input image $X_v$에 대해서 pre-trained CLIP ViT-L/14를 visual encoder로 사용한다.

Visual feature $Z_V$ = g($X_v$)로 표기된다. 마지막 Transformer layer의 grid features를 고려한다.

Linear layer로 이미지 피쳐를 word embedding space로 연결한다.

Trainable projection matrix $W$를 이용해서 $Z_v$를 language embedding tokens인 $H_v$로 변환한다.

따라서 Word embedding space와 같은 dimensionality를 갖는다.

 

$H_v = W \cdot Z_v$

 

Flamingo의 gated cross-attention이나 BLIP-2의 Q-former와 같은 보다 복잡한 구조를 통해서 이미지와 텍스트를 연결할 수도 있지만 퓨처워크로 남겨둔다.  

 

4.2. Training

 

이미지 $X_v$에 대해서 multi-turn conversation 데이터 ( $X_q^1, X_a^1, ..., X_q^T, X_a^T$ )를 생성했다. 

이때 $T$는 대화의 턴의 수다. Assitant's response 모든 응답을 answers 답변으로로 간주하여 문장을 정리한다.

 

 $

\begin{equation}
  X_{instruct}^t =
    \begin{cases}
      \text{Randomly choose} \left[ X_q^1, X_v \right] \text{or} \left[ X_v, X_q^1 \right]  & \text{the first turn $t$ = 1}\\
      X_q^t & \text{the remaining turns $t$ > 1}\\
    \end{cases}       
\end{equation}

$

 

정리한 문장은 아래 Table 2와 같다. 

 

 

문장의 길이가 $L$일 때 다음의 target answers $X_a$의 확률을 구한다.

 

$p(X_a | X_v, X_{instruct}) = \prod_{i = 1}^{L} p_{\theta} (x_i | X_v, X_{instruct, < i}, X_{a, < i} $.

 

$\theta$는 학습 가능한 파라미터이며, $X_{instruct, < i}, X_{a, < i}$는 현재 prediction token $x_i$의 보다 순서가 앞서는 모든 턴의 instructions과 answers다. $X_v$를 명시적으로 삽입하여 이미지가 모든 정답에 대해서 grounded함을 강조한다. 

$X_{system-message}$를 생략하고 <STOP> 역시 생략하는데 이는 가독성을 위함이다. 

 

LLaVA 모델 학습에 있어서 two-stage instruction-tuning procedure를 고려한다.

 

Stage 1: Pre-training for Feature Alignment

 

CC3M 데이터를 필터링하여 595K개의 이미지-텍스트 쌍으로 만들었다. 자세한 내용은 Appendix에 첨부했다.

섹션 3에서 언급했던 Naive expansion의 방법으로 instruction-following data로 변환단다. 각각의 샘플은 모두 싱글턴 대화로 취급한다. 이미지 $X_v$에 대한 입력 $X_{instruct}$를 구축하고, 질문 $X_q$를 랜덤하게 샘플링한다. Ground-truth prediction answer $X_a$는 원본 캡션이다. 학습하는 동안 visual encoder와 LLM의 weights를 모두 freeze한다. 그리고 오직 trainable parameters인 projection matrix ($\thea = W$)만을 학습한다. 이를 통해서 이미지 피쳐 $H_v$는 pre-trained LLM의 word embedding에 aligned 된다. 

 

 

 

Stage 2: Fine-tuning End-to-End

 

Visual encoder는 계속 frozen 상태를 유지하면서 projection layer와 LLM의 pre-trained weights을 업데이트 한다.

따라서 이때의 $\theta = {W, \phi}$가 된다. 다음의 두 가지 케이스를 고려한다.

 

Multimodal Chatbot:

158K의 언어-이미지 인스트럭션 팔로잉 데이터를 활용하여 파인튜닝을 수행하고 Chatbot을 개발한다. Conversation은 멀티 턴이고 나머지 두 가지 Detailed Description와 Complex Reasoning은 싱글턴이다. 각각은 uniformly sample 된다.

 

Science QA:

ScienceQA 벤치마크에 대한 성능으 연구하기로 한다. 각 질문은 자연어거나 이미지의 형태로 어시스턴트는 자연어로 reasoning process 추론 과정을 제공하거나 multiple choices 사이에서 정답을 골라야 한다. 데이터를 싱글 턴 대화로 정리하였으며, question and context를 $X_{instruct}$로, reasoning and answer를 $X_a$로 설정했다.

 

 

5. Experiments

COCO-val-2014 데이터에서 30개의 이미지를 뽑은 다음 3가지 종류의 질문; Conversation, Detailed Description와 Complex Reasoning을 생성하고 총 90개의 질문에 대해서 성능을 실험했다.

 

In-the-Wild의 경우 24개의 이미지에 대해서 60개의 질문을 선정했다. 

 

 

Table 3를 보면 LLaVA가 GPT-4, BLIP-2, OponFlamingo에 비해서 보다 자세한 서술을 수행함을 알 수 있다. 

 

 

 

Table 4와 5를 보면 LLaVA가 3가지 타입에 대해서 모두 학습했을때, 그리고 OpenFlamingo과 BLIP-2에 비해서 좋은 성능임을 알 수 있다. 

 

 

Table 6를 보면 LLaVA의 실패사례를 알 수 있다. 추가적인 개발이 필요하다.

 

 

 

Table 7은 Science QA에 대한 실험 결과인데 기존에 각각의 논문에서 보고된 결과와 저자들이 직접 실험한 결과를 비교했다.

LLaVA의 경우 Human에 근접하거나 더 좋은 성능을 내는 것을 알 수 있다. 

 

끝으로 Appendix의 Instructions와 Prompts를 덧붙이며 마무리한다.

 

Appendix

Instructions and Prompts

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Multimodal' 카테고리의 다른 글

Donut (2022) 논문 리뷰  (0) 2025.05.03
DALL-E (2021) 논문 리뷰  (1) 2025.05.03
BLIP (2022) 논문 리뷰  (0) 2025.04.26
LayoutLM v3 (2022) 논문 리뷰  (1) 2025.04.25
LayoutLM v2 (2020) 논문 리뷰  (1) 2025.04.24