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) |
추론 및 구현 세부 사항
데이터 처리 파이프라인
- Text Processing: 입력 텍스트를 토큰화하고
<bos>토큰을 앞에 붙이며 줄바꿈(\n) 토큰을 추가합니다. - Image Processing: 이미지를 bicubic 리샘플링으로 크기 조정합니다. SigLIP 인코더가 이미지 임베딩(1152 차원)을 생성하고, 선형 프로젝터가 이를 2048 차원으로 변환합니다.
- Sequence Construction: 모델은 해상도에 따라 고정된 수의
<image>토큰을 앞에 추가합니다: 224 모델은 256, 448 모델은 1024, 896 모델은 4096. - Generation: 모델은 결합된 입력(이미지 + bos + 프롬프트 + \n)에 대해 전체 블록 어텐션을 사용하고, 생성된 텍스트에 대해서는 인과 어텐션을 사용합니다.
배포 및 파인튜닝
PaliGemma는 PaliGemmaForConditionalGeneration 클래스를 통해 Hugging Face transformers 라이브러리와 통합됩니다. BitsAndBytesConfig를 사용한 4-bit 및 8-bit 로딩을 지원하며, LoRA와 QLoRA 파인튜닝을 위한 PEFT와 호환됩니다. 원래 JAX 구현을 사용하는 경우, 모델은 big_vision 코드베이스를 통해 사용할 수 있습니다.