库名称:transformers
许可证:gemma
流水线标签:图像文本到文本
额外授权标题:在Hugging Face上访问PaliGemma
额外授权提示:要在Hugging Face上访问PaliGemma,您需要审阅并同意Google的使用许可。请确保您已登录Hugging Face账号并点击下方按钮。请求将立即处理。
额外授权按钮内容:确认许可
PaliGemma 2模型卡
模型页面: PaliGemma
Transformers PaliGemma 2 3B权重基于448x448输入图像在多种学术任务上微调。
PaliGemma 2的mix检查点针对多样化任务集微调,可直接使用;而pt检查点为预训练版本,适合进一步微调。任务涵盖短/长描述生成、光学字符识别、问答、目标检测与分割等。
该模型仅提供bfloat16
格式,仅供研究用途。
资源与技术文档:
使用条款: 条款
作者: Google
模型信息
模型概述
PaliGemma 2是PaliGemma视觉语言模型(VLM)的升级版,融合了Gemma 2模型的能力。该系列模型灵感来自PaLI-3,基于SigLIP视觉模型和Gemma 2语言模型等开放组件。它支持多语言,输入为图像和文本,输出为生成文本,专为图像/短视频描述、视觉问答、文本阅读、目标检测与分割等任务设计。
模型架构
PaliGemma 2由Transformer解码器和Vision Transformer图像编码器组成。文本解码器初始化自Gemma 2的2B/9B/27B参数版本,图像编码器初始化自SigLIP-So400m/14。训练遵循PaLI-3方案。
输入输出
- 输入: 图像及文本字符串(如图像描述提示或问题)
- 输出: 响应生成的文本(如图像描述、问题答案、目标框坐标或分割代码)
模型数据
预训练数据集
PaliGemma 2预训练数据混合包括:
- WebLI: 来自公共网页的多语言图文数据集,涵盖视觉语义理解、目标定位、多语言能力等
- CC3M-35L: 网页英文图像-替代文本对,通过Google翻译API扩展至34种语言
- VQ²A-CC3M-35L/VQG-CC3M-35L: VQ2A-CC3M子集,翻译为相同34种语言
- OpenImages: 基于OpenImages数据集的手工规则生成检测与目标感知问答
- WIT: 维基百科收集的图文数据
Gemma 2预训练数据集信息见Gemma 2模型卡。
数据责任过滤
对WebLI应用以下过滤以确保数据安全性:
- 色情图像过滤
- 文本安全过滤(移除涉及儿童性虐待、色情、污秽等内容)
- 文本毒性过滤(使用Perspective API识别侮辱/仇恨言论)
- 文本个人信息过滤(通过Cloud DLP API移除社保号等敏感信息)
- 其他方法:基于内容质量与安全策略的额外过滤
Transformers使用
可通过以下提示模板执行不同任务:
"cap {lang}"
: 简短描述(来自WebLI-alt)
"caption {lang}"
: 类似COCO的优质短描述
"describe {lang}"
: 更详细的长描述
"ocr"
: 光学字符识别
"answer {lang} {question}"
: 图像内容问答
"question {lang} {answer}"
: 根据答案生成问题
"detect {object} ; {object}"
: 定位图像中目标并返回边界框
"segment {object}"
: 生成目标分割区域
from transformers import (
PaliGemmaProcessor,
PaliGemmaForConditionalGeneration,
)
from transformers.image_utils import load_image
import torch
model_id = "google/paligemma2-3b-mix-448"
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/car.jpg"
image = load_image(url)
model = PaliGemmaForConditionalGeneration.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto").eval()
processor = PaliGemmaProcessor.from_pretrained(model_id)
prompt = "describe en"
model_inputs = processor(text=prompt, images=image, return_tensors="pt").to(torch.bfloat16).to(model.device)
input_len = model_inputs["input_ids"].shape[-1]
with torch.inference_mode():
generation = model.generate(**model_inputs, max_new_tokens=100, do_sample=False)
generation = generation[0][input_len:]
decoded = processor.decode(generation, skip_special_tokens=True)
print(decoded)
微调示例见此笔记本。
实现信息
硬件
使用最新TPUv5e硬件训练。
软件
基于JAX、Flax、TFDS和big_vision
实现。
评估信息
基准测试结果
下表展示不同分辨率与模型尺寸在未参与预训练的学术任务上的微调表现:
基准测试 |
224-3B |
224-10B |
224-28B |
448-3B |
448-10B |
448-28B |
[AI2D][ai2d] |
74.7 |
83.1 |
83.2 |
76.0 |
84.4 |
84.6 |
[AOKVQA-DA][aokvqa-da] (val) |
64.2 |
68.9 |
70.2 |
67.9 |
70.8 |
71.2 |
...(其余基准数据省略)... |
|
|
|
|
|
|
附加基准
[ICDAR 2015 Incidental][icdar2015-inc]
模型 |
精确率 |
召回率 |
F1 |
PaliGemma 2 3B |
81.9 |
70.7 |
75.9 |
...(其他基准数据省略)...
伦理与安全
评估方法
包括结构化伦理安全评估:
- 人工评估儿童安全、内容安全与表征危害
- 使用FairFace数据集进行图像到文本基准测试
评估结果
- 人工评估结果符合Google内部政策阈值
- 使用Perspective API(阈值0.8)测量FairFace图像生成描述的毒性,下表展示不同属性组的最大值与中位数:
指标 |
3B性别 |
10B性别 |
... |
28B年龄 |
最大值 |
|
|
|
|
毒性 |
0.14% |
0.15% |
... |
0.32% |
...(其余指标省略)... |
|
|
|
|
使用与限制
预期用途
- 微调特定视觉语言任务(如图像描述、视觉问答)
- 视觉语言研究基础
- 领域适配(如遥感问答、医学影像分析)
伦理考量与风险
- 偏见与公平性: 训练数据可能反映社会文化偏见,已通过预处理和后评估缓解
- 错误信息与滥用: 需遵循负责任生成式AI工具包指南
- 透明度与问责: 本模型卡详述架构与评估流程
局限性
- 继承Gemma 2模型的限制:对复杂任务、隐含语义的理解有限
- 主要为微调设计,零样本性能可能弱于通用模型
- 非多轮对话模型,仅支持单轮图像文本输入
引用
@article{
title={PaliGemma 2: A Family of Versatile VLMs for Transfer},
author={Andreas Steiner et al.},
year={2024},
journal={arXiv preprint arXiv:2412.03555}
}
论文链接:arXiv
(注:为简洁起见,部分基准测试数据表格和链接引用未完全展开,完整内容请参考原始文档。)