AI바라기의 인공지능

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

논문리뷰

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

AI바라기 2024. 12. 23. 13:11

Abstract

 

우리는 visual 처리에 있어 기존의 미리 정해진 해상도 접근 방식을 재정의하는 Qwen-VL models의 고급 업그레이드 버전인 Qwen2-VL Series를 선보입니다. Qwen2-VL은 Naive Dynamic Resolution 메커니즘을 도입하여 models이 다양한 해상도의 이미지를 동적으로 처리하여 여러 개의 visual tokens로 만들 수 있게 합니다. 이 접근 방식은 models이 인간의 지각 과정과 밀접하게 일치하는 더 효율적이고 정확한 visual 표현을 생성할 수 있도록 합니다. 또한 이 model은 Multimodal Rotary Position Embedding (M-RoPE)을 통합하여 텍스트, 이미지, 비디오 전반에 걸쳐 위치 정보의 효과적인 융합을 촉진합니다. 우리는 이미지와 비디오를 모두 처리하기 위한 통합된 패러다임을 사용하여 model의 visual 지각 능력을 향상시킵니다. 대형 multimodal models의 잠재력을 탐구하기 위해 Qwen2-VL은 large vision-language models (LVLMs)에 대한 scaling laws를 조사합니다. 2B, 8B, 72B 파라미터 버전으로 model 크기와 training data의 양을 모두 확장함으로써 Qwen2-VL Series는 매우 경쟁력 있는 성능을 달성합니다. 특히 Qwen2-VL-72B model은 다양한 multimodal 벤치마크에서 GPT-4o 및 Claude3.5-Sonnet과 같은 선도적인 models에 필적하는 결과를 달성하여 다른 범용 models을 능가합니다.

 

 

1 Introduction

인공 지능 영역에서, Large Vision-Language Models (LVLMs)은 기존의 large language models의 강력한 텍스트 처리 능력을 기반으로 구축되어, 상당한 도약을 보여주고 있습니다. 이러한 진보된 models은 이제 이미지, 오디오, 비디오를 포함한 광범위한 스펙트럼의 데이터를 해석하고 분석하는 능력을 갖추고 있습니다. 이러한 기능의 확장은 LVLMs을 다양한 실제 문제를 해결하는 데 필수적인 도구로 변모시켰습니다. 광범위하고 복잡한 지식을 기능적인 표현으로 압축하는 독특한 능력을 인정받은 LVLMs은 더 포괄적인 인지 시스템을 위한 길을 열고 있습니다. 다양한 데이터 형식을 통합함으로써, LVLMs은 인간이 환경을 인식하고 상호 작용하는 미묘한 방식을 더 가깝게 모방하는 것을 목표로 합니다. 이를 통해 이러한 models은 우리가 환경과 어떻게 상호 작용하고 인식하는지에 대한 더 정확한 표현을 제공할 수 있습니다.

최근 large vision-language models (LVLMs)의 발전은 단기간에 상당한 개선을 가져왔습니다. 이러한 models은 일반적으로 visual encoder → cross-modal connector → LLM의 공통적인 접근 방식을 따릅니다. 이러한 설정은 주요 training 방법으로서의 next-token prediction과 고품질 datasets의 가용성과 결합되어 많은 발전을 주도했습니다. 더 큰 model architectures, 더 높은 해상도의 이미지, mixture-of-expert models (MoE), model ensembles, 그리고 visual 및 텍스트 양식 간의 더 정교한 connectors와 같은 고급 기술과 같은 추가 요소들도 LVLMs의 복잡한 visual 및 텍스트 정보를 더 효과적으로 처리하는 능력을 향상시키는 데 중요한 역할을 했습니다.

그러나 현재의 large vision-language models (LVLMs)은 일반적으로 고정된 이미지 입력 크기에 의해 제약을 받습니다. 표준 LVLMs은 입력 이미지를 고정된 해상도(예: 224×224)로 인코딩하며, 종종 이미지를 downsampling 또는 upsampling하거나 scale-then-padding 접근 방식을 사용합니다. 이러한 일률적인 전략은 일관된 해상도에서 이미지를 처리할 수 있게 하지만, 특히 고해상도 이미지에서 세부 정보의 상당한 손실을 초래하며, 다양한 스케일에서 정보를 캡처하는 model의 능력을 제한합니다. 결과적으로, 이러한 models은 인간의 시각과 동일한 스케일 및 세부 사항에 대한 민감도로 visual 정보를 인식하는 데 미치지 못합니다.

또한, 대부분의 LVLMs은 정적이고 frozen된 CLIP-style vision encoder에 의존하여, 이러한 pre-trained models에 의해 생성된 visual 표현이 적절한지, 특히 복잡한 reasoning 작업과 이미지 내의 복잡한 세부 정보를 처리하는 데 적합한지에 대한 우려를 불러일으킵니다. 최근 연구에서는 LVLM training 과정에서 vision transformer (ViT)를 fine-tuning하여 이러한 한계를 해결하려고 시도했으며, 이는 향상된 결과를 가져오는 것으로 나타났습니다. 다양한 해상도에 대한 model의 적응성을 더욱 향상시키기 위해, 우리는 LVLM training 과정에 dynamic resolution training을 도입합니다. 구체적으로, 우리는 ViT에 2D Rotary Position Embedding (RoPE)을 사용하여 model이 다양한 공간 스케일에서 정보를 더 잘 캡처할 수 있도록 합니다.

본질적으로 프레임의 시퀀스인 비디오 콘텐츠의 경우, 많은 기존 models은 여전히 이를 독립적인 양식으로 취급합니다. 그러나 비디오에서 나타나는 현실의 동적 특성을 이해하는 것은 실제 세계의 복잡성을 파악하려는 models에게 매우 중요합니다. 본질적으로 1차원인 텍스트와 달리, 실제 환경은 3차원으로 존재합니다. 현재 models에서 1차원 위치 임베딩을 사용하는 것은 3차원 공간과 시간적 역학을 효과적으로 모델링하는 능력을 크게 제한합니다. 이러한 격차를 해소하기 위해, 우리는 시간 및 공간 정보를 나타내기 위해 별도의 구성 요소를 사용하는 Multimodal Rotary Position Embedding (M-RoPE)을 개발했습니다. 이를 통해 model은 비디오나 스트리밍 데이터와 같은 동적 콘텐츠를 자연스럽게 이해하여 세상을 이해하고 상호 작용하는 능력을 향상시킬 수 있습니다.

게다가, large language models (LLMs)의 scaling과 비교할 때, 현재 LVLMs은 training data와 model 파라미터 측면에서 scaling의 영향을 탐구하는 초기 단계에 있습니다. LVLMs에 대한 scaling laws, 즉 model 및 데이터 크기의 증가가 성능에 미치는 영향에 대한 탐구는 여전히 개방적이고 유망한 연구 분야로 남아 있습니다.

이 연구에서 우리는 Qwen 제품군의 large vision-language models의 최신 버전인 Qwen2-VL series를 소개합니다. 이 시리즈는 총 20억, 80억, 720억 개의 파라미터를 가진 세 가지 open-weight models로 구성됩니다. 그림 1에서 볼 수 있듯이 Qwen2-VL의 주요 발전 사항은 다음과 같습니다.

• 다양한 해상도와 종횡비에 걸쳐 state-of-the-art 이해: Qwen2-VL은 DocVQA, InfoVQA, RealWorldQA, MTVQA, MathVista 등을 포함한 visual 벤치마크에서 선도적인 성능을 달성합니다. • 장시간 비디오(20분 이상) 이해: Qwen2-VL은 20분 이상의 길이의 비디오를 이해할 수 있어 고품질 video-based question answering, 대화, 콘텐츠 생성 등을 수행하는 능력을 향상시킵니다. • 장치 작동을 위한 강력한 에이전트 기능: 고급 reasoning 및 의사 결정 능력을 통해 Qwen2-VL은 휴대폰, 로봇 등과 같은 장치와 통합되어 visual 입력 및 텍스트 지침에 따라 자율적인 작동을 가능하게 할 수 있습니다. • 다국어 지원: 전 세계 사용자를 위해 영어와 중국어 외에도 Qwen2-VL은 이제 대부분의 유럽 언어, 일본어, 한국어, 아랍어, 베트남어 등을 포함한 이미지 내의 다국어 컨텍스트 이해를 지원합니다.

 

Introduction 정리 노트 (Qwen2-VL)

1. Large Vision-Language Models (LVLMs)의 중요성 및 발전

  • 정의: 기존 large language models의 텍스트 처리 능력 + 이미지, 오디오, 비디오 등 다양한 데이터 해석/분석 능력
  • 역할:
    • 실제 문제 해결을 위한 필수 도구
    • 광범위하고 복잡한 지식을 기능적 표현으로 압축
    • 다양한 데이터 형식 통합 → 인간의 인지 방식 모방 → 더 포괄적인 인지 시스템 구축
  • 최근 발전:
    • visual encoder → cross-modal connector → LLM 구조가 일반적
    • next-token prediction + 고품질 datasets → 성능 향상
    • 더 큰 model architectures, 고해상도 이미지, MoE, model ensembles, 정교한 connectors 등도 기여

2. 기존 LVLMs의 한계

  • 고정된 이미지 입력 크기:
    • 대부분 고정 해상도 (e.g., 224x224)로 이미지 인코딩 (downsampling, upsampling, scale-then-padding 방식)
    • 다양한 스케일 정보 캡처 능력 제한, 특히 고해상도 이미지에서 세부 정보 손실
    • 인간 시각과의 차이 발생
  • 정적이고 frozen된 CLIP-style vision encoder:
    • pre-trained visual 표현의 적절성에 대한 의문 (복잡한 reasoning, 세부 정보 처리에 한계)
    • ViT fine-tuning으로 개선 시도 (일부 성과)

3. Qwen2-VL의 주요 특징 및 기여

  • Naive Dynamic Resolution:
    • 다양한 해상도 이미지 입력 → 동적 visual tokens 생성
    • 유연한 디테일 포착, 인간 시각과 유사한 이미지 인식
  • Multimodal Rotary Position Embedding (M-RoPE):
    • 시간/공간 정보 분리 표현
    • 비디오 등 동적 콘텐츠 이해 능력 향상
  • Scaling Laws 탐구:
    • model 및 데이터 크기 증가가 성능에 미치는 영향 연구 (아직 초기 단계)
  • 3가지 open-weight models: 20억, 80억, 720억 파라미터
  • 주요 강점:
    • 다양한 해상도/종횡비에서 state-of-the-art 성능 (DocVQA, InfoVQA, RealWorldQA, MTVQA, MathVista 등)
    • 장시간 비디오(20분 이상) 이해
    • 장치 제어를 위한 강력한 에이전트 기능
    • 다국어 지원 (유럽 언어, 일본어, 한국어, 아랍어, 베트남어 등)

4. 핵심 요약

  • Qwen2-VL은 기존 LVLMs의 한계 (고정 해상도, 정적 vision encoder)를 극복하고,
  • Naive Dynamic Resolution, M-RoPE 등의 기술로 더 발전된 visual 이해 능력을 제공하며,
  • scaling laws 탐구를 통해 LVLMs의 발전에 기여하고자 함.
  • 뛰어난 성능, 장시간 비디오 이해, 에이전트 기능, 다국어 지원을 강점으로 내세움.

 

2 Approach

Qwen2-VL 시리즈는 Qwen2-VL-2B, Qwen2-VL-7B, Qwen2-VL-72B의 세 가지 크기의 models로 구성됩니다. 표 1은 하이퍼 파라미터와 중요한 정보를 나열합니다. 특히, Qwen2-VL은 다양한 크기의 LLMs에 걸쳐 675M 파라미터 ViT를 사용하여 LLM의 규모에 관계없이 ViT의 계산 부하가 일정하게 유지되도록 합니다.

2.1 Model Architecture

그림 2는 Qwen2-VL의 포괄적인 구조를 보여줍니다. 우리는 vision encoders와 language models를 통합하는 Qwen-VL 프레임워크를 유지했습니다. 다양한 스케일 적응을 위해, 이미지와 비디오 입력을 모두 처리할 수 있는 약 675백만 개의 파라미터를 가진 Vision Transformer (ViT)를 구현했습니다. 언어 처리 측면에서는 더 강력한 Qwen2 시리즈의 language models를 선택했습니다. 비디오에서 visual 정보를 효과적으로 인식하고 이해하는 model의 능력을 더욱 향상시키기 위해 몇 가지 주요 업그레이드를 도입했습니다.

 

 

 

 

Naive Dynamic Resolution Qwen2-VL의 주요 아키텍처 개선 사항은 Naive Dynamic Resolution 지원의 도입입니다. Qwen-VL과 달리 Qwen2-VL은 이제 모든 해상도의 이미지를 처리하여 동적으로 가변적인 수의 visual tokens로 변환할 수 있습니다. 이 기능을 지원하기 위해 원래의 절대 위치 임베딩을 제거하고 이미지의 2차원 위치 정보를 캡처하기 위해 2D-RoPE를 도입하여 ViT를 수정했습니다. 추론 단계에서 다양한 해상도의 이미지는 단일 시퀀스로 패킹되며, 패킹된 길이는 GPU 메모리 사용을 제한하도록 제어됩니다. 또한 각 이미지의 visual tokens을 줄이기 위해 ViT 이후에 간단한 MLP 레이어를 사용하여 인접한 2 × 2 tokens을 단일 토큰으로 압축하고, 압축된 visual tokens의 시작과 끝에 특수 <|vision_start|> 및 <|vision_end|> tokens을 배치합니다. 결과적으로 patch_size=14를 사용하는 ViT로 인코딩된 224 × 224 해상도의 이미지는 LLM에 들어가기 전에 66개의 tokens으로 압축됩니다.

 

Multimodal Rotary Position Embedding (M-RoPE)  또 다른 주요 아키텍처 개선 사항은 Multimodal Rotary Position Embedding (M-RoPE)의 혁신입니다. 1차원 위치 정보 인코딩에 제한된 LLMs의 전통적인 1D-RoPE와 달리 M-RoPE는 multimodal 입력의 위치 정보를 효과적으로 모델링합니다. 이는 원래의 회전 임베딩을 시간, 높이, 너비의 세 가지 구성 요소로 분해하여 달성됩니다. 텍스트 입력의 경우 이러한 구성 요소는 동일한 위치 ID를 사용하므로 M-RoPE는 기능적으로 1D-RoPE와 동일합니다. 이미지를 처리할 때 각 visual token의 시간 ID는 일정하게 유지되는 반면, 높이 및 너비 구성 요소에는 이미지 내 토큰의 위치에 따라 고유한 ID가 할당됩니다. 프레임 시퀀스로 처리되는 비디오의 경우 시간 ID는 각 프레임마다 증가하는 반면, 높이 및 너비 구성 요소는 이미지와 동일한 ID 할당 패턴을 따릅니다. model의 입력이 여러 양식을 포함하는 시나리오에서 각 양식의 위치 번호는 이전 양식의 최대 위치 ID를 1씩 증가시켜 초기화됩니다. M-RoPE의 그림은 그림 3에 나와 있습니다. M-RoPE는 위치 정보의 모델링을 향상시킬 뿐만 아니라 이미지 및 비디오에 대한 위치 ID 값을 줄여 model이 추론 중에 더 긴 시퀀스로 추정할 수 있도록 합니다.

 

Unified Image and Video Understanding Qwen2-VL은 이미지와 비디오 데이터를 모두 통합하는 혼합 training 방식을 사용하여 이미지 이해와 비디오 이해에 대한 숙련도를 보장합니다. 비디오 정보를 최대한 완전하게 보존하기 위해 각 비디오를 초당 두 프레임으로 샘플링했습니다. 또한 비디오 입력을 처리하기 위해 깊이가 2인 3D convolutions을 통합하여 model이 2D 패치 대신 3D 튜브를 처리할 수 있도록 하여 시퀀스 길이를 늘리지 않고도 더 많은 비디오 프레임을 처리할 수 있습니다. 일관성을 위해 각 이미지는 두 개의 동일한 프레임으로 처리됩니다. 긴 비디오 처리의 계산 요구와 전반적인 training 효율성의 균형을 맞추기 위해 각 비디오 프레임의 해상도를 동적으로 조정하여 비디오당 총 토큰 수를 16384개로 제한합니다. 이 training 접근 방식은 긴 비디오를 이해하는 model의 능력과 training 효율성 간의 균형을 이룹니다.

2.2 Training

Qwen-VL에 따라 3단계 training 방법론을 채택합니다. 첫 번째 단계에서는 Vision Transformer (ViT) 구성 요소 training에만 집중하여 방대한 이미지-텍스트 쌍 코퍼스를 활용하여 Large Language Model (LLM) 내에서 semantic 이해를 향상시킵니다. 두 번째 단계에서는 모든 파라미터를 고정 해제하고 더 포괄적인 학습을 위해 더 광범위한 데이터로 training합니다. 마지막 단계에서는 ViT 파라미터를 고정하고 instructional datasets을 사용하여 LLM의 독점적인 fine-tuning을 수행합니다.

이 model은 이미지-텍스트 쌍, optical character recognition (OCR) 데이터, 인터리브된 이미지-텍스트 기사, visual question answering datasets, 비디오 대화 및 이미지 지식 datasets을 포함하는 다양한 dataset에 대해 pre-trained됩니다. 우리의 데이터 소스는 주로 정제된 웹 페이지, open-source datasets 및 합성 데이터로 구성됩니다. 데이터 지식의 컷오프 날짜는 2023년 6월입니다. 이러한 다양한 데이터 구성은 강력한 multimodal 이해 능력을 개발하는 데 중요한 역할을 합니다.

초기 pre-training 단계에서 Qwen2-VL은 약 6,000억 개의 토큰 코퍼스에 노출됩니다. Qwen2-VL의 LLM 구성 요소는 Qwen2의 파라미터를 사용하여 초기화되는 반면, Qwen2-VL의 vision encoder는 DFN에서 파생된 ViT로 초기화됩니다. 그러나 원래 DFN의 ViT에 있는 고정 위치 임베딩은 RoPE-2D로 대체됩니다. 이 pre-training 단계는 주로 이미지-텍스트 관계, OCR을 통한 이미지 내 텍스트 콘텐츠 인식, 이미지 분류 작업을 학습하는 데 중점을 둡니다. 이러한 기초 training은 model이 핵심 visual-텍스트 상관 관계 및 정렬에 대한 강력한 이해를 개발하는 데 중요한 역할을 합니다.

두 번째 pre-training 단계는 8,000억 개의 추가 이미지 관련 데이터 토큰을 포함하는 중요한 진전을 나타냅니다. 이 단계에서는 더 많은 양의 혼합 이미지-텍스트 콘텐츠를 도입하여 visual 및 텍스트 정보 간의 상호 작용에 대한 더 미묘한 이해를 촉진합니다. visual question answering datasets의 통합은 이미지 관련 쿼리에 응답하는 model의 능력을 개선합니다. 또한 멀티태스킹 datasets을 포함하는 것은 복잡한 실제 datasets을 다룰 때 가장 중요한 기술인 다양한 작업을 동시에 탐색하는 model의 능력을 개발하는 데 중추적인 역할을 합니다. 동시에 순수한 텍스트 데이터는 model의 언어 능력을 유지하고 향상시키는 데 중요한 역할을 계속합니다.

pre-training 단계 전반에 걸쳐 Qwen2-VL은 누적 총 1조 4천억 개의 토큰을 처리합니다. 구체적으로 이러한 토큰은 텍스트 토큰뿐만 아니라 이미지 토큰도 포함합니다. 그러나 training 과정에서는 텍스트 토큰에 대한 supervision만 제공합니다. 광범위하고 다양한 언어 및 visual 시나리오에 대한 이러한 노출은 model이 visual 및 텍스트 정보 간의 복잡한 관계에 대한 깊은 이해를 개발하도록 보장하여 다양한 multimodal 작업에 대한 강력한 기반을 마련합니다.

instruction fine-tuning 단계에서는 ChatML 형식을 사용하여 instruction-following 데이터를 구성합니다. 이 dataset은 순수한 텍스트 기반 대화 데이터뿐만 아니라 multimodal 대화 데이터도 포함합니다. multimodal 구성 요소에는 이미지 question-answering, 문서 구문 분석, 다중 이미지 비교, 비디오 이해, 비디오 스트림 대화 및 에이전트 기반 상호 작용이 포함됩니다. 데이터 구성에 대한 우리의 포괄적인 접근 방식은 다양한 양식에 걸쳐 광범위한 지침을 이해하고 실행하는 model의 능력을 향상시키는 것을 목표로 합니다. 다양한 데이터 유형을 통합함으로써 우리는 기존의 텍스트 기반 상호 작용 외에도 복잡한 multimodal 작업을 처리할 수 있는 보다 다재다능하고 강력한 language model을 개발하고자 합니다.

2.2.1 Data Format.

Qwen-VL과 마찬가지로 Qwen2-VL은 특수 토큰을 사용하여 vision 및 텍스트 입력을 구분합니다. 토큰 <|vision_start|> 및 <|vision_end|>는 이미지 콘텐츠를 구분하기 위해 이미지 특징 시퀀스의 시작과 끝에 삽입됩니다.

Dialogue Data. 대화 형식 측면에서 우리는 ChatML 형식을 사용하여 instruction tuning dataset을 구성합니다. 여기서 각 상호 작용의 문장은 대화 종료를 용이하게 하기 위해 두 개의 특수 토큰(<|im_start|> 및 <|im_end|>)으로 표시됩니다. 파란색으로 표시된 부분은 supervised 부분을 나타냅니다.

Visual Grounding. model에 visual grounding 기능을 부여하기 위해 bounding box 좌표는 [0, 1000) 내에서 정규화되고 "(Xtop left, Ytop left),(Xbottom right, Ybottom right)"로 표현됩니다. 토큰 <|box_start|> 및 <|box_end|>는 bounding box 텍스트를 구분하는 데 사용됩니다. bounding box를 텍스트 설명과 정확하게 연결하기 위해 토큰 <|object_ref_start|> 및 <|object_ref_end|>를 도입하여 bounding box가 참조하는 콘텐츠를 나타내므로 model이 특정 영역에 대한 정확한 설명을 효과적으로 해석하고 생성할 수 있습니다.

Visual Agent. Qwen2-VL을 범용 VL-Agent로 개발하기 위해 UI 작업, 로봇 제어, 게임 및 내비게이션과 같은 다양한 에이전트 작업을 순차적 의사 결정 문제로 취급하여 Qwen2-VL이 다단계 작업 실행을 통해 작업을 수행할 수 있도록 합니다. 각 작업에 대해 먼저 함수 호출을 위한 허용 가능한 작업 및 키워드 패턴(밑줄) 집합을 정의합니다. 그런 다음 Qwen2-VL은 관찰을 분석하고, reasoning 및 계획을 수행하고, 선택한 작업을 실행하고, 환경과 상호 작용하여 새로운 관찰을 획득합니다. 이 주기는 작업이 성공적으로 완료될 때까지 반복적으로 반복됩니다. 다양한 도구를 통합하고 large vision-language models (LVLMs)의 vision 인식 기능을 활용함으로써 Qwen2-VL은 실제 visual 상호 작용을 포함하는 점점 더 복잡한 작업을 반복적으로 실행할 수 있습니다.

2.3 Multimodal Model Infrastructure

Qwen2-VL models은 확장 가능한 컴퓨팅, 자동 재개 및 이상치 감지 기능을 갖춘 Alibaba Cloud의 PAI-Lingjun Intelligent Computing Service에서 trained되었습니다.

Storage. 우리는 Alibaba Cloud의 초고속 CPFS(Cloud Parallel File Storage)를 사용하여 Qwen2-VL pre-training 및 사후 training의 스토리지 시스템을 구축합니다. 우리는 텍스트 데이터와 vision 데이터 스토리지를 분리했습니다. 우리는 단순히 CPFS에 텍스트 데이터를 저장하고 효율적인 액세스를 위해 mmap을 사용합니다. vision 데이터의 경우 영구 저장을 위해 Alibaba Cloud의 OSS(Object Storage Service)를 사용합니다. training 중에는 OSS의 python-client를 통해 동시에 vision 데이터에 액세스하고 동시성 및 재시도 매개변수를 조정하여 QPS(초당 쿼리 수) 제한에 도달하지 않도록 했습니다. 우리는 또한 비디오 데이터 디코딩, 특히 긴 비디오의 경우 주요 병목 현상임을 발견했습니다. open-source 및 사내 소프트웨어로 여러 번 시도한 후 실패한 후 캐싱 디코딩 기술을 선택했습니다. 체크포인트는 각 GPU의 옵티마이저와 model 상태를 CPFS에 저장합니다.

Parallelism. 우리는 Qwen2-VL model training을 확장하기 위해 data parallelism (DP), tensor parallelism (TP) 및 pipeline parallelism (PP)을 결합한 3D 병렬 처리를 사용합니다. 또한 메모리 절약을 위해 deepspeed의 zero-1 중복 옵티마이저를 활용합니다. 선택적 체크포인트 활성화가 있는 Sequence parallelism (SP)은 메모리 사용량을 줄이기 위해 활용되었습니다. TP training을 활성화할 때 우리는 항상 vision encoder와 large language models을 함께 샤딩하지만 상대적으로 적은 파라미터로 인해 vision merger는 샤딩하지 않습니다. 우리는 TP training이 컨볼루션 연산자의 비결정적 동작으로 인해 다른 model 공유 가중치를 초래한다는 것을 발견했습니다. 우리는 공유 가중치의 오프라인 감소를 수행하여 이 문제를 해결하여 추가적인 all-reduce 통신 단계를 피했습니다. 이 접근 방식은 성능에 최소한의 영향만 미쳤습니다. 우리는 Qwen2-VL 72B training을 위해 1F1B PP를 활용합니다. 우리는 vision encoder, vision 어댑터 및 여러 LLM의 디코더 레이어를 하나의 단계로 결합하고 나머지 디코더 레이어를 균등하게 분할합니다. vision 및 텍스트 시퀀스 길이는 각 데이터 포인트에 대해 동적입니다. 우리는 1F1B 프로세스를 시작하기 전에 동적 시퀀스 길이를 브로드캐스트하고 배치 인덱스를 사용하여 모양 정보에 액세스합니다. 우리는 또한 인터리브된 1F1B PP를 구현했지만 표준 1F1B 설정보다 느리다는 것을 발견했습니다.

Software. 우리는 training을 위해 CUDA 11.8과 함께 PyTorch 버전 2.1.2를 사용합니다. 또한 vision encoder와 LLM 모두에서 효율적인 training을 위해 flash-attention을 활용합니다. 또한 LayerNorm, RMSNorm 및 Adam과 같은 퓨즈 연산자를 활용합니다. 이 외에도 training 과정에서 행렬 곱셈 중 통신과 계산의 중첩을 활용합니다.

 

 

 

 

2. Approach 정리 노트 (Qwen2-VL)

모델 구성: Qwen2-VL-2B, Qwen2-VL-7B, Qwen2-VL-72B (3가지 크기)

  • 공통: 675M 파라미터 ViT 사용 → LLM 크기와 관계없이 ViT 계산 부하 일정
  • 기반: Qwen-VL architecture (vision encoders + language models)
  • Language Model: Qwen2 시리즈 사용

2.1 Model Architecture

  • 핵심 개선 사항:
    • Naive Dynamic Resolution:
      • 다양한 해상도 이미지 처리 → 동적 개수의 visual tokens 생성
      • ViT 수정: 기존 절대 위치 임베딩 제거, 2D-RoPE 도입 (2차원 위치 정보 캡처)
      • 추론 시: 다양한 해상도 이미지 → 단일 시퀀스로 패킹 (GPU 메모리 제한)
      • visual tokens 축소: ViT 후 간단한 MLP 레이어 (2x2 tokens → 1개 token 압축, <|vision_start|>, <|vision_end|> tokens 사용)
      • 결과: 224x224 이미지 (patch_size=14) → 66 tokens (LLM 입력 전)
    • Multimodal Rotary Position Embedding (M-RoPE):
      • 기존 1D-RoPE (1차원 위치 정보) → multimodal 입력 위치 정보 모델링
      • 회전 임베딩 분해: 시간, 높이, 너비
      • 텍스트: 동일 위치 ID 사용 → 1D-RoPE와 동일
      • 이미지: 시간 ID 고정, 높이/너비 ID 할당 (위치 기반)
      • 비디오: 시간 ID 증가 (프레임 당), 높이/너비 ID (이미지와 동일)
      • 다중 모달 입력: 이전 모달 최대 위치 ID + 1로 초기화
      • 장점: 위치 정보 모델링 향상, 이미지/비디오 위치 ID 값 감소 → 추론 시 더 긴 시퀀스 추정
    • 통합 이미지 및 비디오 이해:
      • 이미지 + 비디오 데이터 혼합 training → 이미지/비디오 이해 능력
      • 비디오: 초당 2프레임 샘플링, 3D convolutions (깊이 2) → 3D 튜브 처리 (시퀀스 길이 증가 없이 더 많은 프레임 처리)
      • 이미지: 2개 동일 프레임 처리
      • 해상도 동적 조정: 비디오 당 tokens 수 제한 (16384) → 긴 비디오 이해와 training 효율성 균형

2.2 Training

  • 3단계 training:
    1. ViT training (이미지-텍스트 쌍, LLM 내 semantic 이해 향상)
    2. 모든 파라미터 고정 해제, 더 많은 데이터로 training
    3. ViT 파라미터 고정, instructional datasets으로 LLM fine-tuning
  • Pre-trained datasets: 이미지-텍스트 쌍, OCR 데이터, 인터리브된 이미지-텍스트 기사, visual question answering datasets, 비디오 대화, 이미지 지식 datasets (정제된 웹 페이지, open-source datasets, 합성 데이터, 컷오프: 2023년 6월)
  • Pre-training 단계:
    • 1단계: 약 6,000억 tokens
      • Qwen2-VL LLM: Qwen2 파라미터 사용
      • Qwen2-VL vision encoder: DFN의 ViT 사용 (고정 위치 임베딩 → RoPE-2D)
      • 이미지-텍스트 관계, OCR, 이미지 분류 학습 → visual-텍스트 상관 관계 이해
    • 2단계: 8,000억 이미지 관련 tokens 추가
      • 혼합 이미지-텍스트 콘텐츠 ↑ → visual/텍스트 정보 상호 작용 이해
      • visual question answering datasets → 이미지 관련 쿼리 응답 능력 개선
      • 멀티태스킹 datasets → 동시 작업 처리 능력 (복잡한 실제 datasets 처리에 중요)
      • 순수 텍스트 데이터 → 언어 능력 유지/향상
    • 총 1조 4천억 tokens 처리 (텍스트 tokens + 이미지 tokens, training 시 텍스트 tokens에만 supervision) → visual/텍스트 정보 간 관계 이해 → multimodal 작업 기반
  • Instruction fine-tuning 단계:
    • ChatML 형식 → instruction-following 데이터 구성 (텍스트 기반 + multimodal 대화 데이터)
    • Multimodal 구성 요소: 이미지 question-answering, 문서 구문 분석, 다중 이미지 비교, 비디오 이해, 비디오 스트림 대화, 에이전트 기반 상호 작용
    • 목표: 다양한 modalities에 대한 지침 이해/실행 능력 향상 → 다재다능하고 강력한 language model 개발

2.2.1 Data Format.

  • 특수 tokens 사용: <|vision_start|>, <|vision_end|> (이미지 콘텐츠 구분)
  • 대화 데이터: ChatML 형식, 특수 tokens (<|im_start|>, <|im_end|>) 사용 (대화 종료 용이), 파란색 부분: supervised 부분
  • Visual Grounding:
    • bounding box 좌표: [0, 1000) 정규화, "(Xtop left, Ytop left),(Xbottom right, Ybottom right)" 표현
    • <|box_start|>, <|box_end|> tokens: bounding box 텍스트 구분
    • <|object_ref_start|>, <|object_ref_end|> tokens: bounding box 참조 콘텐츠 표시 → 정확한 설명 생성
  • Visual Agent:
    • 에이전트 작업 (UI 작업, 로봇 제어, 게임, 내비게이션) → 순차적 의사 결정 문제
    • 다단계 작업 실행
    • 허용 가능한 작업/키워드 패턴 정의 (함수 호출)
    • 관찰 분석, reasoning/계획, 작업 실행, 환경과 상호 작용 → 새로운 관찰
    • 반복 → 작업 완료
    • 도구 통합 + LVLMs의 vision 인식 → 복잡한 작업 실행

2.3 Multimodal Model Infrastructure

  • Alibaba Cloud PAI-Lingjun Intelligent Computing Service: 확장 가능한 컴퓨팅, 자동 재개, 이상치 감지
  • Storage:
    • Alibaba Cloud CPFS (초고속) → 텍스트/vision 데이터 스토리지 분리
    • 텍스트 데이터: CPFS, mmap (효율적 액세스)
    • Vision 데이터: Alibaba Cloud OSS (영구 저장), python-client (동시 액세스, QPS 제한 방지)
    • 비디오 디코딩: 병목 현상 → 캐싱 디코딩 기술
    • 체크포인트: GPU 옵티마이저/model 상태 → CPFS
  • Parallelism:
    • 3D 병렬 처리: data parallelism (DP), tensor parallelism (TP), pipeline parallelism (PP)
    • deepspeed zero-1 중복 옵티마이저 (메모리 절약)
    • 선택적 체크포인트 활성화 sequence parallelism (SP) (메모리 감소)
    • TP: vision encoder + large language models 샤딩 (vision merger는 제외)
    • TP training → 컨볼루션 연산자 비결정적 동작 → 다른 model 공유 가중치 → 오프라인 감소 (추가 통신 단계 방지, 성능 영향 최소화)
    • 1F1B PP (Qwen2-VL 72B): vision encoder, vision 어댑터 + 일부 LLM 디코더 레이어 → 한 단계, 나머지 균등 분할, 동적 시퀀스 길이 브로드캐스트, 인터리브 1F1B PP (더 느림)
  • Software:
    • PyTorch 2.1.2, CUDA 11.8
    • flash-attention (vision encoder, LLM)
    • 퓨즈 연산자 (LayerNorm, RMSNorm, Adam)
    • 행렬 곱셈 중 통신/계산 중첩