Vision & Multimodal · NeurIPS 2023 (Oral) 2023

Visual Instruction Tuning — LLaVA

CLIP + Vicuna + GPT-4 생성 158K 지시 — 오픈소스 멀티모달 챗의 기준점.

Haotian Liu, Chunyuan Li, Qingyang Wu, Yong Jae Lee · UW–Madison · Microsoft Research

llavamultimodalinstructionvicunagpt-4

1. 핵심 요약

2. 왜 중요한가 — 쉬운 설명

30초 비유

눈 역할(CLIP) 과 말솜씨(Vicuna) 를 이미 갖춘 둘을 작은 다리(선형층 하나) 로 잇습니다. 학습 데이터는? 텍스트만 읽는 GPT-4 에게 사진의 캡션·박스 정보만 주고 “이 사진으로 대화 예시를 만들어 줘” 시켜서 15.8만 개를 뽑습니다.

무엇을 제안했나

  • CLIP ViT + 선형 투영 + LLaMA계 LLM(Vicuna) — 아주 단순한 연결.
  • GPT-4 생성 지시 데이터 + 2단계 학습(다리만 정렬 → 전체 미세조정).

그래서 무엇이 달라졌나

  • 값싸게(하루 규모 학습) 그럴듯한 오픈 멀티모달 챗을 만듦.
  • LLaVA-1.5 등 후속의 기준점 — 오픈 멀티모달의 “해 볼 만한 레시피”.

더 공부할 가치가 있을까?

  • 오픈 멀티모달 챗을 만들 거면 필수 — 가장 재현하기 쉬운 출발점.
  • 비교해 볼 것 — 커넥터를 2단계로 정렬하는 BLIP-2, 어텐션으로 잇는 Flamingo.

3. 배경 · 오픈 멀티모달 챗

ChatGPT/InstructGPT식 지시 튜닝은 NLP에서 잘 됐지만, 비전+언어 지시 데이터는 비싸고 GPT-4V는 비공개. BLIP-2·OpenFlamingo는 있지만 “지시를 따라” 답하기보다 장면 설명에 가깝습니다. 질문: 저비용으로 멀티모달 지시 데이터를 만들고, CLIP 비전을 LLM에 붙일 수 있을까?

왜 LLaVA인가

폐쇄 · 기존 오픈 · LLaVA를 전환하세요.

CLIP + Vicuna + GPT-4 생성 158K. 지시 따르기 오픈 기준점. Wild 67.3, ScienceQA 앙상블 92.53%.

폐쇄 GPT-4V · 약한 오픈 모델 · LLaVA의 공백.

4. GPT-4로 데이터 생성

이미지는 안 넣고, 캡션 + 바운딩 박스만 텍스트로 GPT-4에 줍니다. COCO 이미지에서 세 유형을 생성 — 대화 58K · 상세 설명 23K · 복잡 추론 77K = 158K (≈80K unique images). ChatGPT보다 GPT-4가 공간 추론 품질이 높음.

GPT-4 합성 데이터

픽셀 없이 캡션+박스만. 유형을 클릭 — 합계 158K.

입력캡션 + boxes
→
GPT-4텍스트만
→
출력158K
N77K
형식단계적 논리
이미지~80K

왜 위험한가? → 근거를 단계적으로 추론한 답.

캡션·박스 → GPT-4 → 세 유형 지시. 유형을 클릭하세요.

5. 아키텍처

Hv=W⋅Zv,Zv=g(Xv)H_v = W \cdot Z_v,\quad Z_v = g(X_v)
논문 Eq. 1 — CLIP 특징 → 단어 임베딩 차원
비전→언어 투영수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명

네트워크

Fig. 1. 이미지 → CLIP → W → Vicuna. 블록을 클릭하세요.

🖼
→→
응답
W

Hv = W · Zv (Eq. 1). CLIP 차원을 Vicuna 단어 임베딩에 맞춤. Stage 1에서만 먼저 학습.

CLIP ViT-L/14 · W · Vicuna. 블록을 클릭하세요.

비전: CLIP ViT-L/14 (고정). 마지막 Transformer 직전/직후 grid feature를 실험 — ScienceQA best는 직전. 투영: 단순 선형 W(Flamingo gated XAttn·BLIP-2 Q-former보다 가벼움). LLM: Vicuna (LLaMA 기반 챗). 손실은 Assistant 토큰만 AR CE.

p(Xa∣Xv,Xinstruct)=∏ipθ(xi∣Xv,Xinstruct,<i,Xa,<i)p(X_a \mid X_v, X_{\mathrm{instruct}}) = \prod_i p_\theta(x_i \mid X_v, X_{\mathrm{instruct}, <i}, X_{a,<i})
논문 Eq. 2–3 — 이미지+지시 조건 자기회귀
멀티모달 자기회귀수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명

6. 2단계 훈련

2단계 훈련

정렬 → 엔드투엔드. 단계를 고르세요.

데이터CC-595K
학습W only
고정CLIP + Vicuna
lr2e-3
에폭1
GPU8×A100

필터된 CC3M 캡션을 “짧게 설명해” 지시로 변환. 비전 토큰을 언어 공간에 맞춤.

Stage 1: W만 · Stage 2: W+LLM. 단계를 전환하세요.

Stage 1 (정렬): CC3M을 595K로 필터 → 짧은 설명 지시로 변환. W만 학습(lr 2e-3, 1 epoch). CLIP·Vicuna frozen.

Stage 2 (지시): Instruct-158K로 W + LLM 동시(lr 2e-5, 3 epochs). 비전은 계속 frozen. 8×A100, Stage1 ~4h / Stage2 ~10h.

7. 실험 · 유산

LLaVA-Bench

  • (COCO) Table 4: GPT-4(텍스트 GT) 대비 상대 점수 — Full 85.1 (대화 83.1 · 상세 75.3 · 복잡 96.5). 지시 튜닝 없으면 ~21.5.
  • (In-the-Wild) Table 5: LLaVA 67.3 (대화 57.3 · 상세 52.5 · 복잡 81.7) vs BLIP-2 38.1 vs OpenFlamingo 19.1.

ScienceQA (Table 7)

  • LLaVA 단독 90.92% (이전 SOTA MM-CoT Large 91.68%에 근접)
  • LLaVA + GPT-4 judge 92.53% SOTA
  • 7B: 89.84 (−1.08). scratch(정렬 없음): 85.81 (−5.11).

벤치마크

Table 4 / 5 / 7. COCO는 GPT-4 대비 상대 점수.

Complex
96.5
Conversation
83.1
Detail
75.3
All
85.1
No IT
21.5

Table 4 LLaVA-Bench (COCO). 텍스트 GPT-4가 GT 캡션·박스를 본 답을 상한으로 상대 점수. Full 85.1. 지시 튜닝 없으면 21.5.

COCO · In-the-Wild · ScienceQA 탭.

유산 · 한계

선형 W → 2-layer MLP, CLIP-L/14@336, 공개 데이터만으로 다수 벤치 SOTA (후속 논문).

CLIP · LLaMA · ViT · InstructGPT

LLaVA-1.5 · InstructBLIP · 한계(환각·OCR).

유산

  • LLaVA-1.5: 선형 → MLP, 336px, 공개 데이터만으로 다수 벤치 SOTA
  • InstructBLIP · MiniGPT-4 · mPLUG-Owl 등 “비전 인코더 + LLM + 가벼운 커넥터” 패턴

한계 (논문)

환각 · 세밀 공간 추론 · OCR 약함. CLIP·Vicuna 편향 상속.

IdeaRole
Visual instruction tuningSFT on image+text instructions
GPT-4 data genCaptions+boxes → multimodal QA without pixels
Linear WMap CLIP Zv into Vicuna embedding space
2-stageAlign W on 595K · then W+LLM on 158K
GPT-4 judgeEnsemble ScienceQA answers → 92.53%

이해도 점검

보기를 골라 정답과 해설을 확인하세요. 채점은 이 페이지 안에서만 이뤄집니다.

0 / 5 정답
  1. 1. LLaVA의 구성은?

  2. 2. LLaVA의 시각 지시 데이터 생성 방식은?

  3. 3. LLaVA의 2단계 훈련은?

  4. 4. LLaVA의 비전→언어 커넥터 설계는?

  5. 5. LLaVA의 결과·유산은?