库名称:transformers
许可证:gemma
流水线标签:图像文本到文本
额外授权标题:在Hugging Face上访问PaliGemma
额外授权提示:要在Hugging Face上访问PaliGemma,您需要审阅并同意Google的使用许可。请确保您已登录Hugging Face账号并点击下方按钮。请求将立即处理。
额外授权按钮内容:确认许可
PaliGemma 2模型卡
模型页面: PaliGemma
Transformers PaliGemma 2 3B权重基于224×224输入图像在多种学术任务上微调而成。
PaliGemma 2的mix检查点针对多样化任务集进行了微调,可直接开箱使用;而pt检查点为预训练版本,适用于进一步微调。这些任务包括短长文本描述、光学字符识别、问答、目标检测与分割等。
该模型仅以bfloat16
格式提供,仅供研究用途。
资源与技术文档:
使用条款: 条款
作者: Google
模型信息
模型概述
PaliGemma 2是对PaliGemma视觉语言模型(VLM)的升级,融合了Gemma 2模型的能力。PaliGemma系列模型受PaLI-3启发,基于SigLIP视觉模型和Gemma 2语言模型等开放组件构建。它接受图像和文本输入并生成文本输出,支持多语言,专为在图像/短视频描述、视觉问答、文本阅读、目标检测与分割等广泛视觉语言任务上实现领先的微调性能而设计。
模型架构
PaliGemma 2由Transformer解码器和Vision Transformer图像编码器组成。文本解码器初始化自Gemma 2的2B/9B/27B参数版本,图像编码器初始化自SigLIP-So400m/14。与原始PaliGemma类似,PaliGemma 2遵循PaLI-3方案训练。
输入输出
- 输入: 图像及文本字符串(如图像描述提示或问题)
- 输出: 响应输入的生成文本(如图像描述、问题答案、目标边界框坐标列表或分割编码)
模型数据
预训练数据集
PaliGemma 2预训练数据混合包含:
- WebLI: 从公开网络构建的大规模多语言图文数据集,用于获取视觉语义理解、目标定位、视觉文本理解等能力
- CC3M-35L: 网页英文图像-替代文本对,通过Google翻译API扩展至34种语言
- VQ²A-CC3M-35L/VQG-CC3M-35L: VQ2A-CC3M子集,翻译为与CC3M-35L相同的34种语言
- OpenImages: 基于OpenImages数据集规则生成的目标检测问答
- WIT: 维基百科收集的图文数据
Gemma 2的预训练数据集信息详见Gemma 2模型卡。
数据责任过滤
对WebLI应用以下过滤以确保训练数据安全性:
- 色情图像过滤
- 文本安全过滤(移除涉及儿童性虐待、色情、低俗内容)
- 文本毒性过滤(使用Perspective API识别侮辱性/仇恨内容)
- 个人信息过滤(通过Cloud DLP API移除社保号等敏感信息)
- 其他基于内容质量与安全策略的方法
Transformers使用
可通过以下提示模板执行不同任务:
"cap {lang}"
: 原始短描述
"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-224"
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 |
74.7 |
83.1 |
83.2 |
76.0 |
84.4 |
84.6 |
COCO描述(英文) |
138.4 |
140.8 |
142.4 |
140.4 |
142.4 |
142.3 |
文档问答(DocVQA) |
39.9 |
43.9 |
44.9 |
73.6 |
76.6 |
76.1 |
专项测试
- ICDAR 2015 incidental文本检测: F1 75.9 (3B模型)
- 医学影像报告(MIMIC-CXR): CIDEr 19.9 (3B模型)
完整结果详见模型卡表格。
伦理与安全
评估方法
包括儿童安全、内容安全和表征危害等方面的人类评估,以及FairFace数据集上的毒性检测(使用Perspective API阈值0.8)。
评估结果
- 人类评估结果符合Google内部政策阈值
- FairFace生成描述的最大毒性比例:
- 性别组0.19%
- 种族组0.39%
- 年龄组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