VLM (Vision-Language Model) 아키텍처 가이드¶
1. 개요¶
Vision-Language Model(VLM)은 이미지와 텍스트를 동시에 이해하고 처리할 수 있는 멀티모달 AI 모델이다. 기본적으로 Vision Encoder와 Language Model을 결합한 구조를 가진다.
2. 핵심 구성 요소¶
2.1 Vision Encoder¶
이미지를 수치적 표현(embedding)으로 변환하는 컴포넌트.
| Encoder | 개발사 | 특징 |
|---|---|---|
| ViT (Vision Transformer) | Transformer 기반, 패치 분할 방식 | |
| CLIP ViT | OpenAI | 텍스트-이미지 대조 학습 |
| SigLIP | Sigmoid loss 기반 CLIP 개선 | |
| EVA-CLIP | BAAI | 대규모 사전학습 ViT |
| DINOv2 | Meta | Self-supervised 학습 |
2.2 Projection Layer (Connector)¶
Vision Encoder의 출력을 LLM이 이해할 수 있는 차원으로 변환한다.
주요 방식: - Linear Projection: 단순 선형 변환 (LLaVA 1.0) - MLP (Multi-Layer Perceptron): 2-layer MLP (LLaVA 1.5+) - Cross-Attention: 이미지-텍스트 간 attention (Flamingo, Qwen-VL) - Perceiver Resampler: 고정 길이 토큰 생성 (Flamingo) - Q-Former: Querying Transformer (BLIP-2)
2.3 Language Model (LLM)¶
텍스트 생성 및 추론을 담당하는 핵심 컴포넌트.
| LLM Base | 사용 모델 | 파라미터 |
|---|---|---|
| Vicuna | LLaVA 1.5 | 7B, 13B |
| LLaMA 2/3 | LLaVA-NeXT, CogVLM2 | 7B-70B |
| Mistral | LLaVA-NeXT, Pixtral | 7B |
| Mistral Large 2 | Pixtral Large | 123B |
| Qwen | Qwen-VL, Qwen2-VL | 2B-72B |
| Gemma 2 | PaliGemma 2 | 3B, 10B, 28B |
3. 아키텍처 유형¶
3.1 Type A: Frozen Vision Encoder + Trainable Connector¶
특징: - Vision Encoder 가중치 고정 - Connector와 LLM만 학습 - 학습 효율성 높음
대표 모델: LLaVA, LLaVA-NeXT
3.2 Type B: End-to-End Trainable¶
특징: - 전체 파이프라인 학습 - 더 나은 모달리티 정렬 - 학습 비용 높음
대표 모델: GPT-4V, Gemini, Claude 3
3.3 Type C: Cross-Attention 기반¶
Image --> [Vision Encoder] --> Visual Tokens
|
Cross-Attention
|
Text --> [LLM Layers] <------------|
특징: - LLM 레이어 내부에서 이미지 정보 통합 - 깊은 모달리티 융합
대표 모델: Flamingo, Qwen-VL
3.4 Type D: Native Multimodal¶
특징: - 이미지와 텍스트를 동일한 토큰 시퀀스로 처리 - 단일 모델 아키텍처 - 가장 통합된 접근
대표 모델: Gemini, GPT-4o
4. 이미지 처리 방식¶
4.1 고정 해상도¶
- 입력 이미지를 고정된 크기(예: 224x224, 336x336)로 리사이즈
- 처리 속도 일정
- 세부 정보 손실 가능
4.2 동적 해상도 (Dynamic Resolution)¶
- 입력 이미지를 여러 타일로 분할
- 고해상도 이미지 처리 가능
- 토큰 수 증가로 비용 상승
구현 방식:
| 모델 | 방식 | 최대 해상도 |
|---|---|---|
| GPT-4V | 512x512 타일 분할 | 제한 없음 |
| LLaVA-NeXT | AnyRes (다중 타일) | 최대 6개 타일 |
| Qwen2-VL | Naive Dynamic Resolution | 제한 없음 |
| Claude 3 | 동적 타일링 | 8192x8192 |
4.3 멀티 이미지 처리¶
| 모델 | 최대 이미지 수 |
|---|---|
| GPT-4V | 최대 20개 (컨텍스트 내) |
| Gemini 1.5 | 3600+ 이미지 |
| Claude 3 | 최대 20개 |
| Qwen2-VL | 다중 이미지 지원 |
5. 학습 전략¶
5.1 Stage 1: Pre-training (Feature Alignment)¶
목표: Vision Encoder와 LLM 간 특징 정렬
데이터: - 이미지-캡션 쌍 (예: CC3M, LAION) - 학습 대상: Connector만 또는 전체
손실 함수: Next token prediction (autoregressive)
5.2 Stage 2: Instruction Tuning¶
목표: 지시 따르기 능력 향상
데이터: - Visual instruction 데이터 - 멀티턴 대화 데이터 - Task-specific 데이터
5.3 Stage 3: RLHF / DPO (선택적)¶
목표: 인간 선호도 정렬
방법: - Reinforcement Learning from Human Feedback - Direct Preference Optimization
6. 주요 벤치마크¶
6.1 일반 VQA¶
| 벤치마크 | 설명 |
|---|---|
| VQAv2 | 일반 시각 질의응답 |
| GQA | 구성적 질의응답 |
| OK-VQA | 외부 지식 필요 VQA |
| TextVQA | 이미지 내 텍스트 이해 |
| DocVQA | 문서 이해 |
6.2 멀티모달 추론¶
| 벤치마크 | 설명 |
|---|---|
| MMMU | 대학 수준 멀티모달 이해 |
| MathVista | 수학적 시각 추론 |
| AI2D | 과학 다이어그램 이해 |
| ChartQA | 차트/그래프 이해 |
6.3 OCR 및 문서¶
| 벤치마크 | 설명 |
|---|---|
| OCRBench | OCR 종합 평가 |
| InfoVQA | 인포그래픽 이해 |
| SROIE | 영수증 정보 추출 |
6.4 환각 평가¶
| 벤치마크 | 설명 |
|---|---|
| POPE | 객체 존재 환각 |
| HallusionBench | 환각 종합 평가 |
| MMHal-Bench | 멀티모달 환각 |
7. 성능 vs 효율성 트레이드오프¶
성능 (Accuracy)
^
| * GPT-4V
| * Gemini Ultra
| * Claude 3 Opus
| * Gemini 1.5 Pro
| * GPT-4o
| * Qwen2-VL-72B
| * LLaVA-NeXT-72B
| * Pixtral Large
| * Qwen2-VL-7B
| * LLaVA-NeXT-7B
| * Pixtral 12B
| * PaliGemma-3B
+---------------------------------> 효율성 (Speed/Cost)