[LLaVA] Visual Instruction Tuning

VLM NeurIPS 2023

Haotian Liu, Chunyuan Li, Qingyang Wu, Yong Jae Lee · UW-Madison / Microsoft Research / Columbia

arXiv Project

한 줄 요약. 텍스트에서 검증된 instruction tuning을 멀티모달로 확장한 첫 시도. 핵심은 두 가지 — (1) language-only GPT-4로 이미지(캡션+박스를 텍스트로 변환)에서 멀티모달 instruction-following 데이터 158K를 생성하고, (2) frozen CLIP 인코더와 Vicuna LLM을 단순 linear projection 하나로 이어 end-to-end로 instruction-tuning한다. connector는 가장 단순한데, GPT-4가 만든 instruction 데이터로 강력한 멀티모달 챗을 얻는다 — ScienceQA에서 LLaVA+GPT-4 앙상블이 92.53% SOTA.

배경

LLM은 machine-generated instruction 데이터로 instruction tuning 하면 새 task의 zero-shot 능력이 좋아진다(Alpaca·Vicuna 등). 그러나 이 흐름은 텍스트 전용이었다.

  • 멀티모달엔 데이터가 없다 — vision-language instruction-following 데이터가 부족하다. 사람이 크라우드소싱으로 만들기엔 느리고 정의도 모호하다.
  • 기존 비전 모델의 한계 — task마다 단일 대형 비전 모델이 따로 풀고, 인터페이스가 고정돼 사용자 지시에 대한 상호작용·적응성이 낮다. 언어는 이미지 내용 묘사에만 쓰였다.
  • LLM의 강점 — 언어는 범용 인터페이스가 될 수 있다. 다양한 task 지시를 언어로 명시해 end-to-end 어시스턴트를 원하는 task로 전환시킬 수 있다.

텍스트 instruction tuning을 멀티모달로 옮기려면 — 우선 멀티모달 instruction 데이터부터 만들어야 한다.

핵심 아이디어

두 축으로 접근한다.

  • 데이터 — language-only GPT-4를 teacher로 써서, 이미지-텍스트 쌍을 instruction-following 형식으로 재구성한다.
  • 모델 — open-set 비전 인코더 CLIP과 언어 디코더 Vicuna를 잇고, 생성한 데이터로 end-to-end fine-tune한다.
① Vision Encoder (frozen)

CLIP ViT-L/14. grid feature $Z_v = g(X_v)$ 추출(마지막 직전 층).

② Projection (trainable)

단순 linear layer $W$. $H_v = W\,Z_v$ 로 시각 특징을 단어 임베딩 공간으로. 가볍다.

③ LLM (Vicuna)

언어 task에서 instruction following이 가장 좋아 채택. 시각 토큰+텍스트로 자기회귀 생성.

Figure 1. LLaVA 아키텍처. CLIP 비전 인코더의 특징 $Z_v$ 를 trainable projection $W$ 로 언어 임베딩 $H_v$ 로 바꿔, 언어 instruction 토큰과 함께 Vicuna에 넣어 응답을 생성한다.

방법

1) GPT-4로 instruction-following 데이터 생성

text-only GPT-4/ChatGPT는 이미지를 못 본다. 그래서 이미지를 두 가지 기호적 표현(symbolic representation) 으로 텍스트화해 프롬프트에 넣는다.

  • Captions — 장면을 여러 관점에서 서술.
  • Bounding boxes — 객체 개념 + 공간 위치를 인코딩.

COCO 이미지로, 사람이 만든 소수의 seed 예시를 in-context learning으로 줘서 세 종류의 데이터를 생성한다(총 158K).

Type 규모 내용
Conversation 58K 사진을 보는 듯한 다중 턴 Q&A (객체 종류·수·동작·위치·관계 등, 정답이 분명한 질문)
Detailed description 23K 이미지의 풍부·포괄적 설명
Complex reasoning 77K 단계적 논리가 필요한 심화 추론 질문
Table 1. instruction-following 데이터 예시. 위 블록은 GPT 프롬프트에 쓴 컨텍스트(캡션·박스), 아래 블록은 세 가지 응답 유형(conversation·detailed description·complex reasoning). 이미지는 참고용일 뿐 GPT 프롬프트엔 들어가지 않는다.

초기 실험에서 ChatGPT보다 GPT-4가 일관되게 더 높은 품질(특히 공간 추론)의 데이터를 만들었다.

2) 아키텍처

CLIP ViT-L/14(frozen)이 주는 grid feature $Z_v$ 를, trainable projection $W$ 로 단어 임베딩 차원의 시각 토큰 $H_v = W Z_v$ 로 바꿔 Vicuna에 넣는다. projection이 단순·경량이라 데이터 중심 실험을 빠르게 반복할 수 있다(더 정교한 connector는 future work).

3) 2-stage instruction-tuning

  • Stage 1 — Feature Alignment 사전학습. CC3M을 595K로 필터링, naive 확장으로 single-turn 데이터화. ViT·LLM 모두 freeze, projection $W$ 만 학습 → $H_v$ 를 LLM 단어 임베딩에 정렬. “frozen LLM에 맞는 visual tokenizer 학습” 으로 이해할 수 있다.
  • Stage 2 — End-to-End Fine-tuning. ViT는 계속 freeze, projection $W$ + LLM 학습. 두 시나리오:
    • Multimodal Chatbot — 158K instruction 데이터로 fine-tune(conversation은 multi-turn, 나머지는 single-turn, 균등 샘플).
    • ScienceQA — 질문·컨텍스트를 instruction으로, 추론 과정 + 정답을 응답으로 구성.

결과

Table 3. GPT-4 논문의 예시(차 위에서 다림질)로 시각 추론·대화 비교. BLIP-2·OpenFlamingo가 장면을 '묘사'만 하는 데 비해, LLaVA는 사용자의 지시를 정확히 '따른다'. 단순히 묘사를 요청해도 LLaVA는 이미지의 비정상적 요소를 짚어낸다.
  • 멀티모달 챗 — 작은 instruction 데이터(이미지 80K)로도 멀티모달 GPT-4와 유사한 추론을 보인다. BLIP-2·OpenFlamingo가 묘사에 그치는 반면 LLaVA는 지시를 따른다. LLaVA-Bench(COCO)에서 GPT-4 대비 85.1%, In-the-Wild에서 BLIP-2 +29%·OpenFlamingo +48%.
  • 데이터가 곧 능력 — instruction tuning을 하면 지시 수행이 50점 이상 상승, 세 유형을 모두 쓸 때 최고(85.1%).
Table 7. ScienceQA 정확도. LLaVA 단독 90.92%(SOTA 91.68%에 근접), GPT-4(2-shot) 82.69%. LLaVA와 GPT-4를 결합(GPT-4 judge)하면 모든 범주에서 일관 개선되어 새 SOTA 92.53%.
  • ScienceQA — LLaVA 단독 90.92%. GPT-4를 judge로 앙상블하면 92.53% 신규 SOTA(텍스트-only GPT-4가 일부 오답을 교정).
  • ablation 요지 — 시각 특징은 마지막 직전 층이 더 낫고(세부 묘사에 유리), CoT식 “이유 먼저” 전략과 모델 규모가 성능에 기여.

한 줄 정리 & 의의

  • connector를 가장 단순한 linear projection으로 최소화하고, 대신 GPT-4가 만든 visual instruction 데이터 + end-to-end instruction tuning으로 범용 멀티모달 어시스턴트를 만든 모델 — “connector보다 데이터/튜닝이 능력을 만든다” 를 보였다.
  • visual instruction tuning 패러다임을 연 대표작. text-only GPT-4를 teacher로 멀티모달 데이터를 합성하는 파이프라인이 이후 연구의 표준 레시피가 됐다.
  • 위치(connector 계열). Flamingo는 cross-attention, BLIP-2는 Q-Former로 시각을 주입했다면, LLaVA는 단순 projection으로도 충분함을 보였다 — connector 경량화의 정점. 이후 LLaVA-1.5로 이어진다. → VLM 개요