VLM — Overview

Survey

참고: Zhang et al., "MM-LLMs: Recent Advances in Multimodal Large Language Models." ACL 2024 (+ Flamingo·BLIP-2·LLaVA·Qwen2.5-VL)

한 줄 요약. VLM(넓게는 멀티모달 LLM)은 이미 잘 학습된 단일 모달 foundation 모델(특히 LLM)을 그대로 가져와, 다른 모달리티(이미지·비디오·오디오)를 LLM이 알아듣는 토큰 공간으로 정렬(connector) 해 붙인 모델이다. 처음부터 학습하지 않으니 싸고, LLM의 추론·ICL·instruction following 능력을 물려받는다. 구조는 5개 부품(Modality Encoder → Input Projector → LLM Backbone → Output Projector → Modality Generator)으로 일반화되며, 이해(understanding) 만 하면 앞 3개, 생성(generation) 까지 하면 5개를 쓴다. 보통 encoder·LLM·generator는 freeze하고 가벼운 projector만 학습해 학습 파라미터가 전체의 약 2%뿐이다.

VLM 한눈에 보기 — Modality Encoder → Adapter(Connector) → LLM Backbone → (Adapter → Generator)의 5단계 파이프라인과 부품별 선택지, 그리고 이해(Understanding)·생성(Generation) 분기. (직접 정리)

VLM이란?

멀티모달 모델을 처음부터(from scratch) 학습하면 비용이 폭발한다. 그래서 이미 강력한 단일 모달 모델을 재활용하는 흐름이 등장했다 — 특히 LLM을 “인지 엔진(cognitive engine)” 으로 두고, 비전·오디오 등 다른 모달리티의 사전학습 인코더를 거기에 연결한다.

  • 왜 LLM 중심인가 — LLM은 강한 언어 생성, zero-shot 전이, In-Context Learning(ICL), CoT, instruction following을 이미 갖췄다. 이걸 버리지 않고 그대로 쓴다.
  • 핵심 난제 — 서로 따로 사전학습된 모달리티 모델들을 어떻게 연결(align)해 함께 추론하게 하느냐. 그래서 대부분의 연구가 모달리티 정렬 + 사람 의도 정렬(MM PT + MM IT) 에 집중한다.

즉 VLM은 “새 모델을 만든다”기보다 “freeze된 비전 인코더와 freeze된 LLM 사이에 얇은 다리(connector)를 학습으로 놓는다” 에 가깝다.

5개 구성요소 (general architecture)

VLM 구조는 5개 부품으로 일반화된다. 이해만 하는 모델은 앞 3개(Encoder·Projector·LLM)만, 생성까지 하는 모델은 뒤 2개(Output Projector·Generator)를 더 붙인다.

Figure 2 (Zhang et al., ACL 2024). VLM의 일반 구조와 부품별 구현 선택지. 왼쪽 3개(Encoder→Input Projector→LLM)가 Multimodal Understanding, 오른쪽 2개(Output Projector→Generator)를 더하면 Multimodal Generation. 눈송이=freeze, 불꽃=학습.
① Modality Encoder (ME)

이미지/비디오/오디오를 각 도메인 인코더로 특징 $F_X$ 로 변환. 보통 freeze.

예: CLIP ViT, EVA-CLIP ViT, NFNet-F6 (비전) · HuBERT, BEATs, C-Former (오디오) · ImageBind (통합)

② Input Projector (Connector) $\Theta_{X\to T}$

$F_X$ 를 LLM의 텍스트 토큰 공간으로 정렬해 prompt $P_X$ 로 만든다. 학습 대상(가벼움).

예: Linear / MLP · Cross-attention(Perceiver Resampler) · Q-Former · P-Former · MQ-Former

③ LLM Backbone

정렬된 멀티모달 표현 + 텍스트를 받아 이해·추론·생성. 보통 freeze(또는 LoRA 등 PEFT). 출력은 텍스트 $t$, 그리고 (생성 시) 신호 토큰 $S_X$.

예: LLaMA/LLaMA-2, Vicuna, Flan-T5, Qwen, OPT, PaLM, Chinchilla, ChatGLM

④ Output Projector $\Theta_{T\to X}$ 생성 전용

LLM의 신호 토큰 $S_X$ 를 생성기가 알아듣는 조건 특징 $H_X$ 로 매핑. 학습 대상.

예: Tiny Transformer · MLP

⑤ Modality Generator (MG) 생성 전용

$H_X$ 를 조건으로 off-the-shelf 생성기가 최종 산출물을 만든다. 보통 freeze.

예: Stable Diffusion(이미지) · Zeroscope(비디오) · AudioLDM(오디오)

학습 비중이 작다. encoder·LLM·generator를 freeze하고 projector만 학습하므로, 학습 파라미터가 전체의 약 2%(PEFT까지 쓰면 0.1% 미만)에 불과하다. 그래서 적은 비용으로 다양한 MM task를 켤 수 있다.

무엇을 입출력하나 — Understanding vs Generation

모달리티 표기: I=Image, V=Video, A/S=Audio/Speech, T=Text. +=입력(또는 출력)에 모달리티가 복수, =입력→출력 변환 방향.

Multimodal Understanding

멀티모달 입력 → "의미·판단·설명"(대개 텍스트 결과). 앞 3개 부품만 사용.

I+T→T (이미지 이해/VQA/대화): BLIP-2, LLaVA, MiniGPT-4, Kosmos-1, PaLM-E, Qwen-VL

V+T→T (비디오 이해): VideoChat, Video-ChatGPT

A+T→T (오디오/음성 이해): SALMONN, Qwen-Audio

Many→T (다중 모달 입력→텍스트): Flamingo, InstructBLIP, Video-LLaMA, AnyMAL

Multimodal Generation

조건(텍스트 등) → "새 미디어 합성"(이미지·비디오·오디오 결과). 5개 부품 모두 사용.

I+T→I+T (이미지 생성 포함): GILL, Emu-2, DreamLLM, MiniGPT-5, Visual ChatGPT

V+T→V+T: Video-LaVIT

A/S+T→A/S+T: SpeechGPT, AudioPaLM

Many→Many (any-to-any): NExT-GPT, CoDi-2, GPT-4, Gemini, HuggingGPT

학습 파이프라인 (MM PT → MM IT)

freeze된 텍스트 전용 LLM을 멀티모달로 키우는 과정은 두 단계다.

  • MM PT (Pre-Training) — X-Text 데이터(이미지-텍스트 쌍, interleaved 코퍼스 등)로 projector를 학습해 모달리티를 정렬. 이해 모델은 입력 projector만, 생성 모델은 출력 projector·생성 손실까지 함께 최적화.
  • MM IT (Instruction-Tuning) — instruction 형식 데이터로 fine-tune해 새 지시에 일반화(zero-shot↑). SFT(지도 미세조정) + RLHF(사람 피드백 강화학습)로 사람 의도와 대화 능력을 맞춘다.

대표 모델 한눈에

같은 5-부품 틀 위에서 무엇을 connector로 쓰고, 어떻게 학습하느냐가 모델을 가른다.

모델 I→O Encoder Connector LLM 학습 단계
Flamingo (NeurIPS 2022) I+V+T→T NFNet-F6 Cross-attention (Perceiver Resampler) + gated cross-attn Chinchilla 1단계: ViT·LLM freeze, resampler·gated cross-attn만 학습
BLIP-2 (ICML 2023) I+T→T CLIP / EVA-CLIP ViT Q-Former (+ Linear) Flan-T5 / OPT 2단계: ①표현학습(인코더 freeze+Q-Former) ②생성학습(LLM freeze+Q-Former)
LLaVA (NeurIPS 2023) I+T→T CLIP ViT-L/14 Linear projection Vicuna 7B/13B 2단계: ①정렬(인코더·LLM freeze, projection만) ②지시튜닝(projection+LLM)
LLaVA-1.5 (CVPR 2024) I+T→T CLIP ViT-L@336 MLP projection Vicuna-1.5 7B/13B LLaVA + MLP 커넥터·고해상도(336)·학술 VQA/포맷 프롬프트 데이터
Qwen2.5-VL (arXiv 2025) I+V+T→T native dynamic-resolution ViT MLP merger Qwen2.5 4단계: 인코더 → V-L 정렬 → end-to-end 멀티모달 PT(비디오/에이전트) → SFT
  • Connector의 진화 — Flamingo의 cross-attention, BLIP-2의 Q-Former(학습 query가 이미지 특징에서 텍스트에 유용한 정보만 압축 추출)처럼 복잡하던 것이, LLaVA에서 단순 Linear/MLP로도 충분함이 드러났다(VILA 등도 동일 결론).
  • Qwen2.5-VL — 이미지·문서·장시간 비디오를 네이티브 해상도/시간축 그대로 다루도록 dynamic resolution·dynamic FPS + absolute time encoding을 도입하고, RMSNorm·SwiGLU·M-RoPE(멀티모달 회전 위치 임베딩)로 확장.

발전 흐름 & 다음 주제

이해 → 생성 → any-to-any

텍스트 결과만 내던 이해 모델에서 → 특정 모달 생성 → 임의 모달 변환으로(예: MiniGPT-4 → MiniGPT-5 → NExT-GPT).

PT → SFT → RLHF

정렬만 하던 학습이 지시튜닝·사람 피드백으로 정교화(예: BLIP-2 → InstructBLIP → DRESS).

복잡한 connector → 단순 projector

Q-/P-Former 같은 무거운 모듈에서 → 단순 linear/MLP로도 강력(BLIP-2·DLP → LLaVA·VILA).

고해상도 & 경량 배포

디테일을 위해 해상도↑(336·448), 동시에 모바일/엣지용 경량화(MobileVLM 등)도 활발.

다음 주제 — Efficient / Lightweight VLM. VLM은 시각 토큰이 텍스트보다 훨씬 많아(예: LLaVA 576개) LLM 입력이 길어지고 연산이 제곱으로 폭증한다. 그래서 시각 토큰을 줄이는 흐름(SparseVLM·IVTP·VLTP·Recoverable Compression 등)이 나온다 — Token Reduction in ViTs텍스트(질문)까지 고려하는 멀티모달 버전으로 확장한 것이다. 별도 카테고리로 정리 예정.