VLM — Overview
참고: Zhang et al., "MM-LLMs: Recent Advances in Multimodal Large Language Models." ACL 2024 (+ Flamingo·BLIP-2·LLaVA·Qwen2.5-VL)
한 줄 요약. VLM(넓게는 멀티모달 LLM)은 새 모델을 처음부터 만들지 않는다. 이미 잘 학습된 비전 인코더와 LLM을 그대로(freeze) 가져와, 그 사이에 얇은 connector만 학습해 이미지·비디오·오디오를 LLM이 알아듣는 토큰으로 정렬한다. 그래서 싸게 만들면서 LLM의 추론·ICL·instruction-following 능력을 물려받는다. 이 노트는 그 구조를 5개 부품으로 정리하고, 입출력 분류·학습 방식·대표 모델(Flamingo → BLIP-2 → LLaVA → …)이 어떻게 갈라지는지 따라간다.
VLM이란?
조금 더 풀어보자. 핵심은 LLM을 “인지 엔진(cognitive engine)” 으로 두는 것이다 — 비전·오디오 등 다른 모달리티의 사전학습 인코더를 LLM에 연결해, 추론·판단은 LLM이 맡게 한다.
- 왜 LLM 중심인가 — LLM은 강한 언어 생성, zero-shot 전이, In-Context Learning(ICL), CoT, instruction following을 이미 갖췄다. 처음부터 다시 배우는 대신 이걸 그대로 물려받는다.
물려받는 핵심 능력 3가지
- 추론(Reasoning) — 여러 단계를 거쳐 논리적 결론을 도출(예: CoT, "단계별로 생각"). VLM에선 이미지+상식을 결합해 답을 유도.
- ICL(In-Context Learning) — 재학습 없이 프롬프트 속 예시 몇 개만 보고 추론 시점에 즉석으로 task를 학습(few-/zero-shot).
- Instruction following — 자연어 지시를 이해·수행하고 새 지시에도 일반화. Instruction Tuning(SFT+RLHF)으로 사람 의도에 정렬.
- 핵심 난제 — 서로 따로 사전학습된 모달리티 모델들을 어떻게 연결(align)해 함께 추론하게 하느냐. 그래서 대부분의 연구가 모달리티 정렬 + 사람 의도 정렬(MM PT + MM IT) 에 집중한다.
즉 VLM은 “새 모델을 만든다”기보다 “freeze된 비전 인코더와 freeze된 LLM 사이에 얇은 다리(connector)를 학습으로 놓는다” 에 가깝다.
5개 구성요소 (general architecture)
VLM 구조는 5개 부품으로 일반화된다. 이해만 하는 모델은 앞 3개(Encoder·Projector·LLM)만, 생성까지 하는 모델은 뒤 2개(Output Projector·Generator)를 더 붙인다.
① 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(사람 피드백 강화학습)로 사람 의도와 대화 능력을 맞춘다.
관련 논문 한눈에 보기
먼저 태그(부품·유형)별로, 풀 모델인 VLM은 다시 세대(G1→G4)별로 본다.
Modality Encoder
| 모델 | 핵심 |
|---|---|
| CLIP (ICML 2021) | 이미지-텍스트 contrastive(웹 4억 쌍), open-vocab zero-shot. 대부분 VLM이 freeze해 쓰는 ①번 부품 |
| EVA-CLIP (arXiv 2023) | CLIP을 싸고 안정적으로 스케일하는 학습 레시피(EVA 초기화·LAMB·토큰 드롭·flash attn). zero-shot 82.0%, BLIP-2 등이 쓰는 EVA ViT |
| SigLIP (ICCV 2023) | CLIP의 softmax를 sigmoid loss(쌍별 독립)로 — 글로벌 정규화 불필요·메모리 효율·배치 자유. SigLIP-SO400M은 LLaVA-OneVision·Qwen2-VL 등이 쓰는 인코더 |
Input Projector 시각→언어 커넥터
| 모델 | 핵심 |
|---|---|
| P-Former (NeurIPS 2023) | 시각 특징을 고르는 대신 텍스트만으로 “이상적 프롬프트”를 먼저 학습(backward-decoupling)해 커넥터 학습을 도움. BLIP-2 데이터효율↑(4M→129M급), 학습 때만 사용 |
VLM
거대 LLM을 붙이기 전, 비전·언어의 토대.
이미지↔텍스트를 같은 의미 공간에 맞추거나(정렬) 이해+생성을 자체적으로 한다. 이후 VLM이 그대로 갖다 쓸 비전 인코더·데이터를 마련한 단계.
강력한 LLM을 가져다 붙인다.
이미 학습을 마친 모델에 새 task가 와도, 추가 학습(파인튜닝) 없이 프롬프트(입력)에 예시 몇 개·질문만 넣으면 모델이 보고 따라 한다 — in-context learning(few-shot). ("처음부터 학습"은 모델을 만드는 단계 얘기, few-shot은 다 만든 모델을 쓰는 단계 얘기.)
(지시, 답) 데이터로 LLM을 한 번 더 학습(튜닝).
G2는 프롬프트로 그때그때 적응할 뿐. G3은 "이렇게 물으면 이렇게 답해라"는 예시 데이터(예: GPT-4가 만든 멀티모달 Q&A 158K)로 튜닝 → 자유로운 지시를 잘 따르는 챗봇이 된다.
모달리티를 처음부터 함께, 이미지는 네이티브 해상도로.
앞 세대가 완성된 LLM에 비전을 나중에 붙이고 이미지를 작은 고정 크기(224·336·448px)로 줄여 봤다면, G4는 ⓐ 텍스트·이미지·오디오·비디오를 처음부터 함께 학습(Gemini)하거나 ⓑ 이미지를 네이티브 해상도·비디오로 보고 긴 문서·에이전트까지 다룬다 — 입력의 크기·종류를 키운 단계.
| 모델 | Encoder | Connector | LLM | 차별점 |
|---|---|---|---|---|
| G1 · Foundations — LLM 없이 비전·언어 정렬 | ||||
| BLIP '22 | ViT-B/L | MED (cross-attn 내장) | — | 이해+생성을 한 모델(MED)로 통합 + CapFilt로 데이터 정제 |
| G2 · LLM + ICL — LLM 붙이고 프롬프트로 적응 | ||||
| Flamingo '22 | NFNet-F6 | Cross-attention | Chinchilla | cross-attention을 LLM 층 안에 주입 (few-shot ICL) |
| BLIP-2 '23 | CLIP / EVA ViT | Q-Former | Flan-T5 / OPT | Q-Former 병목으로 최소 파라미터(학습 188M) |
| Kosmos-1 '23 | CLIP ViT | 토큰열 interleave | from-scratch | freeze 없이 처음부터 한 몸으로 학습 |
| G3 · Instruction Tuning — 지시 데이터로 튜닝, 지시 따르는 챗봇 | ||||
| LLaVA '23 | CLIP ViT-L/14 | Linear | Vicuna | GPT-4가 만든 instruction 데이터로 visual instruction tuning 첫 도입 (부품은 일부러 단순) |
| MiniGPT-4 '23 | ViT+Q-Former (BLIP-2 것) | Linear (1층만 학습) | Vicuna | BLIP-2 비전을 재활용 + 더 강한 LLM(Vicuna)에 linear 한 층만 + 대화 2단계 정렬 |
| InstructBLIP '23 | ViT (BLIP-2 것) | instruction-aware Q-Former | Flan-T5 / Vicuna | BLIP-2를 26개 학술 데이터로 instruction 튜닝 + 지시문을 Q-Former에도 줘 맞춤 시각 특징 |
| Qwen-VL '23 | ViT-bigG @448 | cross-attn adapter (Resampler 256q) | Qwen-7B | grounding·OCR 능력 추가(<box>·<ref> 토큰) · 3단계 학습 |
| LLaVA-1.5 '24 | CLIP @336 | MLP | Vicuna-1.5 | 학술 VQA 데이터 + 포맷 프롬프트(단답/장답 균형) → 공개데이터 SOTA |
| InternVL '24 | InternViT-6B | QLLaMA (8B 미들웨어) | Vicuna 등 | 작은 인코더+거대 LLM 불균형 해결 — 비전 인코더를 6B로 스케일 + 강한 미들웨어 |
| G4 · Native Multimodal — 처음부터 함께 학습 · 네이티브 해상도·비디오로 스케일 | ||||
| Gemini '23 | — | — | natively multimodal | 처음부터 텍스트·이미지·오디오·비디오를 함께(natively) 사전학습 — 비전을 나중에 붙이지 않음 · 이미지 출력까지 · Ultra/Pro/Nano |
| LLaVA-OneVision '24 | SigLIP | 2-layer MLP | Qwen-2 | 이미지+멀티이미지+비디오 한 모델 + 시나리오 간 전이(이미지→비디오 창발) · AnyRes 고해상도 |
| Qwen2-VL '24 | 675M ViT (2D-RoPE) | MLP merger (2×2 압축) | Qwen2 (2~72B) | Naive Dynamic Resolution(원해상도→가변 토큰) + M-RoPE(시간·높이·너비)로 이미지·비디오 위치를 한 좌표계에 |
| InternVL 2.5 '24 | InternViT-6B/300M (타일 448) | MLP (unshuffle 1024→256) | InternLM2.5 / Qwen2.5 | 아키텍처는 그대로, 모델·데이터·test-time 3축 스케일링 — 6B ViT로 학습 토큰 1/10 · 오픈 최초 MMMU 70%+ |
| DeepSeek-VL2 '24 | SigLIP (동적 타일링) | 2-layer MLP | DeepSeekMoE (+MLA) | MoE로 효율 — 활성 파라미터 1~4.5B로 dense급 성능 · 단일 인코더 동적 타일링 · 그라운딩·GUI |
| Qwen2.5-VL '25 | from-scratch ViT (window attn) | MLP merger | Qwen2.5 | Qwen2-VL을 정련 — MRoPE 절대 시간 정렬·dynamic FPS·window attention(선형 비용)·에이전트 |
| InternVL3 '25 | InternViT | MLP | InternLM/Qwen (공동 학습) | 네이티브 멀티모달 사전학습 — 텍스트+멀티모달을 단일 단계에서 공동 학습(post-hoc 탈피) · V2PE·MPO · 오픈 MMMU 72.2 |
| InternVL3.5 '25 | InternViT (+ViR) | MLP | InternLM/Qwen (dense+MoE) | InternVL3 위에 추론·효율 — Cascade RL(offline→online)·ViR(동적 해상도)·DvD(비전·언어 분리) → 추론 +16%·속도 4.05× |
| Qwen3-VL '25 | dynamic-res ViT (DeepStack) | MLP merger (다층 주입) | Qwen3 (dense+MoE) | 네이티브 256K interleaved · DeepStack(다층 ViT 융합)·interleaved-MRoPE·텍스트 타임스탬프 · thinking 변형 |
두 축으로 보는 진화
세대(G2→G3)를 가르는 흐름은 결국 두 축으로 압축된다 (모델별 차이는 위 표의 차별점 열 참고).
Connector: 복잡 → 단순
G2의 무거운 다리 — cross-attention(Flamingo)·Q-Former(BLIP-2)·Resampler(Qwen-VL) — 가, G3 LLaVA의 단순 Linear/MLP로도 충분함이 드러났다.
적응: 프롬프트 → 튜닝
G2는 few-shot ICL(예시 몇 개로 그 자리에서 적응)이지만, G3부터는 GPT-4 instruction 데이터로 직접 튜닝해 지시 따르는 챗봇이 된다.
곁가지로 알아둘 예외 셋
- 한 몸 학습 — 같은 G2라도 Flamingo·BLIP-2는 frozen LLM에 다리를 놓지만, Kosmos-1은 다리 없이 from-scratch로 한 몸 학습.
- instruction-aware 특징 — BLIP-2의 Q-Former는 지시와 무관한 고정 시각 특징을 주는데, InstructBLIP은 지시문을 Q-Former에도 넣어 "지시에 맞는 시각 특징"을 뽑는다.
- 부착 vs 네이티브 — 대부분 완성된 LLM에 비전 인코더를 나중에 붙이지만, Gemini는 처음부터 텍스트·이미지·오디오·비디오를 함께 학습한 네이티브 멀티모달이라 인코더/커넥터로 분리되지 않는다.
주요 벤치마크
VLM 성능은 대부분 VQA 계열 벤치마크로 잰다. 최근 서베이(A Survey on Benchmarks of MLLMs, 2024 — 200여 벤치마크 리뷰)는 이들을 “무슨 능력을 보는가” 축으로 분류한다 — ① 인식·이해 ② 인지·추론 ③ 특정 도메인 ④ 핵심 능력 ⑤ 기타 모달리티(비디오·오디오·3D). 이 축에 맞춰 자주 쓰는 것들을 정리하면:
① 인식·이해 (Perception & Understanding)
이미지를 보고 특징을 뽑아 답하는 가장 기본 축 — 종합·일반 VQA·세밀 지각·멀티이미지.
| 벤치마크 | 무엇을 보나 | 특징 |
|---|---|---|
| MME | 종합(인식+인지) | Perception(객체·색·위치·수량) + Cognition(추론·상식·계산)을 분리 채점 |
| MMBench | 종합 (인식+추론+지식) | 객관식(MCQ), 자동평가·재현성↑ (영/중 MMBench-CN) |
| SEED-Bench | 이미지+비디오 이해 | 시간적 추론(temporal) 포함, 정적 VQA를 넘어섬 |
| VQAv2 | 일반 인식 + 상식 | 짧은 답(COCO), 비슷한 이미지쌍으로 언어 편향 완화 — 가장 표준 |
| GQA | 조합·논리 추론 | scene graph 기반 and/or/not·비교·관계 질문 |
| VizWiz | 현실 강건성(robustness) | 시각장애인이 찍은 저품질 실사진 + 거친 질문 |
| BLINK | 세밀 시지각 | 깊이·대응점·다시점·직소(jigsaw) 등 언어 지식으론 못 푸는 순수 지각. CoT가 안 통함 |
| MuirBench | 멀티이미지 이해 | 여러 장을 함께 비교·정렬·차이 찾기(12개 태스크). 한 장 VQA로는 평가 불가 |
② 인지·추론 (Cognition & Reasoning)
기본 인식을 넘어, 지식·논리를 동원한 고차 추론.
| 벤치마크 | 무엇을 보나 | 특징 |
|---|---|---|
| ScienceQA | 과학 지식 추론 | 과학 객관식(이미지+텍스트+선택지+해설 chain) |
| MMMU | 전문·다학제 추론 | 대학·전문가 수준 6개 분야 30개 과목 + 신중한(deliberate) 추론. 오픈 모델이 70% 넘기 어려운 새 변별 기준 |
③ 특정 도메인 (Specific Domains)
특정 입력 형태·응용에 특화 — text-rich/문서·에이전트 등.
| 벤치마크 | 무엇을 보나 | 특징 |
|---|---|---|
| TextVQA | OCR + 시각-언어 정렬 | 이미지 속 문자(간판·메뉴·표지판) 인식·이해 |
| InfoVQA | 문서·인포그래픽 | TextVQA의 간판 한 줄을 넘어, 표·차트·레이아웃이 빽빽한 인포그래픽에서 읽기+산술+구조 추론 |
| MMT-Bench | 광역 멀티태스크·에이전트 | 32개 메타·162 서브태스크(인식·OCR·3D·계획·에이전트)를 한 벤치마크에 |
④ 핵심 능력 (Key Capabilities)
정확도와 별개로 모델이 갖춰야 할 신뢰성·대화 품질.
| 벤치마크 | 무엇을 보나 | 특징 |
|---|---|---|
| POPE | 환각(hallucination) 억제 | “없는 객체를 있다고 답하나” Yes/No 프로빙. “아는 척” 여부 |
| LLaVA-Bench (in the Wild) | 실사용 체감 품질 | 자유형식 대화, 주관적 평가(창의성·설명력·자연스러움) |
발전 흐름 & 다음 주제
G1→G4를 관통하는 최근 흐름은 네 갈래로 읽힌다.
부착 → 네이티브 (학습 패러다임)
완성된 LLM에 비전을 다리로 나중에 붙이던 방식(LLaVA·BLIP-2)에서, 처음부터 모달리티를 함께 학습한 네이티브 멀티모달(Gemini)·네이티브 사전학습(InternVL3)으로.
입력 확장: 해상도·비디오·롱컨텍스트
작은 고정 해상도 → 네이티브 동적 해상도(Qwen2-VL)·절대 시간 비디오(Qwen2.5-VL)·256K interleaved(Qwen3-VL)로 입력의 크기·종류를 키움.
효율 스케일링
성능은 키우되 추론 비용은 잡는다 — 큰 ViT 데이터효율(InternVL 2.5)·MoE 희소화(DeepSeek-VL2)·window attention·동적 해상도 라우팅(ViR)·비전-언어 분리 배치(DvD, InternVL3.5).
지시 → 추론·에이전트
instruction tuning(G3)을 넘어 RL로 추론 강화(Cascade RL·thinking 변형)하고, GUI·embodied 에이전트로 실세계 조작까지 확장.
다음 주제 — Efficient VLM. VLM은 시각 토큰이 텍스트보다 훨씬 많아(LLaVA 한 장 576개) LLM 입력이 길어지고 연산이 토큰 수의 제곱으로 폭증한다. 그래서 질문을 고려해 답에 필요 없는 시각 토큰을 줄이는 흐름(FastV·SparseVLM·IVTP 등)이 나온다 — Efficient VLM 개요에 정리했고, 이는 Token Reduction in ViTs를 텍스트(질문)까지 고려하는 멀티모달 버전으로 확장한 것이다.