[InstructBLIP] Towards General-purpose Vision-Language Models with Instruction Tuning
Wenliang Dai, Junnan Li, Dongxu Li, … Steven Hoi · Salesforce Research
한 줄 요약. BLIP-2를 instruction tuning한 후속. 두 가지가 핵심 — ① 26개 공개 데이터셋을 instruction 형식으로 변환해 13개(held-in)로 튜닝, 13개(held-out)로 zero-shot 평가. ② instruction-aware Q-Former: 지시문을 LLM뿐 아니라 Q-Former에도 입력해, 그 지시에 맞춤화된 시각 특징을 뽑게 한다(BLIP-2는 지시와 무관한 고정 특징). 이미지 인코더·LLM은 freeze, Q-Former만 학습. 그 결과 held-out 13개 전부 zero-shot SOTA, BLIP-2와 더 큰 Flamingo도 능가.
배경
NLP에선 instruction tuning(다양한 task를 자연어 지시로 fine-tune)이 범용 모델을 만드는 길을 열었다. 그런데 비전-언어 instruction tuning은 덜 탐구됐다.
- BLIP-2는 frozen LLM에 시각을 붙여 지시를 어느 정도 따랐지만, 본격적 instruction tuning은 아니었다.
- 핵심 난점: 시각 입력 때문에 입력 분포·task 다양성이 훨씬 크다 → 일반화가 어렵다.
BLIP-2를 토대로, 많은 task를 instruction 형식으로 학습시키고, 시각 특징도 지시에 맞게 뽑게 하면 일반화가 좋아지지 않을까?
핵심 ① — Instruction-aware Q-Former
가장 중요한 변경점. “지시를 보고 시각 특징을 맞춤 추출” 한다.
Q-Former가 무슨 지시인지 모른 채 항상 똑같은(static) 시각 특징을 뽑아 LLM에 넘김. 지시문은 LLM에만. → 같은 이미지에 "개 품종?" vs "배경 색?"이 와도 같은 특징만.
지시문을 Q-Former에도 입력 → learnable query가 지시문과 self-attention으로 상호작용해 지시에 맞춤화된 시각 특징을 추출(어디를 볼지 지시에 따라 바뀜).
- 효과 — 지시에 맞는 정보를 뽑으니, 같은 이미지에 다양한 지시가 와도 유연하게 대응 → zero-shot 일반화 대폭 향상.
핵심 ② — 26개 데이터셋 instruction tuning
- 데이터 — 캡셔닝·VQA·지식 VQA·OCR·시각 추론·비디오 QA·대화 QA·분류 등 11개 task 범주, 26개 데이터셋을 instruction 형식으로 변환(각 task마다 10~15개 지시 템플릿). LLaVA-Instruct-150K도 포함.
- 분할 — 13 held-in(학습) / 13 held-out(zero-shot), 게다가 4개 task 범주는 통째로 held-out → “안 본 task” 일반화까지 평가.
- 학습 — 이미지 인코더·LLM은 freeze, Q-Former만 language modeling loss로 튜닝. dataset 간 balanced sampling으로 학습 속도 동기화.
- 두 LLM 계열 — Flan-T5(encoder-decoder)·Vicuna(decoder).
결과
- zero-shot SOTA — 13개 held-out 전부에서 BLIP-2와 더 큰 Flamingo를 큰 폭으로 능가.
- finetune SOTA — 개별 downstream에 미세조정 시에도 최고(예: ScienceQA(이미지) 90.7%).
- 정성 — 복잡한 장면 이해·추론, 지식 기반 묘사, 다중 턴 대화 등.
한 줄 정리 & 의의
- BLIP-2의 instruction-tuned 후속. 두 축 — ① instruction-aware Q-Former(지시를 Q-Former에도 줘 맞춤 시각 특징), ② 26개 학술 데이터 instruction tuning + held-in/held-out 설계.
- 차별점. BLIP-2는 “지시와 무관한 고정 시각 특징”이었는데, InstructBLIP은 “지시를 보고 시각 특징을 바꾼다.” LLaVA가 raw CLIP + GPT-4 데이터로 LLM까지 튜닝했다면, InstructBLIP은 Q-Former만 instruction-aware하게 튜닝.
- 위치. G3(Visual Instruction Tuning) 세대의 “Q-Former 노선” — BLIP-2 → InstructBLIP. → VLM 개요