direcf / Multimodal AI / 멀티모달 LLM 기초 연구: CLIP, Flamingo, LLaMA
GitHub ↗
STUDY NOTE · 2024-05

멀티모달 LLM 기초 연구: CLIP → Flamingo → LLaMA → Vicuna

개인 리서치 노트 — DEVOCEAN 기고 (2024)
핵심 모델CLIP, Flamingo, LLaMA, Alpaca, Vicuna
주제멀티모달 LLM 발전사
시리즈Part 1 / 멀티모달 LLM 시리즈
STEP 1 · Basic Research Flow
Basic Research Flow 개요
Basic Research Flow — 멀티모달 LLM 연구의 큰 흐름

1. 멀티모달 LLM은 왜 중요할까요?

추상적 답변: 인간이 이해하고 표현하는 다양한 정보 표현방식을 모두 이용함으로써 더 포괄적이고 다양한 문제를 풀 수 있다는 점입니다.

엔지니어적 답변: zero-shot, few-shot 등 예시가 없거나 적은 경우에도 다양한 task를 풀 수 있다는 점에서 매력적인 모델입니다.

구체적인 예시를 하나 보겠습니다. GPT-4에 홀란드의 사진을 입력으로 주고 이름을 알려주면, 얼굴인식·ReID 등의 task를 한 번에 풀 수 있게 됩니다.

GPT-4 예시 1
GPT-4 멀티모달 예시 (1/3)
GPT-4 예시 2
GPT-4 멀티모달 예시 (2/3)
GPT-4 예시 3
GPT-4 멀티모달 예시 (3/3)

한 번의 정확한 예시 제공(이름)만으로 얼굴인식, ReID 등의 task를 풀 수 있게 된다는 점이 굉장히 놀랍습니다. (단, 정확도면에서는 task-specific 모델보다 낮은 performance를 보이는 경우가 아직은 많다는 점도 함께 기억해야 합니다.)

2. 멀티모달 LLM 발전의 두 출발점

2020

CLIP — 이미지와 텍스트를 같은 공간으로

CLIP은 이미지와 텍스트를 동일한 embedding space에 매칭되도록 학습된 multi-modal model입니다. 이때까지 모든 task는 이미지 데이터를 활용한 task, 텍스트 데이터를 활용한 task로 명확히 나뉘어졌는데, CLIP 이후부터는 이미지와 텍스트를 함께 사용해 더 폭넓은 정보를 활용할 수 있게 되었습니다.

💡 insight: image와 text를 함께 활용하면 모델에 더 폭넓은 이해를 시킬 수 있겠다는 아이디어의 출발점
CLIP 구조
CLIP — 이미지와 텍스트를 동일한 embedding space에 정렬
2021

Flamingo — CLIP을 활용한 completion task

CLIP의 단점: zero-shot classification 성능에서는 좋은 성능을 보이지만 그 이외의 task에서는 성능이 떨어진다는 특징이 있습니다.

Flamingo의 의미: 높은 few-shot learning 성능, CLIP보다 높은 범용성, image-text를 함께 input으로 받는다는 점이 큰 특징입니다.

그 이후: BLIP2, RAM과 같은 vision-text 중심의 학습이 가능한 모델들이 등장했지만, GPT와 같은 질의응답 형식으로 확장은 불가능하다는 단점이 존재합니다.

💡 insight: image와 text를 함께 input으로 받아 language 형태의 output을 만들 수 있겠다는 insight — 이것이 오늘날 VLM(Vision-Language Model)의 원형
STEP 2 · LLM (Large Language Model)
LLM 개요
LLM (Large Language Model) 전체 개요

LLM History

현재 많은 기업에서 LLM을 개발하고 있으며, 주류를 이루고 있는 기업 세 곳을 꼽자면 OpenAI, Meta, Google입니다.

LLM 기업별 현황
2024년 기준 주요 LLM 플레이어 현황
2023.02

LLaMA — Meta의 오픈소스 전략

ChatGPT의 흥행이 이어지던 2023년 초 Meta에서도 언어모델을 하나 발표했습니다. 세 가지 핵심 특징이 있습니다.

  1. Open source: v1에서는 일부 연구기관에서 사용 가능, v2에서는 전체 공개
  2. Public DB만 사용: 공개 데이터만으로 학습 + 자체 정제 모델을 사용하여 데이터 퀄리티 향상
  3. sLLM (small LLM): 이전 Foundation model들은 학습 성능에만 주로 초점을 맞춰 추론 시의 computing resource를 고려하지 않았지만, LLaMA는 추론 효율을 함께 고려
💡 의의: Foundation model을 대부분의 기업이 만들기는 몹시 어려운 상황에서, sLLM 형태의 완성도 높은 LLaMA가 세상에 공개되었습니다
LLaMA 성능 비교
LLaMA 성능 비교 — sLLM의 가능성

Meta가 LLaMA를 공개한 이유는 세 가지로 요약할 수 있습니다.

  1. 개발자 생태계 확장: LLaMA 기반의 연구, 개발 및 피드백을 통해 기술력 향상 + 인재유치
  2. AI 생태계 주도권 확보: AI 선도 기업 이미지, AI 규제 압박 완화
  3. 장기적인 AI 시장 확보: 콘텐츠 생성 AI가 활성화되면 자체 플랫폼(Facebook, Instagram)과의 시너지 + 이용자 데이터 확보 용이
Stanford

Alpaca — LLaMA의 Instruction Tuning

Stanford에서 LLaMA를 instruction tuning한 모델입니다. 자체 instruction following data를 이용한 fine-tuning이 핵심입니다. Instruction-following data란 LLM이 수행해야 할 task에 대한 정보를 instruction 형태로 주어진 data를 의미합니다.

Alpaca self-instruct
self-instruct 방식 — LLM이 자체적으로 instruction data를 생산

self-instruct 논문에서 LLM을 이용해 자체 생산한 self-instruction data가 모델 성능을 올리는 데 도움이 된다고 주장했고, Alpaca는 이 방식을 채택해 학습했습니다.

★★★★★

Vicuna — 오픈소스 최강자

Alpaca와 동일하게 LLaMA를 fine-tuning하는 방식이지만, 성능면에서 당시 오픈소스 중 가장 높은 성능을 기록했습니다. 7시간 동안 A100 8대로 학습이 완료됩니다.

Vicuna 성능
Vicuna 성능 비교 — Google Bard에 근접하는 오픈소스 모델
모델베이스Data핵심 특징성능
AlpacaLLaMA52K GPT-3 생성 데이터Self-instruct 기반 fine-tuning기준점
VicunaLLaMA70K ShareGPT 대화실제 사용자-ChatGPT 대화로 학습Bard 수준 ★

Alpaca vs Vicuna 핵심 차이: Alpaca는 GPT-3 프롬프트로 생성한 52K 예제로 fine-tuning한 반면, Vicuna는 ChatGPT 대화를 공유하는 ShareGPT에서 약 70K개의 실제 사용자-ChatGPT 대화를 수집하여 fine-tuning했습니다.

가장 충격적인 결과는 Google의 Bard보다 훨씬 가볍게 구성했는데 거의 동일한 성능이 나왔다는 점입니다. 이후 Multi-modal LLM에서 LLM 백본으로 Vicuna를 사용하는 흐름이 생겨납니다.

🔗 다음 편: VLM(Vision-Language Model)과 인기 있는 fine-tuning 기법에 대해 다룰 예정입니다. LLaMA·Vicuna를 LLM 백본으로 활용한 멀티모달 모델(LLaVA, MiniGPT-4 등)의 아키텍처를 살펴봅니다.