VLM : 논문리뷰 : Chameleon: Mixed-Modal Early-Fusion Foundation Models
Abstrack
우리는 임의의 시퀀스에서 이미지와 텍스트를 이해하고 생성할 수 있는 early-fusion 토큰 기반 mixed-modal models 제품군인 Chameleon을 제시합니다. 우리는 처음부터 안정적인 training 접근 방식, alignment 레시피, 그리고 early-fusion, 토큰 기반, mixed-modal 환경에 맞춤화된 architectural 파라미터화를 개략적으로 설명합니다. 이 models은 visual question answering, 이미지 캡셔닝, 텍스트 생성, 이미지 생성, 그리고 long-form mixed modal 생성을 포함한 광범위한 tasks에 대해 평가됩니다. Chameleon은 이미지 캡셔닝 tasks에서 state-of-the-art 성능을 포함한 광범위하고 일반적인 기능을 보여주고, 텍스트 전용 tasks에서는 Llama-2를 능가하면서 Mixtral 8x7B 및 Gemini-Pro와 같은 models과 경쟁력이 있으며, 이 모든 것이 단일 model에서 non-trivial 이미지 생성을 수행합니다. 또한 프롬프트 또는 출력이 이미지와 텍스트의 혼합 시퀀스를 포함하는 새로운 long-form mixed-modal 생성 평가에 대한 인간의 판단에 따르면, Gemini Pro 및 GPT-4V를 포함한 훨씬 더 큰 models의 성능과 일치하거나 능가합니다. Chameleon은 완전한 multimodal documents의 통합 modeling에서 중요한 진전을 나타냅니다.
1 Introduction
최근의 multimodal foundation models은 매우 널리 채택되고 있지만, 여전히 서로 다른 modalities를 분리해서 모델링하며, 종종 modality specific 인코더나 디코더를 사용합니다. 이는 modalities 전반에 걸쳐 정보를 통합하고 이미지와 텍스트의 임의 시퀀스를 포함할 수 있는 multimodal documents를 생성하는 능력을 제한할 수 있습니다. 이 논문에서 우리는 임의로 interleaved 된 텍스트와 이미지 콘텐츠의 혼합 시퀀스로 추론하고 생성할 수 있는 mixed-modal foundation models 제품군인 Chameleon을 제시합니다(그림 2-4). 이를 통해 완전한 multimodal document modeling이 가능하며, 이는 이미지 생성, 이미지에 대한 이해 및 추론, 텍스트 전용 LLMs과 같은 표준 multimodal tasks의 직접적인 일반화입니다. Chameleon은 대신 처음부터 mixed-model이 되도록 설계되었으며, 이미지, 텍스트, 코드를 포함한 모든 modalities의 interleaved 된 혼합물에 대해 end-to-end 방식으로 처음부터 trained 된 균일한 architecture를 사용합니다.
우리의 통합된 접근 방식은 이미지와 텍스트 modalities 모두에 대해 완전히 토큰 기반 representations을 사용합니다(그림 1). 텍스트의 단어와 유사하게 이미지를 불연속 토큰으로 quantizing 함으로써, 별도의 이미지/텍스트 인코더나 domain-specific 디코더 없이도 이미지와 텍스트 토큰 시퀀스에 동일한 transformer architecture를 적용할 수 있습니다. 모든 modalities가 처음부터 공유된 representational 공간에 투영되는 이 early-fusion 접근 방식은 modalities 전반에 걸친 원활한 추론과 생성을 가능하게 합니다. 그러나 최적화 안정성과 스케일링 측면에서 특히 중요한 기술적 과제도 제시합니다.
우리는 architectural 혁신과 training 기술의 결합을 통해 이러한 과제를 해결합니다. 우리는 query-key 정규화 및 layer norms의 수정된 배치와 같은 transformer architecture에 대한 새로운 수정을 도입하며, 이는 mixed-modal 설정에서 안정적인 training에 중요한 것으로 나타났습니다(섹션 2.3). 우리는 더 나아가 텍스트 전용 LLMs에 사용되는 supervised finetuning 접근 방식을 mixed-modal 설정에 적용하여 대규모로 강력한 alignment를 가능하게 하는 방법을 보여줍니다(섹션 3). 이러한 기술을 사용하여 Llama-2보다 5배 많은 토큰으로 Chameleon-34B를 성공적으로 train하여 새로운 mixed-modal 애플리케이션을 가능하게 하는 동시에 unimodal 벤치마크에서 기존 LLMs와 일치하거나 능가하는 성능을 유지합니다. 광범위한 평가는 Chameleon이 다양한 tasks 세트에서 광범위하게 capable model임을 보여줍니다. visual question answering 및 이미지 캡셔닝 벤치마크에서 Chameleon-34B는 state-of-the-art 성능을 달성하여 Flamingo, IDEFICS 및 Llava-1.5와 같은 models을 능가합니다(섹션 5.2). 동시에, 텍스트 전용 벤치마크에서 경쟁력 있는 성능을 유지하며, 상식 추론 및 독해 tasks에서 Mixtral 8x7B 및 Gemini-Pro와 같은 models과 일치합니다(섹션 5.1). 그러나 아마도 가장 인상적인 것은 Chameleon이 mixed-modal 추론 및 생성 측면에서 완전히 새로운 능력을 발휘한다는 것입니다. 정적, 공개 벤치마크만 사용하여 model 성능을 평가하는 것은 제한적일 수 있으므로, 우리는 또한 개방형 프롬프트에 대한 mixed-modal long form 응답의 품질을 측정하여 신중하게 설계된 인간 평가 실험을 수행합니다. Chameleon-34B는 Gemini-Pro 및 GPT-4V와 같은 강력한 기준선을 크게 능가하여(섹션 4), pairwise 비교에서 Gemini-Pro 대비 60.4%의 선호도, GPT-4V 대비 51.6%의 선호도를 달성했습니다.
요약하자면, 우리는 다음과 같은 기여를 제시합니다.
- 우리는 interleaved 된 이미지-텍스트 documents를 추론하고 생성할 수 있는 early-fusion 토큰 기반 mixed-modal models 제품군인 Chameleon을 제시하여 개방형 multimodal foundation models에 대한 새로운 기준을 설정합니다.
- 우리는 mixed-modal 학습의 주요 과제를 해결하는 early-fusion 토큰 기반 models의 안정적이고 확장 가능한 training을 가능하게 하는 architectural 혁신과 training 기술을 소개합니다.
- 광범위한 평가를 통해 다양한 vision-language 벤치마크에서 state-of-the-art 성능을 입증하는 동시에 텍스트 전용 tasks에서 경쟁력 있는 성능과 고품질 이미지 생성을 모두 동일한 model에서 유지합니다.
- 우리는 개방형 mixed-modal 추론 및 생성에 대한 최초의 대규모 인간 평가를 수행하여 이 새로운 설정에서 Chameleon의 독특한 능력을 보여줍니다.
Chameleon은 multimodal 콘텐츠를 유연하게 추론하고 생성할 수 있는 통합 foundation models의 비전을 실현하는 데 있어 중요한 진전을 보여줍니다.
그림 1 Chameleon은 이미지, 텍스트, 코드를 포함한 모든 modalities를 불연속 토큰으로 표현하고, interleaved mixed-modal 데이터의 약 10T 토큰에 대해 end-to-end 방식으로 처음부터 trained 된 균일한 transformer 기반 architecture를 사용합니다. 결과적으로 Chameleon은 임의의 mixed-modal documents를 추론하고 생성할 수 있습니다. 텍스트 토큰은 녹색으로 표시되고 이미지 토큰은 파란색으로 표시됩니다.
핵심: 기존의 multimodal models은 이미지와 텍스트를 분리해서 처리하는 데 한계가 있었지만, 이 논문에서는 이미지와 텍스트를 통합적으로 처리하여 진정한 multimodal 이해와 생성을 가능하게 하는 새로운 모델, Chameleon을 제시합니다.
Chameleon의 특징:
- Mixed-Modal Foundation Model: 이미지와 텍스트를 임의의 순서로 섞어서(interleaved) 처리하고 생성할 수 있습니다. 즉, 이미지와 텍스트가 섞인 문서를 이해하고, 그러한 문서를 생성해 낼 수 있습니다.
- Early-Fusion, Token-Based: 이미지와 텍스트를 모두 토큰으로 변환하여 처음부터(early-fusion) 하나의 모델로 처리합니다. 이를 통해 이미지와 텍스트 간의 경계 없이 seamless 한 추론 및 생성이 가능합니다.
- End-to-End Training: 약 10T 규모의 거대한 mixed-modal 데이터로 처음부터(from scratch) end-to-end 방식으로 training 되었습니다.
기존 모델과의 차별점:
- 기존 multimodal models은 이미지와 텍스트를 각각 별도의 인코더/디코더로 처리하는 경우가 많아, modalities 간 정보 통합에 한계가 있었습니다.
- Chameleon은 이미지와 텍스트를 모두 토큰화하여 하나의 transformer architecture로 처리함으로써 이러한 한계를 극복했습니다.
Chameleon의 성능:
- 다양한 Task에서 뛰어난 성능: Visual question answering, 이미지 캡셔닝 등에서 state-of-the-art를 달성했습니다.
- 텍스트 전용 Tasks에서도 강력한 성능: Llama-2를 능가하고 Mixtral 8x7B, Gemini-Pro와 경쟁할 만한 성능을 보입니다.
- Mixed-Modal Reasoning 및 생성에서 새로운 가능성: 특히, 이미지와 텍스트가 섞인 복잡한 문서를 이해하고 생성하는 능력에서 기존 모델(Gemini-Pro, GPT-4V)을 능가하는 성능을 보였습니다. (인간 평가 결과)
이를 위해 사용된 기술:
- 안정적인 Training을 위한 Architectural 혁신: query-key 정규화, layer norms 재배치 등 transformer architecture 개선
- Mixed-Modal 환경에 Supervised Finetuning 적용: 대규모 alignment를 가능하게 함
결론:
Chameleon은 이미지와 텍스트를 진정으로 통합하여 처리할 수 있는 multimodal foundation model의 새로운 지평을 열었습니다. 이는 multimodal 콘텐츠에 대한 유연한 추론 및 생성이 가능한 통합 foundation models의 비전을 실현하는 데 중요한 진전입니다.
2 Pre-Training
Chameleon은 텍스트 외에도 이미지를 일련의 불연속 토큰으로 표현하고 auto-regressive Transformers의 scaling 속성을 활용합니다. 우리는 training 중에 텍스트 전용, 단일 텍스트/이미지 쌍, 완전히 interleaved 된 텍스트-이미지 문서에 이르기까지 이미지와 텍스트의 모든 순서를 제시합니다.
2.1 Tokenization
Image Tokenization 우리는 512 × 512 이미지를 크기가 8192인 codebook에서 1024개의 불연속 토큰으로 인코딩하는 Gafni et al.(2022)을 기반으로 새로운 이미지 tokenizer를 train 합니다. 이 tokenizer를 training 하기 위해 라이선스가 부여된 이미지만 사용합니다. 사람 얼굴 생성의 중요성을 고려하여 pre-training 중에 얼굴이 있는 이미지의 비율을 2배로 늘립니다. 우리 tokenizer의 핵심 약점은 OCR 관련 tasks와 관련하여 우리 models의 능력을 제한하는, 많은 양의 텍스트가 있는 이미지를 재구성하는 것입니다.
Tokenizer 우리는 65,536 크기의 어휘를 사용하여 아래에 설명된 training 데이터의 하위 집합에 대해 새로운 BPE tokenizer를 train 합니다. 여기에는 sentencepiece 라이브러리를 사용하는 8192개의 이미지 codebook 토큰이 포함됩니다.
2.2 Pre-Training Data
우리는 pre-training 단계를 두 개의 개별 단계로 구분합니다. 첫 번째 단계는 training의 처음 80%를 차지하고 두 번째 단계는 마지막 20%를 차지합니다. 모든 텍스트-이미지 쌍에 대해 50%의 시간 동안 이미지가 텍스트 앞에 오도록(즉, 캡셔닝) 회전합니다.
2.2.1 첫 번째 단계
첫 번째 단계에서는 다음과 같은 매우 큰 규모의 완전한 unsupervised datasets로 구성된 데이터 혼합을 사용합니다.
- Text-Only: 우리는 총 2.9조 개의 텍스트 전용 토큰에 대해 LLaMa-2를 train 하는 데 사용된 pre-training 데이터와 CodeLLaMa의 조합을 포함한 다양한 텍스트 datasets를 사용합니다.
- Text-Image: pre-training을 위한 텍스트-이미지 데이터는 공개적으로 사용 가능한 데이터 소스와 라이선스가 부여된 데이터의 조합입니다. 그런 다음 이미지는 512 × 512 이미지로 크기가 조정되고 중앙에서 잘려서 토큰화됩니다. 총 14억 개의 텍스트-이미지 쌍을 포함하여 1.5조 개의 텍스트-이미지 토큰을 생성합니다.
- Text/Image Interleaved: 우리는 Meta의 제품이나 서비스의 데이터를 포함하지 않는 공개적으로 사용 가능한 웹 소스에서 데이터를 조달하여 총 4,000억 개의 interleaved 된 텍스트 및 이미지 데이터를 얻습니다. 이미지에 대해 텍스트-이미지와 동일한 필터링을 적용합니다.
2.2.2 두 번째 단계
두 번째 단계에서는 첫 번째 단계 데이터의 가중치를 50% 낮추고 이미지 텍스트 토큰의 유사한 비율을 유지하면서 더 높은 품질의 datasets를 혼합합니다.
또한 대규모 instruction tuning 세트 모음에서 필터링된 train 세트의 하위 집합을 추가로 포함합니다.
2.3 Stability
Chameleon models을 8B 파라미터와 1T 토큰 이상으로 scaling 할 때 안정적인 training을 유지하는 것이 어려웠으며, 불안정성은 종종 training 후반부에만 나타났습니다. 안정성을 달성하기 위해 architecture와 최적화에 대한 다음 레시피를 채택했습니다.
Architecture 우리의 architecture는 대체로 LLaMa-2를 따릅니다. 정규화를 위해 계속해서 RMSNorm을 사용합니다. SwiGLU 활성화 함수와 rotary positional embeddings(RoPE)를 사용합니다.
우리는 표준 LLaMa architecture가 training 중후반 단계에서 느린 norm 증가로 인해 복잡한 발산을 보인다는 것을 발견했습니다. 우리는 발산의 원인을 softmax 연산이 변환 불변 속성(즉, softmax(z) = softmax(z + c))으로 인해 엔트로피가 크게 다른 여러 modalities로 training 할 때 문제가 되는 것으로 좁혔습니다. 모든 modalities에 걸쳐 model의 모든 가중치를 공유하기 때문에 각 modality는 norm을 약간 증가시켜 다른 modality와 "경쟁"하려고 합니다. training 초기에는 문제가 되지 않지만, bf16의 유효 표현 범위를 벗어나면 발산으로 나타납니다(그림 6b에서 이미지 생성이 없는 ablation은 발산하지 않았음을 보여줍니다).
unimodal 설정에서 이 문제는 logit drift 문제라고도 합니다. 그림 5a에서 training이 진행됨에 따라 마지막 transformer layer 출력의 norm을 플롯하고 training 발산이 training 진행의 20-30% 이후에도 나타날 수 있지만 출력 norm의 제어되지 않은 성장을 모니터링하는 것은 미래의 손실 발산을 예측하는 것과 강한 상관관계가 있음을 발견했습니다.
softmax 연산은 transformers에서 핵심 attention 메커니즘과 logits에 대한 softmax의 두 곳에 나타납니다. Dehghani et al. (2023) 및 Wortsman et al. (2023)에서 영감을 받아 먼저 query-key 정규화(QK-Norm)를 사용하여 Llama architecture에서 벗어납니다. QK-Norm은 attention 내에서 query 및 key 벡터에 layer norm을 적용하여 softmax에 대한 입력의 norm 증가를 직접 제어합니다. 그림 5b에서 QK-Norm이 있는 경우와 없는 경우 Chameleon-7B에 대한 training 손실 곡선을 보여 주며, 후자는 training epoch의 약 20% 후에 발산합니다.
우리는 norm 증가를 제어하여 Chameleon-7B를 안정화하려면 QK-norm 외에도 attention 및 feed-forward layers 뒤에 dropout을 도입해야 한다는 것을 발견했습니다(그림 5c 참조). 그러나 이 레시피는 norm의 추가 재정렬이 필요한 Chameleon-34B를 안정화하기에 충분하지 않았습니다. 특히, transformer 블록 내에서 Liu et al. (2021)에 제안된 정규화 전략을 사용합니다. Swin transformer 정규화 전략의 이점은 SwiGLU 활성화 함수의 곱셈 특성을 감안할 때 추가로 문제가 될 수 있는 feedforward 블록의 norm 증가를 제한한다는 것입니다. h가 입력 x에 self-attention이 적용된 후 시간 단계 t의 hidden 벡터를 나타내는 경우,
- Chameleon-34B:
- h = x + attention_norm(attention(x))
- output = h + ffn_norm(feed_forward(h))
- LLaMa-2:
- h = x + attention(attention_norm(x))
- output = h + feed_forward(ffn_norm(h))
LLaMa-2 파라미터화의 발산까지 정규화 재정렬 유무에 관계없이 모델을 처음부터 training 할 때 perplexity에 차이가 없었습니다. 또한 이러한 유형의 정규화는 dropout과 잘 작동하지 않으므로 Chameleon-34B를 dropout 없이 train 합니다(그림 6c). 또한 소급적으로 norm 재정렬을 사용할 때 Chameleon-7B도 dropout 없이 안정적으로 train 될 수 있음을 발견했지만 두 경우 모두 QK-norm이 필수적입니다. 그림 6a에 Chameleon-7B와 Chameleon-34B 모두에 대한 처음 600k 단계에 대한 training 곡선을 플롯합니다.
Optimization 우리의 training 프로세스는 β1을 0.9로, β2를 0.95로, ε = 10-5로 설정한 AdamW 옵티마이저를 사용합니다. 학습률을 0으로 지수적으로 감소시키는 4000단계의 선형 웜업을 사용합니다. 또한 0.1의 가중치 감소와 1.0 임계값에서의 전역 그래디언트 클리핑을 적용합니다. training 안정성을 위해 Chameleon-7B에는 0.1의 dropout을 사용하지만 Chameleon-34B에는 사용하지 않습니다(그림 5c 및 6c 참조).
Transformer 내의 내부 softmax를 돕는 동안 QK-Norm을 적용해도 최종 softmax에서 logit shift 문제가 해결되지 않습니다. Chowdhery et al. (2022); Wortsman et al. (2023)에 따라 z-loss 정규화를 적용합니다. 특히, softmax 함수 σ(x)i = e xi /Z (여기서 Z = P i e xi)의 분할 함수 Z를 정규화하여 손실 함수에 10-5 log2 Z를 추가합니다.
Chameleon-7B의 경우 안정성을 달성하기 위해 dropout과 z-loss를 모두 사용하는 것이 중요했지만 Chameleon-34B는 z-loss만 필요했습니다(그림 6c).
Chameleon-7B는 2 23(약 8M) 토큰의 전역 배치 크기로 train 되었고 Chameleon-34B는 3 × 2 22(약 12M) 토큰의 전역 배치 크기로 train 되었습니다. 전체 training 데이터 세트에 대해 2.1 epoch를 수행하여 training 중에 총 9.2조 개의 토큰을 보았습니다. 그림 6a에 처음 600k 단계의 training(Chameleon-7B의 경우 55%, Chameleon-34B의 경우 80%)을 보여줍니다.
2.4 Inference
alignment 및 평가(자동 및 사람 모두)를 지원하고 우리 접근 방식의 애플리케이션 준비 상태를 입증하기 위해 처리량을 개선하고 대기 시간을 줄이기 위해 interleaved 생성과 관련하여 추론 전략을 보강합니다.
autoregressive, mixed-modal 생성은 inference 시 고유한 성능 관련 문제를 야기합니다. 여기에는 다음이 포함됩니다.
- 단계별 데이터 종속성 - 모델이 특정 단계에서 이미지 또는 텍스트를 생성하는지 여부에 따라 디코딩 공식이 변경되므로 제어 흐름을 안내하기 위해 각 단계에서 토큰을 검사해야 합니다(즉, 차단 방식으로 GPU에서 CPU로 복사).
- Modality 제약 생성을 위한 마스킹 - 특정 modality에 대한 독점 생성(예: 이미지 전용 생성)을 용이하게 하려면 특정 modality 공간에 속하지 않는 토큰을 토큰 해제 시 마스킹하고 무시해야 합니다.
- 고정 크기 텍스트 단위 - 본질적으로 가변 길이인 텍스트 전용 생성과 달리 토큰 기반 이미지 생성은 이미지에 해당하는 고정 크기 토큰 블록을 생성합니다.
이러한 고유한 문제를 감안할 때 xformers의 GPU 커널로 지원되는 PyTorch를 기반으로 독립 실행형 추론 파이프라인을 구축했습니다.
우리의 추론 구현은 텍스트와 이미지 모두에 대한 스트리밍을 지원합니다. 스트리밍 방식으로 생성할 때 각 생성 단계에서 토큰 종속 조건부 논리가 필요합니다. 그러나 스트리밍이 없으면 조건부 계산 없이 이미지 토큰 블록을 융합 방식으로 생성할 수 있습니다. 그러나 모든 경우에 토큰 마스킹은 GPU에서 분기를 제거합니다. 그러나 비 스트리밍 설정에서도 텍스트를 생성하는 동안 이미지 특정 디코딩 보강을 조정하려면 각 출력 토큰을 검사하여 이미지 시작 토큰을 확인해야 합니다.