Lecture 10: Large Vision Language Models (LVLMs)
Lecture 10: Large Vision Language Models (LVLMs)
- 강의 자료 정리
Early LVLMs
- **Flamingo** (2022, google deepmind)
- https://arxiv.org/pdf/2204.14198
- 사전학습된 vision 모델과 language model을 연결함 - image input을 처리할 수 있는 챗봇 예시 보여줌
✅key point: 어떻게 vision encoder를 language backbone에 연결햇는가?
- 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이 컨텍스트에 맞는 이미지 정보를 활용할 수 있도록 함**
- Perceiver resampler
- 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를 이용해서 두 모달리티를 정렬함
- 2단계 학습
- image encoder frozen, vision-language 표현 학습
- 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)
- LLaVA-Wild test set
- llava-bench in the wild의 도전적인 예시들
- ex. 레스토랑 이름 유추, 냉장고 속 제품의 브랜드 유추 등
- 높은 해상도의 이미지로부터 상세한 정보를 추출해야하는 문제들 …
- llava-bench in the wild의 도전적인 예시들
- 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**
- https://arxiv.org/abs/2312.06742
- projector의 한 종류
- 시각 정보를 더 효과적으로 lm에 전달하기 위해 local 특성을 강화한 모델
c-abstractor
Toward More Chatty, Instruction Following, High-Performing LVLMs
- 더 말 잘하고, 지시 잘 따르고, 성능도 좋은 LVLM을 향해서…
- **qwen-vl**
- https://arxiv.org/pdf/2308.12966
TASK를 폭넓게 커버함
- **llava-next**
- **Vision-Flan**
- Scaling Human-Labeled Tasks in Visual Instruction Tuning
- visual instruction tuning에서 사람의 라벨이 지정된 task의 확장성을 다룸
- **Aligning Large Multimodal Models with Factually Augmented RLHF**
- llm을 사실에 기반한 rl을 통해 정렬시키는 방법
- 기존 RLHF는 선호만 반영하다 보니 환각현상 + 부정확 문제가 있음
- 사실 근거를 선호 학습 과정에 투입해서 정확한 사실과 선호가 알관되게 정렬되도록 만드는 접근법
- “지시를 잘 따르되, 그 답이 사실적으로도 타당한가?”
This post is licensed under CC BY 4.0 by the author.





