[논문 리뷰] PaliGemma 2: A Family of Versatile VLMs for Transfer

lit·2024년 12월 6일

Paper Link

Abstract

PaliGemma2는 Gemma2 LLM family를 기반으로 한 PaliGemma Open Vision-Language Model (VLM, PaliGemma1)의 업그레이드 버전입니다.
PaliGemma1에서 사용된 비전 인코더인 SigLIP-So400m와 모든 사이즈의 Gemma2(2B~27B)를 결합합니다.
해당 모델들은 224px², 448px², 896px²의 세 가지 해상도로 훈련되고 파인튜닝을 통해 transfer learning을 위한 정보를 제공합니다.
다양한 모델 크기와 해상도를 포함하는 이러한 기본 모델들은 전이 성능에 영향을 미치는 요인(ex. learning rate)을 조사하여 task, model size, resolution 간의 상호작용을 분석하는데 도움이 됩니다.
또한 PaliGemma1가 할 수 있는 task를 넘어서 OCR 관련 작업을 포함한 transfer learning의 수와 범위를 늘렸습니다.

PaliGemma를 PaliGemma1, Gemma를 Gemma1으로 가칭으로 하여 작성하였습니다.

Introduction

PaliGemma1는 비전 인코더(SigLIP)와 LLM(2B Gemma1)을 결합하여 전이를 위한 3B 비전-언어 모델(VLM)입니다.
VLM의 성능 개선에 따라 PaliGemma를 업그레이드 하기 위해 Gemma2 패밀리로 교체하여 새로운 PaliGemma2를 공개합니다.
PaliGemma2는 3가지 크기(3B, 10B, 28B)와 3가지 해상도(224px², 448px², 896px²)로 생성했습니다.
다양한 능력을 향상 시키기위해 PaliGemma와 동일한 3단계 훈련 방법을 사용합니다.
생성된 모델들은 파인튜닝을 위해 설계되었고 30개 이상의 transfer tasks(캡션, VQA 작 등등)에서 평가했습니다.
평가 결과 PaliGemma2는 동일한 해상도와 모델 크기에서 PaliGemma1를 조금 초과하는 성능을 보였고 더 큰 모델 크기에서는 상당한 성능 향상을 보였습니다.

비슷한 블록에서 파생된 모델 패밀리를 보유하고 있고 이를 이용하여 동일한 훈련 방법에 따라 훈련된 모델들을 사용하는 것은 통제된 환경을 구성할 수 있습니다.
위의 통제된 환경을 통해 모델 크기와 해상도가 다운스트림 성능에 미치는 영향을 분석할 수 있게 해줍니다.
예를 들어 더 많은 리소스를 사용하면 거의 모든 작업의 성능이 개선됩니다.
해상도가 증가함에 따라 더 많은 계산 자원에서 이득을 보는 transfer tasks와 더 크고 능력 있는 언어 모델로 인해 계산 자원에서 이득을 보는 작업이 무엇인지 알 수 있습니다.
더 큰 모델일수록 최적의 transfer learning rate이 낮아지는 경향이 있습니다.

Model

PaliGemma1와 동일한 모델링, 훈련, 데이터 설정을 따르며 PaliGemma2의 사전 훈련을 세 가지 단계로 간략히 요약합니다.

  1. Pre-trained SigLIPSo400m과 Gemma2(base checkpoint)를 결합니다. 이후 약 10억 개의 예제로 구성된 멀티모달 테스크에서 훈련되며 미세 조정을 통해 다양한 작업 성능을 높입니다. 학습에 사용되는 이미지 해상도는 224px²이고 매개변수는 고정하지 않습니다.

  2. 해상도 448px²에서 약 5천만개의 데이터를 학습합니다. 이후 해상도 896px²에서 약 1천만 예제를 훈련합니다. 고해상도에서 얻을 수 있는 이점을 보는 작업은 가중치를 증가시키고, 출력 시퀀스 길이가 늘어납니다.

  3. 1단계 또는 2단계(해상도에 따라)의 체크포인트를 target task에 맞게 미세 조정합니다.

Gemma2 attention 및 출력 logits에 logits soft-capping을 적용합니다.
logits soft-capping은 1단계 및 2단계에서는 적용하지만 3단계에서는 성능 저하를 초래하여 적용하지 않았습니다.

훈련 데이터에는 캡셔닝, OCR, 다양한 VQA 작업, object-detection, instance segmentation이 포함됩니다.
라벨에 해당되는 데이터는 specialist models을 사용하여 만듭니다. (아마 task에 맞는 모델을 사용한 것으로 보입니다.)
LLaVA와 같은 다른 오픈 VLM에서 일반적으로 사용되는 대형 상용 VLM을 사용하지 않습니다.

위의 이미지에서 알 수 있듯이 224px², 448px², 896px² 크기의 이미지를 처리할 수 있습니다.
3가지 크기의 이미지는 SigLIP-400m/14 인코더를 통해 토큰이 생성되고 linear projection을
통해 Gemma 토큰으로 변경됩니다.

Experiments

224px²를 PaliGemma2 기준으로 학습 시 cost를 1.0배로 설정합니다.
모델 사이즈와 입력되는 이미지 크기에 따라 학습 코스트가 증가하는 것을 확인할 수 있습니다.
구글의 ai 칩인 TPUv5p를 사용하는데 TPUv5e보다 2.3배 속도 빠른 속도로 학습했을 때 기준입니다.

X축은 모델의 크기, Y축은 입력 이미지의 해상도 증가에 따라 각 작업의 성능 향상을 확인할 수 있습니다.

대부분의 작업에서 X, Y축의 증가는 성능 향상을 이루지만 4, 5와 같은 작업은 오히려 성능이 떨어지는 것을 확인할 수 있습니다.
이는 테스크가 해상도와 모델 사이즈에 얼마나 민감하게 반응하는지 확인할 수 있습니다.

모델 크기(3B, 10B, 28B)와 이미지 해상도(224px², 448px²)의 변화에 따라 어떻게 달라지는지를 보여줍니다.
대부분의 테스트에서 높은 해상도(연한 선)에서 좋은 성능을 보이는 것을 확인할 수 있습니다.

profile
AI Researcher

0개의 댓글