[논문 정리] InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning

bluein·2025년 9월 11일

https://arxiv.org/abs/2305.06500


1. Introduction

Vision-Language Instruction Tuning

  • Goal of AI
    • 단일 모델로 사용자가 지정한 임의의 Task를 해결하는 것, 이는 인공지능 연구의 오랜 열망
  • Instruction Tuning in NLP
    • 다양한 Task를 자연어 Instruction으로 설명해 대규모 언어 모델(LLM)을 Fine-tuning
    • 그리고 난 후, 사용자의 임의의 Instruction을 더 효과적으로 따를 수 있게 함
      • 예: Instruction-tuned LLM은 Vision-Language Task에도 활용
      • ChatGPT, Claude, Grok 등과 같은 대화형 AI 서비스들은 대부분 Instruction Tuning을 거친 모델을 기반으로 작동하여 사용자와의 상호작용을 최적화
    • BLIP-2는 고정된 LLM을 시각 입력 이해에 적응시켜 Image-to-Text 생성에서 초기 성능 보여줌
  • Vision-Language Tasks의 다양성
    • 다양한 도메인의 시각 입력으로 인해 NLP Task보다 더 복잡
    • 단일 모델이 학습 중 보지 못한 다양한 Vision-Language Task에 일반화해야 하는 도전 과제

Existing Approaches and Limitations

  • Multitask Learning
    • 다양한 Vision-Language Task를 동일한 입력-출력 형식으로 구성
    • 한계: Instruction 없는 Multitask Learning은 보지 못한 데이터셋과 Task에 대한 일반화 성능 낮음
  • Pre-trained LLM Extension
    • 사전 학습된 LLM에 시각 구성 요소 추가, Image Caption 데이터로 시각 구성 요소 학습
    • 한계: Image Caption 데이터는 시각 설명 이상의 요구사항이 있는 Vision-Language Task에 대한 광범위한 일반화를 제한

InstructBLIP: A Novel Framework

  • InstructBLIP
    • Vision-Language Instruction Tuning 프레임워크
    • 통합된 자연어 인터페이스를 통해 다양한 Vision-Language Task를 해결하는 범용 모델 구축
    • 다양한 Instruction 데이터셋으로 멀티모달 LLM 학습
    • Initialization
      • 사전 학습된 BLIP-2 모델(Image Encoder, LLM, Query Transformer(Q-Former)로 구성) 사용
    • Training Process
      • Image Encoder와 LLM은 고정(Frozen), Q-Former만 Instruction Tuning으로 Fine-tuning
  • Key Contributions
    1. Comprehensive Study
      • 26개 데이터셋을 Instruction Tuning 형식으로 변환, 11개 Task 카테고리로 분류
      • 13개 Held-in 데이터셋으로 Instruction Tuning, 13개 Held-out 데이터셋으로 Zero-shot 평가
      • 4개 Task 카테고리 전체를 Zero-shot 평가용으로 보류
      • 정량적/정성적 결과로 InstructBLIP의 Vision-Language Zero-shot 일반화 성능 입증
    2. Instruction-Aware Visual Feature Extraction
      • 새로운 메커니즘으로, 주어진 Instruction에 따라 유연하고 정보적인 시각 Feature 추출
      • 텍스트 Instruction을 고정된 LLM뿐 아니라 Q-Former에도 제공해 Instruction-Aware 시각 Feature 추출
      • 균형 잡힌 샘플링 전략으로 데이터셋 간 학습 진행 동기화
    3. InstructBLIP Model Suite
      • 두 가지 LLM 계열 기반 모델 평가 및 오픈소스 제공
        • FlanT5: T5에서 Fine-tuning된 Encoder-Decoder LLM
        • Vicuna: LLaMA에서 Fine-tuning된 Decoder-only LLM
      • InstructBLIP 모델은 다양한 Vision-Language Task에서 SOTA Zero-shot 성능 달성
      • 개별 다운스트림 Task에서 모델 초기화로 사용 시 SOTA Fine-tuning 성능 제공

2. Vision-Language Instruction Tuning

2.1 Tasks and Datasets

  • 데이터 다양성 확보
    • Instruction Tuning 데이터의 다양성을 보장하면서 접근성을 고려해 공개된 Vision-Language 데이터셋을 종합적으로 수집하고 Instruction Tuning 형식으로 변환
  • 데이터셋 구성
    • 11개 Task 카테고리와 26개 데이터셋으로 구성
      • 포함 Task: Image Captioning, Image Captioning with Reading Comprehension, Visual Reasoning, Image Question Answering, Knowledge-grounded Image Question Answering, Image Question Answering with Reading Comprehension, Image Question Generation (QA 데이터셋에서 적응), Video Question Answering, Visual Conversational Question Answering, Image Classification, LLaVA-Instruct-150K
  • Instruction Template
    • 각 Task마다 10~15개의 서로 다른 자연어 Instruction Template을 신중히 제작
      • 템플릿은 Task와 목표를 명확히 표현하는 Instruction Tuning 데이터의 기반
      • 짧은 응답을 선호하는 공개 데이터셋(예: COCO)의 경우, 모델이 항상 짧은 출력에 과적합되지 않도록 "short" 또는 "briefly" 같은 용어를 일부 템플릿에 포함
      • LLaVA-Instruct-150K는 본래 Instruction 형식으로 구성되어 추가 템플릿 미적용
    • 예시
      • COCO (Image Captioning)
        • 캡션: "A dog is running on the beach"
        • Instruction: "이미지를 간략히 묘사하세요"와 함께 학습
      • GQA (Visual Reasoning)
        • 캡션: "The cup is to the right of the plate"
        • Instruction: "이미지에서 객체 간 관계를 설명하세요"와 결합 후 학습

2.2 Training and Evaluation Protocols

  • 데이터 분할
    • 충분한 학습 및 Zero-shot 평가를 위해 26개 데이터셋을 13개 Held-in 데이터셋과 13개 Held-out 데이터셋으로 분할 (아래 그림에서 노란색과 흰색으로 표시)
    • Held-in 데이터셋의 학습 세트를 Instruction Tuning에 사용, 검증/테스트 세트를 Held-in 평가에 활용
    • Held-in 데이터셋
      • 모델 학습(Instruction Tuning)에 직접 사용되는 데이터셋
    • Held-out 데이터셋
      • 학습 중 모델이 전혀 보지 않은 데이터셋으로, Zero-shot 성능 평가에 사용
  • Held-out 평가
    • Instruction Tuning이 보지 못한 데이터에 대한 Zero-shot 성능을 향상시키는 방식을 이해하기 위한 두 가지 유형
      1. 학습 중 노출되지 않은 데이터셋, 하지만 Task는 Held-in 클러스터에 포함
      2. 데이터셋 관련 Task가 학습 중 완전히 보지 못한 경우
        (Visual Reasoning, Video Question Answering, Visual Conversational QA, Image Classification 전체 보류)
  • 데이터 오염 방지
    • 평가 데이터가 Held-in 학습 클러스터에 나타나지 않도록 데이터셋 신중히 선택
  • 학습 방식
    • 모든 Held-in 학습 세트를 혼합하고, 각 데이터셋에 대해 Instruction Template을 균일하게 샘플링
    • 표준 언어 모델링 Loss를 사용해 Instruction에 따라 응답 직접 생성
    • 장면 텍스트가 포함된 데이터셋의 경우, OCR 토큰을 Instruction에 추가 정보로 포함

2.3 Instruction-Aware Visual Feature Extraction

  • 기존 문제점
    • BLIP-2를 포함한 기존 Zero-shot Image-to-Text 생성 방법은 Instruction과 무관한(Instruction-agnostic) 방식으로 시각 Feature를 추출, Task와 무관한 정적 시각 표현을 LLM에 전달
  • InstructBLIP의 접근
    • Task Instruction에 적응해 Task에 가장 적합한 시각 표현을 생성하는 Instruction-Aware Vision Model 제안
    • 동일 입력 Image에 대해 Task Instruction이 크게 달라질 경우 명백한 이점
  • 아키텍처
    • BLIP-2와 유사하게, InstructBLIP은 Q-Former(Query Transformer)를 사용해 고정된 Image Encoder에서 시각 Feature 추출
    • Q-Former 입력
      • K개의 학습 가능한 벡터 (Learnable vector)인 Query Embedding이 추가적으로 학습
      • Query Embedding
        • 모델이 사전 학습과 Instruction Tuning 과정에서 최적화된 고정된 표현
        • 사전 학습(pre-training) 단계에서 초기화
      • Image Encoder 출력과 Cross Attention으로 상호작용
      • Instruction-Aware Q-Former
        • Instruction 텍스트 토큰을 Q-Former의 추가 입력으로 제공
          • Instruction이 Q-Former의 Self-Attention 레이어에서 Query Embedding과 상호작용, Task 관련 Image Feature 추출 유도
        • 결과: LLM이 Instruction 따르기에 적합한 시각 정보 수신
        • 실증적 결과: Held-in 및 Held-out 평가에서 상당한 성능 향상
    • Q-Former 출력
      • Query Embedding당 K개의 인코딩된 시각 벡터, Linear Projection 후 고정된 LLM에 전달
      • K개의 인코딩된 Visual Vector의 의미?
        • 이미지의 시각 정보를 압축적으로 요약한 'Feature Vectors'로, 모델이 이미지 내용을 효율적으로 처리할 수 있게 해주는 핵심 요소
        • K는 보통 32나 128 같은 고정된 숫자로 설정
        • 예시)
          • 이미지를 '방 안의 물건들'이라고 할 때, Image Encoder는 방의 모든 물건(책상, 의자, 창문 등)을 나열한 목록을 만듦
          • K개의 Query Embedding은 'K명의 탐정'처럼, 각자 다른 질문을 던짐
            • 1번 탐정은 "어떤 물건이 있는가?"
            • 2번은 "색상은 어떤가?"
            • 3번은 "배치 관계는?" 등
        • 왜 K개인가?
          • 하나의 Vector만 사용하면 이미지의 모든 정보를 한 번에 담기 어려움
            • K=1: 이미지 전체를 하나의 요약으로만 봄
            • K=32: 32개의 Vector가 이미지의 세부 영역(객체 인식, 공간 관계, 색상 등)을 각각 담당. 이 Vector들은 서로 보완되어 LLM(언어 모델)이 더 풍부한 이해를 할 수 있게 함
    • 사전 학습
      • BLIP-2와 같이 Image-Caption 데이터로 두 단계 사전 학습
        1. 고정된 Image Encoder로 Q-Former 사전 학습, Vision-Language 표현 학습
        2. Q-Former 출력을 고정된 LLM의 Text 생성용 Soft Visual Prompt로 적응
          • Soft Visual Prompt는 "힌트" 역할을 하며 고정된 LLM의 텍스트 생성을 유도
    • Instruction Tuning
      • Q-Former를 Fine-tuning, LLM은 Q-Former의 Visual Encoding과 Task Instruction을 입력으로 받음

2.4 Balancing Training Datasets

  • 문제점
    • 학습 데이터셋 수가 많고 각 데이터셋 크기 차이가 커서, 균일 혼합 시 작은 데이터셋에 과적합, 큰 데이터셋에 과소적합 가능
  • 제안 방법
    • 데이터셋 크기의 제곱근에 비례하는 확률로 샘플링
      • 수식: D개 데이터셋의 크기가 {S1, S2, ..., SD}일 때, 데이터셋 d에서 샘플이 선택될 확률
        pd=Sdi=1DSip_d = \frac{\sqrt{S_d}}{\sum_{i=1}^D \sqrt{S_i}}
    • 큰 데이터셋은 상대적으로 샘플링 확률이 낮아지고, 작은 데이터셋은 상대적으로 높아짐
    • 큰 데이터셋의 Underfitting과 작은 데이터셋의 Overfitting을 방지해 학습 균형을 맞춤
      • 예: 다지선다 질문을 포함하는 A-OKVQA의 가중치 낮춤, 개방형 텍스트 생성을 요구하는 OKVQA의 가중치 높임
  • 효과
    • 균형 잡힌 데이터셋 샘플링 전략이 Held-in 평가와 Held-out 일반화 성능 모두 개선

2.5 Inference Methods

  • 생성 방식
    • 추론 시 데이터셋 특성에 따라 두 가지 생성 방식을 사용
    • 일반 데이터셋
      • 예: Image Captioning, Open-ended VQA
      • Instruction-tuned 모델이 Instruction을 받아 직접 응답 생성
      • Ground Truth와 비교해 성능 지표 계산
    • 분류 및 다지선다 VQA Task
      • 예: ScienceQA, IconQA, A-OKVQA, HatefulMemes, Visual Dialog, MSVD, MSRVTT
      • Vocabulary Ranking 방식 적용
        • 모델이 후보 답변 목록으로 제한된 상태에서 응답 생성
        • 각 후보의 로그 가능도(Log-likelihood) 계산 후 가장 높은 값을 최종 예측으로 선택
        • 이진 분류의 경우, 긍정(예: Yes, True) 및 부정(예: No, False) 레이블을 자연어 텍스트의 단어 빈도를 활용해 확장된 Verbalizer 세트로 구성
    • Video Question Answering
      • 비디오당 4개의 균일 샘플링된 프레임을 사용
      • 각 프레임은 Image Encoder와 Q-Former로 개별 처리 후 추출된 시각 Feature를 연결해 LLM에 입력

2.6 Implementation Details

  • 아키텍처
    • BLIP-2의 모듈식 설계로 다양한 LLM에 유연히 적응 가능
    • 실험에서 동일한 Image Encoder(ViT-g/14)와 4가지 고정 LLM(FlanT5-XL(3B), FlanT5-XXL(11B), Vicuna-7B, Vicuna-13B)으로 BLIP-2 변형 사용
      • FlanT5: T5 기반의 Encoder-Decoder Transformer로 Instruction Tuning 적용
      • Vicuna: LLaMA 기반의 Decoder-only Transformer로 Instruction Tuning 적용
    • Vision-Language Instruction Tuning
      • 사전 학습된 BLIP-2 체크포인트로 초기화
      • Image Encoder와 LLM은 고정(Frozen)
      • Q-Former만 Fine-tuning
    • Vicuna의 경우, 원래 BLIP-2 체크포인트가 없으므로 BLIP-2와 동일한 절차로 사전 학습 수행
  • 학습 및 하이퍼파라미터
    • LAVIS 라이브러리로 구현, 학습, 평가 수행
    • 최대 60K 스텝으로 Instruction Tuning, 3K 스텝마다 모델 성능 검증, 최적 체크포인트 하나를 모든 데이터셋 평가에 사용
    • Batch size: 3B 모델은 192, 7B 모델은 128, 11/13B 모델은 64
    • AdamW Optimzer 사용: β1 = 0.9, β2 = 0.999, Weight Decay = 0.05
    • Learning rate: 초기 1,000 스텝 동안 10⁻⁸에서 10⁻⁵로 Linear Warmup, 이후 Cosine Decay로 최소 학습률 0까지 감소
    • 16개의 Nvidia A100(40G) GPU 사용, 학습은 1.5일 내 완료

3. Experimental Results and Analysis

3.1 Zero-shot Evaluation

  • 평가 설정
    • 13개 Held-out 데이터셋에서 InstructBLIP 모델을 평가, Instruction 템플릿은 아래와 같음
      • 비교 대상
        • 기존 SOTA 모델인 BLIP-2 및 Flamingo
      • 결과
        • 모든 데이터셋에서 새로운 Zero-shot SOTA 달성
        • InstructBLIP은 원래 백본인 BLIP-2를 모든 LLM에서 큰 차이로 능가
        • Vision-Language Instruction Tuning의 효과 입증
        • 예: InstructBLIP FlanT5XL은 BLIP-2 FlanT5XL 대비 평균 15.0% 상대적 성능 향상
    • 미노출 Task 성능
      • Video QA 같은 미노출 Task 카테고리에서 최대 47.1% 상대적 향상 (MSRVTT-QA)
      • 시간적 비디오 데이터 학습 없이도 뛰어난 일반화
    • 소규모 모델 성능
      • 4B 파라미터의 InstructBLIP FlanT5XL
      • 80B 파라미터의 Flamingo 대비 6개 공유 평가 데이터셋에서 평균 24.8% 상대적 향상
    • Visual Dialog 평가
      • MRR 지표 사용
      • NDCG 대비 확실한 응답을 선호해 Zero-shot 시나리오에 더 적합

3.2 Ablation Study on Instruction Tuning Techniques

  • 목적
    • Instruction-Aware Visual Feature Extraction과 Balanced Dataset Sampling의 영향을 조사
  • 결과
    • Instruction-Aware 제거
      • 모든 데이터셋에서 성능 크게 저하
      • 특히 공간적(ScienceQA) 또는 시간적(iVQA) 시각 추론 데이터셋에서 Q-Former의 Instruction 입력이 정보적 이미지 영역에 주목하도록 유도하므로 성능 저하 심각
      • 정보적 이미지 영역?
        • 주어진 지시(Instruction)에 따라 작업 수행에 가장 관련 있는 이미지의 특정 부분이나 특징을 의미
        • Instruction-Aware 메커니즘은 Q-Former가 Intruction Text를 활용해 Image Encoder 출력에서 Task 관련 Visual Feature를 선택적으로 추출하도록 유도
        • 이를 제거하면 Task와 무관한 일반적 Feature만 추출되어, 특히 공간적(ScienceQA)·시간적(iVQA) 추론에서 성능이 크게 저하
    • Balanced Sampling 제거
      • 데이터셋 간 최대 성능 달성 시점이 달라 불안정하고 불균일한 학습
      • 다중 데이터셋의 동기화된 진행 부족으로 전체 성능 저하

3.3 Qualitative Evaluation

  • 정성적 분석
    • 다양한 이미지와 Instruction으로 InstructBLIP의 복잡한 시각 추론 능력 평가
      • 복잡한 추론
        • 시각 장면에서 발생 가능 사건 추론
        • : 야자수 같은 시각적 증거로 재난 유형 추정
        • 질문: 현재 장면을 바탕으로 어떤 일이 일어났을 가능성이 있나요?
        • 답변: 이미지의 현재 장면을 바탕으로, 허리케인이나 심각한 기상 현상이 해당 지역의 건물과 인프라에 큰 피해를 입혔을 가능성이 있습니다. 잔해로 뒤덮인 지역을 걷고 있는 사람은 재난으로 인한 피해를 점검하고 있는 것으로 보입니다. 야자수의 존재는 이 지역이 허리케인이나 기타 자연재해에 취약한 열대 또는 아열대 지역일 가능성을 시사합니다.
      • 지식 연결
        • 시각 입력과 내재된 텍스트 지식을 연결
        • 예: 유명 그림 소개
        • 질문: 이 그림을 자세히 소개해주세요.
        • 답변: 이 그림은 "진주 귀걸이를 한 소녀" 또는 "진주 귀걸이의 소녀"로 알려진 작품으로, 푸른 드레스를 입은 젊은 소녀를 묘사합니다. 소녀는 왼쪽 귀에 진주 귀걸이를 착용하고 있으며, 머리는 뒤로 묶어 올린 번 스타일입니다. 그녀는 관람자를 직접 바라보고 있습니다. 이 그림은 네덜란드 화가 요하네스 베르메르(Johannes Vermeer)가 1665년에 그린 유명한 작품으로, 그의 걸작 중 하나로 평가받습니다. 소녀의 얼굴 표정의 사실적 묘사와 정교한 디테일로 널리 인정받는 작품입니다.
      • 분위기 이해
        • 시각 이미지의 비유적 함축 이해 및 설명
      • 다중 턴 대화
        • 대화 기록을 효과적으로 고려해 응답 생성
    • 비교 분석
      • GPT4, LLaVA, MiniGPT-4와 비교
      • InstructBLIP은 시각적 세부사항을 더 정확히 포함하고 논리적 일관성 있는 추론 제공
      • 긴 응답이 항상 적합하지 않음
        • 예: InstructBLIP은 사용자 의도에 맞춰 응답 길이 조정, LLaVA와 MiniGPT-4는 덜 관련성 있는 긴 문장 생성
      • 이점: 다양한 Instruction Tuning 데이터와 효과적인 아키텍처 설계에서 비롯

3.4 Instruction Tuning vs. Multitask Learning

  • 비교 목적
    • Instruction Tuning의 Zero-shot 일반화 향상이 Instruction 형식화에서 비롯된 것인지, 단순히 Multitask Learning 효과인지 분석
    • Multitask Learning 설정
      1. Vanilla 입력-출력 형식
        • Instruction 없이 학습 데이터셋의 원본 형식으로 학습
        • 평가 시 Instruction 제공 (Image Captioning은 이미지 입력만으로 더 나은 성능)
      2. Task Identifier 추가
        • 학습 시 [Task:Dataset] 식별자 추가
        • 예: [Visual Question Answering:VQAv2], Held-out 데이터셋은 Task 이름만 사용
    • 결과
      • BLIP-2 Zero-shot, Multitask Learning, Instruction Tuning 비교
        (BLIP-2 FlanT5XL 백본, 동일 학습 설정)
      • Held-in 데이터셋
        • Instruction Tuning과 Multitask Learning 성능 유사, 모델이 두 입력 패턴에 비슷하게 적응
      • Held-out 데이터셋
        • Instruction Tuning이 Multitask Learning 대비 큰 성능 향상, Multitask Learning은 원래 BLIP-2와 동등
      • 결론
        • Instruction Tuning이 Zero-shot 일반화 능력 향상의 핵심

3.5 Finetuning InstructBLIP on Downstream Tasks

  • 설정
    • InstructBLIP을 특정 데이터셋에 Fine-tuning해 성능 조사
    • 기존 방법(Flamingo, BLIP-2)은 입력 이미지 해상도 증가 및 시각 Encoder Fine-tuning
    • InstructBLIP은 224×224 해상도 유지 및 시각 Encoder 고정
    • 학습 파라미터: 1.2B에서 188M으로 감소, Fine-tuning 효율성 크게 향상
  • 결과
    • 모든 데이터셋에서 BLIP-2 대비 우수한 Fine-tuning 성능
    • InstructBLIP이 Task별 Fine-tuning에 더 나은 초기화 모델임을 검증
    • SOTA Fine-tuning 성능: ScienceQA (IMG), OCR-VQA, A-OKVQA에서 달성, OKVQA는 562B 파라미터 PaLM-E에 뒤짐
    • 모델별 특성
      • FlanT5 기반 InstructBLIP: 다지선다 Task에서 우수
      • Vicuna 기반 InstructBLIP: 개방형 생성 Task에서 우수
      • 차이 원인
        • FlanT5는 다지선다 QA 및 분류 데이터로 주로 Fine-tuning, Vicuna는 개방형 Instruction 데이터로 Fine-tuning

5. Conclusion

  • InstructBLIP 제안
    • 일반화된 Vision-Language 모델을 위한 간단하면서도 혁신적인 Instruction Tuning 프레임워크 제시
    • Vision-Language Instruction Tuning에 대한 종합적 연구 수행
    • InstructBLIP 모델이 보지 못한 다양한 Task에 대해 SOTA 성능으로 일반화 가능함을 입증
  • 정성적 성능
    • 복잡한 시각 추론, 지식 기반 이미지 설명, 다중 턴 대화 등 다양한 Instruction 따르기 능력 보여줌
    • 예: 시각적 증거 기반 추론, 유명 그림 소개, 비유적 이미지 함축 이해
  • Fine-tuning 성능
    • InstructBLIP은 다운스트림 Task Fine-tuning을 위한 향상된 모델 초기화로 활용
    • ScienceQA (IMG), OCR-VQA, A-OKVQA 등에서 SOTA 결과 달성
  • 의의
    • InstructBLIP은 범용 멀티모달 AI 연구와 응용에 새로운 가능성을 열어, 다양한 Vision-Language Task에서의 일반화와 효율적 학습을 촉진할 것으로 기대

profile
AI Research Engineer

0개의 댓글