ACM Multi-media에 논문을 내고, 요즘 멀티 모달에 관심이 생기고 활용하고 싶다는 생각이 들어 여러가지를 하게 됐다. 의료 분야에서의 쓸만한 Multi-modality논문이 뭐가 있을까 보다가 적절하게 활용할만하다 생각이 드는 논문이 들어 정리까지 해보려고 한다. 확실히 정리를 하는게 도움이 되지만, 뭐랄까 너무 시간 소모가 심하달까,, 그래도 이 LLaVA는 한번 정리해두면 잘 쓸 것 같아서 정리도 해보려고 한다.
서론은 여기까지 하고, 본론으로 들어가면 Hugging Face에 꾸준하게 업데이트를 진행하고 있는 이 LLaVA이다. 사용법도 간단하니 Pre-trained model을 사용해보고 싶다면 HuggingFace를 들어가서 직접 해보는 것을 추천한다. [깃허브] [Hugging Face] GPU용량은 19GB정도 소모된다. RTX3090이나 A시리즈 정도면 가볍게 돌아가며, 출력 토근 500자로 설정하고 1920x1080이미지를 100자 정도의 입력 토큰과 함께 넣었을 때 30초 정도 소모된다. 아 이건 7B모델 위의 링크 기준이다. 참고로 모델 다운받는데 시간이 오래걸리니 이 블로그 말고 적절한 외국유튜브 설명 영상을 보길 추천한다.
(7B는 만족할만한 성능이 아니라 34B 모델의 성능이 괜찮게 나온다면 한번 리뷰 해보겠다.)
논문 링크: https://arxiv.org/abs/2304.08485
제목 : [LLaVA (Large Language and Vision Assitant)] Visual Instruction Tuning
저자 : Haotian Liu , Chunyuan Li, QingyangWu, Yong Jae Lee
소속 : University of Wisconsin–Madison, Microsoft Research, Columbia University
학회 : NIPS2023
인용 : 1203 (2024.04.16 기준)
Summary
Goal
- LLaVA는 이미지와 관련된 지시사항을 이해하고 적절히 반응할 수 있는 범용 multi-modal vision-language assistant 개발.
- 이는 single (Large) language modality모델들의 한계를 극복하고, 보다 자연스러운 인간과 같은 방식으로 시각적 정보를 처리하고 응답하게 하기 위함.
Methods
- Data generation: Using GPT-4, image-text pair로부터 지시사항을 따르는 데이터를 생성하고, 모델 학습 데이터로 사용
- Model training: Visual encoder → CLIP, LLM으로는 Vicuna를 사용하여, 지시사항에 따른 image-text connection을 통해 학습할 수 있는 Multi-modal모델 'LLaVA'를 개발.
- Evaluation and Benchmark: 2개 사용
1. a diverse selection of paired images,
2. instructions and detailed annotations.
Limitation
복잡한 시각적 장면 이해 한계점 존재.
++ LLaVA는 복잡한 시각적 장면이나 세부적인 이미지 속성을 완벽하게 이해하는 데 한계 존재.
Generalization problem: 특정 유형의 데이터나 시나리오에 편향될 수 있으며, 보다 다양한 real-world 상황에 적용하기 위해 추가적인 데이터 수집 및 모델 튜닝이 필요
Abstract.
- Language only GPT-4를 써서 multimodal Language-image instruction data를 생성.
- LLaVA:Large Language and Vision Assistant 제안.
- 일반적인 visual-language understanding의 위해를 이해 end-to-end로 훈련.
- Multimodal chat abailties: LLaVA는 멀티모달 GPT-4와 유사한 행동을 보이며, 보지 못한 image나 instruction에 대해 좋은 - Improved Performance: LLaVA와 GPT-4의 결합은 Science QA에서 새로운 최고 정확도인 92.53%를 달성. (SOTA)
Introduction
- 인간의 의도와 같은 AI 모델 개발을 위한 multi-modal instruction을 수행할 수 있는 assistant 개발을 목표로 하는 것.
++ 관련 논문 (아 하고싶었던건데,, 역시 다들 생각하는 건 똑같은 것 같다. 지금은 이전 사람들 발자취를 따라가야지)
4: A general language assistant as a laboratory for alignment
27: LEVATER: A benchmark and toolkit for evaluating language-augmented visual models.
26: Multimodal foundation models: From specialists to general-purpose assistants.
- Mutlimodal model이 Visual 신호를 language semantics에 매핑할 수 있게 함으로써 인간이 사용하는 의사소통 채널/방법을 모방하고 있다는 점이, 인간이 이미지를 보고 그것에 대해 설명하는 과정이 유사/흔하다 라고 할 수 있다.
++ 하지만, model은 인간의 instruction에 대해서 한계점을 가지고 있으며, adapability또한 한계가 있다.
- LLM 역사 PASS
요약하자면
1. Multimodal instruction-following data. (GPT-4 Language model을 통해 생성)
2. Large multimodal models. (Visual information은 CLIP으로 압축하고, Vicuna는 language info 압축)
3. Multimodal instruction-following benchmark: two challenging benchmarks,
1. a diverse selection of paired images,
2. instructions and detailed annotations.
4. Open-source. We release the following assets to the public: 그렇다고 합니다.
Related work.
- Multimodal Instruction-following Agents.
(i) End-to-end trained models:
ex 1) Habitat [47] require the embodied AI agent to follow natural language instructions and take a sequence of
actions to complete goals in visual environments.
ex 2) image editing domain, given an input image and a written instruction that tells the agent what to do,
InstructPix2Pix [6] edits images by following the human instructions
(ii) A system that coordinates various models → PASS
- We focus on developing an end-to-end trained language-vision multimodal model for multiple tasks.그렇답니다.
- Instruction Tuning.
1. 성능 좋았던 Instruction Tuning in LLMs: researchers have explored methods for LLM instruction-tuning [37, 52, 51]
2. teacher-student distillation (like image classification [14])
3. etc.
4. 특징:
- They are not explicitly tuned with vision-language instruction data
- Their performance in multimodal tasks usually falls short compared to language-only tasks.
5. 그 외, Finally, note that visual instruction tuning is different from visual prompt tuning [23]
3 GPT-assisted Visual Instruction Data Generation
- Caption과 box를 GPT에 넣는다는 점이 중요하며, 실제 Visual image는 입력으로 들어가지 않는다는 것이 중요!!
- we propose to leverage ChatGPT/GPT-4 for multimodal instruction following data collection, based on the widely existing image-pair data.
- 그리고 아래의 Response type들이 LLaVA의 입력으로 들어간다.
More specifically,
Xv: image
Xc: associated caption
Xq: create a set of questions
Thus, When we compare the humans and AI assistants
Human: Xq Xv | <STOP>
AI assistants : Xc <STOP> → Human에 비해 들어가는 양이 적지만, 저자는 그래도 정보 좋다 주장.!
AI assistants의 입력과 출력
그리고 이 AI assistants 들의 정보들이 더 풍부해지기 위해서 (단점보완) 아래와 같이 두가지 symbolic representation 입력
1. Captions typically describe the visual scene from various perspectives
2. Bounding boxes usually localize the objects in the scen
출력
1. Conversation. We design a conversation between the assistant and a person asking questions about this photo.
2. Detailed description
3. Complex reasoning.
4 Visual Instruction Tuning
4.1 Architecture
- f_ϕ는 language encoder Vicuna, ϕ는 LLM의 파라미터를 의미.
- Hv는 Output Feature이며 Xv가 CLIP (Image encoder)를 통과해서 나온 Zv와 Projection layer W가 곱해져 나온 값이다.
→ 즉 Hv = W ⋅ Zv
- gated cross-attention사용.
4.2 Training.
- X1q, X1a ... XTq, XTa는 Multi-turn conversation data로, Appendix'에 있는 사전 정의된 질문 리스트를 기반으로 한다.
- t=1일 때는 둘 중하나를 고른다. 입력 이미지와 함께 들어가는 question을 순서만 한번 바꿔주는 것이다.
- 그 외에는 t번째 값을 골라서 그에 해당하는 question을 던진다.
- 그리고 target Answer Xa에 대해서 최적화 하는 수식은 아래 3번과 같다. Xv와 Xinstruct를 입력으로 넣었을 때 Xa가 나올 확률이며, 1번에서 설명한거 대입해서 풀면 우측의 확률의 곱의 꼴로 나온다.
Result (Comparing LLaVa and GPT-4 and others)