Qwen2-VL: 동적 해상도와 M-RoPE로 달성한 오픈소스 최강 VLM

개요

Qwen2-VL은 2024년 9월 Alibaba가 발표한 시각-언어 모델이다. 두 가지 핵심 혁신이 이 모델을 정의한다: 네이티브 동적 해상도(Naive Dynamic Resolution) 처리와 **멀티모달 로터리 위치 임베딩(M-RoPE, Multimodal Rotary Position Embedding)**이다.

기존 VLM들이 이미지를 고정 크기로 리사이즈하거나 그리드로 분할하여 처리한 것과 달리, Qwen2-VL은 이미지의 원본 해상도에 비례한 수의 시각 토큰을 직접 사용하여 정보 손실을 최소화한다. M-RoPE는 텍스트의 1D 위치, 이미지의 2D 위치(행/열), 비디오의 3D 위치(행/열/시간)를 하나의 통합된 RoPE 프레임워크로 처리하여, 모달리티 간 위치 정보의 일관성을 보장한다.

2B, 7B, 72B 세 가지 크기로 제공되며, 발표 당시 오픈소스 모델 중 최고 수준의 시각 이해 성능을 달성하여 GPT-4V와 경쟁하는 수준에 도달했다.

논문: Qwen2-VL: Enhancing Vision-Language Model’s Perception of the World at Any Resolution

아키텍처 상세

전체 구조

  1. 비전 인코더: ViT-675M (자체 학습, 14×14 패치)
  2. MLP 프로젝터: 2-layer MLP (비전 → 언어 매핑)
  3. 언어 모델: Qwen2-2B / 7B / 72B

네이티브 동적 해상도(Naive Dynamic Resolution)

기존 방식과의 차이:

방식처리 방법문제점
고정 리사이즈모든 이미지 → 224px고해상도 정보 손실
AnyRes (LLaVA)그리드 분할 + 개별 인코딩타일 경계 정보 단절
동적 해상도 (Qwen2-VL)원본 비례 토큰 수정보 보존 극대화

Qwen2-VL의 동적 해상도 처리:

여기서 /4는 2×2 풀링으로 시각 토큰 수를 1/4로 압축하는 것이다. 예를 들어:

  • 224×224 이미지: 16×16/4 = 64 토큰
  • 1344×896 이미지: 96×64/4 = 1536 토큰

고해상도 이미지는 더 많은 토큰으로, 저해상도는 적은 토큰으로 처리하여 정보 밀도를 일정하게 유지한다.

M-RoPE (Multimodal Rotary Position Embedding)

M-RoPE는 RoPE를 세 가지 모달리티의 위치 정보에 맞게 확장한 것이다:

텍스트: 1D 위치 (순서)

이미지: 2D 위치 (행, 열)

비디오: 3D 위치 (행, 열, 시간)

RoPE의 주파수 차원을 세 그룹으로 분할하여 각각 height, width, temporal 위치를 인코딩한다. 텍스트의 경우 세 차원이 동일한 값을 가져 1D로 동작한다.

구성 요소Qwen2-VL-72B
비전 인코더ViT-675M (14×14 패치)
LLMQwen2-72B
위치 인코딩M-RoPE
컨텍스트 길이32,768
히든 차원8192
레이어 수80

핵심 혁신

1. 네이티브 동적 해상도

이미지를 인위적으로 분할하지 않고 원본 해상도에 비례한 토큰으로 처리하여, 타일 경계에서의 정보 단절 문제가 없다. 이는 문서 내 표, 차트 등 연속적인 시각 요소 이해에서 특히 유리하다.

2. M-RoPE

텍스트·이미지·비디오의 위치 정보를 하나의 통합된 프레임워크로 처리하여, 모달리티 전환 시 위치 정보의 불일치가 없다. 비디오의 시간 차원까지 자연스럽게 인코딩하여 별도의 시간적 모듈 없이 비디오를 이해한다.

3. 강력한 OCR 및 문서 이해

동적 해상도 + M-RoPE의 결합으로 고해상도 문서의 세밀한 텍스트를 정확히 인식하고, 레이아웃 구조를 이해하여 표, 차트, 수식 등을 정확히 해석한다.

벤치마크/성능

벤치마크Qwen2-VL-72BGPT-4VInternVL2-76BLLaVA-OV-72B
MMMU54.156.851.256.8
DocVQA93.187.291.691.3
OCRBench85.578.083.971.3
MathVista70.558.165.567.5
VideoMME63.360.766.2

관련 모델 비교

특성Qwen2-VLPixtralInternVL 2LLaVA-OV
해상도 처리동적 (원본 비례)임의 (2D RoPE)동적 타일링AnyRes
위치 인코딩M-RoPE2D RoPELearnedRoPE
비디오 이해3D M-RoPE미지원프레임 시퀀스프레임 시퀀스
컨텍스트32K128K32K32K

학습 상세

2단계 학습:

Stage 1: 비전 인코더 사전학습

  • ViT-675M을 대규모 이미지-텍스트 데이터로 학습
  • 다양한 해상도의 이미지를 동적으로 처리

Stage 2: 통합 파인튜닝

  • 웹 이미지-텍스트, OCR, 비디오 데이터 혼합
  • 동적 배치 구성: 같은 배치 내에 다양한 해상도의 이미지 혼합
  • M-RoPE로 모든 모달리티의 위치 정보 통합

실무 활용

from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
import torch
 
model = Qwen2VLForConditionalGeneration.from_pretrained(
    "Qwen/Qwen2-VL-7B-Instruct", torch_dtype=torch.bfloat16
).to("cuda")
processor = AutoProcessor.from_pretrained("Qwen/Qwen2-VL-7B-Instruct")
 
messages = [{"role": "user", "content": [{"type": "image", "image": "document.png"}, {"type": "text", "text": "이 문서의 표를 읽어주세요."}]}]
 
inputs = processor(text=processor.apply_chat_template(messages), images=["document.png"], return_tensors="pt").to("cuda")
output = model.generate(**inputs, max_new_tokens=500)

한계 및 전망

한계

  1. 토큰 수 변동: 동적 해상도로 인해 이미지별 토큰 수가 크게 다르므로, 배치 처리 시 패딩 비효율이 발생한다
  2. 고해상도 비용: 매우 큰 이미지는 수천 개의 시각 토큰을 생성하여 추론 비용이 급증한다
  3. Dense 모델 한계: 72B 밀집 모델로 MoE 대비 추론 효율이 낮다

전망

Qwen2-VL의 동적 해상도와 M-RoPE는 이후 Qwen3-VL에서 향상된 추론 능력과 결합되어 더욱 강력한 모델로 발전하고 있다. M-RoPE의 우아한 설계는 다른 VLM에도 영향을 미치며, 특히 비디오 이해에서의 시간 차원 인코딩은 중요한 기여이다.

관련 문서