Meta, 다양한 모달리티에서 더 뛰어난 성능을 제공하는 융합 모델 Chameleon 공개

Chameleon: Mixed-Modal Early-Fusion Foundation Models

Meta, 다양한 모달리티에서 더 뛰어난 성능을 제공하는 융합 모델 Chameleon 공개

논문 소개

최근 Meta에서 공개한 Chameleon 논문은 텍스트와 이미지를 혼합하여 처리할 수 있는 새로운 기법의 모델을 제시하고 있습니다. 이 모델은 텍스트와 이미지를 혼합하여 임의의 순서로 이해하고 생성할 수 있는 초기 융합 토큰 기반의 혼합 모달 모델로, 텍스트 생성, 이미지 생성, 비주얼 질문 응답 등 다양한 작업에서 뛰어난 성능을 보여주고 있습니다.

지금까지의 멀티모달 모델들은 각 모달리티별로 별도의 인코더(예. 이미지의 경우 ViT 등)나 디코더를 사용하여 모달리티들을 통합하였습니다. 예를 들어, 아래의 LLaVA 모델과 같이 Vision Encoder를 별도로 사용하였으며, Vision Encoder로부터 나온 Embedding을 LLM의 입력과 정렬(align)하기 위한 별도의 Projection이 필요했습니다.

그 외에도 아래와 같이 다양한 접근 방식을 통해 서로 다른 모달리티의 통합을 이루려는 시도들이 있었습니다:

  • 후기 결합 모델: Flamingo와 같은 모델은 텍스트와 이미지를 별도로 처리한 후 그 출력을 결합합니다. 이는 효과적이지만 모달리티 통합을 필요로 하는 작업에서는 어려움을 겪을 수 있습니다.

  • 별도의 인코더/디코더: 많은 모델이 각 모달리티에 대해 별도의 구성 요소를 사용하여 비효율성과 혼합 데이터 처리의 제한을 초래합니다.

  • 토큰 기반 표현: BEiT 및 CM3Leon과 같은 이전 작업들은 이미지를 위한 토큰 기반 표현을 탐구했지만, 이러한 토큰을 텍스트와 통합하여 단일 모델로 처리하는 것은 여전히 큰 도전 과제입니다.

이번에 Meta에서 공개한 카멜레온(Chameleon)은 별도의 인코더나 디코더의 사용 없이, 단일 프레임워크에서 이미지와 텍스트를 통합하고 생성하는 방식을 제시하였습니다. 카멜레온의 접근 방식은 통합된 토큰 기반 표현을 사용하여 텍스트와 이미지를 더 유연하게 처리하고 생성할 수 있도록 합니다.

논문에서는 이러한 모델 구조와 함께, 모델의 안정적인 학습 및 정렬 방식, 초기 융합, 토큰 기반 혼합 모달 설정을 위한 구조적 파라미터화 등에 대해서 설명하고 있습니다.

카멜레온(Chameleon) 소개

카멜레온은 혼합 모달 데이터를 단일 통합 아키텍처로 처리하고 생성하는 완전히 토큰 기반의 초기 결합 모델을 도입하기 위한 시도를 하고 있습니다. 안정적이고 확장 가능한 모델 학습을 달성하기 위해 어떠한 기법들을 활용했는지 살펴보도록 하겠습니다.

여러 모달리티를 표현하는 카멜레온의 모델 구조

논문에서는 크게 다음의 4가지 주요 컨트리뷰션을 이야기하고 있으며, 이중 앞의 2가지인 Early-Fusion Token-Based Mixed-Modal Model에 대한 것(= 통합된 토큰 기반 표현 방식)과 Architectural Innovation(= 구조 혁신) 및 Training Techniques(= 학습 기법)들을 하나씩 살펴보도록 하겠습니다:

In summary, we present the following contributions:

  • We present Chameleon, a family of early-fusion token-based mixed-modal models capable of reasoning over and generating interleaved image-text documents, setting a new bar for open multimodal foundation models.
  • We introduce architectural innovations and training techniques that enable the stable and scalable training of early-fusion token-based models, addressing key challenges in mixed-modal learning.
  • Through extensive evaluations, we demonstrate state-of-the-art performance across a diverse set of vision-language benchmarks, while maintaining competitive performance on text-only tasks, and high quality image generation, all in the same model.
  • We conduct the first large-scale human evaluation on open-ended mixed-modal reasoning and generation, demonstrating the unique capabilities of Chameleon in this new setting.

1. 통합된 토큰 기반 표현 (Unified Token-based representation)

카멜레온은 이미지와 텍스트를 동일한 방식으로 처리할 수 있는 토큰으로 변환합니다. 이렇게 하면 하나의 트랜스포머 아키텍처를 통해 텍스트와 이미지 모두를 처리할 수 있는 장점이 있습니다. 이 과정은 크게 다음의 4가지 단계를 거쳐서 이루어집니다:

이미지 토큰화 (Image Tokenization)

이미지 토큰화 단계는 이미지 데이터를 이산 토큰(discrete tokens)으로 양자화(quantization)하는 것을 의미합니다. 카멜레온 모델은 특정 이미지 토크나이저를 사용하여 512x512 크기의 이미지를 1024개의 이산 토큰으로 변환합니다. 이러한 이미지 토큰은 텍스트 토큰과 동일한 방식으로 처리됩니다.

예를 들어, VQ-VAE와 같은 기법을 사용하여 이미지를 작은 패치(patches)로 나누고, 각 패치를 토큰으로 변환합니다. 이렇게 변환된 토큰들은 텍스트의 단어와 유사하게 취급됩니다. (참고: [2203.13131] Make-A-Scene: Scene-Based Text-to-Image Generation with Human Priors)

텍스트 토큰화 (Text Tokenization)

텍스트는 Byte-Pair Encoding (BPE) 방식으로 토큰화됩니다. BPE 토크나이저는 텍스트 데이터를 작은 서브워드(subwords) 단위로 분해하여, 이러한 단위들이 모델의 입력으로 사용될 수 있도록 합니다. 카멜레온 모델의 어휘(vocabulary)에는 텍스트 토큰과 이미지 토큰이 모두 포함됩니다.

동일한 트랜스포머 구조에서 통합 처리

앞에서 살펴본 것처럼 텍스트와 이미지가 통합된 토큰 기반 표현(unified token-based representation)을 통해 동일한 트랜스포머 아키텍처 내에서 처리할 수 있게 됩니다. 이를 통해 모델은 텍스트와 이미지 간의 관계를 학습할 수 있으며, 이를 통해 더 복잡한 멀티모달 작업을 수행할 수 있습니다.

초기 결합(Early Fusion) 접근법

이 과정에서 카멜레온 모델은 초기 결합 접근법을 사용하여 텍스트와 이미지를 입력 단계에서부터 결합합니다. 이는 모든 입력 데이터가 동일한 토큰 시퀀스로 처리되며, 별도의 모달리티별 인코더나 디코더가 필요하지 않음을 의미합니다. 이러한 통합된 접근 방식은 텍스트와 이미지 간의 상호작용을 더 자연스럽게 만들고, 모델의 학습과 추론 효율성을 높입니다.

2. 아키텍처 분야의 혁신 (Architectural innovations)

카멜레온 모델의 아키텍처 혁신은 학습 안정성을 개선하고 멀티모달 데이터를 효과적으로 처리하기 위해 몇 가지 주요 기술과 설계를 도입했습니다. 이 섹션에서는 이러한 혁신을 자세히 설명하겠습니다.

쿼리-키 정규화 (Query-Key Normalization, QK-Norm)

쿼리-키 정규화(QK-Norm)는 어텐션 메커니즘에서 쿼리(query)와 키(key) 벡터를 정규화하는 기법입니다. 어텐션 메커니즘에서는 쿼리와 키 벡터 간의 내적(dot product)을 계산하여 각 토큰 간의 유사도를 측정합니다. 그러나 학습 과정에서 벡터의 노름(norm)이 과도하게 증가할 수 있어 학습이 불안정해질 수 있습니다.

QK-Norm은 쿼리와 키 벡터를 정규화하여 벡터 간의 내적 값을 제한함으로써 이러한 문제를 해결합니다. 이를 통해 모델의 학습이 안정화되고, 특히 대규모 데이터셋에서의 성능이 향상됩니다.

향상된 레이어 정규화 (Revised Placement of Layer Normalization)

카멜레온 모델은 레이어 정규화(layer normalization)의 위치를 수정하여 학습 안정성을 더욱 강화합니다. 전통적인 트랜스포머(transformer) 아키텍처에서는 레이어 정규화가 각 트랜스포머 블록의 입력과 출력에 적용됩니다. 그러나 서로 다른 모달리티(텍스트와 이미지) 데이터는 엔트로피(entropy)와 분포가 다르기 때문에, 동일한 정규화 기법을 적용하면 학습 불안정이 발생할 수 있습니다.

카멜레온은 레이어 정규화의 위치를 조정하여 이러한 문제를 완화합니다. 수정된 레이어 정규화는 모델이 다양한 모달리티 데이터를 보다 효과적으로 처리할 수 있게 하며, 학습 중 발생할 수 있는 불안정성을 줄입니다.

트랜스포머 아키텍처 내 통합 처리

카멜레온의 트랜스포머 아키텍처는 텍스트와 이미지를 통합된 방식으로 처리할 수 있도록 설계되었습니다. 이 아키텍처는 다음과 같은 특징을 가집니다:

  • 단일 입력 처리: 텍스트와 이미지가 모두 토큰화되어 동일한 토큰 시퀀스로 처리됩니다.
  • 어텐션 메커니즘: 트랜스포머의 어텐션 메커니즘은 텍스트와 이미지 토큰 간의 관계를 학습하여, 멀티모달 데이터를 통합적으로 이해할 수 있게 합니다.
  • 출력 생성: 모델은 텍스트와 이미지를 교차하여 생성할 수 있으며, 멀티모달 응답을 필요로 하는 프롬프트에 대응할 수 있습니다.

3. 학습 기법

카멜레온 모델의 학습 과정은 두 단계로 나누어집니다: 첫 번째 단계는 대규모 비지도 데이터셋을 사용한 사전 학습(pre-training), 두 번째 단계는 고품질 지도 데이터셋을 사용한 미세 조정(fine-tuning)입니다. 각 단계는 다음과 같습니다.

첫 번째 단계: 대규모 비지도 사전 학습 (Unsupervised Pre-Training)

사전 학습 단계는 모델이 광범위한 데이터에서 일반적인 패턴과 표현을 학습하는 과정입니다. 이를 통해 모델은 텍스트와 이미지 간의 관계를 이해하고, 다양한 멀티모달 데이터에 대해 기초적인 지식을 습득합니다.

이러한 사전 학습을 위해, 카멜레온 모델은 텍스트 전용, 텍스트-이미지 쌍, 완전히 교차된 텍스트-이미지 문서의 "균형 잡힌 혼합 데이터셋(Balanced Pre-Training Data)"을 사용하여 사전 학습을 진행하는 것이 중요합니다. 각 데이터셋은 다음과 같습니다:

  • 텍스트 전용 데이터: 텍스트 생성과 같은 작업을 위한 대규모 텍스트 데이터셋.
  • 텍스트-이미지 쌍 데이터: 이미지와 그에 대한 텍스트 설명이 포함된 데이터셋.
  • 교차된 텍스트-이미지 데이터: 텍스트와 이미지가 혼합된 문서 형태의 데이터셋.

이 데이터들은 웹에서 수집된 대규모 비지도 데이터로 구성됩니다. 사전 학습 단계는 토큰화 - 모델 초기화 - 비지도 학습 - 학습률 스케쥴링 - 모니터링 및 평가의 순서로 이뤄집니다. 이 때, 앞에서 살펴본 것과 같이 텍스트 데이터는 BPE(Byte-Pair Encoding) 방식으로, 이미지 데이터는 VQ-VAE 등의 기법을 통해 이산 토큰(Discrete Token)으로 변환합니다.

두 번째 단계: 고품질 데이터를 사용한 지도 미세 조정 (SFT, Supervised Fine-Tuning)

미세 조정(Fine-Tuning) 단계는 사전 학습에서 얻은 지식을 특정 작업에 맞춰 세부 조정하는 과정입니다. 이 단계에서는 고품질 지도 데이터셋을 사용하여 모델의 성능을 향상시키고, 응용 분야에서의 정확성과 일관성을 강화합니다. 또한, 미세 조정을 통해 모델의 정렬(alignment)과 안전성(safety)을 향상시키며, 성능과 견고성을 모두 강화합니다.

이러한 미세 조정에 사용되는 데이터는 다음과 같은 형태로 준비됩니다:

미세조정에 사용한 데이터셋 정보

  • 텍스트 전용 데이터: 텍스트 생성 작업에 최적화된 데이터셋.
  • 텍스트-이미지 쌍 데이터: 이미지 캡션 생성, 시각적 질문 응답 등 멀티모달 작업을 위한 데이터셋.
  • 교차된 텍스트-이미지 데이터: 텍스트와 이미지가 복합적으로 구성된 문서 형태의 데이터셋.

미세조정 단계는 준비된 데이터셋을 사용하여 (사전 학습된 모델의) 초기화 - 지도학습 데이터 불러오기 - 손실 함수 및 옵티마이저 설정 - 학습률 스케줄링 - 모니터링 및 평가 - 모델 검증 및 조정의 단계를 반복하여 이뤄지며, 최종 결과로 얻어진 모델을 저장하여 사용합니다. 이러한 지도형 미세 조정을 통해 모델이 실전에서 더 정확하고 일관된 결과를 제공할 수 있도록 합니다.

이 때, 안정적인 학습을 위한 최적화 전략이 필요하며, 카멜레온 학습 시의 최적화 전략에 대해서는 아래에서 살펴보겠습니다.

최적화 전략 (Optimization Strategy)

카멜레온 모델은 다음과 같은 최적화 전략을 사용합니다:

  • AdamW 옵티마이저: AdamW 옵티마이저는 학습률과 가중치 감쇠(weight decay)를 관리하여 학습 효율성을 보장합니다

  • 노름(Norm) 성장 관리: QK-Norm 및 향상된 레이어 정규화와 같은 기법은 대규모 모델의 안정성을 유지하는 데 중요한 역할을 합니다.

  • 학습률 스케줄링: 학습 과정에서 적절한 학습률 스케줄링을 통해 모델이 효과적으로 학습할 수 있도록 합니다.

LLaMA-1, 2 모델과 카멜레온 모델 학습 시의 주요 아키텍쳐 및 최적화 관련 세부 사항 비교 표
(카멜레온 모델의 학습 시 사용한 각 최적화 관련 하이퍼파라매터들은 논문 7~8페이지를 참고해주세요.)

사람에 의한 평가(Evaluation) 결과

모델 평가에 사용한 작업 분류 및 예시 프롬프트

모델 평가를 위헤 12개 카테고리(Advice, How-to, Explanation, Hypothetical, Brainstorming, Reasoning, Identification, Article, Report, Story, Other, Comparison)에 대해서 사람들이 요청할 수 있는 질문들을 수집한 뒤, 3명의 무작위 평가자가 프롬프트의 명확성과 이미지 포함 필요 여부 등을 살펴보고 불분명한 프롬프트들을 필터링하여 평가를 위한 데이터셋을 구성하였습니다. 여기에는 1048개의 프롬프트가 포함되어 있으며, 이 중 42.1%는 멀티모달(이미지 + 텍스트) 프롬프트, 57.9%는 텍스트 전용 프롬프트입니다.

이러한 평가 프롬프트들에 대해 Chameleon 34B와 OpenAI GPT-4V, Google Gemini Pro 모델에 대해서 평가하였으며, GPT-4V와 Gemini의 텍스트 응답을 이미지 캡션으로 확장한 GPT-4V+와 Gemini+도 포함하여 평가를 진행한 결과는 다음과 같습니다:

카멜레온 모델과 다른 모델들과의 성능 비교

이 때 Task Fulfillment는 응답이 프롬프트에서 설명한 작업을 완전히 수행했는지, 부분적으로 수행했는지, 수행하지 못했는지를 평가한 결과, Chameleon의 응답이 완전히 작업을 수행했다고 평가된 비율은 55.2%로, Gemini+의 37.6%, GPT-4V+의 44.7%보다 높았습니다.

또한, 동일한 프롬프트에 대해 Chameleon과 각 베이스라인 모델의 응답을 무작위 순서로 제시하고, 평가자들이 어느 응답을 선호하는지 평가한 결과, Chameleon의 응답이 Gemini+ 대비 41.5% 더 나은 것으로 평가되고, GPT-4V+ 대비 35.8% 더 나은 것으로 평가되었습니다.

벤치마크별 성능 비교

Text Benchhmark

Text Benchmark Results

위 테이블은 텍스트 분야에서 카멜레온과 다른 비교 모델들의 성능 비교입니다. 각 벤치마크에 대한 간략한 설명 및 결과는 다음과 같습니다:

1. Commonsense Reasoning and Reading Comprehension (상식적 추론 및 독해):

  • PIQA (Physical Interaction Question Answering):
    • 물리적 상식 추론을 측정하며, 주어진 시나리오에서 가장 그럴듯한 행동을 선택하도록 질문.
    • Chameleon-34B는 비슷한 크기의 모델인 LLaMa-2 34B보다 우수한 성능을 보임.
  • SIQA (Social Interaction Question Answering):
    • 사회적 상식 추론을 평가하며, 사회적 상호작용 및 동기에 대한 추론 능력을 측정.
    • Chameleon-34B는 LLaMa-2 34B보다 현저히 높은 성능을 보임.
  • HellaSwag:
    • 서술적 순서를 완성하도록 하여 상식적 추론 능력을 테스트.
    • Chameleon-34B는 Mistral 8x7B와 유사한 성능을 보여 경쟁력이 있음.
  • WinoGrande:
    • 복잡한 상식 추론을 요구하는 문장을 이해하고 논리적 관계를 파악.
    • Chameleon-34B는 해당 벤치마크에서 높은 성능을 보임.
  • ARC (AI2 Reasoning Challenge):
    • 과학 문제에 대한 추론 능력을 평가.
    • ARC-Easy 및 ARC-Challenge에서 Chameleon-34B는 LLaMa-2 34B를 능가하는 성능을 보임.
  • OpenBookQA:
    • 개방형 책 질문에 답하는 능력을 측정.
    • Chameleon-34B는 OpenBookQA에서 LLaMa-2 34B와 유사한 성능을 보임.
  • BoolQ:
    • 예/아니오 질문에 답하는 능력을 평가.
    • Chameleon-34B는 BoolQ에서 LLaMa-2 34B보다 높은 성능을 보임.

2. Math and World Knowledge (수학 및 세계 지식):

  • GSM8k:
    • 초등학교 수준의 수학 문제 해결 능력을 측정.
    • Chameleon-34B는 비슷한 크기의 모델인 LLaMa-2를 능가하며, Mixtral 8x7B와 비슷한 성능을 보임.
  • MATH:
    • 수학 문제 해결 능력을 평가.
    • Chameleon-34B는 LLaMa-2보다 높은 성능을 보이며, Mixtral 8x7B에 근접한 성능을 보임.
  • MMLU (Massive Multitask Language Understanding):
    • 다양한 주제에서 세계 지식과 문제 해결 능력을 측정.
    • Chameleon-34B는 LLaMa-2를 능가하는 성능을 보이며, Mixtral 8x7B와 유사한 성능을 보임.

Image-to-Text Benchmark

Image-to-Text Benchmark Results

위 테이블은 이미지를 읽고 텍스트로 이해하는 분야에서 카멜레온과 다른 비교 모델들의 성능 비교입니다. 각 벤치마크에 대한 간략한 설명 및 결과는 다음과 같습니다:

1. Image Captioning (이미지 캡셔닝):

  • MS-COCO (Microsoft Common Objects in Context):
    • 모델이 이미지에 대한 캡션을 생성하는 능력을 평가.
    • Chameleon-34B는 Flamingo 80B와 IDEFICS 80B보다 우수한 성능을 보이며, 모든 모델 중 최고의 성능을 보임.
  • Flickr30k:
    • 이미지에 대한 캡션 생성 능력을 테스트.
    • Chameleon-34B는 다른 모델들과 비교했을 때, 경쟁력 있는 성능을 보임.

2. Visual Question Answering (VQA):

  • VQA-v2:
    • 이미지와 관련된 질문에 답하는 능력을 평가.
    • Chameleon-34B는 Flamingo와 IDEFICS와 같은 대형 모델들과 경쟁력 있는 성능을 보이며, 특정 모델보다 더 나은 성능을 보임.

더 읽어보기



이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:heart:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: