Paper Review
  • Paper Review
    • NLP
      • Latent Retrieval for Weakly Supervised Open Domain Question Answering
      • Dense Passage Retrieval for Open-Domain Question Answering
      • BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Gener, Trans, Comprehension
      • Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
      • REALM: Retrieval-Augmented Language Model Pre-Training
      • ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT
      • Condenser: a Pre-training Architecture for Dense Retrieval
      • InPars: Data Augmentation for Information Retrieval using Large Language Models
      • Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
      • LoRA: Low-Rank Adaptation of Large Language Models
      • LLaMA: Open and Efficient Foundation Language Models
      • TableLlama: Towards Open Large Generalist Models for Tables
    • CV
      • SimCLR: A Simple Framework for Contrastive Learning of Visual Representations
      • ViT : An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
    • VLM
      • Pixel-BERT: Aligning Image Pixels with Text by Deep Multi-Modal Transformers
      • CLIP: Learning Transferable Visual Models From Natural Language Supervision
      • ALBEF: Align before Fuse: Vision and Language Representation Learning with Momentum Distillation
      • MVLM: Masked Vision and Language Modeling for Multi-modal Representation Learning
      • SimVLM: Simple Visual Language Model Pretraining with Weak Supervision
      • VLMo: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts
      • CoCa: Contrastive Captioners are Image-Text Foundation Models
      • Flamingo: a Visual Language Model for Few-Shot Learning
      • GIT: A Generative Image-to-text Transformer for Vision and Language
      • LLaVA: Large Language and Vision Assistant (Visual Instruction Tuning)
    • Medical Domain application
      • Radiology-Llama2: Best-in-Class Large Language Model for Radiology
      • Parameter-Efficient Fine-Tuning of LLaMA for the Clinical Domain
Powered by GitBook
On this page
  • 1. Introduction
  • 2. Related Work
  • 3. GPT-assisted Visual Instruction Data Generation
  • 4. Visual Instruction Tuning
  • 4.1 Architecture
  • 4.2 Tranining
  • 5. Experiments
  • 6. Conclusion 및 생각
  • Reference

Was this helpful?

  1. Paper Review
  2. VLM

LLaVA: Large Language and Vision Assistant (Visual Instruction Tuning)

https://arxiv.org/pdf/2304.08485

Last updated 6 months ago

Was this helpful?

1. Introduction

사람은 Vision과 Language를 모두 활용해서 세상과 상호작용한다. 어떤 개념은 Vision이 더 잘 전달할 수도 있고 어떤 개념은 Text가 더 잘 전달할 수도 있을 것이다.

만약 승리한 경기에서 game footage를 분석해야하는 일을 해야한다면, 공이 어디에 있는지, 선수들의 위치는 어디인지, 선수가 어떤 행동을 취해야하는지 등을 detection하는 network를 학습시켜야 할 것이다. 그러나 이 방법은 각각의 데이터셋을 만들어야하고 각각의 모델을 학습시켜야하므로 비용이 비싸다.

  • 3개의 모델과 데이터 세트들 대신 하나의 모델이 모든 것을 할 수 있다면 어떨까?

  • 자연어로 작업을 설명할 수 있고, 모델이 이미지에서 찾고 있는 것을 동적으로 변경할 수 있다면 어떨까?

⇒ Visual Instruction Tuning을 제안한다. 이미 LLMs에서의 Instruction fine-tuning의 효과는 증명되었다.

본 논문은 기존의 Instruction Tuning을 language-image multimodal space로 확장하고자 함

  • Multimodal instruction-following data : ChatGPT/GPT4를 사용해 image-text 쌍을 적절한 형태로 바꾸는 관점과 파이프라인을 제시

  • Large multimodal models: Vision encoder로 CLIP과 Language Decoder로 Vicuna를 연결한 Large Multimodal Model(LMM)을 제안함

2. Related Work

3. GPT-assisted Visual Instruction Data Generation

  • CC나 LAION, COCO같이 거대한 양의 multimodal datasets이 있지만 instruction following에 맞춰진 형태의 데이터셋은 아니다.

  • LLaVA를 위한 데이터 세트의 경우 이러한 image-caption pair 를활용해서 이미지에 대한 명령어와 대화를 모두 생성하는 광범위한 프롬프트와 함께 GPT-4에 입력해 만들었다.

    • 시간 효율적

  • Image Xv X_v Xv​와 Caption Xc X_c Xc​가 있는 경우, 이미지를 서술해달라는 내용을 질문 Xq X_q Xq​로 한 데이터 셋 생성

    → 저비용으로 생성이 가능하지만 다양성과 심도 있는 Reasoning이 부족하다는 단점

  • GPT-4는 Visual Content를 인지할 수 없으므로 두 가지의 symbolic representations를 활용

    1. Captions

      다양한 관점에서 시각적 장면을 설명

    2. Bounding boxes 장면의 객체 위치를 설명

  • GPT-4로 3개의 Instruction-Following Dataset의 형태로 구성

    • Conversation

      • 주어진 Image에 대해 Assistant와 Human이 대화하는 형태

      • 이미지 내 시각적 요소에 대한 질문

    • Detailed Description

      • Image에 대한 상세한 설명

    • Complex Reasoning

      • Conversation과 달리 심층적인 추론을 하는 질문 및 답변을 생성

  • Conversation : 58,000개 / Detailed Description: 23,000개 / Complex Reasoning: 77,000개 구축

4. Visual Instruction Tuning

4.1 Architecture

  • Primary goal pre-trained LLM과 pre-trained visual model을 잘 활용

    • LLM: Vicuna

    • Vision encoder: CLIP with ViT-L/14

  1. 이미지 Xv X_v Xv​를 visio encoder에 넣어서 visual feature Zv=g(Xv) Z_v = g(X_v) Zv​=g(Xv​)를 획득

  2. Language Model의 Word Embedding Space와 동일한 차원을 갖도록 ZvZ_vZv​에 trainable projection matrix WWW를 통과시켜 HvH_vHv​ 획득

    • Hv=W⋅Zv H_v = W \cdot Z_v Hv​=W⋅Zv​

    • 여기선 단순하게 projection matrix W(Linear layer)를 사용했지만 Flamingo 처럼 gated cross-attention을 사용할 수도 있고 BLIP-2처럼 Q-former를 사용할 수도 있을 것

4.2 Tranining

  • 각 Image XvX_vXv​에 대해, Multi-turn conversation Data 구축

  • 각 Conversation 답변을 Assistant의 답변으로 간주하고 t번째 instruction은 아래처럼 설정

⇒ 일관된 format의 multimodal instruction-following 시퀀스를 만들 수 있음

  • Sequence 길이가 L일 때, 정답 XaX_aXa​에 대한 확률은 아래와 같이 계산

  • Auto-Regressive Model에서 초록색 부분의 Sequence/Tokens만 Loss 계산에 이용

    • 초록색 부분은 모델이 예측해야할 답변 부분을 나타내며, loss를 이 부분에 집중함으로써 모델이 올바른 출력을 생성하도록 학습할 수 있다.

Stage 1: Pre-training for Feature Alignment

  • 595,000개의 Image-text pair로 필터링한 CC3M 데이터셋으로 Pre-training 단계를 거침

  • 이미지에 대한 간단한 요약을 요청하는 질문 XqX_qXq​에 대해 Ground-truth prediction XaX_aXa​는 그림의 원 Caption으로 설정

    • 질문은 original caption에 기반해 GPT-4로 생성

  • Visual Encoder인 ViT와 LLM은 freeze하고 Projection weights WWW만 학습시켜 image feature와 text feature를 Alignment 시키고자 함

Stage 2: Fine-tuning End-to-End

  • 앞서 생성한 158,000개의 Instruction-Following Dataset으로 fine-tuning 단계를 거침

  • Visual Encoder의 Weight는 freeze하고 Projection layer와 LLM 모델의 weight 업데이트

5. Experiments

  • Pre-training

    • GPU: A100 X 8

    • Dataset: 595k CC

    • Batch-size: 128

    • Epoch: 1

    • Learning Rate: 2e-3

    • 4 hours

  • Fine-tuning

    • GPU: A100 X 8

    • Dataset: 158k - LLaVA-instruct / ScienceQA

    • Batch-size: 32

    • Epoch: 3

    • Learning Rate: 2e-5

    • 10 hours / 4 hours

Quantitive Evaluation

  • Judge model로 GPT-4를 사용해 response의 quality 평가

    • Helpfulness, relevance, accuracy를 고려한 1~10점 사이 점수

  • Instruction Tuning의 효과가 뛰어남을보임

  • Detailed Description, Complex reasoning이 도움이 됨

ScienceQA

  • ScienceQA는 이미지를 포함한 21K의 multiple choice question을 답하는 벤치마크셋

  • LLaVA 모델만으로도 SoTA에 근접한 성능

  • LLaVA와 GPT-4의 답변이 다르면 GPT-4에게 답변을 넣고 최종 결론을 요구한 경우 SOTA 달성

6. Conclusion 및 생각

  • GPT-4를 활용해 Data Generation을 할 때 Language-only LLM이 인식할 수 있는 형태로 Image를 encoding하는 방식을 제안했다.

    • symbolic representations

  • 모델 구조

    • Vision Encoder로 CLIP, Language Decoder로 Vicuna를 결합한 형태

    • Visual feature를 Language Model의 Word Embedding Space와 동일한 차원을 갖도록 하기 위해 projection layer로 단순한 Linear Layer를 사용

    • 단순한 lienar projection을 사용해서 language와 vision을 연결했다는게 장점 같음

    • 단순해서 단점이라고 볼 수도 있겠는데 좀 더 성능을 높이려면 이 부분을 다르게 하면 된다고 생각함 ⇒ 이 부분을 LLaVA-1.5에서 개선했다고 함

  • 이 LLaVA 모델을 기반으로 다양한 자매품들이 있음 (LLaVA-Med, Video-LLaVA 등)

  • GPT-4가 생성한 데이터를 가지고 GPT-4로 평가한다는 것이, 평가하는 과정에서 biased 할 것 같다는 생각이 든다. (Flamingo 같은 경우 training 데이터에서 GPT-4가 만든걸 사용하지 않았다.)

Reference

https://youtu.be/n58UZziEieo?si=Uq2SSt3c7-Kz9qne
https://www.oxen.ai/blog/arxiv-dive-how-to-llava-works
Page cover image