AI바라기의 인공지능

VLM : 논문리뷰 : Molmo and PixMo: Open Weights and Open Data for State-of-the-Art Vision-Language Models 본문

논문리뷰

VLM : 논문리뷰 : Molmo and PixMo: Open Weights and Open Data for State-of-the-Art Vision-Language Models

AI바라기 2024. 12. 12. 11:04

Abstract

 

오늘날 가장 발전된 vision-language models (VLMs)는 여전히 독점적입니다. 가장 강력한 open-weight 모델은 좋은 성능을 달성하기 위해 독점 VLMs의 합성 데이터에 크게 의존하며, 사실상 이러한 closed VLMs를 open VLMs로 distillation합니다. 결과적으로, 커뮤니티는 처음부터 성능이 뛰어난 VLMs를 구축하는 방법에 대한 기본적인 지식이 부족했습니다.

저희는 openness 등급에서 최첨단 기술을 자랑하는 새로운 VLMs 제품군인 Molmo를 선보입니다. 저희의 핵심 기여는 PixMo라고 하는 새로운 데이터 세트 모음으로, 여기에는 사전 훈련을 위한 매우 상세한 이미지 캡션 데이터 세트, 미세 조정을 위한 자유 형식 이미지 Q&A 데이터 세트, 그리고 혁신적인 2D 포인팅 데이터 세트가 포함되며, 모두 외부 VLMs를 사용하지 않고 수집되었습니다.

저희 접근 방식의 성공은 신중한 모델링 선택, 잘 조정된 훈련 파이프라인, 그리고 가장 중요한 것은 새롭게 수집된 데이터 세트의 품질에 달려 있습니다. 동급 최고의 72B 모델은 open weight 및 데이터 모델 등급에서 다른 모델보다 성능이 뛰어날 뿐만 아니라 Claude 3.5 Sonnet, Gemini 1.5 Pro 및 Flash를 포함한 더 큰 독점 모델보다 성능이 뛰어나며, 학술 벤치마크와 대규모 인간 평가 모두를 기준으로 GPT-4o에 이어 두 번째입니다.

 

 

 

 

Molmo: Open-weight VLMs

  • 목표: 처음부터 성능이 뛰어난 VLMs를 구축하는 방법에 대한 지식을 제공.
  • 핵심: openness 등급에서 최첨단 기술을 자랑하는 새로운 VLMs 제품군인 Molmo를 개발.
  • 특징:
    • 독점 VLMs의 합성 데이터에 의존하지 않음.
    • 새로운 데이터 세트 모음 PixMo 사용 (상세한 이미지 캡션, 자유 형식 이미지 Q&A, 혁신적인 2D 포인팅 데이터 세트 포함).
    • 신중한 모델링 선택, 잘 조정된 훈련 파이프라인, 고품질의 새로운 데이터 세트를 통해 성공적인 접근 방식 구축.
  • 성능:
    • 72B 모델은 open weight 및 데이터 모델 등급에서 다른 모델보다 성능이 뛰어남.
    • Claude 3.5 Sonnet, Gemini 1.5 Pro 및 Flash를 포함한 더 큰 독점 모델보다 성능이 뛰어남.
    • 학술 벤치마크와 대규모 인간 평가 모두를 기준으로 GPT-4o에 이어 두 번째.

요약: Molmo는 PixMo 데이터 세트를 활용하여 처음부터 구축된 open-weight VLMs로, 독점 모델을 능가하는 성능을 보여줍니다.

 

 

1. Introduction

오늘날, 대규모 multimodal 모델은 어디에나 사용됩니다. 독점 모델 (GPT-4o, Gemini-1.5 Pro, Claude 3.5 Sonnet) 은 포괄적인 이미지 설명을 생성하고 복잡한 시각적 질문에 정확하게 답변합니다. 안타깝게도 이러한 vision-language models (VLMs) 중 가장 성능이 뛰어난 모델은 모델 가중치, 데이터 또는 코드가 공개되지 않은 독점 모델로 남아 있습니다.

과학적 탐구를 촉진하기 위해 수많은 연구 노력이 open 모델에서 유사한 기능을 재현하려고 시도했습니다. LLaVA [69]에서 예시된 초기 작업은 완전히 open된 가중치와 훈련 데이터를 생성했지만 이제 최첨단 기술에 크게 뒤쳐져 있습니다. 더 최근의 더 강력한 open-weight 모델은 덜 open된 데이터를 향한 경향이 있습니다. 훈련 데이터는 독점적이거나 (예: [10]), 공개되는 경우에도 독점 시스템에서 생성된 합성 데이터에 크게 의존합니다. 예를 들어, 모델은 GPT-4V [88]를 사용하여 대규모의 상세한 이미지 캡션 세트를 생성하는 ShareGPT4V [15]와 같은 데이터 세트에서 훈련됩니다. 따라서 결과 VLMs는 사실상 독점 VLMs의 distillation입니다. 현재 과학 커뮤니티는 처음부터 성능이 뛰어난 VLMs를 구축하는 방법에 대한 기본적인 지식이 부족합니다 (이에 대한 자세한 내용과 관련 작업은 부록에 있음).

이 작업에서 우리는 독점 모델을 포함하여 다른 VLMs의 합성 데이터에 의존하지 않고 모델 가중치와 vision-language 훈련 데이터가 공개된 최첨단 open VLMs 제품군인 Molmo (Multimodal Open Language Model)를 제시합니다. 우리 접근 방식의 성공은 신중한 모델 설계 선택, 잘 조정된 훈련 파이프라인, 그리고 가장 중요한 것은 완전히 open된 PixMo (Pixels for Molmo)라는 이름의 새로운 데이터 세트의 품질에 달려 있습니다.

사전 훈련과 미세 조정 모두를 위한 고품질 multimodal 데이터는 closed 모델과 경쟁력 있는 open VLMs를 훈련하는 데 중요한 누락된 부분입니다. 학술 커뮤니티는 높은 비용과 크라우드 소싱 플랫폼에서 고품질 주석을 얻는 어려움으로 인해 이러한 데이터 세트를 수집하는 데 어려움을 겪었습니다. PixMo를 구축하기 위해 우리는 훈련되지 않은 주석 작성자로부터 고품질 데이터를 빠르게 수집할 수 있는 몇 가지 주요 데이터 수집 혁신을 도입했습니다 (그림 1 참조).

 

 

 

PixMo (왼쪽)의 데이터 세트와 Molmo (오른쪽)에서 활성화되는 기능입니다. PixMo는 세 가지 주석이 달린 데이터 세트와 네 가지 합성 데이터 세트로 구성되며, 모두 VLMs를 사용하지 않고 구성되었습니다. 주석이 달린 데이터 세트에는 dense captions (사전 훈련용), instruction following (미세 조정용) 및 pointing (grounding 및 계산을 지원하기 위한 미세 조정용)이 포함됩니다. 네 가지 합성 데이터 세트는 추가 기술 (예: 시계 읽기, 문서 이해)을 목표로 하여 이러한 데이터 세트를 보강합니다.

 

 

PixMo에는 매우 긴 (200단어 이상) 상세한 캡션이 있는 712k 이미지의 데이터 세트가 포함되어 있습니다. 주석 작성자에게 직접 그러한 캡션을 작성하도록 요청하면 좋지 않은 결과가 생성되기 때문에 이 데이터를 수집하는 것은 어려웠습니다. 몇 가지 눈에 띄는 시각적 요소에 집중하는 경향이 있고 [17], 긴 단락을 입력하는 것은 시간이 많이 걸리고, 주석 작성자는 잠재적으로 독점 VLMs에서 응답을 복사하여 붙여넣어 distillation을 피하려는 우리의 목표를 우회할 수 있습니다. 대신, 우리는 주석 작성자에게 60~90초 동안 음성으로 이미지를 설명하도록 요청합니다. 경험적으로 우리는 이러한 modality 전환 "트릭"을 통해 주석 작성자가 더 짧은 시간에 훨씬 더 자세한 설명을 제공한다는 것을 발견했으며 각 설명에 대해 VLM이 사용되지 않았음을 증명하는 오디오 영수증 (즉, 주석 작성자의 녹음)을 수집합니다.

PixMo에는 또한 미세 조정 데이터 세트 배열이 포함되어 있습니다. instruction-following 데이터를 수집하기 위해 사용자가 language-only LLM을 사용하여 응답을 대화식으로 편집하여 고품질의 정확한 자유 형식 응답을 얻도록 합니다. 이러한 방식으로 73k 이미지에서 162k 주석을 수집합니다. 또한 2D 포인트로 이미지에 언어를 기반으로 하는 고유한 새 데이터 소스를 수집합니다. 포인트를 사용하면 경계 상자 또는 segmentation mask를 사용하는 것보다 훨씬 빠르게 grounding 데이터를 수집할 수 있습니다. 주석을 달기가 훨씬 쉽기 때문이며 다양한 객체, 표현 및 장면에 대해 230만 개가 넘는 grounding 주석을 수집하여 이를 활용합니다. 이 새로운 포인팅 데이터를 통해 우리 모델은 답변을 뒷받침하는 픽셀을 가리켜 좀 더 자연스럽게 몇 가지 질문에 답할 수 있고, 계산 정확도를 향상시키며 (모델은 가리켜서 계산), VLMs가 에이전트 (예: 로봇, 웹 에이전트)가 환경에서 가리키는 방식으로 행동할 수 있도록 하는 중요한 미래 방향을 열 것이라고 믿습니다. 예를 들어 탐색 웨이포인트, 픽업할 객체 또는 누를 사용자 인터페이스 버튼을 가리킬 수 있습니다. 마지막으로, 우리는 특정 기술 (시계 읽기, 차트 이해, 테이블 이해 등)을 목표로 하는 데이터를 사용하여 기존 open-source 데이터 세트를 보완하는 몇 가지 새로운 합성 데이터 세트 (즉, 인간 주석이 없거나 최소화되었지만 여전히 VLM을 사용하지 않음)를 소개합니다.

우리는 사전 훈련된 LLM과 vision encoder를 사용하여 대부분 표준 설계에 따라 이러한 데이터 세트에서 모델을 훈련하지만 단순화된 2단계 훈련 파이프라인, 새로운 overlapping multicrop 전략, 여러 주석이 있는 이미지에 대한 효율적인 훈련 방법, optimizer 및 vision/language 커넥터를 설정하는 방법에 대한 몇 가지 새로운 통찰력을 포함하여 몇 가지 새로운 개선 사항이 있습니다. 우리는 11개의 학술 벤치마크와 사용자 선호도에 따라 모델의 순위를 매길 수 있는 인간 평가를 통해 Molmo 모델 제품군을 평가합니다. OLMoE-1B-7B [87] mixture-of-experts LLM을 기반으로 하는 가장 효율적인 모델인 MolmoE-1B는 학술 벤치마크와 사용자 선호도 모두에서 GPT4V의 성능과 거의 일치합니다.

OLMo-7B [37]와 Qwen2 7B [120]를 기반으로 하는 Molmo-7B-O와 Molmo-7B-D는 학술 벤치마크와 사용자 선호도 모두에서 GPT-4V와 GPT-4o [90] 사이에서 편안하게 수행됩니다. Qwen2 72B를 기반으로 하는 동급 최고의 Molmo-72B 모델은 가장 높은 학술 벤치마크 점수를 달성하고 인간 선호도에서 GPT-4o에 이어 2위를 차지합니다. 우리의 최고 모델은 Gemini 1.5 Pro 및 Flash [103], Claude 3.5 Sonnet [7]을 포함한 많은 최첨단 독점 시스템보다 성능이 뛰어납니다. 또한 모든 훈련 데이터가 공개적으로 제공되는 MetaCLIP [118] vision encoder와 OLMo LLM을 기반으로 100% 완전히 open된 Molmo 모델을 출시할 예정입니다. 또한 다양한 모델 및 데이터 설계 선택이 VLMs에 미치는 영향에 대해 과학 커뮤니티에 더 잘 알리기 위해 광범위한 ablation 세트를 수행합니다.

 

 

 

 

1. Introduction 정리 노트

현황:

  • 최첨단 VLMs는 대부분 독점적 (GPT-4o, Gemini-1.5 Pro, Claude 3.5 Sonnet 등).
  • Open VLMs는 성능이 떨어지거나, 독점 VLMs의 합성 데이터에 의존하는 경향 → 독립적인 모델 구축 방법에 대한 지식 부족.

Molmo의 등장:

  • Molmo: 최첨단 open VLMs 제품군 (모델 가중치 및 훈련 데이터 공개).
  • 핵심: 독점 VLMs의 합성 데이터에 의존하지 않고 처음부터 구축.

Molmo 성공 요인:

  • 신중한 모델 설계
  • 잘 조정된 훈련 파이프라인
  • 고품질의 새로운 데이터 세트 PixMo (핵심!)

PixMo 특징:

  • 다양한 데이터:
    • 712k 이미지의 상세한 캡션 (200단어 이상) - 음성으로 수집하여 데이터 품질 향상
    • 미세 조정을 위한 데이터 세트 (instruction-following 데이터, 2D 포인팅 데이터 등)
    • 특정 기술 학습을 위한 합성 데이터 세트 (시계 읽기, 차트 이해 등)
  • 수집 혁신: 훈련되지 않은 주석 작성자로부터 고품질 데이터를 빠르게 수집하는 기술 개발.
  • 인간 주석 최소화: 합성 데이터 활용 (단, VLM 사용 X)

Molmo 성능:

  • MolmoE-1B: GPT-4V와 유사한 성능.
  • Molmo-7B-O/D: GPT-4V와 GPT-4o 사이의 성능.
  • Molmo-72B: 최고 성능 (학술 벤치마크 점수 최고, 인간 선호도 2위).
  • Gemini 1.5 Pro, Flash, Claude 3.5 Sonnet 등 독점 모델보다 우수한 성능.

향후 계획:

  • 100% 완전히 open된 Molmo 모델 출시 예정 (MetaCLIP vision encoder, OLMo LLM 기반).
  • 다양한 모델 및 데이터 설계 선택이 VLMs에 미치는 영향 분석 (ablation study).

핵심: Molmo는 PixMo 데이터 세트를 활용하여 처음부터 구축된 open VLMs로, 독점 모델을 능가하는 성능을 보여줍니다.

 

 

 

Figure 2. Molmo follows the simple and standard design of connecting a vision encoder and a language model.

 

 

 

 

2. Architecture

저희 모델 architecture (그림 2)는 사전 훈련된 language 및 vision 모델을 결합하는 표준 디자인을 따릅니다 (예: [69]). 네 가지 구성 요소가 있습니다. (1) 입력 이미지를 multiscale, multi-crop 이미지로 변환하는 pre-processor, (2) 각 이미지에 대해 독립적으로 per-patch features를 계산하는 ViT image encoder [31], (3) patch features를 pooling하고 LLM의 embedding 공간으로 투영하는 connector, (4) decoder-only LLM [95, 109].

 

이 템플릿에서 vision encoder와 LLM을 선택하여 모델 제품군을 구축하고, 훈련 데이터와 recipe를 선택 항목 간에 일관되게 유지합니다 (학습률 제외). 초기 실험에서 강력한 성능으로 인해 주로 OpenAI의 ViT-L/14 336px CLIP 모델 [96]을 사용하지만, SigLIP [130] 및 완전히 open된 MetaCLIP [118] (섹션 6 참조)을 사용하여 유사한 결과를 얻을 수 있습니다. LLM의 경우 scale과 openness 수준에 걸쳐 실험합니다. 완전히 open된 OLMo-7B-1024-preview, 완전히 open된 OLMoE-1B-7B (가장 효율적인 모델), open-weight Qwen2 7B [120] 및 open-weight Qwen2 72B (가장 성능이 뛰어난 모델).

 

Cropping. 대부분의 ViT는 일반적으로 OCR 또는 상세한 캡션 작성과 같은 세분화된 작업에는 너무 낮은 고정 해상도의 정사각형 이미지만 지원합니다. 이 문제를 해결하기 위해 이미지를 이미지를 타일링하는 여러 개의 정사각형 crop으로 나누어 최근 작업 [19, 30, 70, 85, 124]을 따릅니다. 또한 ViT의 해상도로 크기가 조정된 전체 이미지는 저해상도 개요를 제공합니다. 각 crop은 ViT에서 독립적으로 처리됩니다. 자세한 내용은 부록을 참조하십시오.

 

 

 

겹치지 않고 (왼쪽) 및 겹치는 (오른쪽) crop된 이미지입니다. 강조 표시된 영역은 LLM에서 사용하는 영역을 보여줍니다. 겹치는 crop은 중앙 patch가 인접한 context로 인코딩되도록 합니다. 예를 들어 자전거 브랜드 이름이 포함된 patch는 항상 전체 이름이 표시되는 crop의 일부입니다.

 

 

Overlapping cropping. cropping의 한 가지 제한 사항은 border patch에 인접 patch의 context가 부족하다는 것입니다 (그림 3 참조). 이를 완화하기 위해 crop이 겹치도록 하여 각 patch에 적어도 일부 인접 patch의 context가 있도록 합니다. 겹치는 부분의 patch features는 connector 또는 LLM에 전달되지 않으므로 전달된 patch features가 고해상도 이미지를 정확하게 타일링합니다. 겹치면 타일링된 이미지 해상도가 약간 감소하지만 더 많은 crop을 사용하여 이를 상쇄할 수 있습니다. 섹션 6에서 볼 수 있듯이 겹치면 결과가 크게 향상됩니다.

 

Vision-language connector. vision encoder에서 crop을 인코딩하면 세 번째에서 마지막 ViT 레이어와 열 번째에서 마지막 ViT 레이어의 features를 연결하여 patch features를 구축합니다. 이는 단일 레이어를 사용하는 것보다 성능을 약간 향상시킵니다. 그런 다음 각 2×2 patch 창은 multi-headed attention 레이어를 사용하여 단일 벡터로 pooling됩니다. 여기서 patch의 평균은 query 역할을 합니다. 이 attention pooling은 단순한 feature concatenation보다 성능이 뛰어납니다 (섹션 6 참조). 마지막으로 pooling된 features는 MLP를 통해 LLM의 embedding 공간에 매핑됩니다.

 

Arranging vision tokens. Pooling된 patch features (vision token)는 저해상도 전체 이미지의 patch부터 시작하여 행 우선 순서로 배열된 고해상도 crop patch까지 왼쪽에서 오른쪽, 위에서 아래로 시퀀싱됩니다. 특수 토큰은 저해상도 및 고해상도 patch 시퀀스의 시작과 끝을 표시하기 위해 삽입되고 행 끝 토큰은 행 전환을 나타내기 위해 행 사이에 추가됩니다.

 

Dropout. Residual dropout은 LLM에 적용되지만 image encoder 및 vision-language connector에는 적용되지 않습니다. dense captions에 대한 사전 훈련 중에 dropout은 텍스트 토큰에만 적용되어 언어 prior보다는 인코딩된 이미지에 의존하도록 합니다. 더 짧은 target 응답으로 인해 dropout이 너무 적기 때문에 미세 조정에는 사용되지 않습니다. 섹션 6에서 볼 수 있듯이 사전 훈련 중에 텍스트 전용 dropout은 캡션 작성 및 downstream 성능을 향상시킵니다.

 

Multi-annotated images. multimodal 데이터에는 종종 이미지당 여러 주석이 포함됩니다 (예: VQA v2.0에는 여러 질문-답변 쌍이 있음). 효율적으로 훈련하기 위해 이미지에 대한 모든 텍스트 주석 토큰을 하나의 긴 시퀀스로 정렬하고 attention을 masking하여 각 주석에 대한 토큰이 이미지 토큰, 서로에게는 attention을 기울이지만 다른 주석의 토큰에는 attention을 기울이지 않도록 합니다. 이 설정은 개별 이미지-텍스트 쌍에 대해 훈련하는 것과 같지만 중복 이미지 인코딩을 방지하여 처리된 이미지 수를 3분의 2로 줄이고 훈련 시간을 절반 이상 단축하며 데이터 믹스의 시퀀스 길이가 25%만 증가합니다.

 

 

 

 

2. Architecture 정리 노트

Molmo 모델 아키텍처

  • 기본 구조: 사전 훈련된 language 및 vision 모델 결합 (일반적인 방식)
  • 구성 요소:
    1. Pre-processor: 입력 이미지 → multiscale, multi-crop 이미지 변환
    2. ViT image encoder: 각 이미지의 patch feature 계산
    3. Connector: patch feature들을 LLM embedding 공간에 연결
    4. Decoder-only LLM: 최종 출력 생성
  • 다양한 모델: vision encoder (CLIP, SigLIP, MetaCLIP) 및 LLM (OLMo, Qwen2) 조합
  • 일관성 유지: 훈련 데이터 및 recipe는 모델에 관계없이 동일 (학습률 제외)

Cropping

  • 문제점: ViT는 고정된 저해상도 이미지만 지원 → OCR, 상세 캡션 등 세밀한 작업에 부적합
  • 해결책: 이미지를 여러 개의 정사각형 crop으로 분할 (타일링) + 저해상도 전체 이미지 제공
  • 효과: 각 crop을 독립적으로 처리하여 고해상도 정보 활용

Overlapping Cropping

  • 문제점: crop 경계 부분의 patch는 주변 context 부족
  • 해결책: crop들을 겹치게 하여 context 정보 유지
  • 효과: patch feature가 고해상도 이미지를 완벽하게 타일링, 성능 향상

Vision-language Connector

  • 역할: vision encoder의 출력 (patch feature)을 LLM에 연결
  • 과정:
    • 여러 ViT 레이어의 feature들을 연결
    • multi-headed attention을 사용하여 patch들을 pooling
    • MLP를 통해 LLM embedding 공간에 매핑
  • 효과: 단순 연결보다 성능 향상

Vision Token 배열

  • 순서: 저해상도 전체 이미지 → 고해상도 crop (행 우선 순서)
  • 특수 토큰: 시작/끝, 행 전환 표시

Dropout

  • 적용: LLM에만 적용 (image encoder, connector에는 적용 X)
  • 사전 훈련: 텍스트 토큰에만 적용 → 이미지 정보에 집중하도록 유도
  • 미세 조정: 적용 X (짧은 응답으로 인해 dropout 효과 미미)
  • 효과: 캡션 및 downstream task 성능 향상

Multi-annotated Images

  • 문제점: 이미지당 여러 주석 처리의 비효율성 (VQA v2.0 등)
  • 해결책: 모든 주석을 하나의 긴 시퀀스로 통합, attention masking 적용
  • 효과: 중복 이미지 인코딩 방지, 처리 속도 향상 (이미지 수 2/3 감소, 훈련 시간 절반 단축)

핵심: Molmo는 효율적인 cropping, overlapping, attention pooling 등 다양한 기술을 활용하여 vision 정보를 효과적으로 처리하고 LLM과 연결합니다.