PaliGemma 비전 언어 모델 출시

Google은 이미지와 텍스트 입력을 처리하여 텍스트 출력을 생성하도록 설계된 오픈 비전-언어 모델(VLM) 패밀리인 PaliGemma를 소개했습니다. 이 모델들은 일반적인 대화형 에이전트로 사용되기보다 다운스트림 작업에 맞게 파인튜닝되도록 특별히 설계되었습니다.

모델 아키텍처 및 구성 요소

PaliGemma는 비전 인코더와 텍스트 디코더를 선형 어댑터로 연결한 결합 아키텍처를 사용합니다:

  • Image Encoder: SigLIP-So400m, 이미지와 텍스트를 함께 학습한 최첨단 모델.
  • Text Decoder: Gemma-2B, 텍스트 생성을 위한 디코더 전용 모델.
  • Integration: 선형 어댑터가 SigLIP의 이미지 임베딩을 Gemma에서 사용되는 2048 차원 임베딩에 맞게 투사합니다.

모델 변형 및 사양

Google은 여러 해상도와 정밀도로 제공되는 세 가지 주요 체크포인트 유형으로 PaliGemma를 출시했습니다:

체크포인트 유형

  • Pretrained (PT): 특정 다운스트림 작업에 맞게 파인튜닝될 기본 모델.
  • Mix: 다양한 작업의 혼합에 대해 파인튜닝된 모델로, 일반 목적 추론 및 연구에 적합.
  • Fine-tuned (FT): 연구 목적을 위한 특정 학술 벤치마크에 특화된 모델.

기술 구성

  • Resolutions: 모델은 224x224, 448x448, 896x896 로 제공됩니다. 높은 해상도는 OCR과 같은 세밀한 작업에서 성능을 향상시킬 수 있지만, 입력 시퀀스가 길어져 메모리 요구량이 크게 증가합니다.
  • Precisions: 체크포인트는 bfloat16, float16, float32 로 제공됩니다.

핵심 기능

PaliGemma는 작업 접두사(예: "detect" 또는 "segment")를 사용해 동작을 조건화하는 단일 턴 모델입니다. "mix" 체크포인트가 보여주는 주요 기능은 다음과 같습니다:

  • Image Captioning: 프롬프트에 기반해 이미지에 대한 설명 텍스트를 생성합니다.
  • Visual Question Answering (VQA): 이미지 내용에 대한 특정 질문에 답변합니다.
  • Object Detection: 객체를 식별하고 경계 상자 좌표를 제공합니다. 좌표는 특수 <loc[value]> 토큰(1024로 정규화)으로 출력되며, y_min, x_min, y_max, x_max 를 나타냅니다.
  • Referring Expression Segmentation: 자연어 설명에 따라 객체를 분할하고, 경계 상자와 분할 토큰을 모두 출력합니다.
  • Document Understanding: 문서에서 정보를 추론하고 추출합니다 (OCR-QA).

성능 벤치마크

Mix 체크포인트

모델 MMVP 정확도 POPE 정확도 (random/popular/adversarial)
mix-224 46.00 88.00 / 86.63 / 85.67
mix-448 45.33 89.37 / 88.40 / 87.47

Fine-tuned (FT) 체크포인트

모델 이름 데이터셋/작업 점수
paligemma-3b-ft-vqav2-448 다이어그램 이해 85.64 정확도 on VQAV2
paligemma-3b-ft-cococap-448 COCO 캡션 144.6 CIDEr
paligemma-3b-ft-science-qa-448 과학 QA 95.93 정확도 on ScienceQA Img subset (no CoT)
paligemma-3b-ft-refcoco-seg-896 객체 참조 76.94 Mean IoU (refcoco) / 72.18 (refcoco+) / 72.22 (refcocog)
paligemma-3b-ft-rsvqa-hr-224 원격 감지 VQA 92.61 정확도 (test) / 90.58 정확도 (test2)

추론 및 구현 세부 사항

데이터 처리 파이프라인

  1. Text Processing: 입력 텍스트를 토큰화하고 <bos> 토큰을 앞에 붙이며 줄바꿈(\n) 토큰을 추가합니다.
  2. Image Processing: 이미지를 bicubic 리샘플링으로 크기 조정합니다. SigLIP 인코더가 이미지 임베딩(1152 차원)을 생성하고, 선형 프로젝터가 이를 2048 차원으로 변환합니다.
  3. Sequence Construction: 모델은 해상도에 따라 고정된 수의 <image> 토큰을 앞에 추가합니다: 224 모델은 256, 448 모델은 1024, 896 모델은 4096.
  4. Generation: 모델은 결합된 입력(이미지 + bos + 프롬프트 + \n)에 대해 전체 블록 어텐션을 사용하고, 생성된 텍스트에 대해서는 인과 어텐션을 사용합니다.

배포 및 파인튜닝

PaliGemma는 PaliGemmaForConditionalGeneration 클래스를 통해 Hugging Face transformers 라이브러리와 통합됩니다. BitsAndBytesConfig를 사용한 4-bit 및 8-bit 로딩을 지원하며, LoRA와 QLoRA 파인튜닝을 위한 PEFT와 호환됩니다. 원래 JAX 구현을 사용하는 경우, 모델은 big_vision 코드베이스를 통해 사용할 수 있습니다.

Sources