티스토리 뷰

Submitted on 17 Apr 2023  NeurIPS 2023

 

Abstract

LLM을 Machine generated instruction following datainstruction tuning하는 것은 new task에서 zero shot 능력이 향상되는 것이 입증됨.

→ Multi-modal에도!

 

GPT-4를 활용해 multimodal language-image instruction-following data를 생성하고, 이를 활용해 instruction tuning한

LLAVA: Large Language and Vision Assistant 모델을 이 논문에서 소개함.

이는 vision encoder와 LLM을 연결한 end-to-end multimodal model.

* End-to-end는 모델이 입력부터 출력까지의 전체 프로세스를 통합하여 학습

 

LLAVA는 multimodal 채팅 능력이 뛰어나며, multimodal instruction-following dataset에서 GPT-4와 비교하였을 때 (GPT-4를 100이라고 하면) 85.1% 성능을 보임.

 

Science QA에서 fine-tuning을 하면, LLaVA와 GPT-4의 시너지 효과로 92.53%의 정확도를 달성함.

 

LLAVA Vicuna(LLM)와 CLIP vision encoder를 연결한 모델로 이미지 기반 챗봇 형식의 대화가 가능한 멀티모달 모델

 

Introduction

 

기존의 멀티모달 테스크에서느 이미지-테스트 쌍의 데이터는 단순한 텍스트가 이미지에 대한 설명으로 이루어진 경우가 많았음.

이러한 데이터를 사용할 경우 모델이 이미지를 단순히 설명하는 방식으로 주로 학습이 이루어지기 때문에, 이미지에 대해 질의응답을 하고 대화를 하는데 한계가 있음.

 visual  instruction tuning을 제안.

 

Multimodal instruction-following data

: vision-language instruction-following data의 부족을 ChatGPT/GPT-4를 사용하여 이미지-텍스트 쌍을 적절한 instruction-following 형식으로 변환하기 위한

파이프라인 제시

Large multimodal models.

: CLIP visual-encoder와 Vicuna(decoder)를 연결하여 instructional vision-language data로 fine tuning 진행.

 

Multimodal instruction-following benchmark.

: 다양한 이미지, 지시문 및 상세 주석이 포함된 두 가지 LLaVA-Bench 제시

 

Open-source.

: generated multi modal instruction-following data, code, model checkpoint, demo

 

 

Related Work

 

Multimodal Instruction-following Agents.

이미지와 텍스트를 모두 활용하여 작업을 수행하는 에이전트를 의미

 

AI 에이전트는 미리 결정된 목표를 달성하기 위해 작동하는 코드 또는 메커니즘

Agent == 대리인?  ->  인간이 할 수 있는 실수를 줄이거나 없앰으로써 일의 효율성을 증진시키는 역할!

다양한 모달리티( 이미지, 음성, 텍스트 등)를 사용하여 지시를 따르는 에이전트를 의미.

이러한 에이전트는 instruction을 받아들이고, 이미지나 음성 등 다른 모달리티를 사용하여 해당 지시에 따라 특정 작업을 수행.

 

1. End-to-End trained models  특정 작업을 수행하기 위해 전체 시스템이 하나의 모델로 구성되어 end-to-end로 훈련되는 모델

: 각각의 특정 연구 주제별 진행

자연어 명령을 따르고 시각적 환경에서 목표를 달성하기 위해 탐험하는 AI 에이전트를 만드는 데 중점

 

- Vision-language navigation task

: 시각적인 환경에서 목표 지점에 도달하기 위해 자연어 지시를 따라야 하는 에이전트를 구현하는 작업

컴퓨터 비전과 자연어 처리를 결합하여 에이전트가 시각적 환경에서 자연어로 주어지는 지시를 이해하고 그에 따라 움직이는 능력을 갖추도록 하는 것이 목표.

- Habitat

: 이러한 작업을 위한 시뮬레이션 환경을 제공하는 플랫폼

에이전트가 시각적 환경에서 목표를 달성하기 위해 필요한 행동을 수행하도록 하는 것이 목표.

 

예시)

< image editing domain >

input : image, instruction(what the agent should do)

"InstructPix2Pix" : edits images by following the human instructions

 

2. A system that coordinates various models via LangChain / LLMs (모델을 조합하여 명령을 따르는 에이전트를 구축)

Visual ChatGPT, X-GPT, MM-REACT, VisProg, ViperGPT

 

 

 

 

Instruction Tuning

→ LLM 모델을 Instruction 데이터셋을 통해 fine-tuning을 진행하고 이를 통해 zero-shot 성능을 높이는 방법.

 

Flamingo(22.4월)
 : 구글 딥마인드에서 발표한 few-shot으로 다양한 task를 빠르게 적응 및 수행할 수 있는 Visual Language Model로, 이미지와 텍스트로 구성된 

input을 받아 텍스트 output을 생성.

이미지-텍스트 쌍으로 훈련된 다른 LMMs에는 BLIP-2, FROMAGe, KOSMOS-1 등이 있음.

 

PaLM-E는 embodied AI를 위한 LMM 

* 시뮬레이터(Simulator)라는 3D 가상환경(Environment)에 에이전트를 생성하여 여러가지 과제(Task)를 수행시켜 학습시킨 후,

현실의 로봇과 같은 기계에 전이하여(Sim2Real) 현실에서도 특정 과제(Task)를 잘 수행할 수 있도록 하는 분야

 

 

이러한 기존 멀티모달 테스크에서는 이미지-텍스트 쌍의 데이터는 단순히 텍스트가 이미지에 대한 설명으로 이루어진 경우가 대다수
-> 이미지에 대해 질의응답, 대화에는 한계가 있음.

 

Alpaca, Vicuna는 LLaMA를 fine-tuning한 모델로 machine-generated instruction following data를 활용하여 다양한 테스크의 instruction을 이해하고, 적절한 방법을 결정하는 능력(alignment)을 개선할 수 있었음.

 

GPT-assisted Visual Instruction Data Generation

 

GPT-4를 사용하여 이미지와 텍스트를 모두 활용하는 Instruction-following 데이터를 생성하는 방법을 제안

 

CC에서 LAION까지 다양한 이미지-텍스트 쌍이 기존 멀티 모달 분야에서 주로 사용되었는데 이를 instruction-following 형식으로 바꾸기 위해서는 human crowd sourcing을 고려할 수 있는데 그러나 이 또한 시간과 비용이 많이 필요하며 기준이 잘 정의되어 있지 않다.

 

최근 GPT 모델로 Text Annotation으로 좋은 퀄리티의 데이터 생성을 성공한 것을 참고하여, 기존의 image-text pair 데이터를 활용하여 multimodal instruction-following data를 만드는 것을 제안.

 

GPT-4 또는 ChatGPT를 활용하여 Visual Contents 포함하는 instruction data를 생성한다.

구체적으로, 텍스트만 입력으로 받는 GPT를 활용하여 이미지를 시각적 특징으로 인코딩하기 위해 두 가지 유형의 상징적 표현을 사용한다.

     (i) 캡션은 일반적으로 다양한 관점에서 시각적 장면을 설명.

     (ii) 바운딩 박스는 일반적으로 장면에서 객체를 localize하며, 각 상자는 객체 concept과 공간적 위치 정보를 인코딩

 

특정 프롬프트를 ChatGPT/GPT-4의 입력으로 사용, 참고로 위의 예시에서 이미지는 입력으로 사용하지 않고 이미지와 관련된 캡션과 박스 값들만 이용.
(이미지는 참고용)

 

message를 최종 프롬프트로 사용. content 부분에 위에서 설명한 이미지 캡션과 박스 값 사용.

이를 통해 적절한 response를 생성하도록함.

이러한 프롬프트를 사용하여 모델이 지시에 따라 작업을 수행하고 적절한 응답을 생성할 수 있도록 유도한다.

 

각 Response type 별로 유사하지만 약간 다른 prompt를 사용

 

 

COCO 데이터셋 이미지를 사용하여 세 가지 유형의 데이터를 생성한다.

각 유형에 사람이 직접 몇 가지 예시를 설계하고, GPT-4의 in-context-learning에 사용

 

Conversation

사진에 관해 질문하는 사람과 assistant 사이의 대화를 디자인한다. 답변은 assistant가 이미지를 보고 질문에 답하는 것같은 어조로 작성된다.

명확한 답변이 있는 질문만을 고려하며, 객체 유형, 수, 동작, 위치 등에 대한 이미지의 시각적 콘텐츠에 대한 다양한 질문을 한다.

 

Detailed Description

이미지에 풍부하고 포괄적인 설명을 포함하기 위해 해당 의도를 갖는 질문 리스트를 작성한다.

각 이미지에 대해 질문 리스트에서 무작위로 하나의 질문을 샘플링하여 GPT-4에게 자세한 설명을 생성하도록 한다.

 

Complex Reasoning

위의 두 유형은 시각적 콘텐츠 자체에 초점을 맞추고 있으며, 이를 기반으로 더 깊이 있는 추론 질문을 생성한다. 답변은 일반적으로 엄격한 논리를 따라 단계별 추론 과정을 필요로한다.

 

 

총 158,000개의 instruction-following 데이터를 수집하였으며, 이 중 58,000개는 Conversation, 23,000개는 Detailed Description, 77,000개는 Complex Reasoning에 해당한다.

 

 

 

 

Visual Instruction Tuning

 

Architecture

 

pre-trained LLM, visual model을 효과적으로 활용하는 것이 목표

 

Vicuna(LLaMA를 기반으로 fine tuning한 모델) 를 LLM fφ(·) 선택. (φ는 LLM의 학습된 가중치)

Vision Encoder : pre-trained CLIP visual encoder ViT-L/14 

기존의 마지막 레이어를 제거하고, 이미지 feature를 word embedding space에 연결하기 위해 선형 레이어 Projection W를 추가
(이를 통해 linear layer의 output dimension은 언어 모델의 word embedding space와 동일한 차원을 가지도록 설정)

 

input image : Xv

vision encoder를 통해 이미지의 시각적 특징 Zv=g(Xv) 생성

Projection W를 통해 Zv를 language embedding token Hv로 변환 (sequence of visual tokens)

 

+ Flamingo의 gated cross attention, BLIP-2의 Q-former와 같은 더 정교한 방식도 고려할 수 있음.

 

 

 

Training

 

각 이미지 Xv 마다 multi-turn conversation data X1q,X1a,...,XTq,XTa 를 생성.

(T : total number of turns)

 

t번째 턴에서의 Xinstruct를 아래와 같이 정의.

첫 번째 턴의 경우 질문을 앞에 위치 시킬건지 뒤에 위치 시킬건지를 랜덤하게 결정.

(통합된 멀티모달 instruction following sequence를 처리할 수 있도록 함. - 언어와 이미지를 통합하여 지시에 따라 작업을 수행)??

 

Instruction tuning에서 Auto-regressive training object사용.

이전에 나온 토큰을 보고 다음 토큰을 예측하는 방식으로 이미지 feature를 함께 사용함.

 

θ는 학습 가능한 매개변수이며, Xinstruct,<iXa,<i는 각각 현재 예측 토큰 Xi 이전의 모든 턴에서의 지시 및 답변 토큰이다.

위의 조건부 확률에서는 모든 답변에 대해 이미지가 기반으로 설정되므로 xv를 명시적으로 추가하고, 가독성을 높이기 위해 xsystemmessage와 이전의 모든 <STOP>토큰을 생략한다. 

 

실제 프롬프트에는 아래와 같이 들어감. (모델 훈련시 사용되는 입력 시퀀스)

초록색 부분에 해당하는 토큰을 예측하도록 학습을 진행

system message는 학습시 loss 계산에는 포함되지 않고, Human의 X_instruct도 loss 계산시에는 포함되지 않지만 Assistant의 X_a는 loss 계산에 포함됨. 문장의 끝을 나타내는 <STOP>도 예측해야함.(모델은 assistant의 답변을 예측하고, 어디에서 멈춰야 하는지 학습하도록 훈련됨)

 

실제로 턴의 수는 데이터에 따라 다양하고,현재 구현에서는 시스템 메시지 Xsystemmessage를 설정하기 위해 Vicuna-v0를 따르고

<STOP> = ###로 설정한다.

 

 

LLaVA 모델 훈련에서는 학습 데이터에 따라 2-stage로 학습 진행.

 

 

Stage 1: Pre-training for Feature Alignment.

 

컨셉 커버리지와 학습 효율성의 균형을 맞추기 위해 CC3M을 595K개의 이미지-텍스트 쌍으로 필터링합니다. 

 

전체 CC3M 데이터셋의 각 캡션에 대해 Spacy를 사용하여 명사구를 추출하고 각 고유한 명사구의 빈도를 계산.

* Spacy는 자연어 처리를 위한 오픈 소스 라이브러리로, 토큰화, 품사 태깅, 구문 분석, 개체 인식, 의존성 분석 등의 다양한 언어 처리 작업 수행 가능

 

빈도가 3보다 작은 명사구는 건너뛰고 남아 있는 빈도가 가장 낮은 명사구부터 시작하여 이 명사구를 포함하는 캡션을 후보 풀에 추가합니다. 명사구의 빈도가 100보다 큰 경우, 해당 명사구를 포함하는 모든 캡션을 사용하면 데이터가 너무 많아져서 처리하기 어려워질 수 있습니다. 따라서, 이러한 경우에는 모든 캡션 중에서 크기가 100인 임의의 하위 집합을 선택하여 사용하여 데이터 양을 적절히 조절한다. 이로 인해 약 595K개의 이미지-텍스트 쌍이 생성됩니다.

 

 

이 데이터를 instruction-following data 형식으로 변환

이전과는 다르게 single turn 대화로 만들었고, 이미지에 대해 간략하게 설명을 요청하는 instruction을 주면 기존의 실제 캡션을 대답으로 사용한다. 

 

stage1에서는 visual encoder와 LLM 가중치를 freeze하고, 학습 가능한 매개변수 θ = W(프로젝션 매트릭스)만 학습한다.

이렇게 하면 이미지 feature Hv가 사전 훈련된 LLM 단어 임베딩과 일치하도록 정렬된다.

이 단계는 freeze LLM에 대한 호환 가능한 visual tokenizer를 학습하는 것으로 이해할 수 있다.

 

학습을 단순화하여 모델의 복잡성을 줄이고, 학습을 안정화시키는 데 도움을 준다.

Visual encoder와 LLM의 가중치를 고정함으로써, 모델의 학습이 더 집중되고, 학습 가능한 매개변수인 프로젝션 매트릭스 W만을 조정하여 모델을 효과적으로 학습시킬 수 있다.

프로젝션 매트릭스 W를 학습함으로써, 이미지 특징을 언어 모델의 단어 임베딩 공간으로 효과적으로 매핑할 수 있다. 이는 이미지와 텍스트 간의 상호작용을 최적화하고, 모델이 시각적 명령을 정확하게 이해하고 수행할 수 있도록 돕는다.

 

 

Stage 2: Fine-tuning End-to-End.

visusal encoder의 가중치는 고정하고, projection layer와 LLM의 가중치를 업데이트한다. (학습을 진행)

 

• Multimodal Chatbot.

158K language-image instruction-following data를 이용해 fine tuning한 chatbot.

세 가지 유형의 응답 중에서 대화는 multi-turn이고 나머지 두 가지는 single turn이다. 학습에서 균등하게 샘플링되어 사용.

 

• Science QA.

대규모 멀티모달 과학 질문 데이터셋으로, 각 질문은 자연어나 이미지 형식의 문맥을 제공하며, 어시스턴트는 자연어로 추론 과정을 제공하고 다중 선택지 중에서 답변을 선택해야 한다. 데이터를 Xinstruct로 구성하여 질문 Xq, 답변 Xa로 single turn 대화 형식으로 제공된다.

이를 통해 모델은 질문의 문맥을 이해하고 추론하여 올바른 답변을 선택하도록 학습된다.

 

 

Experiments

1) 멀티모달 챗봇 2)ScienceQA 데이터셋으로 실험.

모든 모델을 8× A100으로 학습하며, Vicuna의 하이퍼파라미터 동일하게 설정.

CC-595K 하위 집합에서 1 epoch 동안 학습률 2e-3과 배치 크기 128로 모델을 사전 학습하고, 제안된 LLaVA-Instruct-158K 데이터셋에서 3 epoch 동안 학습률 2e-5와 배치 크기 32로 모델을 fine-tune 진행.

 

 

Multimodal Chatbot

 

LLaVA의 이미지 이해 및 대화 능력을 보여주기 위해 챗봇 데모를 개발하였으며, 시각적 입력을 소화하고 instruction-following 능력을 발휘하는 LLaVA의 능력을 연구하기 위해 이를 사용한다. 비교를 위해, GPT-4 논문에서 멀티모달 GPT-4의 프롬프트와 응답을 인용하고, BLIP-2와 OpenFlamingo 모델 체크포인트로 결과를 가져옴.

 

BLIP-2와 OpenFlamingo와 비교하여, LLaVA는 단순히 장면을 설명하는 대신 사용자의 instruction을 정확하게 따르는 모습을 보인다.

LLaVA는 GPT-4보다 더 포괄적인 응답을 제공하며, 이미지를 설명하라는 요청만 있어도, LLaVA는 이미지의 비정상적인 측면을 인식한다.

 

LLaVA는 작은 멀티모달 instruction-following dataset(약 80,000개)으로 훈련되었음에도, 멀티모달 GPT-4와 매우 유사한 추론 결과를 보여준다.

이러한 이미지가 LLaVA의 도메인을 벗어난 것이지만, LLaVA는 여전히 장면을 이해하고 질문 지시를 따르며 합리적인 응답을 제공할 수 있다.

반면에, BLIP-2와 OpenFlamingo는 사용자 지시를 따르는 대신 이미지를 설명하는 데 초점을 맞추고 있다.

 

 

Quantitative Evaluation.

 

LLaVA의 성능을 체계적으로 이해하기 위해, GPT-4를 활용하여 멀티모달 데이터에서 모델의 instruction-following 능력을 측정하는 metric을 제안한다.

구체적으로 이미지, 실세 텍스트 설명, 질문으로 구성된 triplet을 생성한다. 모델은 질문과 이미지를 기반으로 답변을 예측하고, GPT-4를 사용하여 reference prediction을 생성한다.(이를 기준으로 다른 모델들과 비교하기 위함)

응답은 텍스트 기반 GPT-4에게 제공하여 모델 응답의 유용성, 관련성, 정확성 등을 평가하고, 1에서 10까지의 척도로 전반적인 성능을 타나내는 점수를 부여한다. 더 높은 점수는 전반적으로 더 나은 성능을 나타내고 모델을 더 잘 이해하기 위해 평가에 대한 설명을 제공하도록 요청한다. 모델의 성능을 평가하기 위해 두 가지 벤치 마크를 생성하여 사용하였다.

 

▲ LLaVA-Bench (COCO)

COCO-Val-2014에서 무작위로 30개의 이미지를 선택하고, 각 이미지에 대해 제안된 데이터 생성 파이프라인을 사용하여 대화, 상세 설명, 복잡한 추론의 세 가지 유형의 질문을 생성하여 총 90개의 질문을 만든다.

(1) instruction tuning을 통해, 모델의 user instruction-following 능력이 50점 이상 향상됨.

(2) 상세한 설명과 복잡한 추론 질문을 약간 추가하면 모델의 전반적인 능력이 7점 향상됨. (추론 능력의 개선이 대화 능력을 보완할 수 있음)

(3) 세 가지 유형의 데이터를 모두 가지고 있는 것이 최고의 성능을 발휘한다는 것을 보임.

 

 LLaVA-Bench (In-the-Wild)

더 어려운 작업과 새로운 도메인에서 모델을 평가하기 위해, 실내 및 실외 장면, 밈, 그림, 스케치 등을 포함한 총 60개의 질문이 있는 24개의 다양한 이미지 세트를 수집하고, 각 이미지에 대해 직접 설명을 선별하고 적절한 질문을 연결하여 사용한다.

LLaVA, BLIP, OpenFlamingo를 비교하였을 때, visual instruction tuning으로 인하여, LLaVA는 BLIP-2(+29%)와 OpenFlamingo(+48%)에 비해 훨씬 더 나은 성능을 보인다. 실제 텍스트 설명을 사용하는 텍스트 기반 GPT-4와 비교하여, LLaVA는 복잡한 추론 질문에서 81.7%의 인상적인 성능을 달성하며, 전반적인 점수는 67.3%입니다.


GPT-4 모델을 사용하여 LLaVA의 디코딩 시퀀스를 세 번 쿼리하여 평가한다는 것을 의미. 이는 GPT-4 모델이 동일한 디코딩 시퀀스에 대해 세 번의 평가를 수행하고, 이 세 번의 평가 결과가 일관된 평가를 제공한다는 것을 나타낸다.

 

 

 

 

ScienceQA

 

이 데이터셋은 3개의 주제, 26개의 토픽, 127개의 카테고리 및 379개의 스킬을 포함하며, 총 21,000개의 다중 선택형 멀티 모달 질문으로 이루어져 있다.

 

GPT-3.5 모델 (text-davinci-002)을 사용하여 chain-of-thought (CoT)를 사용한 경우와 그렇지 않은 경우, LLaMA-Adapter, 그리고 현재 이 데이터셋에서의 최신 기술인 multimodal chain-of-thought (MM-CoT)와 같은 두 가지 대표적인 방법을 고려한다.

 

LLaVA는 마지막 레이어 이전의 시각적 특징을 사용하며, 모델에게 이유를 먼저 예측하고 그 다음에 답을 예측하도록 훈련되었고(epoch 12), 90.92%의 정확도를 달성했다.

 

LLM의 한계를 탐색하기 위해 2-shot in-context-learning을 사용하여 GPT-4를 프롬프트하여, 82.69%의 정확도를 달성. 그러나 GPT-4는 이미지나 플롯과 같은 충분한 컨텍스트가 없다고 보고하여 일부 질문에서 실패하는 것을 확인했다.

 

GPT-4와 LLaVA의 결과를 결합하는 두 가지의 방법으로 실험을 수행한다.

 (1) GPT-4가 답을 제공하지 못할 때마다 LLaVA의 예측을 사용하는 "GPT-4 보완" 방식은 90.97%의 정확도를 달성했다.

 (2) GPT-4와 LLaVA가 서로 다른 답을 내놓을 때마다 GPT-4에게 다시 프롬프트하여 최종 답변을 제공하는 "GPT-4 as a judge" 방식은 92.53%의 정확도 달성

 

이미지를 처리할 수 없는 텍스트 전용 GPT-4가 이미지를 컨텍스트로 가진 질문에 대한 모델의 전반적인 성능을 향상시키는 결과를 보여준다.

이는 이러한 질문 중 일부는 실제로 올바른 답변을 위해 image context가 필요하지는 않기 때문이고, GPT-4를 통해 이를 식별하고 LLaVA의 일부 오류를 수정할 수 있기 때문이다.

 

 

 

 

Ablations

 

 (1) Visual Features

 CLIP vision encoder의 마지막 레이어의 feature를 사용하였을 때, 89.96%의 정확도를 얻었으며, 이는 마지막 레이어 이전의 feature를 사용했을 때 보다 0.96% 낮다.

CLIP의 마지막 레이어는 전반적이고 추상적인 이미지의 특성에 더 중점을 두고, 그 전은 오히려 이미지의 세부 사항을 이해하는데 중점을 둘 수 있기 때문이라고 추측.

 

 

(2) Chain-of-thought.

모델 예측에서 답변 및 추론 프로세스의 순서를 결정하기 위한 실험으로. 답변을 먼저 위치하는 것은 12번의 에포크에서 89.77%의 정확도를 보고하는 반면, 추론을 먼저 위치하는 것은 6번의 에포크에서 빠르게 89.77%의 정확도에 도달하지만, 추가적인 훈련으로는 더 이상의 개선이 없다.

모델을 24번의 에포크로 훈련시켜도 성능이 향상되지 않았다. 이러한 결과로 보아 CoT와 유사한 추론 우선 전략은 수렴을 빠르게 향상시킬 수 있지만 최종 성능에는 상대적으로 기여가 적다고 판단하였다.

 

(3) Pretraining.

Pre training을 건너뛰고 Science QA를 처음부터 직접 훈련하는 경우, 성능이 85.81%의 정확도로 하락한다.

 

(4) Model size.

13B 모델과 동일한 모든 구성을 유지하고 7B 모델을 훈련하는 경우, 90.92%보다 1.08% 낮은 89.84%의 정확도를 확인하였다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함