01 — 19

Video Captioning Project

한국어
Video Captioning

대한민국 배경영상 상세 설명문 생성 모델 개발

02 — 19

Project Philosophy

계획실행의 균형

Plan-First
체계적 접근으로 리스크 최소화
예측 가능한 진행
→ 실행 전까지 Unknown이 존재
Execute-First
빠른 피드백과 실제 문제 발견
경험 기반 학습
→ Iteration 비용이 누적
APPROACH
제한된 시간 내 검증 가능한 범위를 산정하고
다음 의사결정 시점까지의 마일스톤을 명확히 설정
03 — 19

Project Approach

제약 조건 내에서 달성 가능한 목표 설정

Scope를 명확히 정의하고
해당 범위 내에서 최적의 결과를 도출
SAMPLING STRATEGY
Full Dataset ~50h vs Sample ~5h
→ 10배 단축으로 다양한 실험 가능
⏰ 시간
3일
72시간
(실험→분석→발표)
💻 컴퓨팅
A100
80GB VRAM
Colab Pro+
📊 데이터
10%
원본: 330GB
9,631 videos
04 — 19

Dataset EDA

AI Hub 대한민국 배경영상

9,631
Total Samples
575
Avg Chars/Caption
카테고리 분포
시가지
40.3%
자연
34.3%
건축물
25.3%
토크나이저 효율 비교
LLaMA
931 tok
GPT-4
574 tok
Qwen
401 tok
2.3× Qwen 토크나이저 효율
의사결정 → Qwen3-8B 선택
04 — 19

LLaVA 란?

06 — 19

Basic Architecture

기본 LLM 구조

"이 영상을 설명해줘" Text Input Tokenizer Text → Tokens Text Tokens LLM Next Token Prediction 텍스트 출력 Output
문제   텍스트만 입력 가능 → 이미지/비디오 이해 불가
07 — 19

Architecture

LLaVA 아키텍처

Image Vision Encoder Vision Encoder ❄️ Visual Features Projector 4종 비교 실험 TRAINABLE Visual Tokens "이 영상을 설명해줘" Text Instruction Tokenizer Tokenizer Text Tokens Token Sequence [Visual] + [Text] LLM Next Token Prediction 출력 캡션
핵심   Image → Vision Encoder → ProjectorVisual Tokens
Text Instruction → Tokenizer → Text Tokens
LLM은 [Visual + Text] 토큰 시퀀스를 받아 다음 토큰만 예측
08 — 19

Goals

핵심 질문 & 목표

한국어를 잘 이해하고 한국어로 자연스럽게 생성하는
Video-LLM이 가능한가?
PRIMARY
0.50+
Diversity
Mode Collapse 방지
SECONDARY
0.10+
SigLIP2
Vision-Text 정렬도
TERTIARY
0.40+
METEOR
단어 수준 유사도
왜 3가지? SigLIP 높아도 Diversity 낮으면 Mode Collapse → 종합 평가 필수
06 — 19

Experiment Plan

실험 계획

Projector 4종 비교 실험
LINEAR
4M
4,608 tokens
MLP-2L
8M
4,608 tokens
C-ABSTRACTOR
206M
64 tokens
PERCEIVER
134M
64 tokens
3일 일정
Day 1 실험 설계 + 4종 학습 시작 (~15h)
Day 2 결과 분석 + 추가 실험 (~20h)
Day 3 최종 분석 + 발표 자료 작성
10 — 19

Architecture

LLaVA 아키텍처

Image Vision Encoder Vision Encoder ❄️ Visual Features Projector 4종 비교 실험 TRAINABLE Visual Tokens "이 영상을 설명해줘" Text Instruction Tokenizer Tokenizer Text Tokens Token Sequence [Visual] + [Text] LLM Qwen3-8B Next Token Prediction LoRA r=16 출력 캡션
핵심   Image → Vision Encoder → ProjectorVisual Tokens
Text Instruction → Tokenizer → Text Tokens
LLM은 [Visual + Text] 토큰 시퀀스를 받아 다음 토큰만 예측
11 — 19

Architecture + Training

Video-LLaVA Pipeline & 학습 전략

Video 8 frames "설명해줘" Instruction Vision Encoder CLIP 304M ❄️ Projector 4M~206M TRAINABLE Visual Tok Text Tokens LLM (Qwen3-8B) Next Token Predict LoRA r=16 한국어 캡션 max 768 tok
Stage 1 Projector Alignment
Vision ❄️ Frozen Projector 🔥 Training LLM ❄️ Frozen
LR: 1e-3 Epoch: 2 모달리티 정렬
Stage 2 End-to-End Fine-tuning
Vision ❄️ Frozen Projector 🔥 Training LLM+LoRA 🔥 Training
LR: 5e-5 Epoch: 3 태스크 학습
핵심   Vision Encoder 항상 Frozen → Stage 1: Projector만 → Stage 2: Projector + LLM LoRA 함께
12 — 19

Model Selection

컴포넌트 선택

VISION ENCODER
CLIP-ViT-L/14
304M params · Frozen
• LLaVA에서 검증된 조합
• 336px 해상도, 1024-dim
• 576 patches × 8 frames
= 4,608 tokens
PROJECTOR
4종 비교 실험
4M ~ 206M · Trainable
• Linear (4M) - 단순 변환
• MLP (8M) - 비선형 변환
• Perceiver (134M) - 압축
• C-Abstractor (206M) - 압축
→ 다음 슬라이드에서 상세
LLM
Qwen3-8B
8.2B params · 4-bit + LoRA
• 한국어 토크나이저 효율 2.3×
• 4-bit NF4 → ~5GB 메모리
• LoRA r=16 (44M params만)
전체의 0.5%만 학습
한국어 토크나이저 효율 비교 (575자 기준)
LLaMA
931 tok
Qwen
401 tok
2.3×
효율 향상
13 — 19

Architecture Detail

Projector 상세 구조

Image Text Vision Encoder CLIP ViT Projector 4종 비교 ↓ LLM Next Token 캡션
Linear
LLaVA
4M
W
4608 → 4608
MLP
LLaVA-1.5
8M
L1 σ L2
4608 → 4608
Perceiver
Flamingo
134M
4608 Query Attn 64
4608 → 64
C-Abstractor
Honeybee
206M
Conv 3×3 64
4608 → 64
14 — 19

Optimizations

적용된 최적화

🚀 속도/메모리 최적화
Vision 캐싱 30-40% 속도 향상
Mixed Precision BF16 연산 가속
Grad Checkpoint 메모리 60% 절약
4-bit 양자화 LLM 메모리 75% 절약
📈 학습 안정성 최적화
Cosine LR Warmup 10% + Decay
Gradient Clipping max_norm=1.0
Early Stopping patience=3
Diversity 모니터링 Mode Collapse 조기 탐지
15 — 19

Memory Analysis

메모리 사용량

Component
Memory
비고
Vision Encoder (❄️ frozen)
~1.2GB
추론 모드, 그래디언트 X
LLM (4-bit)
~5GB
NF4 양자화 적용
Projector
~0.8GB
Linear: 4M params
Optimizer states
~8GB
AdamW 8-bit 최적화
Activations (checkpoint)
~15GB
gradient checkpointing
Batch (16 × 8 frames)
~20GB
Mixed Precision 적용
여유
~30GB
안전 마진
TOTAL
~50GB
A100 80GB ✓ 충분
16 — 19

Experiment Results

실험 결과

Projector
파라미터
SigLIP
Diversity
METEOR
상태
C-Abstractor
206M
0.113
0.11
-
⚠️ Mode Collapse
Perceiver
541M
0.010
0.08
0.063
⚠️ Mode Collapse
Linear ✅
4M
0.144
1.00
-
✅ 성공!
MLP-2L 🏆
21M
0.189
1.00
-
✅ 최고!
🎯 핵심 발견
"Simple is Better"
작은 Projector (4M~21M)가 Mode Collapse 방지
⚠️ 주의사항
SigLIP만으로 판단 금지
Diversity가 핵심 지표! (Mode Collapse 탐지)
17 — 19

Lessons Learned

핵심 교훈

모델 크기 ≠ 성능
작은 데이터셋에서는
단순한 모델이 더 효과적

541M → Mode Collapse
4M → Diversity 1.00
Diversity가 핵심
SigLIP 높아도
Diversity 낮으면 실패

E5-v2: SigLIP 0.11 (높음)
Diversity 0.11 → 실패
한국어 = Qwen
토크나이저 효율 2.3배
자연스러운 한국어 생성

평가도 다국어 지원 필수
SigLIP v1 → SigLIP2
18 — 19

Future Work

추후 개선방향

1
Full Dataset 학습
Train 865 → 8,563 (10배 확장)
~50h
목표: METEOR 0.35+
2
LoRA rank 증가 (r=16 → r=32)
더 많은 파라미터로 세밀한 조정
3
Frame 수 증가 (8 → 12 frames)
더 많은 시각 정보 활용
4
LLM 스케일 증가 (8B → 14B)
한국어 생성 품질 향상
Phase 1 완료   Linear(4M) / MLP-2L(21M) 검증 성공 → Phase 2 Full Dataset 진행 가능
18 — 19

Takeaway

프로젝트 회고

모든 변수를 통제할 수는 없다
그러나 불확실성을 관리할 수는 있다
SCOPE
범위 산정
제한된 리소스 내에서
검증 가능한 범위 정의
MILESTONE
의사결정 시점
다음 판단 시점까지의
명확한 기준 설정
DELIVERY
의사결정 지원
현황 보고가 아닌
선택 가능한 옵션 제시
완벽한 계획보다 빠른 검증, 무계획 실행보다 명확한 기준
19 — 19
E.O.D
End of Document