VLM : 논문 리뷰 : World to Code: Multi-modal Data Generation via Self-Instructed Compositional Captioning and Filtering
Abstract
최근 Vision-Language Models (VLMs)의 발전과 고품질 멀티모달 정렬 데이터의 부족은 합성 VLM 데이터 생성에 대한 많은 연구를 이끌어 냈습니다. 기존의 VLM 데이터 구축 방식은 캡션 및 OCR 전문가를 혼합하거나 더 강력한 VLM API와 값비싼 human annotation을 사용합니다. 본 논문에서는 최종 생성 출력을 Python 코드 형식으로 구성하는 멀티모달 데이터 구축 파이프라인인 World to Code (W2C)를 제시합니다. 이 파이프라인은 VLM 자체를 활용하여 다양한 프롬프트를 통해 cross-modal 정보를 추출하고 consistency filtering 전략을 통해 생성된 출력을 다시 필터링합니다. 실험 결과, W2C는 다양한 VLM에서 기존의 visual question answering 및 visual grounding 벤치마크를 개선하여 높은 품질을 입증했습니다. 또한 추가 분석을 통해 VLM의 새로운 코드 파싱 기능이 일반적으로 사용되는 detail caption 기능보다 더 나은 cross-modal equivalence를 제공한다는 것을 보여줍니다.
Abstract 정리
- 주요 목표: Vision-Language Models (VLMs) 학습에 필요한 고품질 멀티모달 데이터를 효율적으로 생성하는 것
- 기존 방법의 문제점: 캡션 및 OCR 전문가 활용, 고가의 VLM API 또는 human annotation 필요
- W2C의 핵심 아이디어:
- VLM 자체를 활용하여 다양한 프롬프트로 cross-modal 정보 추출
- 생성된 출력을 consistency filtering 전략으로 필터링
- 최종 출력을 Python 코드 형식으로 구성
- W2C의 장점:
- visual question answering 및 visual grounding 벤치마크에서 성능 향상 입증
- VLM의 코드 파싱 능력을 활용하여 cross-modal equivalence 향상
- 결론: W2C는 효율적이고 고품질의 멀티모달 데이터 생성 파이프라인 제공
1 Introduction
Vision-Language Models (VLMs)과 Diffusion Models (DMs)의 빠른 발전으로 인해, 각 이미지에 대한 상세하고 구체적인 고품질 캡션을 수집하는 것이 점점 더 중요해지고 있습니다. 그러나 고품질의 이미지-텍스트 쌍에 대한 값비싸고 지루한 human labeling 작업은 human 개입 없이 저렴하고 신뢰할 수 있는 데이터 구축 파이프라인의 필요성을 더욱 증가시킵니다.
이미지-텍스트 데이터 큐레이션에 대한 관련 연구는 크게 두 가지 흐름으로 나눌 수 있습니다. Distillation 기반 방법은 이미지 캡션에서 최첨단 성능을 가진 closed-source 상용 제품 (예: GPT-4V)을 활용합니다. 또 다른 연구는 더 나은 VLMs 학습을 위해 기존 VLMs을 사용하여 이미지 캡션 파이프라인을 큐레이션하고 고품질 이미지-텍스트를 필터링합니다. 이러한 방법은 일반적으로 open-source LLMs과 다양한 visual specialists를 결합하여 기존 VLMs에 새로운 기능 (예: GLaMM의 픽셀 grounding)을 부여합니다. 그러나 specialists의 혼합과 noisy generations을 필터링하는 데 human feedback에 의존하는 것은 생성된 데이터의 규모를 확장하고 프로세스를 자동화하는 것을 어렵게 만듭니다.
최근 연구 결과에 따르면 유사한 의미를 가진 프롬프트에 대한 LLMs과 VLMs의 생성 결과는 유사해야 하며, 여러 프롬프트에서 생성된 결과 간의 consistency checking을 통해 noisy generated 텍스트와 캡션을 필터링할 수 있습니다. 이러한 증거를 바탕으로, 본 논문에서는 W2C라는 self-instructed 데이터 구축 파이프라인을 제시합니다. W2C는 이미지에서 특정 콘텐츠를 자율적으로 추출하고 명확히 하며, 여러 프롬프트의 consistency를 통해 출력을 평가하여 생성된 이미지 캡션의 신뢰성을 향상시킵니다.
그림 1: W2C 개요 및 기존 데이터 구축 파이프라인과의 비교. W2C는 self-instruct를 통해 specialists의 혼합과 값비싼 human annotation의 필요성을 줄임으로써 기존 연구와 차별화됩니다.
그림 1에서 볼 수 있듯이 전체 파이프라인은 필요한 specialists를 줄이고 값비싼 human feedback을 없앱니다. 또한 human-machine interaction의 아이디어를 활용하여 Eureka 및 Text2Reward를 따라 모델이 생성한 응답을 Python 코드 형식으로 구성합니다. 실험 결과, 제안된 W2C는 다양한 visual question-answering 벤치마크에서 VLMs을 개선할 수 있음을 보여주었습니다. 구체적으로 W2C는 LLaVA-NeXT-7B에서 9개 VQA 벤치마크 중 7개에서, LLaVA-NeXT-13B에서 9개 VQA 벤치마크 중 6개에서 최고의 성능을 보였습니다. 또한 W2C는 GQA 및 MME를 포함한 두 가지 널리 사용되는 VQA 벤치마크에서 few-shot 평가를 개선했습니다. 특히 GQA의 2-shot 평가에서 이 방법은 다양한 VLMs에서 5 이상의 정확도 향상을 달성했습니다.
본 논문의 기여는 다음 세 가지로 요약됩니다.
- self-instruct를 통해 기존 VLMs 자체로 데이터를 생성하고 필터링하는 W2C의 데이터 파이프라인을 제시하여 기존 파이프라인에서 specialists의 혼합이나 값비싼 human annotation의 필요성을 크게 줄였습니다.
- W2C에서 생성된 데이터는 기존 VQA 벤치마크에서 ShareGPT4V보다 비슷하거나 더 나은 성능을 보였고, visual grounding 벤치마크에서는 지속적으로 더 나은 성능을 보였습니다.
- 추가 분석을 통해 새로운 코드 파싱 기능이 이미지의 세부 정보를 표현하는 데 있어 일반적으로 사용되는 detail caption 기능보다 더 나은 cross-modality equivalence를 제공함을 보여주었습니다.
1. Introduction 정리 노트
배경:
- VLMs과 DMs의 발전으로 이미지에 대한 고품질 캡션의 중요성 증가
- 고품질 이미지-텍스트 쌍을 얻기 위한 human labeling은 비싸고 시간 소모적 ➡️ 효율적인 데이터 구축 파이프라인 필요
기존 연구:
- Distillation 기반 방법: closed-source 상용 제품 (예: GPT-4V) 활용
- VLMs 기반 방법: open-source LLMs과 visual specialists 결합, human feedback 활용 ➡️ specialists 혼합 및 human feedback 의존으로 인해 확장성 및 자동화 어려움
W2C의 제안:
- self-instructed 데이터 구축 파이프라인: VLMs 자체를 활용, consistency checking으로 고품질 캡션 생성
- 장점: specialists 및 human feedback 불필요, Python 코드 형식 출력
- 성능: 다양한 VQA 벤치마크에서 성능 향상, 특히 GQA 2-shot 평가에서 5 이상의 정확도 향상
W2C의 기여:
- self-instruct를 통한 효율적인 데이터 파이프라인 구축
- 기존 방법 대비 우수한 성능
- 코드 파싱 기능을 통한 cross-modality equivalence 향상
2 Related Work
Vision Language Models
LLMs의 등장과 함께 VLMs은 visual recognition 및 understanding에서 뛰어난 능력을 보여주었고, 다양한 VLM 벤치마크에서 놀라운 결과를 달성했습니다. BLIP2는 Q-Former를 도입하여 LLM 기반 캡션 예측을 위해 인코딩된 이미지 특징을 잠재적인 language 토큰으로 적용한 최초의 연구입니다. 후속 연구들은 VIT를 대체하거나 입력 이미지 해상도를 조정하여 visual component를 개선했으며, Zhu et al.은 open-source LLMs을 사용하여 BLIP2를 확장하여 현재 VLMs에 훨씬 더 나은 instruction following 및 문제 해결 능력을 부여했습니다. LLaVA/LLaVA-1.5는 Q-Former를 제거하고 간단한 MLP projection layer가 이미지 표현을 LLMs과 정렬하는 데 인상적인 성능을 보여준다는 것을 보여주었습니다. 일부 연구에서는 지속적으로 확장되는 VLMs을 개선하기 위해 고품질 cross-modal alignment 데이터를 수집하는 것의 중요성을 강조했습니다.
Multi-modal Dataset Construction
고품질 human-labeled 데이터의 부족은 cross-modal 데이터 합성 연구를 촉진했습니다. Wang et al.은 AS-1B 데이터 생성 파이프라인을 제안하고 10억 개의 이미지에 대한 고품질 dense caption을 공개했습니다. GLaMM은 grounding, tagging, in-context learning을 포함한 약 10개의 specialists를 도입하여 AS-1B를 더욱 확장했습니다. 이러한 specialists는 각 이미지에 대해 픽셀 단위로 grounded된 dense caption을 생성합니다. 그러나 AS-1B에서 필요한 값비싼 human annotation과 GLaMM의 복잡한 구축 파이프라인은 데이터 확장 가능성을 크게 제한했습니다. 본 연구에서는 지루한 데이터 수집을 피하기 위해 합성 데이터가 기존 VQA 벤치마크에서 VLMs을 개선할 수 있는지 여부를 확인하고자 합니다.
LLMs을 위한 합성 데이터 생성의 최근 발전은 생성의 consistency를 활용하여 유효하지 않은 데이터를 필터링함으로써 멀티모달 데이터 구축 가능성을 보여주었습니다. Wang et al.은 COT에서 더 나은 성능을 보이는 consistent reasoning path 생성을 제시했습니다. Li et al.은 학습을 위해 generator-validator consistent 데이터를 사용했으며, 다양한 작업에서 LLMs을 효과적으로 개선할 수 있었습니다. Zhang et al.은 대부분의 VLMs에서 generator-validator consistency가 정확할 가능성이 높다는 것을 보여주었습니다.
Code Representation for Visual Tasks
코드 표현은 장면의 다양한 구조 정보를 공식적으로 인코딩할 수 있습니다. Eureka와 Text2Reward는 장면을 Python 코드로 파싱하고 LLMs이 프로그래밍 가능한 dense reward를 생성하도록 장려합니다. ViStruct는 object recognition, object grounding, attribute detection, relation detection, event detection을 포함한 여러 구성 요소로 코드-시각 표현을 분해하여 visual code intelligence의 첫 번째 단계를 밟았습니다. Chen et al.은 VLMs에 앞서 언급한 네 가지 기능을 부여하기 위해 curriculum learning 접근 방식을 도입했습니다. 그러나 supervised human-labeled 데이터 세트에 대한 높은 의존성과 복잡한 curriculum learning 파이프라인은 잠재력을 제한합니다. 본 연구에서는 코드-시각 표현을 기반으로 효과적인 데이터 구축 파이프라인을 연구합니다.
2. Related Work 정리 노트
Vision Language Models
- VLMs의 발전: LLMs의 발전과 함께 visual recognition & understanding 능력 향상, 다양한 벤치마크에서 좋은 성능
- 주요 연구:
- BLIP2: Q-Former를 사용하여 이미지 특징을 language 토큰으로 변환, LLM 기반 캡션 예측
- 후속 연구: visual component 개선 (VIT 대체, 해상도 조정), open-source LLMs 활용
- LLaVA/LLaVA-1.5: Q-Former 제거, MLP projection layer로 이미지-LLM 정렬
- 핵심 과제: 고품질 cross-modal alignment 데이터 확보
Multi-modal Dataset Construction
- 데이터 부족 문제: 고품질 human-labeled 데이터 부족 ➡️ cross-modal 데이터 합성 연구 활발
- 주요 연구:
- AS-1B: 10억 개 이미지에 대한 dense caption 생성, human annotation 필요
- GLaMM: grounding 등 다양한 specialists 활용, 복잡한 파이프라인
- 본 연구의 목표: 합성 데이터를 사용하여 기존 VQA 벤치마크에서 VLMs 성능 향상, 데이터 수집 비용 절감
LLMs을 위한 합성 데이터 생성
- consistency 활용: 유사한 의미 프롬프트에 대한 결과의 consistency를 이용하여 noisy data 필터링
- 주요 연구:
- Wang et al.: consistent reasoning path 생성으로 COT 성능 향상
- Li et al.: generator-validator consistent 데이터로 LLMs 성능 개선
- Zhang et al.: VLMs에서 generator-validator consistency의 높은 정확성 확인
Code Representation for Visual Tasks
- 코드 표현의 장점: 장면의 구조 정보를 명확하게 인코딩
- 주요 연구:
- Eureka & Text2Reward: 장면을 Python 코드로 변환, LLM이 dense reward 생성
- ViStruct: 코드-시각 표현을 여러 구성 요소로 분해, curriculum learning으로 VLMs에 기능 부여
- 본 연구의 접근: 코드-시각 표현 기반 효율적인 데이터 구축 파이프라인 연구
3 Method
본 연구의 데이터 구축 파이프라인은 이미지 전체의 region-level 캡션에 중점을 둔다는 점에서 GLaMM과 유사점을 공유합니다. W2C는 labeled elements의 다양한 구성 형식을 탐색하여 generation-validation consistency filtering을 지원하도록 GLaMM을 확장하고 VLMs가 기본적인 멀티모달 이해 작업에서 스스로를 향상시키는 방법을 제시합니다.
W2C 전체 파이프라인에 대한 포괄적이고 체계적인 설명을 위해 다음 세 부분으로 나누어 논의합니다.
(1) 3.1절의 Visual Concepts Extraction,
(2) 3.2절의 Self-Instructed Information Extraction,
(3) 3.3절의 Information Filtering via Self Consistency,
(4) 3.4절의 Structured formatting. 구축 파이프라인의 개요는 그림 2에 나와 있으며 사용된 모든 instruct 프롬프트는 부록 A.1에 나와 있습니다.
3.1 Visual Concepts Extraction
이미지 데이터셋 Draw의 각 이미지 I에 대해 완전히 포함된 concept 목록을 구축하기 위해 VLMs에 특정 instruct 프롬프트 pg와 pd를 사용하여 일반 캡션 (이미지에 대한 간결한 개요)과 detail 캡션 (캡션에서 가능한 한 많은 visual concepts를 bootstrapping)을 생성하도록 지시합니다.
생성 다양성을 향상시키기 위해 VLMs가 가능한 한 많은 visual concepts를 제공하도록 beam search를 사용합니다. 일반 캡션과 detail 캡션은 다음과 같이 얻습니다.
og, od = fVLM(I, pg), fVLM(I, pd). (1)
visual concepts는 주로 명사구로 구성되어 있으므로 NLTK 툴킷을 사용하여 og와 od에서 N으로 표시되는 모든 명사구를 추출합니다.
Grounding DINO를 사용하여 추출된 명사구를 현재 이미지의 bounding box에 매핑합니다. 여기서 false positive 명사구 중 일부는 이미지의 해당 영역에 매핑되지 않아 필터링됩니다. 여기서 필터링된 visual concepts를 C로, 해당 bounding box를 B로 표시하며, 다음과 같이 공식화됩니다.
B, C = fDINO(I, N). (2)
3.2 Self-Instructed Information Extraction
Region-level Captions
각 visual concept ci ∈ C에 대해 해당 bounding box bi ∈ B를 사용하여 이미지 I를 잘라내고 상세 캡션을 얻습니다. VLMs에 ci를 중심으로 한 일반 캡션을 제공하도록 지시합니다. 또한 VLMs가 ci의 속성에 대한 더 구체적인 세부 정보를 제공하도록 하기 위해 캡션에 ci의 색상과 재질을 포함하도록 지시합니다. region-level 캡션에 대한 설명 프롬프트를 pdesc(ci)로, bi로 잘린 이미지를 I(bi)로 표시합니다. 각 visual concept ci에 대한 region-level 캡션은 다음과 같이 공식화됩니다.
odesc(ci) = fVLM(pdesc(ci), I(bi)) (3)
OCR 정보
이전 방법들은 주로 OCR 도구 (PaddleOCR, JaidedAI)를 사용하여 OCR 기능을 향상시켰습니다. 이와 contrast 하게 W2C는 기존 VLMs가 복잡한 자연 시나리오에서 텍스트를 읽는 데 더 나은 기능을 가지고 있기 때문에 instruct 프롬프트를 통해 OCR 정보를 얻어 VLMs를 안내합니다. OCR instruct 프롬프트 pocr(ci)가 주어지면 concept ci를 가진 bounding box 영역 bi로 잘린 각 이미지의 OCR 정보는 다음과 같이 공식화됩니다.
oocr(ci) = fVLM(pocr(ci), I(bi)) (4)
그림 2: W2C의 데이터 구축 파이프라인. 본 파이프라인은 VLM과 객체 탐지 모델을 모두 활용하여 region별 인식, 상세한 entity 캡션, 포괄적인 global 정보를 갖춘 구조화된 데이터를 제공합니다. VLM은 캡션을 생성하고 consistency filtering을 수행하여 고품질 데이터를 얻기 위해 반복적으로 호출됩니다. visual concepts set은 NLTK 툴킷에 의해 캡션에서 얻어지며, 여기서 ci는 set의 visual concept을 나타냅니다. instruction 프롬프트는 모두 사전 정의된 템플릿입니다.
3.3 Information Filtering via Self Consistency
본 연구의 consistency filtering 전략은 ConBench의 유사한 generator-validator consistency 결과에서 영감을 받았습니다. ConBench에서는 서로 다른 instruct 프롬프트가 visual concepts의 일관되지 않은 캡션으로 이어질 수 있으며, 일관성이 높은 생성은 정확할 가능성이 높습니다. 본 논문에서는 generation-validation consistency를 통해 visual concepts를 필터링하는 것을 제안합니다. 여기서 counting filtering과 캡션 재순위를 위해 region-level 캡션을 여러 개의 visual question answering 문제로 변경합니다.
Consistency를 통한 Counting Filtering
AS-1B와 달리, 본 연구에서는 구축 과정에서 Grounding DINO를 도입했습니다. Grounding DINO는 이미지에서 해당하는 bounding box를 찾지 못하는 경우가 많기 때문에 자연스럽게 그럴듯한 visual concepts의 일부를 필터링할 수 있습니다. 그러나 Grounding DINO는 부적절하게 설계된 hyper-parameter로 인해 visual concepts ci가 겹치는 여러 box에 매핑될 수 있으므로 counting 문제에 대한 새로운 과제를 제시합니다. 그럴듯하게 매핑된 (bi, ci)의 영향을 방지하기 위해 이름이 같은 모든 ci를 C˜에 그룹화하고 각 c˜i ∈ C˜에 대한 existing times를 ni로 계산합니다. 그런 다음 각 c˜i (동일한 이름의 여러 visual concepts를 포함할 수 있음)에 대한 모든 box를 B˜에 병합합니다. box ˜bi ∈ B˜에 대해 이미지를 자르고 instruct 프롬프트 p c˜i valid-g를 통해 VLMs에 이미지에 그룹 요소 c˜i가 ni번 존재하는지 확인하도록 지시합니다.
ovalid-g(˜ci) = fVLM(pvalid-g(˜ci , ni), I( ˜bi)). (5)
Consistency를 통한 캡션 재순위
주어진 visual concept에 대해 더 나은 region-level 캡션을 제공하기 위해 beam search를 사용하여 여러 캡션 후보를 bootstrapping합니다. 최상의 후보를 선택하기 위해 generator-validator consistency를 다시 활용합니다. 특히 주어진 각 visual concept ci에 대해 캡션 후보 목록 [o 1 desc(ci), o2 desc(ci), ..., ob desc(ci)]을 얻습니다. NLTK를 사용하여 이러한 캡션을 파싱하고 이러한 캡션에 포함된 모든 visual concepts를 수집합니다. ci의 캡션에서 추출된 concepts의 총 수를 n으로 하면 c k i ∈ Crank로 표시되는 새로운 visual concept 목록을 얻습니다. Equation 5에 따라 instruct 프롬프트 pvalid-c(c k i )를 통해 VLMs에 각 추출된 visual concept c k i 의 존재 여부를 확인하도록 지시합니다.
ovalid-c(c k i ) = fVLM(pvalid-c(c k i ), I( ˜bi)) (6)
그런 다음 validation 결과 ovalid-c(c k i )를 기반으로 scoring 메커니즘을 수동으로 설계합니다. 특히 여러 추출된 visual concepts를 포함하는 각 캡션에 대해 각각의 정확한 visual concept ovalid-c(c k i ) = "Yes"에 점수 1을 할당하고 각각의 hallucinated visual concept ovalid-c(c k i ) = "No"에 -1을 할당합니다. 각 캡션의 점수를 누적하여 하나의 beam에서 가장 높은 점수를 가진 캡션을 주어진 visual concept ci에 대한 최종 캡션 odesc(ci)로 선택합니다. 이는 가장 다양하고 정확한 캡션으로 간주됩니다.
3.4 Structured Formatting and Filtering
그림 2에서 볼 수 있듯이, 이미지의 region-level 정보를 완벽하게 나타내기 위해 구조화된 정보를 코드 형식으로 구성합니다. Eureka 및 Text2Reward에서 영감을 받아, 일반성과 간결성 때문에 정보를 Python 형식의 구조적 표현으로 구성합니다. 구성은 다음 세 가지 규칙에 의해 이루어집니다.
- 전체 이미지의 일반 캡션 og를 각 이미지 클래스의 주석으로 사용합니다.
- 각 visual concept은 이미지 클래스의 속성입니다. 각 visual concept ci에 대해 해당 bounding box bi, 캡션 odesc(ci) 및 OCR 정보 oocr(ci)를 얻습니다. 그런 다음 이러한 visual concept은 {caption:odesc(ci), text:oocr(ci), bbox:bi}로 구성됩니다.
- 동일한 이름의 visual concepts를 그룹화합니다. 표현 코드를 더 간결하게 만들기 위해 동일한 이름의 visual concepts를 목록 c˜i ′ = [c 1 i , c2 i , ...]에 그룹화합니다.
이러한 규칙을 통합하여 각 이미지의 최종 코드 표현을 얻습니다. 그런 다음 counting이 일치하지 않는 샘플을 필터링하는 규칙 기반 필터링 전략을 따릅니다.
결론적으로 최종 데이터 세트를 DW2C로 표시하면 전체 데이터 구축 파이프라인은 알고리즘 1에 설명되어 있습니다.
3.1 Visual Concepts Extraction
- 목표: 이미지에서 중요한 객체(visual concepts)를 추출하고, 각 객체의 위치 정보(bounding box)를 파악합니다.
- 방법:
- VLM을 사용하여 이미지에 대한 간략한 설명과 자세한 설명을 생성합니다.
- 설명에서 명사구를 추출하여 객체 후보를 선정합니다.
- Grounding DINO를 사용하여 객체를 인식하고 bounding box를 찾아냅니다.
- 실제 이미지에 없는 객체(False Positive)를 제거하여 최종 객체 목록을 확정합니다.
3.2 Self-Instructed Information Extraction
- 목표: 각 객체에 대한 추가 정보를 추출하여 이미지에 대한 이해도를 높입니다.
- 방법:
- 각 객체의 bounding box를 기반으로 이미지를 자릅니다.
- 잘라낸 이미지를 사용하여 객체에 대한 자세한 설명(region-level caption)을 생성합니다.
- VLM의 OCR 기능을 활용하여 이미지에서 텍스트 정보를 추출합니다.
3.3 Information Filtering via Self Consistency
- 목표: 추출한 정보의 정확성을 검증하여 신뢰도를 높입니다.
- 방법:
- VLM을 사용하여 객체의 개수를 확인하고, 캡션의 정확성을 평가합니다.
- 여러 개의 캡션 후보 중에서 가장 정확하고 다양한 정보를 포함하는 캡션을 선택합니다.
3.4 Structured Formatting and Filtering
- 목표: 추출한 정보를 Python 코드 형식으로 정리하여 데이터를 구조화합니다.
- 방법:
- 전체 이미지에 대한 설명을 주석으로 추가합니다.
- 각 객체의 정보 (객체명, bounding box, 설명, 텍스트)를 Python 코드 형식으로 표현합니다.
- 같은 종류의 객체들을 하나로 묶어서 코드를 간결하게 만듭니다.
- 이미지에서 긴 캡션과 짧은 캡션을 생성
- 명사구를 추출해서 객체 후보를 생성
- 실제 객체를 검출해서 있는지 없는지 확인 후 없다면 버리기
- 추출된 객체마다 디텍션과 바운딩 박스를 달고 (DINO가 하는 일)
- OCR 정보도 추출한다.
- 뽑혀진 객체 그룹화
- VLM에게 갯수를 묻는 질문을 해서 정확한지 파악하고 부정확한 건 버린다.
- 각 객체 그룹에 대해 여러 개의 캡션 후보를 생성 (빔 서치)
- 각 캡션 후보에서 객체를 추출하고, VLM에게 "이 이미지에 이 객체가 있습니까?"라는 질문을 한다.
- VLM 답변에 따라 "YES" 또는 "NO"를 할당하고, 점수를 계산하여 가장 높은 점수의 캡션을 선택한다.
- 1번에서 뽑은 이미지에 대한 캡션을 주석으로 추가하고 (짧은 캡션)
- 나머지 객체 정보들을 모아서 파이썬 코드형식으로 표현
4. Experiments
4.1 Experimental Setup
데이터셋
데이터 구축 파이프라인의 경우, 공정한 비교를 위해 ShareGPT4V 데이터셋의 이미지를 self-instructed 접근 방식 검증에 엄격하게 사용했습니다. 원래 ShareGPT4V 데이터셋에는 중복된 이미지가 포함되어 있으므로 원래 102K 데이터에서 반복되는 이미지를 제거하고 약 87K의 원본 이미지를 얻었습니다. LLaVA-1.5의 방법을 따라 prompt tuning (PT)과 instruct tuning (IT)의 두 단계 학습 접근 방식을 채택했습니다. 저해상도 설정 실험의 경우 LLaVA-1.5 학습 단계에서 PT 단계에 학습 데이터셋 LLaVA558k를, IT 단계에 LLaVA665k를 사용했습니다. LLaVA-NeXT 데이터의 특정 혼합 비율 세부 정보가 생략되었으므로 IT 단계에서 다음 각 데이터셋의 전체 학습 세트를 직접 활용하여 LLaVA665k, DocVQA, ChartQA 및 ShareGPT4V를 포함한 데이터셋 혼합을 형성했습니다.
구축된 데이터셋의 효과를 포괄적으로 평가하기 위해 널리 사용되는 멀티모달 벤치마크와 grounding 벤치마크에서 모델을 평가했습니다. 여기에는 TextVQA (OCR 토큰 제공 없음), DocVQA, ChartQA, MME, MMT Bench, MMStar, ScienceQA, POPE, GQA, RefCOCO, RefCOCO+ 및 RefCOCOg가 포함됩니다. 이러한 벤치마크는 멀티모달 VLM 성능에 대한 여러 관점에서 포괄적인 평가를 제공합니다.
Implementation Details
본 논문에서는 CLIP으로 사전 학습된 ViT-L/14를 vision encoder, projector 및 LLM으로 사용하는 LLaVA-1.5와 adaptive image cropping 전략을 적용하여 모든 vision 토큰을 연결하여 입력 이미지 해상도를 높이는 LLaVA-NeXT, 두 가지 leading method를 사용합니다. 공정하고 포괄적인 비교를 위해 표 1과 표 2는 ShareGPT4V 데이터셋을 제외하고 포함한 결과와 데이터셋을 통합한 결과를 모두 보여줍니다. 표 3에서는 LLaVA-NeXT가 평가 코드만 공개하기 때문에 ViT의 learning rate를 기본 learning rate의 1/10로 설정하여 LLaVA-NeXT를 재현했습니다.
PT 단계의 learning rate는 1e-3으로 설정하고 IT 단계는 Vicuna-7B 및 Vicuna-13B 백본 LLM 모두 2e-5로 설정합니다. VLM 학습 실험에는 16개의 A100을 사용합니다. LLaVA-1.5 학습 중에는 vision encoder를 고정하고 원본 논문에 따라 LLaVA-NEXT 학습 중에는 PT 단계에서만 vision encoder를 고정합니다. 부록 C.1에 더 자세한 학습 정보를 제공합니다.
데이터 처리 세부 정보
데이터 구축 파이프라인 중에는 NLTK 도구를 사용하여 캡션에서 명사구를 추출하고, 결과 구문 세트는 WordNet을 사용하여 후처리하여 중복을 제거하고 부정확하게 명명된 entity를 필터링합니다. consistency filtering 후 최종 데이터의 총량은 VLM마다 완전히 일치하지 않으며 부록 C.1에 세부 정보를 표시합니다. 데이터 처리에 사용된 VLM의 checkpoint는 공식 릴리스의 원본 checkpoint입니다. ShareGPT4V 데이터셋으로 학습되지 않은 LLaVA-1.5의 경우 LLaVA-NEXT는 ShareGPT4V 데이터셋의 일부로 학습됩니다. 자세한 GPU 시간은 부록 C.2에서 확인할 수 있으며 부록 C.3에 W2C 샘플 시각화를 보여줍니다.
4.2 Main Results
W2C 데이터의 효과는 Visual Question Answering 벤치마크에서 다양한 VLMs을 개선합니다.
표 1에서 ShareGPT4V 데이터셋을 포함하고 제외한 학습된 VLMs의 정량적 비교 결과와 IT 학습 단계에서 ShareGPT4V를 대체하기 위한 W2C를 보여줍니다. W2C는 LLaVA-1.5 및 LLaVA-NeXT 모두에서 다양한 설정에서 성능을 지속적으로 향상시킵니다. 특히 고해상도 설정에서 W2C는 MMT Bench, MM Star 및 MME와 같은 멀티모달 시각적 이해 벤치마크에서 인상적인 성능 향상을 보여줍니다. 구체적으로 W2C는 LLaVA-NeXT-7B에서 9개 벤치마크 중 7개, LLaVA-NeXT-13B에서 9개 중 6개에서 개선을 가져올 수 있습니다. 특히 LLaVA-NeXT-13B에서 W2C는 LLaVA-NeXT의 재현 결과와 비교하여 DocVQA를 0.7 ANLS, ChartQA를 1.8 정확도, MMT Bench를 0.8 정확도, MME를 23점 향상시킵니다. 더 많은 벤치마크 결과는 B.1에 나와 있습니다.
W2C 데이터는 Grounding 벤치마크에서 인상적인 성능을 보여줍니다.
표 2에서 Grounding 벤치마크에 대한 VLMs의 성능을 보여줍니다. referential expression comprehension 작업은 모델이 설명된 객체를 정확하게 식별하고 위치를 파악해야 합니다. 본 모델은 RefCOCO, RefCOCO+ 및 RefCOCOg를 포함한 다양한 referential expression comprehension 벤치마크에서 평가를 거쳐 상세한 이미지 인식 및 위치 파악에 대한 뛰어난 기능을 보여줍니다. local 캡션의 entity-enteric 생성과 local bounding box 정보의 존재 덕분에 본 모델은 LLaVA-1.5 7B/13B에서 평균 1.5/1.6 average IoU, LLaVA-NeXT-7B/13B에서 3.5/1.3 average IoU의 평균적인 개선을 달성했습니다.
다른 벤치마크에서 더 많은 데이터 생성 방법과 W2C를 사용한 LLaVA-NeXT-7B 모델의 비교 결과.
LLaVA-NeXT-7B 기준선에 대한 더 많은 정량적 결과를 보여줍니다. 여기에는 데이터 annotation을 위해 GPT API를 활용하는 더 많은 데이터 생성 방법 (ALLaVA 및 Monkey)이 사용됩니다. 공정한 비교를 위해 각 데이터셋에서 해당 데이터를 동일한 양으로 무작위로 선택했습니다. 대표적인 Visual Question Answering 및 Grounding 벤치마크에서 결과를 보고했으며 8개 벤치마크 중 7개에서 최상의 결과를 얻었습니다. W2C는 여전히 ALLaVA와 비교하여 비슷한 결과를 얻고 Grounding 벤치마크에서 더 나은 결과를 얻습니다.
4.3 Ablation Studies
표 1과 표 2의 결과는 W2C가 우수한 성능을 보여주지만, 분석 결과 LLaVA-1.5에서 기본 모델의 OCR 기능에 제한이 있음을 알 수 있습니다. 리소스 제약으로 인해 LLaVA-Next-7B에 대한 추가적인 ablation study를 진행하여 파이프라인과 consistency filtering의 모든 이점을 포괄적으로 보여줍니다.
데이터를 Python 코드 형식으로 구성하면 더 나은 성능을 보입니다.
3.2절에서 구조화된 데이터를 표현하기 위해 코드 형식을 선택하는 것의 장점에 대해 논의했습니다. 표 4에서 데이터 형식을 단일 라운드 대화 형식 및 다중 라운드 대화 형식과 정량적으로 비교합니다. Python 코드를 데이터 구성 형식으로 사용하면 LLaVA-NeXT-7B에서 visual grounding 벤치마크와 visual question answer 벤치마크 모두에서 성능이 향상되는 것을 볼 수 있습니다. 특히 단일/다중 데이터 형식과 비교하여 MMT-Bench를 0.9/1.3 정확도, DocVQA를 1.1/4.5 ANLS 향상시켰습니다.
필터링은 더 나은 downstream 벤치마크 성능을 제공합니다.
표 5에서 다양한 consistency filtering 선택에 대한 ablation study를 보여줍니다. 마찬가지로 visual grounding 벤치마크와 visual question answering 벤치마크 모두에서 LLaVA-NeXT-7B의 성능은 consistency filtering 접근 방식의 효과와 필요성을 강조합니다. 두 가지 필터링 전략을 결합하면 DocVQA를 1.0 ANLS, TextVQA를 1.0 정확도, RefCOCO+val을 0.5 IOU, RefCOCOgval을 0.8 IOU 향상시켜 최상의 성능을 달성합니다. 또한 성능 저하가 거의 없이 MMT-Bench 및 RefCOCOval에서 비슷한 결과를 얻습니다.
4.4 Code Parsing Ability Evaluation
새로운 코드 파싱 기능이 제공하는 이미지와 텍스트 간의 더 나은 cross-modality equivalence를 제시합니다. 이미지의 이상적인 캡션은 이미지를 참조하지 않고 질문할 수 있는 기능을 제공해야 합니다. 따라서 동일한 Large Language Model에서 in-context learning을 통해 downstream task를 처리하는 기능에서 코드 출력과 널리 사용되는 detail caption 출력의 품질을 비교합니다.
실험 설정
LLaVA-1.5-7B/13B 및 LLaVA-NeXT-7B/13B 모두에서 GQA와 MME의 perception 하위 집합을 포함한 두 가지 널리 사용되는 Visual Question Answering 벤치마크에 대해 실험을 수행합니다. 32k long context 지원과 open-source 커뮤니티에서 만족스러운 성능으로 인해 Qwen-1.5-14B를 문제 해결 LLM으로 사용하고 few-shot 입력으로 프롬프트합니다. 각 shot은 {description, question, answer}의 조합으로 나타낼 수 있습니다. detail caption 출력의 경우 원본 데이터셋과 ShareGPT4V 데이터셋 모두로 학습된 모델을 사용하여 detail caption 기능을 향상시킵니다. 코드 파싱 출력의 경우 ShareGPT4V를 제안된 W2C 데이터셋으로 대체합니다.
VLMs의 코드 파싱 기능은 훨씬 더 나은 few-shot 성능을 보여줍니다.
표 6에서 detail caption 출력을 사용하는 것과 비교하여 코드 파싱 출력은 상당한 개선을 보여줍니다. MME의 visual perception 하위 집합에 대한 binary classification task에서 코드 파싱 기능은 다양한 설정에서 비슷하거나 더 나은 성능을 달성합니다. free generation VQA task인 GQA에서 코드 파싱 출력을 사용하면 다양한 모델 크기와 아키텍처에서 명확한 정확도 향상을 가져올 수 있습니다. 특히 LLaVA-NEXT-13B에서 GQA의 2-shot 평가에서 W2C로 학습된 모델의 코드 파싱 출력은 기준선과 비교하여 8.2 정확도 향상을 달성했습니다. 이는 코드 파싱 기능이 하나의 이미지의 세부 정보를 표현하는 데 향상된 성능을 제공함을 나타냅니다. 더 많은 벤치마크 결과는 B.2에 나와 있습니다.
4. Experiments 챕터 정리
목표: W2C 데이터셋을 통해 학습한 VLM의 성능을 다양한 벤치마크에서 평가하고, W2C의 효과를 검증합니다.
실험 설정:
- 데이터셋:
- W2C 데이터셋 구축에는 ShareGPT4V 데이터셋의 이미지를 사용했습니다.
- VLM 학습에는 LLaVA-1.5와 LLaVA-NeXT 두 가지 모델을 사용했습니다.
- 성능 평가에는 TextVQA, DocVQA, ChartQA, MME, MMT Bench, MMStar, ScienceQA, POPE, GQA, RefCOCO, RefCOCO+, RefCOCOg 등 다양한 벤치마크를 사용했습니다.
- 구현:
- LLaVA-1.5는 CLIP으로 사전 학습된 ViT-L/14를 vision encoder, projector, LLM으로 사용합니다.
- LLaVA-NeXT는 adaptive image cropping 전략을 적용하여 입력 이미지 해상도를 높입니다.
- LLaVA-NeXT는 평가 코드만 공개되어 있어, ViT의 learning rate를 기본 learning rate의 1/10로 설정하여 재현했습니다.
- PT 단계의 learning rate는 1e-3, IT 단계는 2e-5로 설정했습니다.
- VLM 학습에는 16개의 A100 GPU를 사용했습니다.
- 데이터 처리에는 NLTK 도구를 사용하여 캡션에서 명사구를 추출하고, WordNet을 사용하여 후처리했습니다.
주요 결과:
- Visual Question Answering 벤치마크: W2C 데이터셋으로 학습한 VLM은 다양한 설정에서 기존 모델보다 성능이 향상되었습니다. 특히 고해상도 설정에서 MMT Bench, MM Star, MME와 같은 멀티모달 시각적 이해 벤치마크에서 높은 성능 향상을 보였습니다.
- Grounding 벤치마크: W2C 데이터셋으로 학습한 VLM은 RefCOCO, RefCOCO+, RefCOCOg와 같은 referential expression comprehension 벤치마크에서도 뛰어난 성능을 보였습니다. 이는 W2C가 이미지의 세부 정보를 정확하게 인식하고 위치를 파악하는 데 효과적임을 보여줍니다.
- 다른 데이터 생성 방법과의 비교: W2C는 GPT API를 활용하는 ALLaVA, Monkey와 같은 다른 데이터 생성 방법과 비교해도 경쟁력 있는 성능을 보였으며, 특히 Grounding 벤치마크에서 더 나은 결과를 얻었습니다.
Ablation Studies:
- Python 코드 형식: 데이터를 Python 코드 형식으로 구성하면 단일/다중 라운드 대화 형식보다 성능이 향상되었습니다.
- Consistency Filtering: Consistency filtering을 적용하면 visual grounding 벤치마크와 visual question answering 벤치마크 모두에서 성능이 향상되었습니다.
Code Parsing Ability Evaluation:
- Few-shot 성능: W2C 데이터셋으로 학습한 VLM은 코드 파싱 능력을 통해 few-shot 설정에서 detail caption 출력을 사용하는 것보다 훨씬 더 나은 성능을 보였습니다.
- Cross-modality Equivalence: 코드 파싱 능력은 이미지와 텍스트 간의 더 나은 cross-modality equivalence를 제공하여 이미지의 세부 정보를 더 효과적으로 표현합니다.
핵심: W2C는 self-instruct 방식을 통해 VLMs 자체로 데이터를 생성하고 검증하여 고품질의 멀티모달 데이터를 구축하는 효율적인 방법입니다. W2C는 다양한 벤치마크에서 기존 방법보다 우수한 성능을 보였으며, 특히 Grounding task와 few-shot learning에서 효과적입니다.
5. Conclusion
본 논문에서는 이미지에 대한 상세하고 구성적인 캡션을 위해 기존 VLMs만 활용하는 향상된 데이터 구축 파이프라인인 W2C를 제시하며, 이는 Python 코드 형식으로 구성됩니다. 기존 VLMs가 다양한 시나리오에서 이해 벤치마크에서 스스로를 향상시킬 수 있음을 보여주었으며, visual specialists의 혼합과 많은 human annotation의 필요성을 크게 줄였습니다. 또한 추가 실험을 통해 VLMs의 새로운 코드 파싱 기능이 이미지를 완전히 설명하는 데 더 나은 기능을 제공한다는 것을 보여주었으며, 원시 이미지가 제공되지 않을 때 downstream task에 대한 few-shot 평가에서 상당한 개선을 보였습니다. 제안된 W2C는 널리 사용되는 멀티모달 이해 벤치마크에서 원래 기능을 향상시킬 뿐만 아니라 기존 VLMs에 상세하고 실행 가능한 멀티모달 파싱 기능을 제공합니다.
6. Limitation
개선된 멀티모달 이해 벤치마크와 새로운 코드 파싱 기능의 발전에도 불구하고 W2C는 몇 가지 측면에서 더 개선될 수 있습니다.
- 본 논문에서는 ShareGPT4V와 공정한 비교를 위해 ShareGPT4V 데이터셋 이미지를 직접 사용했습니다. 그러나 OCR 중심 이미지가 적어 최종 성능이 제한됩니다. 더 많은 unlabeled 데이터셋 분포에서 W2C의 성능을 연구하는 데 추가 조사가 필요할 수 있습니다.
- 실험은 주로 멀티모달 정렬을 위해 MLP projector를 사용하는 LLaVA 시리즈와 같은 SOTA open-source VLM 구조에서 수행됩니다. W2C의 효과는 다른 VLM 구조에서 추가로 조사할 수 있습니다.
평가 벤치마크에서 W2C의 유망한 성능을 고려하여 향후 조사에서 더 높은 품질과 다양한 데이터 생성 파이프라인을 탐색하고자 합니다.
5. Conclusion & 6. Limitation 정리
5. Conclusion (결론)
W2C는 기존 VLMs만을 이용하여 이미지에 대한 상세하고 구성적인 캡션을 생성하는 효율적인 데이터 구축 파이프라인입니다.
- Self-instruct: 별도의 visual specialists나 human annotation 없이 VLMs 자체의 능력으로 고품질 데이터를 생성합니다.
- Python 코드 형식: 추출된 정보를 Python 코드 형식으로 구성하여 데이터의 활용도를 높입니다.
- 성능 향상: 다양한 벤치마크에서 기존 방법보다 우수한 성능을 보였으며, 특히 Grounding task와 few-shot learning에서 효과적입니다.
- 새로운 기능: W2C는 VLMs에 이미지를 완벽하게 설명하는 코드 파싱 능력을 부여합니다.
6. Limitation (한계점)
- 데이터셋 제한: ShareGPT4V 데이터셋을 사용했기 때문에 OCR 중심 이미지가 부족하여 최종 성능이 제한될 수 있습니다.
- 모델 제한: LLaVA 시리즈와 같은 특정 VLM 구조에 대해서만 실험을 진행했습니다. 다른 VLM 구조에서의 효과는 추가적인 연구가 필요합니다.
향후 연구 방향:
- 더욱 다양한 unlabeled 데이터셋을 활용하여 W2C의 성능을 평가합니다.
- 다양한 VLM 구조에 대한 W2C의 효과를 분석합니다.
- 더 높은 품질과 다양성을 가진 데이터 생성 파이프라인을 탐색합니다.