논문명: MiniGPT-4 : Enhancing Vision-Language Understanding with Advanced Large Language Models
저자: Deyao Zhu, Jun Chen, Xiaoqian Shen, Xiang Li, Mohamed Elhoseiny
게재지: ICLR 2024
서론
앞서 공개된 GPT-4는 매우 우수한 멀티모달 능력을 보여줬습니다.
손으로 그린 웹사이트 도식을 보고 HTML 코드를 작성해 실제로 구현하거나 이미지에서 유머러스한 요소를 찾는 등, 이전 Vision Language Model(VLM)들이 해내지 못하던 task를 수행할 수 있었습니다.
하지만, 모델 아키텍처나 학습 방법 등 GPT-4가 어떻게 이러한 능력을 갖추게 되었는지는 공개되지 않았습니다.
저자들은 GPT-4의 뛰어난 멀티모달 능력이 우수한 LLM backbone에서 기인했다고 추측하였습니다. LLM의 발전 과정을 보면, GPT-3와 같은 거대 언어 모델은 작은 언어 모델이 하지 못하는 task를 해냈기 때문입니다.
이 가설을 증명하기 위해, 저자들은 기존에 공개된 오픈소스 VLM인 BLIP-2의 구조는 그대로 가져오되 LLM 백본만 더 발전된 LLM인 Vicuna로 바꾼 모델 MiniGPT-4를 학습시켰습니다. MiniGPT-4는 GPT-4에서 볼 수 있었던 다양한 새로운 능력을 보여주었습니다.
이 글에서는 구체적으로 어떤 방법으로 MiniGPT-4를 훈련시켰고 어떤 성능을 보였는지 자세히 살펴보겠습니다.
본론
모델 아키텍처
MiniGPT-4는 BLIP-2의 비전 인코더를 그대로 가져옵니다.
BLIP-2는 EVA-CLIP ViT-G/14로 이미지를 인코딩하고 Q-Former로 이를 32개의 query embedding으로 압축한 뒤, FC layer를 통해 LLM의 embedding 공간으로 사영했습니다.
MiniGPT-4는 이 학습된 ViT-G/14와 Q-Former를 그대로 가져와 동결하고, 그 출력을 LLM 공간으로 보내기 위한 단일 선형 사영층(Linear projection layer)만을 학습합니다.
또한 MiniGPT-4는 BLIP-2가 LLM backbone으로 FlanT5-XXL 등을 사용한 것과 달리 더 발전된 LLM인 Vicuna를 사용합니다.
2-stage 훈련
훈련은 사전 학습(pretraining) 과 finetuning 두 단계로 진행됩니다.
먼저 사전 학습 단계의 데이터셋으로는 Conceptual Caption, SBU, LAION을 썼으며, 약 500만 개의 image-text pair를 학습에 활용하였습니다.
이 단계에서 학습되는 것은 새로 추가된 선형 사영층 하나뿐입니다. 가져온 Q-Former는 BLIP-2에서 FlanT5-XXL에 맞게 조정된 상태지만, MiniGPT-4는 이를 다시 조정하지 않습니다. (논문에서는 나오지 않은 내용이지만, Github 코드에서 FlanT5-XXL에 맞게 조정된 Q-Former 체크포인트를 사용한 것이 확인됩니다.)
대신 그 출력을 Vicuna의 embedding 공간으로 옮기는 역할을 전부 사영층에 맡기고, 이를 LLM의 soft prompt로 사용해 ground-truth caption을 생성하도록 학습합니다.
사전 학습이 완료되면, 모델이 생성하는 언어를 더 자연스럽게 다듬기 위해 추가로 finetuning이 필요합니다. 저자들은 finetuning에 쓸 데이터를 직접 생성했습니다.
데이터 생성에는 사전 학습까지 마친 모델 자신을 사용하였습니다. Conceptual Caption Dataset에서 무작위로 5,000개의 데이터를 뽑은 뒤, 사전 학습이 완료된 모델이 그 이미지의 상세한 설명을 생성하도록 프롬프트를 주입하였습니다. 설명이 80 토큰 이하로 너무 짧을 경우, 이어서 더 생성하도록 한 번 더 질의하였습니다.
하지만 사전 학습만 완료된 모델은 한 단어만 반복하거나, 미완성된 문장을 만들거나, 관계없는 내용을 생성하는 등 부정확한 설명을 종종 포함했습니다. 그래서 ChatGPT로 불필요한 반복이나 의미 없는 문장을 수정하도록 하였습니다. ChatGPT가 걸러내지 못한 오류는 마지막으로 사람이 직접 검증하였습니다.
최종적으로 5,000개 중 약 3,500개 pair가 finetuning에 사용될 데이터셋으로 선별되었습니다.
이렇게 생성한 데이터셋으로, finetuning을 진행하였습니다. finetuning 시 주입한 프롬프트는 다음과 같습니다.
“###Human: <Img><ImageFeature></Img><Instruction>###Assistant:”
Instruction은 “Describe this image in detail”, “Could you describe the contents of this image for me”와 같은 사전 정의된 instruction set을 사용하였습니다.
Loss 계산 시 이 프롬프트에 대한 regression loss는 계산하지 않고, 이후 응답에만 loss를 계산하였습니다.
이 finetuning 과정은 400 training step이면 충분했고, 단일 A100 GPU로 7분밖에 걸리지 않았습니다.
실험 및 평가
MiniGPT-4의 창발적 능력(emergent capabilities)을 확인하기 위해, 크게 4가지 task의 수행 능력을 평가하였습니다. 4가지는 다음과 같습니다.
-
이미지 물체에 대한 광고 문구 작성하기
-
밈과 관련된 이미지에서 웃음 포인트 식별하기
-
음식 사진으로부터 레시피 생성하기
-
이미지로부터 시를 생성하기
각각의 task마다 25개, 총 100개의 이미지로 평가를 진행하였습니다. 평가는 해당 task의 수행 여부를 사람이 직접 이진 분류로 판정하였습니다. 그 결과, BLIP-2는 거의 성공하지 못한 반면 MiniGPT-4는 65%의 성공률을 보였습니다. 아래 그림은 구체적인 실험 결과와 예시 사진입니다.
이후 표준 벤치마크로도 평가를 진행하였습니다. COCO 벤치마크 데이터셋을 사용하였고, 모델이 만들어낸 caption이 ground-truth caption의 정보를 전부 포함했는지 ChatGPT가 예, 아니오로 판단하게 하였습니다. 평가 시 주입한 프롬프트와 결과는 아래 그림과 같습니다.
Ablation
벤치마크 성능 측정 이외에도 다양한 Ablation을 진행하였습니다.
먼저 2단계의 학습 중 두 번째 finetuning 단계가 정말 효과가 있는지 확인하기 위해, 1 stage 사전 학습만 진행한 MiniGPT-4 모델과 2 stage 모두 진행한 MiniGPT-4 모델의 성능을 비교하였습니다. 측정한 결과, 사전 학습만 진행한 모델은 한 단어의 반복, 미완성 문장 등 앞서 언급한 다양한 문제가 발견되었고, 구체적인 캡션 생성과 이미지에 맞는 시 생성 능력에서 확연한 차이를 보였습니다.
추가로, LLM 백본을 교체하지 않은 기존 BLIP-2 모델을 저자들이 직접 생성한 finetuning용 데이터로 finetuning 하거나, 이 데이터셋 대신 Localized Narratives dataset으로 학습시켜도 MiniGPT-4와 비슷한 성능에 도달하는지(MiniGPT-4 LocNa)도 실험하였습니다.
그 결과, BLIP-2는 밈 설명이나 웹사이트 코딩과 같은 task를 수행하지 못했고, 이는 LLM 모델의 중요성을 입증하였습니다. MiniGPT-4 LocNa는 긴 이미지 설명을 생성할 수 있었지만 단조로운 표현 등 낮은 품질의 답변을 생성하였고, 밈의 유머 요소 설명도 잘 하지 못하는 등 일반화가 잘 되지 않았습니다.
이후 모델 아키텍처에 대한 ablation도 진행하였습니다. MiniGPT-4 아키텍처에서 Q-Former를 제외한 아키텍처, 단일 선형 사영층을 3개의 층으로 교체, 그리고 단일 선형 사영층 외에 Q-Former도 함께 학습 이렇게 3가지의 아키텍처 변화를 주고 각각 벤치마크 성능을 측정하였습니다. 실험 결과는 아래 표와 같습니다.
이 실험 결과는 Q-Former가 모델의 능력 향상에 결정적이지 않으며, 제한된 학습 데이터 환경에서 단일 선형 사영층 하나가 비전 인코더와 LLM 백본을 정렬시키는 데 충분하다는 것을 보여줍니다.
한계점
MiniGPT-4는 명확한 한계점도 보였습니다.
우선 전통적인 벤치마크 성능이 BLIP-2보다 떨어졌습니다.
MiniGPT-4 (Finetune Vicuna)는 LLM을 부분적으로 unfreeze(LoRA 사용)하고 추가 데이터셋으로 finetuning을 더 진행한 모델입니다.
MiniGPT-4는 두 벤치마크 모두에서 BLIP-2에 뒤졌으며, MiniGPT-4 (Finetune Vicuna) 변형 모델은 GQA에서는 비슷한 성능을 보였지만 AOK-VQA 벤치마크에서는 확연히 뒤처졌습니다.
두 번째, 환각(Hallucination) 현상입니다. Hallucination을 평가하는 metric인 $CHAIR_i$로 실험한 결과, BLIP-2보다 환각 현상이 더 많이 나타났습니다.
마지막으로, 공간적인 이해 능력도 제한적이었습니다. 예를 들어 창문이 이미지의 오른쪽에 있는지 왼쪽에 있는지 식별하지 못하였습니다. 이는 훈련 데이터에 공간적인 이해 능력을 위한 text-image pair 데이터셋이 부족했기 때문일 것이라고 저자들은 해석했습니다.
결론
MiniGPT-4는 GPT-4의 창발적 능력의 기원이 발전된 LLM 백본 사용이라는 사실을 증명한 논문입니다. 이를 검증하기 위해 저자들은 BLIP-2의 비전 인코더 구조를 가져오고 LLM 백본에 변화를 주어, 최소한의 데이터셋으로 그 능력을 재현했습니다.
저자들은 MiniGPT-4가 이러한 능력을 가지게 된 이유를 조합적 일반화(compositional generalization)로 설명합니다. GPT-4가 보여준 능력은 사실 이미지 이해와 언어 생성이라는 두 가지 기초 능력의 조합으로 볼 수 있습니다.
이미지로 시를 쓰는 task를 예로 들면, Vicuna와 같은 발전된 LLM은 이미 사용자의 지시에 따라 시를 쓰는 능력을 갖추고 있습니다. 따라서 여기에 이미지를 이해하는 능력만 더해지면, 학습 데이터에 image-poem pair가 전혀 없더라도 “이미지 기반 시 쓰기”라는 새로운 task로 일반화될 수 있다는 것입니다.
2-stage 훈련 설계도 이 관점에서 다시 해석할 수 있습니다.
1단계 사전 학습에서 모델은 이미지와 짧은 캡션 간의 상관관계를 모델링하며 이미지 이해 능력을 획득합니다. 하지만 캡션 데이터셋의 언어 스타일은 LLM이 원래 생성하던 언어와 달라, 이 과정에서 언어 생성 능력이 왜곡되고 조합적 일반화 능력이 잘 발현되지 않습니다. 2단계 finetuning은 바로 이 언어 생성 능력을 복원하는 역할을 합니다.
두 기초 능력을 모두 갖추게 된 MiniGPT-4가 웹사이트 코딩, 밈 해석과 같은 다양한 조합적 task로 성공적으로 일반화된다는 점이 저자들의 이 가설을 뒷받침합니다.