MultiModal-GPT: 인간과 대화가 가능한 시각-언어 모델

MultiModal-GPT는 인간과 여러 차례 대화를 주고받을 수 있는 시각 및 언어 모델입니다. 이 모델은 OpenFlamingo를 기반으로 LoRA(Low-rank Adapter)를 사용하여 효율적으로 fine-tuning되었습니다. LoRA는 언어 모델의 gated-cross-attention과 self-attention 구성 요소 모두에 적용되었습니다. 시각-언어 및 언어 전용 명령어 데이터를 함께 사용하여 학습함으로써, 상세한 캡션 생성, 특정 객체 수 세기, 일반적인 질문에 대한 답변 등 다양한 지시를 따를 수 있는 능력을 갖추었습니다. 논문 제목: MultiModal-GPT: A Vision and Language Model for Dialogue with Humans

Gong, Tao, et al. "Multimodal-gpt: A vision and language model for dialogue with humans." arXiv preprint arXiv:2305.04790 (2023).

MultiModal-GPT: A Vision and Language Model for Dialogue with Humans

Tao Gong 1{ }^{1 *} Chengqi Lyu 1{ }^{1 *} Shilong Zhang 2,1{ }^{2,1 *} Yudong Wang 1,3{ }^{1,3 *} Miao Zheng 1{ }^{1 *}<br>Qian Zhao 1{ }^{1 *} \quad Kuikun Liu 1{ }^{1 *} \quad Wenwei Zhang 1{ }^{1 *} \quad Ping Luo 2,1{ }^{2,1} \quad Kai Chen 1{ }^{1 \boxtimes}<br>*동일 기여, 무작위 순서<br>1{ }^{1} Shanghai AI Laboratory 2{ }^{2} The University of Hong Kong<br>3{ }^{3} School of Electrical and Information Engineering, Tianjin University<br>{gongtao, lvchengqi, zhangshilong, wangyudong, zhengmiao}@pjlab.org.cn<br>{zhaoqian, liukuikun, zhangwenwei, chenkai}@pjlab.org.cn

Abstract

우리는 인간과의 다중 회차(multiround) 대화를 수행할 수 있는 vision-language 모델인 MultiModal-GPT를 제안한다. MultiModal-GPT는 상세한 caption 생성, 특정 객체 수 세기, 일반적인 질문에 대한 응답 등 다양한 instruction을 따를 수 있는 능력을 갖추고 있다. 이 모델은 OpenFlamingo를 기반으로 효율적으로 fine-tuning되었으며, **Low-rank Adapter (LoRA)**를 language model의 gated-cross-attentionself-attention 구성요소 모두에 적용하였다.

우리의 접근 방식은 vision과 language 데이터를 포함하는 instruction template를 구성하여, multi-modality instruction tuning을 가능하게 하여 모델이 인간의 지시를 이해하고 따를 수 있도록 한다. 우리는 효과적인 대화 성능을 위해 학습 데이터의 품질이 매우 중요하다는 것을 관찰하였으며, 응답이 짧은 제한된 데이터셋은 모델이 모든 instruction에 대해 간결한 답변만 생성하는 결과를 초래할 수 있다.

MultiModal-GPT의 대화 능력을 더욱 향상시키기 위해, 우리는 language-only instruction-following 데이터를 시각-언어 instruction 데이터와 함께 joint training하였다. 두 종류의 데이터에 동일한 instruction template를 사용하는 것은 대화 성능을 유의미하게 개선하는 결과를 가져왔다.

실험을 통해 MultiModal-GPT가 인간과의 지속적인 대화를 능숙하게 수행할 수 있음을 확인하였다. 코드, 데이터셋, 데모는 다음에서 확인할 수 있다: https://github.com/open-mmlab/Multimodal-GPT

1 Introduction

인간은 시각과 언어를 포함한 다양한 채널을 통해 세상과 상호작용하며, 각 채널은 세상의 특정 개념을 표현하고 전달하는 데 고유한 장점을 가지고 있어 세상에 대한 더 나은 이해에 기여한다. 인공지능 연구의 핵심 목표는 인간의 의도에 부합하는 멀티모달 시각-언어 지시를 효과적으로 따를 수 있는 다재다능한 비서(assistant)를 만들어 다양한 실제 task를 수행하도록 하는 것이다.

최근 GPT-4 [11]는 인간과의 멀티모달 대화에서 놀라운 능력을 보여주었다. GPT-4 [11]의 뛰어난 능력이 관찰되었음에도 불구하고, 그 탁월한 성능을 뒷받침하는 메커니즘은 여전히 불분명하다. Mini-GPT4 [18] 및 LLaVA [8]와 같은 연구들은 시각적 표현을 LLM의 입력 공간에 정렬시킨 후, LLM의 원래 self-attention을 활용하여 시각 정보를 처리함으로써 이러한 성능을 재현하고자 했다. 그러나 이러한 모델에 상세하거나 시공간적인 시각 정보를 통합하는 것은 잠재적으로 많은 수의 이미지 token으로 인해 계산 집약적일 수 있다. 또한, 두 모델 모두 ChatGPT의 사용자 생성 대화를 기반으로 LLaMA [16]를 fine-tuning하여 개선된 오픈 소스 챗봇인 Vicuna [2]를 사용하는데, 이들은 연구에서 언어 지시 튜닝 단계를 생략한다.

이러한 문제들을 해결하기 위해 우리는 오픈 소스 Flamingo 프레임워크 [1]를 기반으로 한다. Flamingo는 perceiver resampler를 사용하여 vision encoder로부터 시각 정보를 효율적으로 추출하고, gated cross-attention layer를 사용하여 이미지-텍스트 상호작용을 처리하는 멀티모달 사전학습 모델이다. 이 모델은 광범위한 이미지-텍스트 쌍 데이터셋으로 사전학습되어 강력한 few-shot 시각 이해 능력을 보여주었다. 그럼에도 불구하고, zero-shot multiturn 이미지-텍스트 대화에 참여할 수 있는 능력이 부족하다. 결과적으로, 우리의 목표는 이미지 및 텍스트 지시로 구성된 포괄적인 데이터셋을 사용하여 OpenFlamingo를 fine-tuning하여, 모델이 인간의 선호도에 더 가깝게 대화할 수 있도록 하는 것이다. OpenFlamingo의 기본적인 강점을 활용함으로써, 우리는 모델의 기존 능력과 멀티모달 대화에서 더 정확하고 인간과 유사한 상호작용이라는 목표 결과 사이의 성능 격차를 좁히고자 한다. 우리는 우리의 멀티모달 챗봇을 MultiModal-GPT라고 명명했다.

우리는 또한 모델 학습 중에 언어 및 시각 지시 데이터 모두에 대해 통합된 지시 템플릿을 사용한다. 우리는 먼저 MultiModal-GPT를 학습시키기 위해 시각 및 언어 데이터로 지시 템플릿을 구성한다. 우리는 MultiModal-GPT의 성능에 있어 학습 데이터가 매우 중요하다는 것을 발견했다. VQA v2.0 [3], OKVQA [9], GQA [5], CLEVR [6] 및 NLVR [15] 데이터셋과 같은 일부 데이터셋은 MultiModal-GPT의 대화 성능을 저하시키는데, 이는 이러한 데이터셋의 응답이 한두 단어(예: 예/아니오)로 제한되기 때문이다. 결과적으로, 이러한 데이터셋이 학습 과정에 통합되면 모델은 단순히 한두 단어로 구성된 답변을 생성하는 경향을 보인다. 이러한 간결함은 사용자 친화적이지 않다. MultiModal-GPT가 사람들과 대화하는 능력을 더욱 향상시키기 위해, 우리는 또한 언어 데이터를 수집하고 MultiModal-GPT를 공동으로 학습시키기 위한 통합된 지시 템플릿을 정의한다. 언어 전용 지시와 시각 및 언어 지시의 공동 학습은 모델의 성능을 효과적으로 향상시킨다. 우리는 MultiModal-GPT의 인간과의 연속적인 대화 능력을 보여주기 위해 다양한 데모를 제시한다.

2 Unified Instruction Template

우리는 단일 모달(unimodal) 언어 데이터멀티모달(multimodal) 시각-언어 데이터를 통합하기 위한 통합 템플릿을 제안하며, 이는 MultiModal-GPT 모델을 시너지 효과를 내는 방식으로 효과적으로 학습시키는 것을 목표로 한다. 이 통합 접근 방식은 두 데이터 모달리티의 상호 보완적인 강점을 활용하고 기저 개념에 대한 더 깊은 이해를 촉진함으로써 다양한 task에서 모델의 성능을 향상시키는 것을 목표로 한다.

2.1 Language-only Instruction Template

<BOS> 아래는 task를 설명하는 지시문이다. 요청을 적절하게 완료하는 응답을 작성하시오.

### Instruction: {instruction}
### Input: {input}
### Response: {response} <EOS>

Table 1: 모델 학습에 사용된 언어 데이터의 입력 시퀀스. {instruction}, {input}, {response}는 원본 데이터의 텍스트이다. {response} 부분과 <EOS> 토큰에 대해서만 loss가 계산된다.

우리는 언어 전용 instruction-following 능력을 평가하기 위한 자료로 Dolly 15k 및 Alpaca GPT4 데이터셋 [12]을 활용한다. 이 데이터셋들은 instruction 기반 task 수행 시 언어 모델의 성능을 향상시키기 위해 특별히 설계되었다. 일관된 instruction-following 형식을 보장하기 위해, Table 1에 제시된 prompt 템플릿을 사용하여 데이터셋 입력을 구성한다.

<BOS> Below is an instruction that describes a task. Write a response that appropriately
completes the request
### Image: <image_token>
### Instruction: {question}
### Response: {response}<EOS>
### Instruction: {question}
### Response: {response} <EOS>

Table 2: 모델 학습에 사용된 시각 및 언어 데이터의 입력 시퀀스. {question}과 {response}는 원본 데이터의 텍스트이다. <image_token>은 이미지의 존재를 나타내는 토큰이다. 데이터셋에 multi-round dialogue가 있는 경우 이를 포함한다. {response} 부분과 <EOS> 토큰에 대해서만 loss가 계산된다.

  • Can you describe the image?
  • Could you provide a description of the image?
  • What do you see in this image?
  • Share your thoughts on the content of the image.
  • Please narrate what's happening in the picture.
  • Can you give a brief explanation of the image?
  • Describe the main elements and details present in the image.
  • In your own words, what is depicted in the image?
  • How would you describe the image's content in a caption?
  • Can you suggest an insightful caption that highlights the underlying message of the image?

Table 3: 이미지 캡션에 대한 instruction 목록.

2.2 Vision and Language Instruction Template

우리는 본 연구에서 **LLaVA [8], Mini-GPT4 [18], A-OKVQA [14], COCO Caption [7], OCR VQA [10]**를 포함한 다양한 vision 및 language instruction-following 데이터셋을 활용한다. 이 데이터셋들은 광범위한 응용 분야와 도메인을 포괄하며, 이를 통해 모델 성능의 포괄적인 발전을 촉진한다.

텍스트를 일관된 instruction-following 형식으로 제시하기 위해, 우리는 Table 2에 명시된 prompt를 이들 데이터셋을 구조화하는 템플릿으로 채택한다. 표준화된 형식을 준수함으로써, 우리 모델이 정보를 더 잘 처리하고 그에 따라 응답할 수 있도록 준비시킨다.

COCO Caption 데이터셋은 주로 설명적인 캡션으로 구성되어 있어 일반적으로 instructional content를 포함하지 않는다는 점에 유의하는 것이 중요하다. 이러한 한계를 극복하고 instructional data를 통합하기 위해, 우리는 GPT-4 [11] 모델을 사용하여 COCO Caption 데이터셋에 대한 관련 instruction을 생성한다. 이렇게 합성된 instruction의 통합은 데이터셋을 풍부하게 하여, 우리 모델이 인간의 instruction을 처리하고 응답하는 데 있어 더욱 강력한 능력을 달성할 수 있도록 한다.

Table 3COCO Caption 데이터셋을 위해 생성된 instruction의 다양한 예시를 보여주며, 데이터셋을 우리 연구 목표에 더 잘 맞게 조정하는 우리 접근 방식의 효과를 입증한다.

Figure 1: MultiModal-GPT의 전체 프레임워크. MultiModal-GPT는 vision encoder, vision encoder로부터 공간 feature를 수신하는 perceiver resampler, 그리고 perceiver resampler의 공간 feature에 cross-attention을 통해 조건화되어 vision feature를 텍스트로 인코딩하는 language decoder로 구성된다. 우리는 전체 open-flamingo 모델을 freeze하고, MultiModal-GPT를 fine-tuning하기 위해 language decoder의 self-attention 부분, cross-attention 부분, 그리고 FFN 부분에 LoRA를 추가한다.

3 Method

3.1 Architecture

제안하는 MultiModal-GPT는 **open-flamingo 모델 [1]**을 기반으로 한다. Figure 1에서 볼 수 있듯이, MultiModal-GPT는 CLIP [13]의 vision encoder, vision encoder로부터 공간 feature를 수신하는 perceiver resampler, 그리고 LLaMA [16] language decoder로 구성된다. language decoder는 vision feature를 텍스트로 인코딩하기 위해 cross-attention을 통해 perceiver resampler의 공간 feature에 조건화된다는 점에 주목하라. 모델 아키텍처에 대한 자세한 내용은 [1]을 참조하라.

3.2 Joint Training

우리는 MultiModal-GPT를 공동으로 학습시키기 위해 language-only instruction-following 데이터vision-language instruction-following 데이터를 모두 사용한다. Fig 1에서 보여주듯이, 우리는 **Open-Flamingo 모델 전체를 고정(freeze)**시키고, LoRA [4]를 language decoder의 self-attention, cross-attention, FFW 부분에 추가하여 MultiModal-GPT를 fine-tune한다. MultiModal-GPT는 텍스트의 다음 토큰을 예측하는 방식으로 학습되며, 입력 시퀀스 중 {response}와 <EOS> 토큰만이 손실(loss) 계산에 포함된다.

4 Experiments

4.1 Implementation Details

MultiModal-GPT 모델의 성능 향상을 위해, 우리는 언어 데이터와 비전-언어 데이터 소스를 포괄적으로 혼합하여 공동으로 학습시킨다. 언어 데이터셋에는 **Dolly 15k와 Alpaca GPT4 [12]**가 포함되며, 비전-언어 데이터셋에는 **LLaVA [8], Mini-GPT4 [18], A-OKVQA [14], COCO Caption [7], OCR VQA [10]**가 포함된다. **MultiInstruct [17]**와 같은 다른 비전-언어 instruction 데이터셋도 탐색될 수 있지만, 이는 향후 연구로 남겨두었다. 이러한 데이터셋의 조합은 MultiModal-GPT 모델에 다양하고 풍부한 학습 환경을 제공하는 것을 목표로 한다.

모델을 효과적으로 학습시키기 위해, 우리는 Dolly 15k와 Alpaca GPT4 데이터셋의 전체 텍스트 코퍼스를 포함한다. 마찬가지로, LLaVA와 Mini-GPT4 데이터셋에서 사용 가능한 모든 이미지-텍스트 쌍을 포함하여 다양한 맥락과 상황에 충분히 노출되도록 한다. 그러나 A-OKVQA, COCO Caption, OCR VQA 데이터셋의 품질은 LLaVA 및 Mini-GPT4에 비해 떨어진다고 판단된다. 이러한 차이를 고려하면서도 추가 데이터의 이점을 얻기 위해, 우리는 학습 과정에서 A-OKVQA 데이터셋에서 5000개의 이미지-텍스트 쌍을 무작위로 샘플링하고, COCO Caption 및 OCR VQA 데이터셋에서는 각각 512개의 이미지-텍스트 쌍을 포함시킨다.

모델 학습을 위해 8개의 A100 GPU를 활용하며, 단일 epoch 내에서 학습 프로세스를 완료한다. GPU당 배치 크기는 vision-language instruction following 데이터와 language-only instruction following 데이터 모두 1로 설정된다. 우리는 gradient accumulation을 사용하며, 16 iteration마다 LoRA의 파라미터를 업데이트한다. 각 iteration은 하나의 vision-language 쌍과 하나의 language-only instruction 데이터를 포함한다. 결과적으로, 총 배치 크기는 256에 달한다. 학습률은 1e-5를 사용하며, 학습 과정 동안 학습률을 조정하기 위해 cosine learning rate scheduler를 적용한다.

4.2 The Quality of Data Matters

비전 및 언어 데이터의 다양성을 높이기 위해, 우리는 초기 실험에서 다양한 데이터셋을 통합하였다. 그러나 VQA v2.0 [3], OKVQA [9], GQA [5], CLEVR [6], NLVR [15]를 포함한 일부 데이터셋의 품질이 최적화되지 않았음을 확인하였다. 이는 주로 이들 데이터셋의 응답(response)이 한두 단어(예: 예/아니오)로 제한되어 있기 때문이다. 결과적으로, 이러한 데이터셋이 학습 과정에 포함될 경우, 모델은 단 한두 단어로 구성된 답변을 생성하는 경향을 보였다. 이러한 간결함은 사용자 친화적이지 않다. 따라서 우리는 최종 연구 버전에서 이들 데이터셋을 제외하기로 결정하였다.

4.3 Demos

우리는 MultiModal-GPT가 인간과 대화하는 능력을 보여주는 다양한 데모를 제시한다. Figure 2에서 볼 수 있듯이, MultiModal-GPT는 사용자가 초기 대화에서 prompt를 주면 라자냐를 성공적으로 식별하고, 해당 요리를 준비하기 위한 포괄적인 레시피를 제공할 수 있다. 이어진 대화에서 사용자가 식당에 대해 문의하자, MultiModal-GPT는 합리적인 식사 장소를 제안한다. 이는 모델이 지속적인 대화를 유지할 수 있는 능력을 보여주는 예시이다.

또한, Figure 4는 MultiModal-GPT의 카운팅 능력을 보여주며, Figure 6은 OCR 능력을 보여준다. MultiModal-GPT는 Figure 7에서 볼 수 있듯이 사용자의 여행 계획에 대한 일반적인 질문에도 능숙하게 답변할 수 있다. 더 많은 데모는 https://github.com/open-mmlab/Multimodal-GPT에서 확인할 수 있다.

이 요리를 만들려면 재료를 준비하고 레시피를 따라야 합니다. 먼저 토마토소스, 마늘, 바질, 파마산 치즈를 섞어 파스타 소스를 준비해야 합니다. 다음으로, 면, 소스, 모짜렐라 치즈를 겹겹이 쌓아 라자냐를 조립해야 합니다. 마지막으로, 라자냐가 완전히 익고 치즈가 녹을 때까지 오븐에 구워야 합니다.

만약 제가 요리할 수 없다면, 어디서 먹을 수 있나요?

이 요리는 레스토랑에서 주문하거나 케이터링 서비스를 이용할 수 있습니다. 또는 온라인으로 재료를 주문하여 집에서 레시피를 따라 직접 준비할 수도 있습니다.

Figure 2: MultiModal-GPT는 라자냐를 굽는 레시피를 제공하고, 사용자에게 어디서 먹을 수 있는지 알려줄 수 있다.

Who is Elon Musk?

Elon Musk는 남아프리카 공화국 태생의 캐나다-미국인 기업가, 엔지니어, 발명가이다. 그는 SpaceX의 설립자, CEO, 수석 디자이너이며, Tesla, Inc.의 공동 설립자, CEO, 제품 설계자이고, Neuralink의 공동 설립자이자 CEO이며, The Boring Company의 설립자이다.

이것이 그의 사진인가?

네, 이 사진은 Elon Musk입니다.

그는 몇 개의 회사를 가지고 있는가?

Elon Musk는 SpaceX, Tesla, The Boring Company 세 개의 회사를 가지고 있습니다.

Figure 3: MultiModal-GPT는 Elon Musk의 이미지를 인식하고, Elon Musk에 대한 질문에 답할 수 있다.

이 이미지에는 네 명의 사람이 있습니다. \square 그들의 성별은 무엇인가

이미지 속 사람들은 모두 여성입니다.

그들은 무엇을 하고 있는가

여성들은 선글라스를 착용하고 사진을 위해 포즈를 취하고 있습니다.

Figure 4: MultiModal-GPT는 이미지에 4명의 여성이 있다는 것을 알고, 그들이 무엇을 하고 있는지 알고 있다.

네, 저는 이 이미지가 애니메이션 영화 WALL-E의 영화 포스터를 특징으로 하기 때문에 좋아합니다. 이 영화는 오염으로 인해 인간이 지구를 버린 후, 지구를 청소하며 대부분의 삶을 보내는 WALL-E라는 로봇에 대한 이야기입니다. WALL-E는 EVE라는 또 다른 로봇과 사랑에 빠지고, 인류를 위한 새로운 집을 찾기 위한 모험을 떠납니다. 이 이미지는 WALL-E와 EVE가 포스터에 두드러지게 나타나면서 이야기의 본질을 포착합니다. 시각적으로 매력적이고 흥미로운 영화 포스터입니다.

이 영화를 만든 스튜디오는 어디인가?

Pixar.

Figure 5: MultiModal-GPT는 영화를 알고 영화를 만든 스튜디오를 알고 있다.

Figure 6: MultiModal-GPT는 이미지 속 캐릭터를 인식하고 책의 저자를 알고 있다.

거기에 여행 가면 무엇을 할 수 있는가?

하와이 카우아이 섬으로 여행을 가면 수영, 스노클링, 서핑, 하이킹, 관광 등 다양한 활동을 즐길 수 있습니다. "태평양의 그랜드 캐니언"으로 알려진 와이메아 캐니언과 숨 막히는 절벽과 폭포를 자랑하는 나팔리 해안을 방문하여 섬의 자연의 아름다움을 탐험할 수 있습니다. 또한 국립 열대 식물원과 카우아이 박물관을 방문하여 섬의 문화유산을 탐험할 수도 있습니다. 또한 이 섬에는 수영장, 스파, 레스토랑과 같은 편의 시설을 즐길 수 있는 여러 리조트와 호텔이 있습니다.

비용은 얼마나 들까?

카우아이 여행 비용은 숙박, 교통, 활동 선택에 따라 달라질 수 있습니다. 호스텔 및 Airbnb 렌탈과 같은 저렴한 숙박 옵션과 호텔 및 리조트와 같은 고급 옵션을 찾을 수 있습니다. 교통비는 교통 수단에 따라 달라질 수 있습니다. 예를 들어, 렌터카를 선택하면 주유비와 주차 요금을 지불해야 합니다. 대중교통을 이용하고 싶다면 버스 티켓을 지불해야 합니다. 수영, 스노클링, 서핑, 하이킹, 관광과 같은 활동 비용도 선호도와 장비 가용성에 따라 달라질 수 있습니다.

이 여행을 위해 또 무엇을 준비해야 하는가?

카우아이 여행을 준비하려면 섬의 명소, 활동 및 교통 옵션을 조사해야 합니다. 또한 잠재적인 날씨 조건에 대비할 수 있도록 일기 예보를 확인해야 합니다. 또한 계획된 활동과 날씨에 따라 선크림, 수영복, 방수 의류를 가져가는 것이 좋습니다.

Figure 7: MultiModal-GPT는 사용자의 여행에 대한 일반적인 질문에 답할 수 있다.

이 이미지에 대한 자세한 설명을 제공해 달라

이 이미지는 울창한 녹색 잔디와 나무로 둘러싸인 아름다운 호수를 보여줍니다. 호수는 수련으로 가득 차 있어 고요하고 평화로운 분위기를 자아냅니다.

호수는 산악 지형에 위치하며, 배경에는 산봉우리가 보입니다.

호수 주변에는 여러 마리의 새들이 날아다니며, 장면에 고요함과 자연의 아름다움을 더합니다.

사진 속 계절은 무엇인가

이미지 속 계절은 여름입니다. 울창한 녹색 잔디와 호수에 수련이 있는 것으로 보아 알 수 있습니다.

이 이미지와 같은 곳으로 여행하고 싶다면, 어떤 곳을 추천하는가

이미지와 유사한 고요하고 평화로운 환경을 경험하고 싶다면, 울창한 녹지와 산으로 둘러싸인 자연 호수를 방문할 수 있습니다.

Figure 8: MultiModal-GPT는 이미지에 대한 자세한 설명을 생성할 수 있으며, 이미지 속 계절을 추론하는 능력을 가지고 있다.