NeurIPS 2023 (Oral)에서 발표된 논문이고,
멀티모달 LLM 중에 가장 유명한 논문 중 하나입니다.
최근에 이 LLaVA 모델 아키텍처를 활용해서 여러 실험을 하고 있는데, 정리겸 해서 다시 읽어보았습니다.
구현의 경우 깃허브가 워낙 잘 관리되어 있어서 아래 링크 참고부탁드립니다.
(워낙 유명해서 이슈 양이 많아서 거의 다 찾을 수 있음. 구현하면서 느낀점은 거의 다 의존성 문제임. 다른 에러 메세지여도 결국 해결책은 의존성 문제, 나중에 구현 관련해서도 적어볼 수 있으면 적어보겠습니다.)
LLaVA
Based on the COCO dataset, we interact with language-only GPT-4, and collect 158K unique language-image instruction-following samples in total, including 58K in conversations, 23K in detailed description, and 77k in complex reasoning, respectively. Please
llava-vl.github.io
Visual Instruction Tuning
날짜: 2024년 11월 1일
https://arxiv.org/pdf/2304.08485
1. 서론
- 배경
- 시각적 신호를 언어 의미로 매핑 필요
- 대형 언어 모델의 발전과 성능
- 기여점
- Multimodal instruction-following data
- Large multimodal models
- Multimodal instruction-following benchmark
- Open-source
2. Related Work
- Multimodal Instruction-following Agents
- 컴퓨터 비전에서의 instruction following:
- 특정 연구 주제마다 엔드투엔드 훈련 모델 구축
- 엔드투엔드
- 시스템이나 모델이 입력에서 출력까지의 모든 단계를 하나의 통합된 과정으로 처리
- 데이터를 입력하면 최종 결과를 얻기까지 중간 단계에서 별도의 분리된 처리가 없이 바로 출력을 생성하는 방식
- 엔드투엔드
- LangChain/LLM을 통해 다양한 모델을 조정하는 시스템
- Visual ChatGPT
- 특정 연구 주제마다 엔드투엔드 훈련 모델 구축
- 컴퓨터 비전에서의 instruction following:
- Instruction Tuning
- LLM에서 Instruction Tuning 방법을 통해 LLM의 성능 향상, 제로샷 및 few shot 일반화 능력 향상
- 이미지-텍스트 쌍을 기반으로 훈련된 다른 LMM: 비전-언어 instruction에는 부족함
- Visual Instruction Tuning ≠ Visual Prompt Tuning
- Visual Instruction Tuning 모델의 지침 따르기 능력을 향상시키는 것을 목표
- Visual Prompt Tuning 모델 적응에서의 파라미터 효율성을 향상시키는 것을 목표
3. GPT-assisted Visual Instruction Data Generation
- 이미지-쌍 데이터를 기반으로 ChatGPT/GPT-4를 사용하여 멀티모달 Instruction following 데이터 수집 제안
- LAION 데이터: 이미지와 캡션 존재
기본 아이디어
- 캡션이 답(이미지에 대한 설명)이 되도록 질문 집합 생성
- 다양성과 심층적인 측면에서 부족함
수정된(추가) 아이디어
- Symbolic Representation; 두 가지 형식을 통해 이미지를 LLM(대규모 언어 모델)이 인식할 수 있는 시퀀스로 변환 (이미지 넣은게 아니라 아래 형식으로 자연어만 넣음)
- 캡션: 시각적인 장면을 다양한 관점에서 설명하는 문장입니다.
- 바운딩 박스: 장면 내의 객체를 지역화하며, 각 박스는 객체의 개념과 공간적 위치를 인코딩합니다.
- instruction-following 데이터셋: 세 가지 유형으로 생성
- 대화형: 이미지에 대해 질문을 하고 그에 대해 답변하는 형식으로 구성
- 자세한 설명: 이미지에 대한 풍부하고 포괄적인 설명을 목표로 하는 질문 목록을 생성
- 복합적 추론: 이미지와 관련된 논리적 가이드를 필요로 하는 질문들로 구성
- 158k의 언어-이미지 지침 샘플 수집
4. Visual Instruction Tuning
4.1 Architecture
- 비전 인코더: CLIP
- 이미지와 텍스트 쌍을 함께 학습시켜, 이미지와 관련된 텍스트의 의미를 이해할 수 있도록 훈련
- Zv는 특정 이미지가 지닌 시각적 정보의 추상적 표현, 그 이미지와 관련된 텍스트 설명 또는 개념과의 유사성을 계산하는 데 사용
- Zv는 텍스트와 관련된 시각적 특징을 포함
- 프로젝션 매트릭스 W (선형 레이어)
- 이미지를 단어 임베딩 공간에 연결하기 위해 간단한 선형 레이어를 고려
- Zv → Hv로 변환
- 크로스 어텐션, BLIP-2의 Q-former와 같은 방법
4.2 Training
- two-stage instruction-tuning
- Pre-training for Feature Alignment
- 시각 인코더와 LLM 가중치를 모두 고정, 학습 가능한 매개변수 $\theta = W$ (투영 매트릭스)로만 학습
- 일종의 이미지 특징을 LLM의 단어 임베딩과 정렬시키기 위한 적합한 비주얼 토크나이저를 학습
- Fine-tuning End-to-End
- 항상 시각 인코더 가중치를 고정, LLaVA에서 투영 레이어와 LLM의 사전 훈련된 가중치를 계속 업데이트
- 학습하는 매개변수 $\theta = {W, \phi}$
- 특정 사용 사례 시나리오 고려
- 멀티모달 챗봇: 158K 언어-이미지 instruction following 데이터로 파인튜닝 (다중 턴, 단일 턴 포함)
- 과학 QA: ScienceQA 벤치마크
- 각 질문은 자연어 또는 이미지 형태로 컨텍스트를 제공
5. Experiments
- LaVA의 성능: 멀티모달 챗봇, ScienceQA 데이터셋 사용하여 평가
5.1 Multimodal Chatbot
- GPT-4 논문의 예제를 사용
- 비교를 위해,
- 논문에서 다중 모달 GPT-4의 프롬프트와 응답을 인용
- BLIP-2 및 OpenFlamingo 모델 체크포인트에 질의를 통해 응답 받음
- 결과
- LLaVA
- 단순히 장면을 설명하는 대신 보다 포괄적인 응답을 제공
- 이미지의 비정상적인 측면을 파악
- 소규모 데이터셋으로 학습했지만, GPT-4와 유사한 추론 결과
- 도메인 외의 이미지이지만, 여전히 장면 이해, 질문에 대한 적절한 응답 제공 가능
- BLIP-2와 OpenFlamingo
- 사용자 instruction을 따르기보다 이미지 설명하는데 초점
- LLaVA
- 정량적 평가
- 평가 데이터셋 구성: image, ground-truth textual descriptions, and question
- 후보 모델(예: LLaVA): 질문과 이미지를 기반으로 답변을 예측
- 비교 모델(GPT-4): 질문과 정답 텍스트 설명을 기반으로 텍스트 전용 GPT-4를 사용하여 참조 예측을 생성
- 심사관: 보조자의 응답을 유용성, 관련성, 정확성 및 세부 수준에 따라 평가하고 1에서 10까지의 척도로 전체 점수를 부여
- LLaVA-Bench (COCO)
- COCO-Val-2014에서 무작위로 30개의 이미지를 선택
- 각 이미지에 대해 대화, 세부 설명, 복잡한 추론의 세 가지 유형의 질문을 생성하여 총 90개의 질문
- 결과
- instruction tuning 이 유의미하게 향상됨
- 세부 설명 및 복잡한 추론 질문을 추가 학습하는 것이 성능 향상에 도움이 됨
- 다 사용하는게 최상의 성능
- LLaVA-Bench (In-the-Wild)
- 다양한 24개의 이미지를 수집하고 총 60개의 질문을 포함
- 도전적이며 모델의 약점을 드러내기 위해 설계: 광범위한 지식 범위와 다국어 이해 능력을 요구
- 결과
- Instruction Tuning 으로 인해 LLaVA는 BLIP-2에 비해 29%, OpenFlamingo에 비해 48% 더 나은 성능을 달성
5.2 SciencQA
- 21,000개의 다중 모드 선택 질문을 포함하고 있으며, 3개의 주제, 26개의 주제, 127개의 카테고리 및 379개의 기술에 걸쳐 다양한 도메인
- 우리 모델과 GPT-4의 결과를 결합하기 위해 두 가지 방안을 고려
- (i) GPT-4 보완. GPT-4가 답변을 제공하지 못할 때마다 우리 방법의 예측을 사용: 90.97% 정확도 = 우리 방법만 사용하는 것과 거의 동일
- (ii) GPT-4를 판별자로 사용: GPT-4와 LLaVA가 서로 다른 답변을 생성할 때마다, 우리는 질문과 두 가지 결과를 기반으로 GPT-4에게 다시 물어보아 자신의 최종 답변을 제공하도록 요청 → 92.53%라는 새로운 SoTA 정확도를 달성
- Ablations
- 시각적 특징:
- 우리는 CLIP 비전 인코더의 마지막 층 특징을 사용해 보았고, 이는 89.96%를 산출하며 이전 층의 특징보다 0.96% 낮습니다
- CLIP의 마지막 층 특징이 전체적이고 추상적인 이미지 속성에 더 집중할 수 있기 때문이라고 가설
- Chain-Of-Thought: 최종 성능에는 상대적으로 적은 기여를 한다고 결론
- Pretraining: 사전 훈련 단계의 중요성
- 모델 크기: 규모 중요성 입증
- 시각적 특징: