Qwen2-VL 릴리스: 오픈소스 2B/7B 비전‑언어 모델 및 72B API와 최첨단 이미지, 비디오, 다국어 기능
TL;DR
Qwen은 Qwen2‑VL을 출시했습니다. 이는 새로운 비전‑언어 모델 패밀리(2B, 7B 오픈소스, 72B API)로, 이미지, 다중 이미지, 장시간 비디오 이해에서 최첨단 성능을 달성하고, 이미지 내 수십 개 언어를 지원하며, 모바일 및 로봇과 같은 장치의 시각 에이전트 역할을 할 수 있습니다.
Qwen2‑VL 개요
Qwen2‑VL은 Qwen2 언어 백본을 기반으로 구축된 최신 비전‑언어 모델 시리즈입니다. 이번 릴리스에는 세 가지 모델 크기가 포함됩니다:
- Qwen2‑VL‑2B – 모바일 배포에 최적화된 소형 모델.
- Qwen2‑VL‑7B – 이미지, 다중 이미지 및 비디오 기능을 유지하면서 비용 효율적인 모델.
- Qwen2‑VL‑72B – API를 통해 제공되는 대형 모델로, 종종 GPT‑4o 및 Claude 3.5‑Sonnet과 같은 폐쇄형 경쟁자를 능가하는 최고 수준의 성능을 제공합니다.
세 변형 모두 Vision Transformer(≈600 M 파라미터)와 Qwen2 LLM을 결합한 공통 아키텍처를 공유하며, 2B와 7B는 Apache 2.0 라이선스로, 72B는 상업용 API를 통해 제공됩니다.
주요 기술적 진보
단순 동적 해상도
Qwen2‑VL은 단순 동적 해상도를 도입하여 임의의 이미지 해상도를 동적인 시각 토큰 수에 매핑합니다. 이는 이전 모델의 고정 크기 토큰 병목 현상을 없애고 인간 시각 인지를 더 가깝게 모방하여 모델이 세부 정보를 잃지 않고 모든 이미지 크기를 처리할 수 있게 합니다.
다중모달 회전 위치 임베딩 (M‑ROPE)
M‑ROPE 메커니즘은 기존 회전 임베딩을 세 가지 구성 요소(시간, 높이, 너비)로 분해합니다. 이를 통해 모델은 1‑D 텍스트, 2‑D 시각, 3‑D 비디오 위치 정보를 동시에 인코딩하여 공간 및 시간 관계에 대한 추론 능력을 향상시킵니다.
성능 하이라이트
이미지 및 문서 이해
- 최첨단 성능을 MathVista, DocVQA, RealWorldQA, MTVQA와 같은 벤치마크에서 달성.
- 7B 모델은 문서 중심 작업(DocVQA)과 다국어 텍스트‑이미지 이해(MTVQA)에서 뛰어나며, 동등한 규모의 오픈소스 모델 중 최고 점수를 기록했습니다.
- 2B 모델은 작은 규모에도 불구하고 문서 및 비디오 작업에서 다수의 동료 모델보다 우수한 성능을 보입니다.
비디오 이해
- Qwen2‑VL은 20 분 이상의 비디오를 처리할 수 있어 고품질 비디오 기반 Q&A, 대화 및 콘텐츠 제작이 가능합니다.
- 72B 모델은 비디오 벤치마크에서 GPT‑4o 및 Claude 3.5‑Sonnet에 비해 명확한 우위를 보이며, 7B와 2B 모델은 비용 민감형 애플리케이션에서도 경쟁력을 유지합니다.
이미지 내 다국어 텍스트
- 영어와 중국어를 넘어, 모델은 대부분의 유럽 언어, 일본어, 한국어, 아랍어, 베트남어 및 이미지에 포함된 기타 스크립트의 텍스트를 이해합니다.
시연된 기능
향상된 객체 및 손글씨 텍스트 인식
Qwen2‑VL은 복잡한 객체 관계를 식별하고 여러 언어에 걸친 손글씨 텍스트를 정확히 읽을 수 있습니다. 제공된 예시에서 색상과 쌓인 상자의 번호를 완벽하게 열거했습니다.
시각적 추론 및 코드 생성
모델은 스크린샷 형태의 알고리즘 문제를 해결하고 올바른 Python 구현을 생성합니다. 또한 차트와 심하게 왜곡된 종횡비 이미지도 해석하여 시각 인식과 논리적 추론을 연결합니다.
비디오 요약 및 실시간 상호작용
Qwen2‑VL은 상세한 비디오 설명을 생성하고, 후속 질문(예: “우주비행사의 옷 색은 무엇인가요?”)에 답변하며, 실시간 채팅 흐름을 유지해 개인 비디오 어시스턴트 역할을 효과적으로 수행합니다.
시각 에이전트 및 함수 호출
시각 신호와 함수 호출을 결합함으로써 Qwen2‑VL은 보이는 내용에 기반해 실시간 데이터(항공편 상태, 날씨, 택배 추적)를 조회할 수 있습니다. 이 기능은 모바일, 로봇 및 기타 장치의 자율 운영을 가능하게 합니다.
제한 사항
- 모델은 비디오에서 오디오를 추출할 수 없습니다.
- 지식은 2023년 6월에 고정되어 있습니다.
- 복잡한 지시사항에 대한 정확성이 보장되지 않습니다.
- 카운팅, 세밀한 문자 인식, 3‑D 공간 인식에서 여전히 약점이 존재합니다.
시작하기
API 접근 (72B)
from openai import OpenAI
import os, base64
def encode_image(path):
with open(path, "rb") as f:
return base64.b64encode(f.read()).decode("utf-8")
image_path = "dog_and_girl.jpeg"
base64_image = encode_image(image_path)
client = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")
completion = client.chat.completions.create(
model="qwen-vl-max-0809",
messages=[{"role": "user",
"content": [{"type": "text", "text": "What is this?"},
{"type": "image_url",
"image_url": {"url": "https://.../dog_and_girl.jpeg"}},
{"type": "image_url",
"image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}}]
}],
top_p=0.8, stream=True, stream_options={"include_usage": True})
for chunk in completion:
print(chunk.model_dump_json())
오픈소스 모델 (2B & 7B)
KeyError: 'qwen2_vl' 오류를 피하기 위해 최신 Transformers를 소스에서 설치하세요:
pip install git+https://github.com/huggingface/transformers
시각 유틸리티 패키지를 설치하세요:
pip install qwen-vl-utils
Hugging Face Transformers를 사용한 최소 추론 스크립트(7B):
from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
from qwen_vl_utils import process_vision_info
model = Qwen2VLForConditionalGeneration.from_pretrained(
"Qwen/Qwen2-VL-7B-Instruct", device_map="auto")
processor = AutoProcessor.from_pretrained("Qwen/Qwen2-VL-7B-Instruct")
messages = [{"role": "user",
"content": [{"type": "image",
"image": "https://.../demo.jpeg"},
{"type": "text", "text": "Describe this image."}]}]
text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(text=[text], images=image_inputs, videos=video_inputs,
padding=True, return_tensors="pt")
generated_ids = model.generate(**inputs, max_new_tokens=128)
output = processor.batch_decode(generated_ids[:, inputs.input_ids.shape[-1]:],
skip_special_tokens=True)
print(output)
레포지토리에는 양자화(AutoGPTQ, AutoAWQ), vLLM을 통한 배포, Llama‑Factory를 이용한 파인튜닝에 대한 가이드도 포함되어 있습니다.
라이선스 및 제공 여부
- Qwen2‑VL‑2B 및 Qwen2‑VL‑7B – Apache 2.0 라이선스, Hugging Face와 ModelScope에 호스팅됨.
- Qwen2‑VL‑72B – 사용량 기반 요금제의 상업용 API(DashScope).
향후 방향
Qwen의 로드맵은 향후 언어 백본을 기반으로 더 강력한 비전‑언어 모델을 구축하고 추가 모달리티로 확장하여, 비전, 오디오 및 기타 감각 데이터를 통합 프레임워크에서 처리할 수 있는 “옴니 모델”을 목표로 하고 있습니다.
참고 자료 및 리소스
- Demo: https://huggingface.co/spaces/Qwen/Qwen2-VL
- GitHub: https://github.com/QwenLM/Qwen2-VL
- Model Collections: https://huggingface.co/collections/Qwen/qwen2-vl-66cee7455501d7126940800d
- API Documentation: https://help.aliyun.com/zh/model-studio/developer-reference/qwen-vl-api
- Discord Community: https://discord.gg/yPEP2vHTu4
SUMMARY: Qwen은 Qwen2-VL을 출시했습니다. 이는 새로운 비전‑언어 모델 시리즈(2B, 7B 오픈소스, 72B API)로, 이미지, 문서, 다국어 및 장시간 비디오 이해에서 최첨단 성능을 달성하고 시각 에이전트 기능을 지원합니다.
TITLE: Qwen2-VL 릴리스: 오픈소스 2B/7B 비전‑언어 모델 및 72B API와 최첨단 이미지, 비디오, 다국어 기능