Post

VideoLLaMA3 훑어보기

VideoLLaMA3 훑어보기

VideoLLaMA 3: 최첨단 멀티모달 비디오 이해 모델

🔍 개요

📄 논문: https://arxiv.org/abs/2501.13106
🛠️ GitHub: https://github.com/DAMO-NLP-SG/VideoLLaMA3

VideoLLaMA 3는 이미지 및 비디오 이해를 위한 최신 멀티모달 기반 모델로,
시간적 특성을 반영한 비전 중심(vision-centric) 학습 패러다임프레임워크 디자인을 적용하여 강력한 성능을 제공합니다.

1


🎯 주요 특징

2

🔥 비전 중심(vision-centric) 학습 패러다임

기존의 비디오-텍스트 데이터셋은 품질이 낮거나 부족한 경우가 많음.
이를 해결하기 위해 고품질 이미지-텍스트 데이터 중심의 학습을 적용함.

📌 4단계 학습 과정
1️⃣ 비전 인코더 적응 (Vision Encoder Adaptation)
2️⃣ 비전-언어 정렬 (Vision-Language Alignment)
3️⃣ 멀티태스크 파인튜닝 (Multi-task Fine-tuning)
4️⃣ 비디오 중심 파인튜닝 (Video-centric Fine-tuning)


🎬 혁신적인 비디오 처리 기술

3

1️⃣ Any-resolution Vision Tokenization (AVT)

✔ 다양한 해상도 처리 가능
✔ 비디오 데이터의 고해상도 정보 보존

4

2️⃣ Differential Frame Pruner (DiffFP)

✔ 중복 프레임을 제거하여 연산량 감소
✔ 중요한 정보만 유지하여 효율적인 비디오 처리

3️⃣ 고품질 데이터셋 활용

  • VL3-Syn7M 데이터셋 구축 (7백만 개의 고품질 이미지-텍스트 쌍)
  • OCR 데이터, 차트 분석 데이터, 수학적 시각적 문제 해결 데이터 포함

4️⃣ 대규모 사전 학습

  • OpenAI, Meta 등의 최신 연구 반영한 Qwen2.5 LLM 모델 기반
  • 사전 훈련된 SigLIP 비전 인코더 개선

5


📊 성능 평가

🖼️ 이미지 이해 성능

9

10

모델ChartQADocVQAMathVistaMMMU-ProRealWorldQA
VideoLLaMA 3 (7B)86.394.967.133.672.7
Qwen2-VL 7B83.094.558.231.470.1
LLaVA-OneVision80.087.563.224.166.3

🎬 비디오 이해 성능

9

10

모델VideoMMEPerceptionTestMLVUTempCompassNextQA
VideoLLaMA 3 (7B)66.272.873.068.184.5
InternVL2.5 8B64.268.969.068.385.0
Qwen2-VL 7B63.362.369.867.981.2

대부분의 벤치마크에서 SOTA 성능 달성!


🛠️ 설치 및 사용법

📌 기본 환경 설정

1
2
3
4
pip install torch==2.4.0 torchvision==0.17.0 --extra-index-url https://download.pytorch.org/whl/cu118
pip install flash-attn --no-build-isolation
pip install transformers==4.46.3 accelerate==1.0.1
pip install decord ffmpeg-python imageio opencv-python

📌 모델 다운로드

1
2
3
git clone https://github.com/DAMO-NLP-SG/VideoLLaMA3
cd VideoLLaMA3
pip install -r requirements.txt

📌 추론(Inference) 코드 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import torch
from transformers import AutoModelForCausalLM, AutoProcessor

device = "cuda:0"
model_path = "DAMO-NLP-SG/VideoLLaMA3-7B"
model = AutoModelForCausalLM.from_pretrained(
    model_path, trust_remote_code=True, device_map={"": device},
    torch_dtype=torch.bfloat16, attn_implementation="flash_attention_2",
)
processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)

conversation = [
    {"role": "system", "content": "You are a helpful assistant."},
    {
        "role": "user",
        "content": [
            {"type": "video", "video": {"video_path": "./assets/cat_and_chicken.mp4", "fps": 1, "max_frames": 180}},
            {"type": "text", "text": "What is the cat doing?"}
        ]
    },
]

inputs = processor(conversation=conversation, add_system_prompt=True, add_generation_prompt=True, return_tensors="pt")
inputs = {k: v.to(device) if isinstance(v, torch.Tensor) else v for k, v in inputs.items()}
output_ids = model.generate(**inputs, max_new_tokens=1024)
response = processor.batch_decode(output_ids, skip_special_tokens=True)[0].strip()
print(response)

🔍 활용 사례

🖼️ 차트 분석 (Chart Understanding)

6

📌 질문: 이 주식은 보유할 가치가 있을까?
📌 VideoLLaMA 3의 답변: “해당 주식은 변동성이 크고 투자 위험이 높아 보입니다.”

📄 OCR 및 문서 이해 (Document Understanding)

7

📌 질문: 문서의 내용을 요약해 주세요.
📌 VideoLLaMA 3의 답변: “문서에서 읽은 주요 내용은…”

🎬 비디오 캡션 생성 (Video Captioning)

8

📌 질문: 이 비디오의 내용을 설명해 주세요.
📌 VideoLLaMA 3의 답변: “이 비디오는 우주선이 궤도를 도는 장면으로 시작됩니다…”


🚀 결론

VideoLLaMA 3는 최신 멀티모달 AI 모델 중 최강의 성능을 제공하며, 특히 비디오 및 이미지 이해에서 강력한 성능을 발휘합니다.

✔ 비전 중심 학습 패러다임 적용
✔ SOTA 성능 달성 (최신 벤치마크 1위 기록)
✔ 비디오 캡션, OCR, 차트 분석, 문서 이해 등 다양한 활용 가능

This post is licensed under CC BY 4.0 by the author.