Post

Lecture 10: Large Vision Language Models (LVLMs)

Lecture 10: Large Vision Language Models (LVLMs)

bookmark

  • 강의 자료 정리

Early LVLMs

  • **Flamingo** (2022, google deepmind)
    • https://arxiv.org/pdf/2204.14198
    • 사전학습된 vision 모델과 language model을 연결함 - image input을 처리할 수 있는 챗봇 예시 보여줌
    • ✅key point: 어떻게 vision encoder를 language backbone에 연결햇는가?

      image.png

      • Perceiver resampler
        • key, value: vision encoder의 출력
        • query: learnable query vector 사용
        • visual information이 초기 단계에서 압축
      • interleaved text and image: 텍스트와 이미지가 번갈아가면서 나타나는 데이터 시퀀스
      • cross attention masking: lm이 텍스트를 생성할때 시각적인 정보에 focus를 두게 하는 방법
        • lm이 현재 턴의 텍스트를 생성할때, 바로 앞에 있는 이미지의 정보에만 접근하도록 제한함
        • 현재 생성 중인 텍스트 토큰은 바로 이전에 위치한 이미지 O, 이전 혹은 다음턴의 이미지 X, 현재 텍스트의 다른 토큰 X
        • **→ 텍스트 생성 시 LM이 컨텍스트에 맞는 이미지 정보를 활용할 수 있도록 함**
  • Openflamingo
    • 플라밍고 모델을 재현한 오픈소스 모델
    • 플라밍고의 학습 데이터셋이 공개 x, 공개 데이터셋(new multimodal c4 dataset, laion-2b의 10m samples)으로 학습시켜서 구현
  • **BLIP-2** (2023, salesforce)
    • 사전학습된 vision encoder랑 llm을 활용해서 효율적인 vision-language pre-train해서 vision이랑 language를 연결하는 “방법”
    • 가벼운 query transformer를 이용해서 두 모달리티를 정렬함

      image.png

    • 2단계 학습
      1. image encoder frozen, vision-language 표현 학습
      2. llm frozen, vision-language 생성 학습
    • flamingo보다 훨씬 적은 학습 파라미터 사용, vqav2에서 더 좋은 성능 보임

    q-former

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
      - querying transformer
      - 이미지의 정보를 latent representation으로 만들어서 lm이 이해할 수 있는 형태로 만드는 중간 레이어
      - 학습 방법
          1. image-text contrastive learning
              - pos, neg pair로 유사도를 측정하는 능력 학습
          2. image-text matching
              - image-text pair가 연관되어 있는지 이진 분류
          3. image-grounded text generation
              - caption 만들도록 학습
    
          → 이미지와 텍스트 간의 복잡한 상호작용을 이해하고, 시각적 정보와 언어 정보를 효율적으로 연결하는 강력한 중간 표현을 학습
    
    • perciever resampler를 학습하기 위해서 여러 pre-training objectives 사용함
    • **이 연구는 vlm task에 좋은 성능을 내면서 완전 오픈 소스로 모델 제공함 & 학습할 파라미터 수가 적어서 학습 부담이 적은 효율적인 아키텍쳐**
  • **MiniGPT4** (2023)
    • https://arxiv.org/pdf/2304.10592
    • Q-former & ViT → linear layer → Vicuna (LLM)
    • 더 강력한 lm을 사용함으로써 시각적 특징을 통합하는 새로운 능력을 보여줌 - blip2 등에는 없었던 능력
  • **InstructBlip** (2023, salesforce)
    • https://arxiv.org/pdf/2305.06500
    • q-former에 instruction을 입력으로 받아 이미지와 llm을 연결하는 구조
    • 여러 task에 대한 instruction template 제공함
  • **LLaVA** (2023)
    • LLM을 이용해서 멀티모달 instruction following data를 생성
      • llm의 입력으로는 캡션, 바운딩 박스 정보 등 텍스트 형태로 입력을 넣고, 이 이미지 정보를 기반으로 conversation, detailed description, complex reasoning 등 데이터를 만듦
    • **linear projection 방식을 통해 llm과 연결** - flamingo의 cross attention, blip2의 q-former보다 가벼움

      image.png

  • LLaVA-Wild test set
    • llava-bench in the wild의 도전적인 예시들
      • ex. 레스토랑 이름 유추, 냉장고 속 제품의 브랜드 유추 등
      • 높은 해상도의 이미지로부터 상세한 정보를 추출해야하는 문제들 …
  • llava - gpt-4 수준의 능력을 목표로 함
  • openflamingo or flamingo 모델들이 shot 수에 따라서 성능이 어떻게 변화하는가
    • shot이 더 늘어남에 따라 성능이 더 오르는 데이터셋(task)도 있지만, 그렇지 않은 경우도 있음

GPT-4, GPT-4V

  • gpt-4는 입력으로 텍스트, 이미지 모두 받을 수 있음
  • gpt-4v
  • early lvlm의 요약
    • **초기에는 대부분 frozen llm을 사용해서 multi-task vlm 구축하는 것에 초점을 맞춤**
    • **이후에는 텍스트 instruction을 세밀하게 조정하는 것의 중요성에 집중함**
    • **단순한 linear 연결도 좋은 성능을 보일 수 있다는 것을 발견함**
    • **2023년 가을에 gpt-4v의 출시는 또 다른 중요한 변화를 가져옴**

Toward Modern LVLMs

  • **LLaVA1.5** (2023)
    • Improved Baselines with Visual Instruction Tuning
    • https://arxiv.org/abs/2310.03744
    • visual instruction tuning을 통해 LVLM의 성능을 향상시키는 방법
    • “데이터가 핵심 요소인 것으로 보인다” → LVLM 성능 향상에 있어서 **모델 구조 자체의 혁신보다 고품질의 데이터가 더 중요함**
  • **ShareGPT4V** (2023)
    • https://arxiv.org/pdf/2311.12793
    • GPT-4V를 활용해서 더 나은 **캡션 데이터셋**을 구축하는 방법을 제시함
    • vision encoder, projector, llm 동시에 fine-tuning
    • **✅이 연구 이후에, 고품질 데이터에 상당한 자원을 투자하고 전체 모델을 tuning하는 것이 지배적인 접근 방식이 되었음**

Thoughts on LVLM Junctions

  • lvlm junction?
    • visual encoder랑 lm을 연결하는 방식
  • **honeybee**
  • c-abstractor

    image.png

Toward More Chatty, Instruction Following, High-Performing LVLMs

  • 더 말 잘하고, 지시 잘 따르고, 성능도 좋은 LVLM을 향해서…
  • **qwen-vl**
  • **llava-next**
  • **Vision-Flan**
    • Scaling Human-Labeled Tasks in Visual Instruction Tuning
    • visual instruction tuning에서 사람의 라벨이 지정된 task의 확장성을 다룸
    • https://arxiv.org/abs/2402.11690

      image.png

  • **Aligning Large Multimodal Models with Factually Augmented RLHF**
    • llm을 사실에 기반한 rl을 통해 정렬시키는 방법
    • 기존 RLHF는 선호만 반영하다 보니 환각현상 + 부정확 문제가 있음
    • 사실 근거를 선호 학습 과정에 투입해서 정확한 사실과 선호가 알관되게 정렬되도록 만드는 접근법
      • “지시를 잘 따르되, 그 답이 사실적으로도 타당한가?”
This post is licensed under CC BY 4.0 by the author.