AI바라기의 인공지능

LLM / VLM : 논문리뷰 : Building and better understanding vision-languagemodels: insights and future directions 본문

논문리뷰

LLM / VLM : 논문리뷰 : Building and better understanding vision-languagemodels: insights and future directions

AI바라기 2024. 8. 27. 13:45

Abstract

이미지와 텍스트를 입력으로 받고 텍스트를 출력하는 vision-language models (VLMs) 분야는 빠르게 발전하고 있으며, 데이터, architecture, 훈련 방법 등 개발 파이프라인의 몇 가지 핵심 측면에 대한 합의가 아직 이루어지지 않았습니다. 이 논문은 VLM 구축에 대한 튜토리얼로 볼 수 있습니다. 먼저 현재 state-of-the-art 접근 방식에 대한 포괄적인 개요를 제공하고, 각 접근 방식의 강점과 약점을 강조하며, 이 분야의 주요 과제를 해결하고, 탐구되지 않은 영역에 대한 유망한 연구 방향을 제시합니다. 그런 다음 이전 모델인 Idefics2-8B보다 훨씬 뛰어난 성능을 발휘하면서도 효율적으로 훈련되고, open datasets만 사용하며, 간단한 파이프라인을 사용하는 강력한 VLM인 Idefics3-8B를 구축하는 실질적인 단계를 안내합니다. 이러한 단계에는 이전에 사용 가능했던 datasets보다 훨씬 더 큰 문서 이해 기능 향상을 위한 dataset인 Docmatix 생성이 포함됩니다. 모델과 함께 훈련에 사용된 datasets를 공개합니다.

 

Introduction

이미지와 텍스트를 입력으로 받고 텍스트를 출력하는 vision-language models (VLMs)는 문서 및 그림 이해, 시각적 수학 문제 해결, 웹 페이지 스크린샷을 코드로 변환하는 등 다양한 응용 분야에서 매우 효과적입니다. 강력한 open large language models 및 vision encoders의 발전으로 연구자들은 이러한 unimodal pre-trained models를 기반으로 더욱 발전된 VLMs를 만들어 이러한 작업을 점점 더 정확하게 해결할 수 있게 되었습니다.

 

 

이러한 발전에도 불구하고, 문헌에서는 개발 파이프라인의 핵심 측면에서 다양한 설계 선택이 존재하며, 합의가 부족함을 보여줍니다. 예를 들어, 많은 최근 모델들이 이미지 hidden states 시퀀스와 텍스트 embeddings 시퀀스를 연결하여 language model에 입력으로 제공하는 것을 선택한 반면, Llama 3-V 모델은 Flamingo와 유사하게 interleaved Transformer-based cross-attentions를 사용하여 시각 정보를 LLM에 융합합니다.

 

이러한 VLM 개발의 핵심적인 선택들은 연구 논문에서 ablation study 되거나 정당화되지 않는 경우가 많아 어떤 결정이 모델 성능에 영향을 미치는지, 각 방법과 관련된 compute 및 데이터 효율성 trade-offs를 평가하기 어렵게 만듭니다.

 

 

이 논문에서는 먼저 이 분야의 주요 연구 질문들을 안내하고, 각 접근 방식의 강점과 약점과 함께 최신 VLM 접근 방식에 대한 자세한 개요를 제공합니다. 특히,

 

(a) pre-trained language models와 vision encoders를 연결하는 데 사용되는 다양한 architectures,

(b) VLM 훈련에 사용되는 다양한 유형의 데이터, 해당 데이터의 유용성 및 일반적으로 도입되는 단계,

(c) 효율성 및 안정성을 위해 여러 단계로 나뉘는 경우가 많은 VLM 훈련 방법,

(d) 모델 평가에서 직면하는 과제에 중점을 둡니다.

 

특히 데이터 관련하여 모델 성능을 향상시키기 위한 향후 연구 방향을 제안합니다.

 

이러한 개요를 바탕으로 open datasets 및 간단한 파이프라인만 사용하여 효율적으로 훈련된 강력한 VLM인 Idefics3-8B 구축을 위한 실질적인 단계를 안내합니다. Idefics3-8B는 이전 모델인 Idefics2-8B보다 훨씬 뛰어난 성능을 발휘하며,

 

특히 DocVQA에서 상당한 개선을 보입니다. 이 task에 대한 기능을 특히 강화하기 위해 백만 개 이상의 PDF 문서에서 추출된 이미지 및 QA 쌍을 포함하는 Docmatix dataset을 만들었습니다. 이는 이전 open datasets에 비해 훨씬 더 큰 규모입니다. 훈련에 사용된 datasets와 함께 모델을 공개합니다.

 

 

 

Analyzing architectural choices in VLMs

Frozen 및 Flamingo 도입 이후, 대부분의 VLMs는 완전히 새로운 모델을 처음부터 훈련시키는 것이 아니라 unimodal pre-trained backbones, 즉 language model 및/또는 vision encoder를 기반으로 구축되었습니다. 점점 훈련 비용이 증가하는 강력한 open-source LLMs 및 image encoders의 가용성 덕분에 연구자들은 이러한 모델들을 활용하여 더 적은 비용으로 고성능 VLMs를 만들 수 있습니다. 이 두 개의 pre-trained models는 일반적으로 cross-attention 또는 self-attention architecture로 연결됩니다.

 

 

2.1.1 Cross-attention architecture

 

cross-attention architecture는 Flamingo에서 소개되었습니다. vision backbone에 의해 인코딩된 이미지 hidden states는 pre-trained language model layers 사이에 interleave된 새로 초기화된 cross-attention layers를 사용하여 frozen language model을 조건화하는 데 사용됩니다.

 

이러한 layers의 keys 및 values는 vision features에서 얻어지는 반면, queries는 language inputs에서 파생됩니다. 실제로는 LLM의 Transformer blocks마다 cross-attention block가 삽입되어 LLM 크기의 약 1/4에 해당하는 새로 초기화된 parameters를 추가합니다. parameters의 이러한 상당한 증가는 모델의 expressivity를 향상시켜 LLM을 unfreeze하지 않고도 강력한 성능을 달성할 수 있도록 하여 text-only tasks에 대한 pre-trained LLM의 성능을 유지합니다.

Idefics1 및 OpenFlamingo는 Flamingo의 open replications입니다.

최근에는 Llama 3-V도 Llama 3를 multimodality에 적용하기 위해 이 접근 방식을 채택했습니다.

 

 

2.1.2 Self-attention architecture

FROMAGe 및 BLIP2에서 소개된 self-attention architecture (또는 fully-autoregressive architecture)에서는 vision encoder의 출력이 tokens으로 처리되고 text tokens 시퀀스에 연결됩니다. 그런 다음 전체 시퀀스가 language model에 입력으로 전달됩니다. visual tokens 시퀀스는 선택적으로 더 짧은 시퀀스로 pooling되어 훈련 및 추론 중에 모델을 더 효율적으로 만들 수 있습니다. vision-hidden space를 text-hidden space에 매핑하는 layers를 modality projection layers라고 합니다. 그림 1은 self-attention architecture의 다양한 구성 요소를 강조하여 보여줍니다.

 

최근 대부분의 VLMs는 이 디자인을 채택했습니다. 여기에는 Llava, Qwen-VL, DeepSeek-VL, SPHINX, VILA, MiniGemini, Monkey, MM1, Idefics2, MiniCPM-V, InternLM 또는 InternVL 등이 포함됩니다.

 

 

그림 1: Laurençon et al. (2024)에서 발췌. self-attention 또는 fully-autoregressive architecture: 입력 이미지는 Vision encoder에 의해 처리됩니다.

결과 visual features는 LLM input space에 매핑되어(선택적으로 pooling) visual tokens를 얻습니다. 이들은 텍스트 embeddings의 입력 시퀀스(녹색 및 빨간색 열)와 연결됩니다(잠재적으로 interleave). 연결된 시퀀스는 language model (LLM)에 입력되어 텍스트 tokens 출력을 예측합니다.

 

 

2.1.3 Which architecture performs best?

이 두 가지 주요 유형의 architectures 간의 성능 비교는 Laurençon et al. (2024)에서 탐구되었습니다. pre-trained unimodal models는 LLM의 경우 Mistral-7B, vision encoder의 경우 SigLIP-SO400M입니다. self-attention architecture를 가진 모델은 총 8.3B parameters를 가지며, 그 중 새로 초기화된 것은 740M입니다. 반면 cross-attention architecture를 가진 모델은 총 10B parameters를 가지며, 그 중 새로 초기화된 것은 2.5B입니다. 저자들은 훈련 중에 backbones를 frozen 상태로 유지할 때 cross-attention architecture가 훨씬 더 뛰어난 성능을 발휘한다는 것을 보여줍니다.

그러나 vision encoder 및 language model의 일부를 LoRA를 사용하여 훈련시키고, 두 모델에 걸쳐 추가로 훈련 가능한 parameters를 추가하면 전체적으로 더 많은 parameters를 가지고 있음에도 불구하고 cross-attention architecture의 성능이 더 떨어집니다.

 

그럼에도 불구하고 이 연구는 text-only benchmarks에 대한 VLMs의 성능을 평가하지 않았습니다. 직관적으로 훈련 중에 language model의 일부를 unfreeze할 때 text-only benchmarks에 대한 성능을 유지하려면 LLM training data mixture의 데이터를 VLM training data에 통합해야 합니다.

 

 

2.1.4 Impact of the pre-trained backbones on performance

다양한 연구들은 각각의 독립적인 unimodal pre-trained backbone의 성능이 결과적으로 생성되는 VLM의 성능과 상관관계가 있다는 것을 발견했습니다. 예를 들어, (Laurençon et al., 2024)에서 저자들은 language model을 LLaMA-1-7B에서 Mistral-7B로 교체하면 벤치마크 전반에 걸쳐 상당한 개선이 이루어짐을 보여줍니다. 마찬가지로 CLIP-ViT-H를 SigLIP-SO400M으로 교체하면 VLM의 전체 parameters 수를 변경하지 않고도 모든 벤치마크에서 상당한 성능 향상을 가져옵니다.

 

vision encoders는 종종 다른 datasets에서 훈련되고 다양한 tasks에 대해 최적화되기 때문에 SPHINX와 같은 일부 모델은 DINOv2 및 CLIP과 같은 여러 encoders의 representations를 결합하여 더 풍부한 visual embeddings 시퀀스를 생성하지만, 이는 계산 효율성을 희생해야 합니다.

최근 연구는 open language models 개선에 집중되어 왔습니다. 반면, 공개된 open-vision encoders는 거의 없으며, SigLIP-SO400M은 400M parameters만으로도 뛰어난 성능 대비 parameters 비율을 보여주기 때문에 주목할 만합니다. 이는 대규모로 광범위하게 훈련된 open-source vision encoders에 대한 필요성을 시사합니다.

 

 

 

 

 

2.2 Examining the other architectural choices

 

2.2.1 Is a vision encoder really necessary?

vision encoder를 사용하는 대신, Fuyu는 단순한 linear projection을 적용하여 차원을 조정한 후 이미지 패치를 language model에 직접 입력합니다.

 

이 architecture는 두 가지 주요 이점을 제공합니다. 다른 pre-trained model에 의존하지 않고 원본 이미지의 모든 정보를 보존합니다. 후자는 프롬프트에 정확하게 응답하기 위해 원본 이미지 세부 정보가 필요할 수 있기 때문에 중요합니다. 반면 pre-trained vision encoder는 사용자의 프롬프트와 무관한 representation으로 이미지를 변환합니다. 결과적으로 vision encoder는 가능한 많은 정보를 캡처하는 것을 목표로 하지만 프롬프트와 관련된 세부 정보를 놓칠 수 있습니다. VisFocus는 사용자의 프롬프트를 vision encoder에 통합하여 이러한 단점을 해결하려고 시도합니다. 그러나 이 접근 방식은 프롬프트가 이전 질문을 참조할 수 있는 interleaved image-text conversations에서는 덜 자연스럽습니다.

 

이러한 장점에도 불구하고 이 architecture는 아직 뛰어난 성능을 보여주지 못했습니다. Fuyu는 비슷한 시기에 출시된 동일한 크기의 최고 모델들에 비해 벤치마크에서 훨씬 낮은 점수를 기록합니다. PaliGemma도 이 접근 방식을 실험했으며 pre-trained vision encoder를 사용하는 것에 비해 성능이 현저히 떨어지는 것을 보고했습니다. 저자들은 수십억 개의 이미지에 대해 pre-trained된 vision encoder를 우회하면 유사한 성능을 얻기 위한 훈련 시간이 더 길어질 수 있다고 제안합니다.

또한 language model 내에서 이미지 representation을 처리하면 text-only benchmarks에 대한 성능이 저하될 수 있습니다. 이 접근 방식이 multimodal benchmarks에서 다른 접근 방식보다 뛰어난 성능을 보이더라도 대부분의 VLMs는 여전히 text-only benchmarks에 대해 평가되지 않기 때문에 vision encoder를 생략하는 것이 텍스트 벤치마크 성능에 영향을 미치는지 여부는 불분명합니다.

 

마지막으로 이 접근 방식은 raw pixels에서 직접 작동하여 정보를 크게 줄이지 않는 효율적인 pooling strategy를 통해 아직 테스트되지 않았습니다. 향후 video understanding 또는 다른 modalities로의 확장과 같은 tasks의 경우 적절한 sequence length를 유지하기 위해 language model에 전달되는 visual tokens 수를 효율적으로 줄일 수 있는 architecture를 개발하는 것이 중요할 것입니다.

 

2.2.2 How should we connect the vision encoder to the language model?

FROMAGe 및 LLaVA와 같은 많은 모델들은 vision encoder와 LLM 사이에 간단한 linear layer를 사용하여 pooling strategy를 적용하지 않고 모든 encoded visual 정보를 유지합니다. 그러나 이 접근 방식은 긴 visual tokens 시퀀스를 초래하여 훈련 및 추론 효율성을 떨어뜨립니다.

 

이를 해결하기 위해 Qwen-VL은 embeddings 그룹과 이미지 hidden states 사이에 single-layer cross-attention module을 사용하여 visual tokens 수를 줄입니다. 마찬가지로 Idefics2는 perceiver resampler 내에서 cross-attention module을 사용하여 광범위한 OCR 기능이 필요한 tasks를 제외한 대부분의 tasks에서 성능을 유지하면서 visual tokens 수를 압축할 수 있음을 보여줍니다. InternLM-XComposer2-4KHD 또한 이미지당 visual tokens 수를 늘리는 것은 InfoVQA 및 DocVQA와 같은 OCR tasks에 중점을 둔 벤치마크에 주로 필요하다는 것을 보여줍니다.

 

perceiver resampler의 효율성에도 불구하고 여러 논문에서 이 사용에 대해 이의를 제기하며 이미지의 2D 구조를 보다 효과적으로 활용할 것을 제안합니다. 예를 들어 HoneyBee는 visual features에 2D positional embeddings를 다시 도입한 다음 ResNet blocks를 사용하는 C-Abstractor를 소개합니다. mPLUG-DocOwl-1.5에서는 convolutions를 사용하여 image hidden states 수를 4로 나누는 H-Reducer를 도입합니다. InternVL 또한 간단한 pixel shuffle strategy를 사용하여 4배 압축을 달성합니다. 최근 MiniCPM-V 2.6은 Idefics2와 마찬가지로 64개의 learnable embeddings를 가진 perceiver resampler를 선택했지만 2D positional embeddings를 추가하여 이를 향상시켰습니다.

 

 

2.2.3 The image-splitting strategy: a trick to increase the number of visual tokens

UReader 및 SPHINX에서 소개된 image splitting strategy는 원본 이미지를 여러 개의 sub-images로 나누고, 각각을 vision encoder로 개별적으로 인코딩하는 것을 포함합니다. tile의 수는 이미지당 4개의 crops를 일관되게 사용하는 것처럼 고정될 수도 있고, 이미지가 N 픽셀마다 분할되는 것처럼 이미지의 원래 해상도에 따라 달라질 수도 있습니다.

 

tile의 수가 원래 해상도를 기반으로 할 때 모델은 다양한 수의 visual tokens로 훈련됩니다. 이 접근 방식은 특히 추론 중에 유리합니다. 간단한 tasks의 경우 더 적은 visual tokens가 필요하여 계산 리소스를 절약할 수 있는 반면, 집중적인 OCR이 필요한 tasks의 경우 이미지 해상도를 높여 더 많은 컴퓨팅을 할당할 수 있습니다. 이러한 유연성은 높은 계산 리소스를 사용하여 단일 이미지에서 추론하는 데 탁월하면서도 각 프레임의 해상도를 낮춰 적절한 sequence length를 유지하면서 많은 프레임으로 비디오를 처리하는 데 뛰어난 모델을 설계하는 데 매우 유용합니다.

 

대부분의 vision encoder는 상대적으로 낮은 고정 이미지 해상도를 위해 설계되었으며 큰 이미지를 처리하는 데 적합하지 않습니다. image-splitting strategy는 원본 큰 이미지 대신 여러 개의 더 작은 sub-images를 encoder에 입력하는 것만으로 원래 해상도에서 기존의 pre-trained vision encoder를 사용할 수 있도록 하여 이 문제를 해결합니다. vision encoder의 가중치는 각 sub-image에서 공유되므로 이 접근 방식은 훈련 효율성도 향상시킵니다.

 

그러나 이미지의 tile은 독립적이지 않으므로 각 tile을 개별적으로 인코딩하는 것은 최적이 아닐 수 있으며 global context 손실을 초래할 수 있습니다. 이를 해결하기 위해 현재 전략은 downscaled된 원본 이미지를 tile 목록에 추가하고 vision encoder에서 지원하는 해상도와 일치하도록 크기를 조정하는 것을 포함합니다. 이렇게 하면 전체 context의 일부를 유지하는 데 도움이 되지만 완벽한 해결책은 아닙니다. 원본 이미지의 해상도가 낮아지면 더 세밀한 details를 캡처하기 어렵고 해상도가 원본 이미지의 해상도에 따라 달라지기 때문입니다.

 

 

image-splitting strategy보다 더 나은 방법이 있을까요?

image-splitting strategy의 대안이자 향후 연구를 위한 유망한 방향은 원본 aspect ratios를 변경하지 않고 매우 큰 이미지를 포함하여 다양한 해상도의 이미지를 native하게 처리할 수 있는 vision encoder를 개발하는 것입니다. 잠재적으로 long-context를 효율적으로 처리하는 메커니즘을 통합할 수도 있습니다. 이 모델은 Patch'n'Pack 전략을 사용하여 효율적으로 훈련되어 원본 해상도에 따라 이미지당 다른 수의 visual tokens를 생성할 수 있으므로 이미지를 여러 sub-images로 자를 필요 없이 전체 이미지를 직접 인코딩할 수 있습니다.

 

더보기

네, Patch'n'Pack 전략에 대해 알고 있습니다.

Patch'n'Pack은 Vision Transformer (ViT) 모델 훈련 시 다양한 해상도와 종횡비를 가진 이미지들을 효율적으로 처리하기 위한 전략입니다.

  • 패치 분할 (Patching): 입력 이미지를 일정한 크기의 패치로 분할합니다. 각 패치는 ViT 모델의 입력 토큰이 됩니다.
  • 패킹 (Packing): 서로 다른 해상도와 종횡비를 가진 이미지들을 하나의 시퀀스로 묶어(패킹) 모델에 입력합니다. 이때, 패딩을 사용하여 모든 시퀀스의 길이를 동일하게 맞춥니다.

이 전략을 통해 ViT 모델은 다양한 크기의 이미지를 효율적으로 처리할 수 있으며, 특히 고해상도 이미지 처리에 유용합니다. 또한, 훈련 과정에서 이미지의 종횡비를 변경할 필요가 없으므로 이미지의 원본 정보를 더 잘 보존할 수 있습니다.

Patch'n'Pack은 NaViT (Native Resolution ViT) 모델에서 처음 소개되었으며, 이후 다른 ViT 모델에도 적용되어 훈련 효율성을 높이는 데 기여하고 있습니다.

 

Training methods and datasets for VLMs

 

VLMs 훈련은 일반적으로 여러 단계로 이루어지는데, 이는 주로

(a) 대규모 고품질 데이터의 제한된 가용성,

(b) 효율적인 훈련을 위한 메모리 제약,

(c) 안정성 문제 때문입니다.

이러한 단계 동안 점진적으로 더 높은 품질의 데이터가 도입되고, 최대 이미지 해상도가 점차 증가하며, 더 많은 모델 부분이 unfreeze됩니다. 그림 2는 훈련의 주요 단계와 각 단계에서 사용되는 데이터 유형을 보여줍니다. 이전 섹션에서 논의한 것처럼 이 프로세스는 language model과 vision encoder라는 두 개의 unimodal pre-trained backbones로 시작합니다.

 

 

 

3.1 Multi-stage pre-training

pre-training의 주요 목표는 backbone models를 align하고 모델에서 새로 초기화된 parameters를 훈련시키는 것입니다. 이는 대규모 datasets를 사용하여 VLM을 다양한 예시에 노출시켜 광범위한 지식을 구축하고 out-of-domain 데이터에 대한 robustness를 개선함으로써 달성됩니다.

 

LLM의 초기 성능을 유지하기 위해 VILA 및 LLaVA-NeXT와 같은 일부 모델은 backbone models를 freezing하고 새로 초기화된 parameters (connector)에만 집중하여 만족스러운 성능 수준에 도달할 때까지 훈련을 시작합니다.

 

그 후 vision encoder 및/또는 language model을 점진적으로 unfreeze할 수 있습니다. 불안정성이 발생하거나 full unfreezing보다 더 많은 regularization을 추가하면서 모델의 expressivity를 향상시켜야 하는 경우 LoRA 접근 방식은 pre-training 단계에서도 효과적일 수 있습니다.

 

많은 수의 이미지에 대해 효율적으로 훈련하기 위해 이미지 해상도는 일반적으로 훈련 시작 시 낮게 유지되고 시간이 지남에 따라 점차 증가합니다. 해상도가 충분히 높아지면 PDF와 같이 큰 이미지를 포함하는 datasets를 훈련 데이터에 통합할 수 있습니다.

다음 단락에서는 이 과정에서 일반적으로 사용되는 다양한 유형의 데이터에 대해 설명합니다. 가장 일반적인 예는 그림 3에 나와 있습니다.

 

VLMs의 pre-training 중에 사용되는 예시 유형.

(a) LAION COCO의 image-text 쌍,

(b) OBELICS의 interleaved image-text 문서,

(c) OCR-IDL의 PDF 문서.

 

 

Image-text pairs

Image-text pair datasets는 일반적으로 웹을 크롤링하고 이미지를 다운로드하며 원본 HTML 파일에서 해당 alt-text를 추출하여 생성됩니다. 이러한 raw image-text pairs를 수집하기 쉽고 이미지와 텍스트 간의 강력한 alignment를 설정하는 데 효과적이기 때문에 LAION, COYO 및 DataComp와 같은 많은 대규모 datasets가 생성되었습니다.

그러나 이러한 datasets의 alt-texts는 종종 noisy하고 문법에 맞지 않거나 너무 짧아 훈련을 어렵게 만듭니다. 최근 접근 방식은 synthetic re-captioning을 사용하여 더 나은 결과를 얻었으며, 여기서 원본 datasets의 동일한 이미지는 다른 모델을 사용하여 다시 캡션됩니다. 예를 들어 LAION COCO는 BLIP 및 두 개의 CLIP 모델 앙상블을 사용하여 LAION-5B에서 이미지에 다시 캡션을 붙였습니다. 마찬가지로 VeCap은 원본 alt-text와 LLaVA에서 합성적으로 생성된 캡션을 결합하여 샘플 datasets를 만듭니다.

 

이러한 노력은 주로 주어진 이미지에 대해 고품질 캡션을 생성하는 데 중점을 두었지만 "좋은" 이미지의 초기 선택에는 관심이 덜 기울여졌으며, 이는 여전히 유망한 연구 분야로 남아 있습니다. 웹 이미지 중 VLM 훈련에 유용하지 않을 수 있는 이미지(예: 로고, 아이콘, 공인이 아닌 인물의 초상화)의 비율이 높다는 점을 고려할 때 이는 중요합니다. Synth2는 일반적인 프로세스를 뒤집어 LLM 생성 캡션에서 시작한 다음 Text-to-Image 모델을 사용하여 해당 이미지를 생성하여 이 문제를 해결합니다. 또한 SNIP-Dedup 및 SemDeDup와 같은 연구에서는 image deduplication을 적용하여 전체 dataset를 사용하는 것에 비해 성능 저하를 최소화하면서 LAION dataset의 절반만 훈련할 수 있음을 보여주었습니다.

 

Interleaved image-text documents

interleaved image-text documents(웹 문서라고도 함)에 대한 훈련은 Flamingo에서 독점 M3W dataset를 사용하여 처음 도입되었습니다. OBELICS는 문서 및 이미지가 포함된 interleaved image-text documents의 open-source dataset입니다. 이 dataset는 Common Crawl dumps에서 얻은 HTML 파일로 구축되었으며 신중하게 필터링되었습니다. 결과 문서는 스팸 및 광고를 제거하면서 웹사이트에 나타난 이미지 및 텍스트의 원래 linearity를 유지합니다.

저자들은 훈련 데이터 믹스에 웹 문서를 사용할 때 몇 가지 이점을 강조합니다. (a) in-context learning 능력을 향상시키고, (b) 텍스트와 인터리브된 임의의 수의 이미지를 이해하는 모델의 능력을 향상시키며, (c) 표준 image-text pair datasets에서 사용할 수 있는 것보다 훨씬 더 광범위한 텍스트 분포에 모델을 노출시킵니다. 이는 interleaved 데이터가 few-shot 및 text-only 성능에 중요한 역할을 한다는 MM1의 결과와 일치합니다. OBELICS는 MM1, Idefics2 및 BLIP-3를 포함한 다양한 VLMs 훈련에 사용되었습니다. 최근에는 이러한 datasets의 규모가 크게 확장되어 MINT-1T는 문서 및 이미지로 증가했으며 OmniCorpus는 문서 및 이미지에 도달했습니다.

Phi-3 및 FineWeb-Edu의 접근 방식과 유사한 교육 콘텐츠에 대한 Model-based filtering은 이러한 multimodal datasets에 대해 아직 탐구되지 않았으며 상당한 개선을 제공할 수 있을 것입니다.

 

PDF documents

텍스트 transcription과 쌍을 이루는 PDF 문서의 두 가지 주요 datasets는 OCR-IDL 및 PDFA4입니다. OCR-IDL에는 산업 문서 페이지가 포함되어 있는 반면 PDFA의 영어 전용 필터링 버전에는 Common Crawl에서 가져온 페이지가 포함되어 있어 OCR-IDL보다 더 다양성을 제공합니다. 두 datasets 모두 OCR 추출 도구를 사용하여 문서 내에서 해당 텍스트 및 해당 위치를 얻었으며 이를 전체 문서 transcription으로 linearize할 수 있습니다. Idefics2는 pre-training 중에 이러한 datasets를 직접 사용했으며 Llama 3-V에서도 문서 이해 tasks에 대한 성능을 향상시키기 위해 대규모로 채택된 접근 방식입니다.

 

Synthetic data

sh는 (a) image captioning, (b) 다양한 텍스트와 인터리브된 임의의 수의 이미지 처리, (c) text transcription과 같은 기본 skills을 연마하며, 이 모든 것은 더 복잡한 tasks를 처리하는 데 필수적입니다. 이러한 datasets는 주로 웹을 크롤링하여 구축되므로 텍스트 및 이미지가 광범위하게 분포되어 희귀한 예시에 대한 robustness를 향상시킵니다. 그러나 이러한 datasets는 문서 이해 또는 시각적 수학 추론과 같이 사용자가 일반적으로 요구하는 많은 tasks를 해결하지 못하며 이는 훨씬 더 어렵습니다. 이러한 tasks를 마스터하기 위해 일반화 또는 현재 fine-tuning datasets의 제한된 예시에 의존하는 것은 이상적이지 않습니다.

LLMs 훈련에서 합성 데이터는 매우 효과적인 것으로 입증되었습니다. 최근 VLMs의 발전으로 이제 많은 실제 예시를 높은 정확도로 해결할 수 있게 되었으므로 대규모 합성 datasets를 생성하고 훈련하는 것은 논리적인 단계입니다. 이러한 datasets는 사용자가 요청할 가능성이 높은 tasks와 매우 유사한 예시를 포함하도록 맞춤화할 수 있어 이전 훈련 단계에서 사용된 데이터보다 더 관련성이 높습니다.

사용할 수 있는 합성 데이터의 주요 범주는 다음과 같습니다.

 

Image captioning

자세한 캡션과 쌍을 이루는 이미지를 위한 주요 dataset는 PixelProse입니다. CC12M, CommonPool 및 RedCaps의 이미지를 사용하여 구축된 이 dataset에는 Gemini 1.0 Pro에서 생성된 캡션이 포함되어 있습니다. 이미지 수는 적지만 PixelProse는 더 풍부한 설명을 제공하고 캡션 생성을 위해 더 강력한 모델을 사용하므로 LAION COCO보다 개선된 모델입니다. 향후 개선 사항에는 더욱 다양하고 필터링되고 중복 제거된 이미지 세트, 생성 시 잠재적인 hallucinations를 줄이기 위한 더 나은 모델, 스타일 다양성을 위한 다양한 프롬프트가 포함될 수 있습니다. 유사한 dataset인 ShareGPT-4o5는 GPT-4o를 사용하여 이미지에 다시 캡션을 붙여 예시를 얻습니다.

 

Real-world visual question answering

이 범주의 datasets에는 사람 또는 사물 식별, 미묘한 장면 이해, 개수 세기, 색상 식별 또는 공간 위치 지정과 같은 주제를 다루는 실제 이미지에 대한 QA 쌍이 포함되어 있습니다. 이 분야의 주요 dataset는 Localized Narratives에서 가져온 이미지 및 QA 쌍을 포함하는 LNQA6입니다.

 

Text reading in natural images

LLAvAR에서 저자는 OCR 도구를 사용하여 LAION-5B dataset의 실제 이미지에서 텍스트를 추출하여 샘플을 생성합니다. MiniCPM-V 및 Llama 3-V에서도 유사한 접근 방식을 볼 수 있습니다. 이러한 datasets의 주요 이점은 확장성과 PDF 문서에 비해 자연 이미지의 텍스트 분포가 고유하다는 점이며, 이는 TextVQA와 같은 tasks를 처리하는 모델의 능력을 향상시킵니다.

 

Text transcription

텍스트 transcription을 위한 주요 dataset는 위에서 언급한 PDFA입니다. 그러나 bounding boxes에서 텍스트를 일관되게 linearize하는 것은 어려울 수 있으며 수학 방정식은 종종 잘못 transcription되거나 생략되는데, 이는 Nougat과 같은 모델이 뛰어난 영역입니다. 또한 그림과 표는 OCR 도구에 의해 제대로 transcription되지 않는 경우가 많습니다. 텍스트 transcription을 위한 더 나은 전략은 기존 OCR 도구, Nougat과 같은 문서 전문 모델 및 이러한 모델의 출력을 판단, 개선 및 병합하는 강력한 VLM을 결합하는 것입니다.

 

Document understanding

이미지에서 문서를 이해하는 것은 복잡하기 때문에 고급 VLMs에게도 품질 좋은 합성 QA 쌍을 생성하는 것은 어렵습니다. 그러나 OCR 도구를 사용하여 문서 이미지에서 정확한 텍스트 transcription을 얻을 수 있으며 text-only LLMs는 이러한 transcription에서 QA 쌍을 생성하는 데 능숙합니다.

 

Chart understanding

ChartGemma는 Gemini 1.5 Flash를 사용하여 차트 분석을 위한 QA 쌍을 생성하며, insights 요약, 차트를 Markdown 표로 변환, 차트를 기반으로 명시된 사실의 유효성 평가와 같은 다양한 질문을 다룹니다.

Table understanding: 표 이해를 위한 dataset는 웹에서 가져온 표 이미지와 강력한 VLM을 사용하거나 LLM으로 표를 합성적으로 생성하고 이미지로 렌더링한 다음 LLM으로 QA 쌍을 생성하여 만들 수 있습니다. 그러나 현재 이 task에 사용할 수 있는 대규모 open-source 합성 dataset는 없습니다.

 

Reasoning with chain-of-thought

 Meteor에서 저자들은 chain-of-thought 전략을 사용하여 모델이 복잡한 질문에 답변할 수 있도록 독점 dataset를 개발했습니다. 먼저 답변은 제공되었지만 설명은 없는 학술 datasets에서 까다로운 QA 쌍을 수집했습니다. 그런 다음 Claude 3 Haiku를 사용하여 이러한 답변에 대한 자세하고 포괄적인 근거를 생성했습니다. 마지막으로 품질을 보장하기 위해 GPT-4V로 이러한 근거를 필터링하여 최종적으로 question-rationale-answer triple 세트를 생성했습니다.

 

Visual mathematical reasoning

 현재 가장 발전된 VLMs조차도 복잡한 수학적 추론 및 기하학 tasks에 어려움을 겪습니다. teacher model에서 직접 합성 데이터를 생성하는 것은 teacher가 종종 정답을 제공하지 못하기 때문에 문제가 됩니다. 대신 Geo170K 및 MAVIS-Instruct와 같은 datasets는 LLM을 사용하여 작고 정확한 학술 수학 datasets를 보강하여 생성됩니다. AlphaGeometry에서 저자들은 합성적으로 생성된 기하학 문제에 대해서만 모델을 훈련시켜 올림피아드 수준의 문제를 효과적으로 해결할 수 있도록 했습니다.

 

Converting web screenshots into HTML code

 웹 스크린샷을 기능적인 HTML 코드로 효율적으로 변환할 수 있는 모델을 개발하기 위해 WebSight는 HTML 코드와 해당 스크린샷으로 구성된 완전 합성 dataset를 도입했습니다. HTML 및 TailWind CSS 코드는 DeepSeekCoder를 사용하여 생성되었으며 단일 파일로 병합된 다음 필터링 및 렌더링되어 웹 스크린샷을 얻었습니다. 일반 LLM coder에 의존하는 대신 HTML 및 CSS 생성을 위해 특별히 fine-tuned된 전문 LLM을 사용하여 더욱 다양하고 시각적으로 매력적인 웹사이트를 만들 수 있습니다. InternLM-XComposer-2.5에서는 WebSight dataset 외에도 저자들은 The Stack v2의 HTML 및 CSS 파일을 포함하는 독점 dataset를 구축했으며 외부 링크 및 관련 없는 콘텐츠를 제거하기 위해 대폭 필터링했습니다. 이 접근 방식은 dataset에 있는 더 다양한 웹사이트의 이점을 얻지만 잠재적으로 noisy하거나 길거나 배우기 어려운 예시와 관련된 문제를 야기할 수 있습니다.

 

Locating objects in an image

이미지 내에서 물체의 정확한 위치를 파악하여 주위에 bounding boxes를 생성하는 것은 위치 출력을 기반으로 클릭할 위치를 선택하여 VLM이 웹을 탐색할 수 있도록 하는 등 다양한 응용 분야에 유용합니다. BLIP3-GROUNDING-50M에서는 open-world image tagging 및 object detection 모델을 사용하여 물체와 해당 위치를 식별하는 다양한 이미지 세트를 사용하여 대규모 grounding datasets를 생성합니다.