NeurIPS 2023 (Oral). [Paper] [Page] [Github]
Haotian Liu, Chunyuan Li, Qingyang Wu, Yong Jae Lee
University of Wisconsin–Madison | Microsoft Research | Columbia University
17 Apr 2023

Introduction

인간은 비전, 언어 등 다양한 채널을 통해 세계와 상호 작용한다. 각 개별 채널은 특정 개념을 표현하고 전달하는 데 고유한 이점을 갖고 있어 세계에 대한 더 나은 이해를 촉진한다. AI의 핵심 목표 중 하나는 인간의 의도에 맞춰 멀티모달 비전 및 언어 명령을 효과적으로 따를 수 있는 범용적인 어시스턴트를 개발하는 것이다.

본 논문에서는 범용 비전 어시스턴트를 구축하기 위해 instruction-tuning을 언어-이미지 멀티모달 공간으로 확장하려는 첫 번째 시도인 visual instruction-tuning을 제시하였다.

한 가지 주요 과제는 비전-언어 명령에 따른 데이터가 부족하다는 것이다. 본 논문에서는 ChatGPT/GPT-4를 사용하여 이미지-텍스트 쌍을 instruction-following 형식으로 변환하는 데이터 재구성 관점과 파이프라인을 제시하였다.

저자들은 CLIP의 open-set 비전 인코더를 언어 디코더 Vicuna와 연결하고 생성된 데이터에 대해 end-to-end로 fine-tuning하여 large multimodal model (LMM)LLaVA (Large Language and Vision Assistant)를 개발하였다. 또한 LMM instruction-tuning을 위해 생성된 데이터를 사용하는 것의 효율성을 검증하고 범용적인 명령을 따르는 비전 에이전트를 구축하기 위한 실용적인 팁을 제안하였다. LLaVA는 GPT-4와의 앙상블을 통해 Science QA 멀티모달 추론 데이터셋에서 SOTA를 달성하였다.

추가로 저자들은 다양한 쌍의 이미지, 명령, 자세한 주석을 선택하여 새로운 벤치마크인 LLaVA-Bench를 제시하였다.

GPT-assisted Visual Instruction Data Generation

멀티모달 instruction-following 데이터의 경우 사용 가능한 양이 제한된다. 그러한 데이터를 생성하는 프로세스가 시간이 많이 걸리고 명확하지 않기 때문이다. 저자들은 널리 존재하는 이미지 쌍 데이터를 기반으로 하는 멀티모달 instruction-following 데이터 수집을 위해 ChatGPT/GPT-4를 활용할 것을 제안하였다.

이미지 \(\textbf{X}_v\)와 관련 캡션 \(\textbf{X}_c\)에 대하여 어시스턴트에게 이미지를 설명하도록 지시할 의도로 일련의 질문 \(\textbf{X}_q\)를 만든다. GPT-4 또는 ChatGPT를 강력한 teacher로 활용하여 (둘 다 입력으로 텍스트만 허용) 시각적 콘텐츠가 포함된 instruction-following 데이터를 생성한다. 특히 이미지를 시각적 feature로 인코딩하기 위해 두 가지 유형의 표현을 사용한다.

  1. 캡션은 일반적으로 다양한 관점에서 장면을 설명한다.
  2. Bounding box는 일반적으로 장면의 물체를 localize하고 각 box는 물체의 개념과 공간 위치를 인코딩한다.

이 표현들을 통해 이미지를 LLM이 인식 가능한 시퀀스로 인코딩할 수 있다. COCO 이미지를 사용하여 다음 세 가지 유형의 instruction-following 데이터를 생성한다.

  • Conversation: 저자들은 어시스턴트와 이 사진에 대해 질문하는 사람 사이의 대화를 디자인하였다. 답변은 마치 어시스턴트가 이미지를 보고 질문에 답하는 듯한 톤으로 되어있다. 물체 유형, 개수, 동작, 위치, 상대적 위치를 포함하여 이미지의 시각적 내용에 대해 다양한 질문이 제기된다. 확실한 답이 있는 질문만 고려된다.
  • Detailed description: 이미지에 대한 풍부하고 포괄적인 설명을 포함하기 위해 저자들은 질문 목록을 만들었다. 각 이미지에 대하여 목록에서 하나의 질문을 무작위로 샘플링하여 GPT-4에 자세한 설명을 생성하도록 요청한다.
  • Complex reasoning: 위의 두 가지 유형은 시각적 콘텐츠 자체에 중점을 둔다. 저자들은 이를 기반으로 심층적인 추론 질문을 만들었다. 답변에는 일반적으로 엄격한 논리를 따르는 단계별 추론 프로세스가 필요하다.

각 유형에 대해 먼저 몇 가지 예를 수동으로 설계한다. 이는 데이터 수집 중에 사용하는 유일한 인간 주석이며 GPT-4를 쿼리하기 위한 in-context learning의 시드 예제로 사용된다.

저자들은 세 가지 유형에 대하여 각각 5.8만, 2.3만, 7.7만 개, 총 15.8만 개의 고유한 언어-이미지 instruction-following 샘플을 수집하였다. 저자들은 초기 실험에서 ChatGPT와 GPT-4의 사용을 비교하였으며 GPT-4가 공간 추론과 같은 더 높은 품질의 데이터를 지속적으로 제공한다는 것을 발견했다.

Visual Instruction Tuning

1. Architecture


주요 목표는 사전 학습된 LLM과 시각적 모델의 feature를 효과적으로 활용하는 것이다. 공개적으로 사용 가능한 체크포인트 중에서 언어 task에서 최고의 instruction-following 능력을 가지고 있는 Vicuna를 LLM $f_\phi (\cdot)$로 사용한다.

입력 이미지 \(\textbf{X}_v\)에 대하여 사전 학습된 CLIP 비전 인코더 ViT-L/14로 visual feature \(\textbf{Z}_v = g (\textbf{X}_v)\)를 생성한다. 마지막 transformer 레이어 전후의 grid features가 사용된다. 이미지 feature를 단어 임베딩 공간에 연결하기 위해 간단한 projection matrix $\textbf{W}$를 사용하여 \(\textbf{Z}_v\)를 언어 모델의 단어 임베딩 공간과 동일한 차원을 갖는 언어 임베딩 토큰 \(\textbf{H}_v\)로 변환한다.

\[\begin{equation} \textbf{H}_{v} = \textbf{W} \cdot \textbf{Z}_v \quad \textrm{with} \quad \textbf{Z}_v = g (\textbf{X}_v) \end{equation}\]

Flamingo의 gated cross-attention나 BLIP-2의 Q-former와 같이 이미지와 언어 표현을 연결하는 보다 정교한 체계도 고려할 수 있다.

2. Training

각 이미지 \(\textbf{X}_v\)에 대해 multi-turn 대화 데이터 \((\textbf{X}_q^1, \textbf{X}_a^1, \cdots, \textbf{X}_q^T, \textbf{X}_a^T)\)를 생성한다. 여기서 $T$는 총 턴의 수이다. 모든 답변을 어시스턴트의 응답으로 처리하고 $t$번째 턴의 명령 \(\textbf{X}_\textrm{instruct}^t\)를 다음과 같이 처리하여 시퀀스로 구성한다.

\[\begin{equation} \textbf{X}_\textrm{instruct}^t = \begin{cases} \textrm{Randomly choose } \; [\textbf{X}_q^1, \textbf{X}_v] \; \textrm{or} \; [\textbf{X}_v, \textbf{X}_q^1] & \quad \textrm{first turn} \; t = 1 \\ \textbf{X}_q^t & \quad \textrm{the remaining turns} \; t > 1 \end{cases} \end{equation}\]

이는 아래 표에 설명된 멀티모달 instruction-following 시퀀스에 대한 통합 형식으로 이어진다.


원래의 autoregressive 목적 함수를 사용하여 예측 토큰에 대해 LLM의 instruction-tuning을 수행한다. 구체적으로, 길이 $L$의 시퀀스에 대해 타겟 답변 \(\textbf{X}_a\)에 답할 확률을 다음과 같이 계산한다.

\[\begin{equation} p (\textbf{X}_a \vert \textbf{X}_v, \textbf{X}_\textrm{instruct}) = \prod_{i=1}^L p_\theta (x_i \vert \textbf{X}_v, \textbf{X}_{\textrm{instruct}, <i}, \textbf{X}_{a, <i}) \end{equation}\]

여기서 $\theta$는 학습 가능한 파라미터이고, \(\textbf{X}_{\textrm{instruct}, <i}\)와 \(\textbf{X}_{a, < i}\)는 각각 현재 예측 토큰 $x_i$ 이전의 명령과 응답 토큰들이다. LLaVA 모델 학습을 위해 2단계 instruction-tuning 절차를 사용한다.

1단계: Feature alignment를 위한 사전 학습

개념 적용 범위와 학습 효율성 간의 균형을 유지하기 위해 CC3M을 59.5만 개의 이미지-텍스트 쌍으로 필터링한다. 이러한 쌍은 다음과 같은 단순한 확장 방법을 사용하여 instruction-following 데이터로 변환된다.

Human: \(\textbf{X}_q\) \(\textbf{X}_v\) <STOP> Assistant: \(\textbf{X}_c\) <STOP>

각 샘플은 single-turn 대화로 처리될 수 있다. 입력 \(\textbf{X}_\textrm{instruct}\)를 구성하기 위해 이미지 \(\textbf{X}_v\)에 대해 질문 \(\textbf{X}_q\)가 무작위로 샘플링된다. 이는 어시스턴트에게 이미지를 간략하게 설명하도록 요청하는 언어 명령이다. 정답 예측 답변 \(\textbf{X}_a\)는 원본 캡션 \(\textbf{X}_c\)이다.

학습 시에는 비전 인코더와 LLM 가중치를 모두 고정한 상태로 projection matrix의 파라미터만 학습시킨다. 즉, \(\theta = \textbf{W}\)이다. 이러한 방식으로 이미지 feature \(\textbf{H}_v\)는 사전 학습된 LLM 단어 임베딩과 정렬될 수 있다. 이 단계는 고정된 LLM에 대해 호환 가능한 visual tokenizer를 학습시키는 것으로 생각할 수 있다.

2단계: End-to-end로 fine-tuning

비전 인코더 가중치를 고정한 상태로 LLM과 projection matrix의 사전 학습된 가중치를 계속 업데이트한다. 즉, \(\theta = \{\textbf{W}, \phi\}\)이다. 두 가지 구체적인 시나리오를 고려한다.

  1. Multimodal Chatbot: 15.8만 개의 언어-이미지 instruction-following 데이터를 fine-tuning하여 챗봇을 개발한다. 세 가지 유형의 응답 중 conversation는 multi-turn이고 detailed description과 complex reasoning은 single-turn이다. 세 유형은 균일하게 샘플링된다.
  2. ScienceQA: 저자들은 자세한 강의와 설명으로 답변에 주석을 추가한 대규모 멀티모달 과학 질문 데이터셋인 ScienceQA 벤치마크에 대한 방법도 연구하였다. 각 질문에는 자연어나 이미지 형태의 컨텍스트가 제공된다. 어시스턴트는 추론 과정을 자연어로 제공하고 객관식 중에서 답을 선택한다. 학습 데이터는 single-turn 대화로 구성되며, 질문과 컨텍스트가 \(\textbf{X}_\textrm{instruct}\), 추론과 답변이 \(\textbf{X}_a\)이다.

Experiments

  • 구현 디테일
    • GPU: A100 8개
    • 1단계: 사전 학습
      • epoch: 1
      • learning rate: $2 \times 10^{-3}$
      • batch size: 128
    • 2단계: fine-tuning
      • epoch: 3
      • learning rate: $2 \times 10^{-5}$
      • batch size: 32

1. Multimodal Chatbot

다음은 GPT-4 technical report의 예시 프롬프트에 대하여 시각적 추론 및 채팅 능력을 기존 방법들과 비교한 결과이다.

LLaVA-Bench (COCO)

저자들은 COCO-Val-2014에서 무작위로 30개의 이미지를 선택하고, 각 이미지에 대해 제안된 데이터 생성 파이프라인을 사용하여 세 가지 유형의 질문을 생성하여 총 90개의 질문을 생성하였다. 이 벤치마크는 일관된 시각적 입력을 통해 모델의 alignment 능력을 평가한다.

다음은 LLaVA-Bench (COCO)에서 학습 데이터에 따른 성능을 비교한 표이다.

LLaVA-Bench (In-the-Wild)

저자들은 보다 어려운 task에서 모델의 능력과 새로운 영역에 대한 일반화 가능성을 평가하기 위해 실내 및 실외 장면, 밈, 그림, 스케치 등을 포함하여 총 60개의 질문이 포함된 24개의 다양한 이미지들을 수집하고 각 이미지에 대하여 수동으로 선별된 매우 상세한 설명과 적절히 선택된 질문으로 벤치마크를 구성하였다.

다음은 LLaVA-Bench (In-the-Wild)에서의 instruction-following 능력을 비교한 표이다. LLaVA†는 주어진 LLaVA 디코딩 시퀀스 세트에 대해 GPT-4를 세 번 쿼리하여 평가한 결과이다.

Limitations


LLaVA-Bench (In-the-Wild)는 도전적이고 모델의 약점을 드러내도록 설계되었다. 위 표에는 관련 캡션과 질문이 포함된 두 가지 예시가 나와 있다.

  • (왼쪽) 레스토랑 이름에 정확하게 대답하려면 모델에 광범위한 지식 범위와 다국어 이해 능력이 필요하다. 반찬을 정확하게 설명하려면 모델이 인터넷에서 관련 멀티모달 정보를 검색해야 할 수도 있다.
  • (오른쪽) 올바른 요구르트 브랜드를 인식하려면 모델이 고해상도 이미지를 처리하고 광범위한 지식을 보유해야 한다. 또한 냉장고에 요구르트와 딸기만 들어 있음에도 불구하고 딸기 맛 요구르트가 있는지 묻는 질문에 ‘예’라고 응답하는 흥미로운 결과도 관찰되었다. 이는 LLaVA가 이미지를 “패치 덩어리”로 인식하여 이미지 내의 복잡한 의미를 파악하지 못하는 경우가 있음을 나타낸다.

2. ScienceQA

다음은 ScienceQA 데이터셋에 대한 정확도를 기존 방법들과 비교한 표이다.

Ablations

다음은 디자인 선택에 대한 ablation 결과이다.