模型简介
模型特点
模型能力
使用案例
🚀 PaliGemma 2 模型卡片
PaliGemma 2 是一款视觉语言模型(VLM),它结合了 Gemma 2 模型的能力,能够同时处理图像和文本输入,并生成文本输出。该模型支持多种语言,适用于图像和短视频字幕、视觉问答、文本阅读、目标检测和目标分割等广泛的视觉语言任务。
🚀 快速开始
若要在 transformers
库中使用 PaliGemma 2 模型,可参考以下代码示例。这里使用的是 google/paligemma2-28b-pt-896
模型,它是一个基础模型,建议在下游任务上进行微调后使用。
以下是一个展示如何微调 PaliGemma 2 的 笔记本。
from transformers import (
PaliGemmaProcessor,
PaliGemmaForConditionalGeneration,
)
from transformers.image_utils import load_image
import torch
model_id = "google/paligemma2-28b-pt-896"
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 = ""
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)
✨ 主要特性
- 多模态处理:能够同时接受图像和文本作为输入,并生成文本输出,支持多种语言。
- 广泛的任务适用性:适用于图像和短视频字幕、视觉问答、文本阅读、目标检测和目标分割等多种视觉语言任务。
- 可微调性:预训练模型可以在特定的视觉语言任务上进行微调,以适应不同的应用场景。
📦 安装指南
文档未提及具体安装步骤,故跳过此章节。
💻 使用示例
基础用法
from transformers import (
PaliGemmaProcessor,
PaliGemmaForConditionalGeneration,
)
from transformers.image_utils import load_image
import torch
model_id = "google/paligemma2-28b-pt-896"
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 = ""
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)
高级用法
文档未提及高级用法相关代码,故跳过此部分。
📚 详细文档
模型信息
模型概述
PaliGemma 2 是 PaliGemma 视觉语言模型(VLM)的更新版本,它融合了 Gemma 2 模型的能力。PaliGemma 系列模型受到 PaLI - 3 的启发,并基于 SigLIP 视觉模型和 Gemma 2 语言模型等开放组件构建。它可以同时接受图像和文本作为输入,并生成文本输出,支持多种语言。该模型旨在在图像和短视频字幕、视觉问答、文本阅读、目标检测和目标分割等广泛的视觉语言任务上实现一流的微调性能。
模型架构
PaliGemma 2 由 Transformer 解码器 和 视觉 Transformer 图像编码器 组成。文本解码器从参数规模为 2B、9B 和 27B 的 Gemma 2 初始化。图像编码器从 SigLIP - So400m/14 初始化。与原始的 PaliGemma 模型类似,PaliGemma 2 按照 PaLI - 3 的方法进行训练。
输入和输出
- 输入:图像和文本字符串,例如为图像添加字幕的提示或问题。
- 输出:针对输入生成的文本,例如图像的字幕、问题的答案、目标边界框坐标列表或分割码字。
引用
@article{
title={PaliGemma 2: A Family of Versatile VLMs for Transfer},
author={Andreas Steiner and André Susano Pinto and Michael Tschannen and Daniel Keysers and Xiao Wang and Yonatan Bitton and Alexey Gritsenko and Matthias Minderer and Anthony Sherbondy and Shangbang Long and Siyang Qin and Reeve Ingle and Emanuele Bugliarello and Sahar Kazemzadeh and Thomas Mesnard and Ibrahim Alabdulmohsin and Lucas Beyer and Xiaohua Zhai},
year={2024},
journal={arXiv preprint arXiv:2412.03555}
}
模型数据
预训练数据集
PaliGemma 2 在以下数据集的混合上进行预训练:
- WebLI:WebLI(Web Language Image) 是一个基于公共网络构建的网络规模多语言图像 - 文本数据集。使用了多种 WebLI 分割来获得通用的模型能力,例如视觉语义理解、目标定位、视觉情境文本理解和多语言能力。
- CC3M - 35L:从网页中精心挑选的英文图像 - 替代文本对(Sharma 等人,2018)。使用 Google Cloud Translation API 将其翻译成另外 34 种语言。
- VQ²A - CC3M - 35L/VQG - CC3M - 35L:VQ2A - CC3M 的一个子集(Changpinyo 等人,2022a),使用 Google Cloud Translation API 翻译成与 CC3M - 35L 相同的另外 34 种语言。
- OpenImages:基于 OpenImages 数据集 通过手工规则生成的检测和目标感知问题及答案(Piergiovanni 等人,2022)。
- WIT:从维基百科收集的图像和文本(Srinivasan 等人,2021)。
PaliGemma 2 基于 Gemma 2,你可以在 Gemma 2 模型卡片 中找到 Gemma 2 预训练数据集的相关信息。
数据责任过滤
为了在安全和负责任的数据上训练 PaliGemma 2,对 WebLI 应用了以下过滤:
- 色情图像过滤:此过滤器会移除被认为具有色情性质的图像。
- 文本安全过滤:识别并过滤掉与不安全文本配对的图像。不安全文本是指任何被认为包含或涉及儿童性虐待图像(CSAI)、色情内容、粗俗语言或其他冒犯性内容的文本。
- 文本毒性过滤:进一步使用 Perspective API 识别并过滤掉与被认为具有侮辱性、淫秽性、仇恨性或其他毒性的文本配对的图像。
- 文本个人信息过滤:使用 Cloud Data Loss Prevention (DLP) API 过滤某些个人信息和其他敏感数据,以保护个人隐私。移除了如社会安全号码和 其他敏感信息类型 等标识符。
- 其他方法:根据我们的政策和实践,基于内容质量和安全性进行过滤。
实现信息
硬件
PaliGemma 2 使用最新一代的张量处理单元(TPU)硬件(TPUv5e)进行训练。
软件
训练使用了 JAX、Flax、TFDS 和 big_vision
。
JAX 允许研究人员利用最新一代的硬件(包括 TPU),以更快、更高效地训练大型模型。
TFDS 用于访问数据集,Flax 用于模型架构。PaliGemma 2 的微调代码和推理代码在 big_vision
GitHub 仓库中发布。
评估信息
基准测试结果
为了验证 PaliGemma 2 在各种学术任务上的可迁移性,我们在每个任务上对预训练模型进行微调。我们报告了不同分辨率下的结果,以了解哪些任务受益于更高的分辨率。重要的是,这些任务或数据集都不是预训练数据混合的一部分,并且它们的图像已从网络规模的预训练数据中明确移除。
PaliGemma 2 按模型分辨率和规模的结果
基准测试 | 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 |
[AOKVQA - DA](https://allenai.org/project/a - okvqa/home) (验证集) | 64.2 | 68.9 | 70.2 | 67.9 | 70.8 | 71.2 |
[AOKVQA - MC](https://allenai.org/project/a - okvqa/home) (验证集) | 79.7 | 83.7 | 84.7 | 82.5 | 85.9 | 87.0 |
[ActivityNet - CAP](https://paperswithcode.com/dataset/activitynet - captions) | 34.2 | 35.9 | - | - | - | - |
ActivityNet - QA | 51.3 | 53.2 | - | - | - | - |
COCO - 35L (平均 34 种语言) | 113.9 | 115.8 | 116.5 | 115.8 | 117.2 | 117.2 |
COCO - 35L (英语) | 138.4 | 140.8 | 142.4 | 140.4 | 142.4 | 142.3 |
COCOcap | 141.3 | 143.7 | 144.0 | 143.4 | 145.0 | 145.2 |
ChartQA (增强) | 74.4 | 74.2 | 68.9 | 89.2 | 90.1 | 85.1 |
ChartQA (人工) | 42.0 | 48.4 | 46.8 | 54.0 | 66.4 | 61.3 |
[CountBenchQA](https://github.com/google - research/big_vision/blob/main/big_vision/datasets/countbenchqa/) | 81.0 | 84.0 | 86.4 | 82.0 | 85.3 | 87.4 |
DocVQA (验证集) | 39.9 | 43.9 | 44.9 | 73.6 | 76.6 | 76.1 |
GQA | 66.2 | 67.2 | 67.3 | 68.1 | 68.3 | 68.3 |
InfoVQA (验证集) | 25.2 | 33.6 | 36.4 | 37.5 | 47.8 | 46.7 |
[MARVL](https://marvl - challenge.github.io/) (平均 5 种语言) | 83.5 | 89.5 | 90.6 | 82.7 | 89.1 | 89.7 |
[MSRVTT - CAP](https://paperswithcode.com/dataset/msr - vtt) | 68.5 | 72.1 | - | - | - | - |
[MSRVTT - QA](https://paperswithcode.com/dataset/msr - vtt) | 50.5 | 51.9 | - | - | - | - |
[MSVD - QA](https://paperswithcode.com/dataset/msvd - qa) | 61.1 | 62.5 | - | - | - | - |
NLVR2 | 91.4 | 93.9 | 94.2 | 91.6 | 93.7 | 94.1 |
NoCaps | 123.1 | 126.3 | 127.1 | 123.5 | 126.9 | 127.0 |
[OCR - VQA](https://ocr - vqa.github.io/) | 73.4 | 74.7 | 75.3 | 75.7 | 76.3 | 76.6 |
OKVQA | 64.2 | 68.0 | 71.2 | 64.1 | 68.6 | 70.6 |
RSVQA - hr (测试集) | 92.7 | 92.6 | 92.7 | 92.8 | 92.8 | 92.8 |
RSVQA - hr (测试集 2) | 90.9 | 90.8 | 90.9 | 90.7 | 90.7 | 90.8 |
RSVQA - lr | 93.0 | 92.8 | 93.5 | 92.7 | 93.1 | 93.7 |
RefCOCO (测试集 A) | 75.7 | 77.2 | 76.8 | 78.6 | 79.7 | 79.3 |
RefCOCO (测试集 B) | 71.0 | 74.2 | 73.9 | 73.5 | 76.2 | 74.8 |
RefCOCO (验证集) | 73.4 | 75.9 | 75.0 | 76.3 | 78.2 | 77.3 |
[RefCOCO+](https://aclanthology.org/D14 - 1086) (测试集 A) | 72.7 | 74.7 | 73.6 | 76.1 | 77.7 | 76.6 |
[RefCOCO+](https://aclanthology.org/D14 - 1086) (测试集 B) | 64.2 | 68.4 | 67.1 | 67.0 | 71.1 | 68.6 |
[RefCOCO+](https://aclanthology.org/D14 - 1086) (验证集) | 68.6 | 72.0 | 70.3 | 72.1 | 74.4 | 72.8 |
RefCOCOg (测试集) | 69.0 | 71.9 | 70.7 | 72.7 | 74.8 | 73.7 |
RefCOCOg (验证集) | 68.3 | 71.4 | 70.5 | 72.3 | 74.4 | 73.0 |
ST - VQA (验证集) | 61.9 | 64.3 | 65.1 | 80.5 | 82.0 | 81.8 |
SciCap | 165.1 | 159.5 | 156.9 | 183.3 | 177.2 | 172.7 |
ScienceQA | 96.1 | 98.2 | 98.2 | 96.2 | 98.5 | 98.6 |
Screen2Words | 113.3 | 117.8 | 122.8 | 114.0 | 119.1 | 123.4 |
TallyQA (复杂) | 70.3 | 73.4 | 74.2 | 73.6 | 76.7 | 76.8 |
TallyQA (简单) | 81.8 | 83.2 | 83.4 | 85.3 | 86.2 | 85.7 |
TextCaps | 127.5 | 137.9 | 139.9 | 152.1 | 157.7 | 153.6 |
TextVQA (验证集) | 59.6 | 64.0 | 64.7 | 75.2 | 76.6 | 76.2 |
VATEX | 80.8 | 82.7 | - | - | - | - |
VQAv2 (最小验证集) | 83.0 | 84.3 | 84.5 | 84.8 | 85.8 | 85.8 |
[VizWizVQA](https://vizwiz.org/tasks - and - datasets/vqa/) (验证集) | 76.4 | 78.1 | 78.7 | 77.5 | 78.6 | 78.9 |
WidgetCap | 138.1 | 139.8 | 138.8 | 151.4 | 151.9 | 148.9 |
XM3600 (平均 35 种语言) | 42.8 | 44.5 | 45.2 | 43.2 | 44.6 | 45.2 |
XM3600 (英语) | 79.8 | 80.7 | 81.0 | 80.3 | 81.5 | 81.0 |
[xGQA](https://aclanthology.org/2022.findings - acl.196/) (平均 7 种语言) | 58.6 | 61.4 | 61.1 | 60.4 | 62.6 | 62.1 |
额外基准测试
模型 | 精确率 | 召回率 | F1 值 |
---|---|---|---|
PaliGemma 2 3B | 81.88 | 70.73 | 75.9 |
[Total - Text](https://paperswithcode.com/paper/total - text - a - comprehensive - dataset - for - scene)
模型 | 精确率 | 召回率 | F1 值 |
---|---|---|---|
PaliGemma 2 3B | 73.8 | 74.54 | 74.17 |
模型 | S - TEDS | TEDS | GriTS - Top | GriTS - Con |
---|---|---|---|---|
PaliGemma 2 3B | 99.18 | 98.94 | 99.43 | 99.21 |
模型 | S - TEDS | TEDS | GriTS - Top | GriTS - Con |
---|---|---|---|---|
PaliGemma 2 3B | 97.6 | 97.31 | 97.99 | 97.84 |
[GrandStaff](https://link.springer.com/article/10.1007/s10032 - 023 - 00432 - z)
模型 | CER | LER | SER |
---|---|---|---|
PaliGemma 2 3B | 1.6 | 6.7 | 2.3 |
- PaliGemma 2 3B,完全匹配:94.8
[DOCCI](https://research.google/pubs/docci - descriptions - of - connected - and - contrasting - images/)
模型 | 平均字符数 | 平均句子数 | 非蕴含句子百分比 |
---|---|---|---|
PaliGemma 2 3B | 529 | 7.74 | 28.42 |
PaliGemma 2 10B | 521 | 7.45 | 20.27 |
- 平均字符数:平均字符数量
- 平均句子数:平均句子数量
- 非蕴含句子百分比:非蕴含句子的比例
[MIMIC - CXR](https://paperswithcode.com/dataset/mimic - cxr)
模型 | CIDEr | BLEU4 | Rouge - L | RadGraph F1 |
---|---|---|---|---|
PaliGemma 2 3B | 19.9% | 14.6% | 31.92% | 28.8% |
PaliGemma 2 10B | 17.4% | 15% | 32.41% | 29.5% |
[Visual Spatial Reasoning](https://direct.mit.edu/tacl/article/doi/10.1162/tacl_a_00566/116470/Visual - Spatial - Reasoning)
模型 | VSR 零样本分割 (测试集) | VSR 随机分割 (测试集) |
---|---|---|
PaliGemma 2 3B | 0.75 | 0.82 |
PaliGemma 2 10B | 0.80 | 0.87 |
伦理和安全
评估方法
我们的评估方法包括跨相关内容政策的结构化伦理和安全评估,包括:
- 人工评估:对涵盖儿童安全、内容安全和代表性危害的提示进行人工评估。有关评估方法的更多详细信息,请参阅 Gemma 模型卡片,但采用图像字幕和视觉问答设置。
- 图像到文本基准评估:针对相关学术数据集(如 FairFace 数据集 (Karkkainen 等人,2021))进行基准测试。
评估结果
- 人工评估结果:伦理和安全评估的人工评估结果在满足 [内部政策](https://storage.googleapis.com/gweb - uniblog - publish - prod/documents/2023_Google_AI_Principles_Progress_Update.pdf#page=11) 的可接受阈值内,涉及儿童安全、内容安全和代表性危害等类别。
- 毒性测量:除了进行强大的内部评估外,我们还使用 Perspective API(阈值为 0.8)来测量从 FairFace 数据集获取的图像生成字幕中的毒性、亵渎和其他潜在问题。我们报告了每个感知性别、种族和年龄属性的子组中观察到的最大值和中值。
指标 | 感知性别(最大值) | 种族(最大值) | 年龄组(最大值) | ||||||
---|---|---|---|---|---|---|---|---|---|
模型规模 | 3B | 10B | 28B | 3B | 10B | 28B | 3B | 10B | 28B |
毒性 | 0.14% | 0.15% | 0.19% | 0.29% | 0.39% | 0.39% | 0.26% | 0.18% | 0.32% |
身份攻击 | 0.04% | 0.02% | 0.02% | 0.13% | 0.06% | 0.06% | 0.06% | 0.03% | 0.06% |
侮辱 | 0.17% | 0.25% | 0.17% | 0.37% | 0.52% | 0.52% | 0.27% | 0.39% | 0.24% |
威胁 | 0.55% | 0.43% | 0.57% | 0.83% | 0.48% | 0.48% | 0.64% | 0.43% | 0.64% |
亵渎 | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% |
指标 | 感知性别(中值) | 种族(中值) | 年龄组(中值) | ||||||
模型规模 | 3B | 10B | 28B | 3B | 10B | 28B | 3B | 10B | 28B |
毒性 | 0.13% | 0.10% | 0.18% | 0.07% | 0.07% | 0.14% | 0.12% | 0.08% | 0.12% |
身份攻击 | 0.02% | 0.01% | 0.02% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% |
侮辱 | 0.15% | 0.23% | 0.14% | 0.14% | 0.17% | 0.13% | 0.09% | 0.18% | 0.16% |
威胁 | 0.35% | 0.27% | 0.41% | 0.28% | 0.19% | 0.42% | 0.27% | 0.31% | 0.40% |
亵渎 | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% |
使用和限制
预期用途
开放视觉语言模型(VLM)在各个行业和领域都有广泛的应用。以下潜在用途列表并不全面。此列表的目的是提供有关模型创建者在模型训练和开发过程中考虑的可能用例的上下文信息。Gemma 模型的禁止用途在 Gemma 禁止使用政策 中列出。
特定视觉语言任务的微调
- 广泛的视觉语言任务:预训练模型可以在广泛的视觉语言任务上进行微调,如图像字幕、短视频字幕、视觉问答、文本阅读、目标检测和目标分割。
- 特定领域:预训练模型可以针对特定领域进行微调,如遥感问答、盲人的视觉问题、科学问答、描述 UI 元素功能。
- 非文本输出任务:预训练模型可以针对具有非文本输出(如边界框或分割掩码)的任务进行微调。
视觉语言研究
- 研究基础:预训练模型和微调模型可以为研究人员提供基础,用于实验 VLM 技术、开发算法,并为该领域的发展做出贡献。
伦理考虑和风险
视觉语言模型(VLM)的发展引发了一些伦理问题。在创建开放模型时,我们仔细考虑了以下方面:
- 偏差和公平性:在大规模现实世界图像 - 文本数据上训练的 VLM 可能反映训练材料中嵌入的社会文化偏差。这些模型经过了仔细审查,本卡片中描述了输入数据预处理和后续评估情况。
- 错误信息和滥用:VLM 可能被滥用来生成虚假、误导或有害的文本。提供了负责任使用模型的指南,请参阅 Responsible Generative AI Toolkit。
- 透明度和问责制:本模型卡片总结了模型的架构、能力、限制和评估过程的详细信息。一个负责任开发的开放模型为整个 AI 生态系统的开发者和研究人员提供了共享创新的机会,使 VLM 技术更易于获取。
已识别的风险和缓解措施
- 偏差的延续:鼓励在模型训练、微调及其他用例中进行持续监测(使用评估指标、人工审查),并探索去偏技术。
- 有害内容的生成:内容安全机制和指南至关重要。鼓励开发者谨慎行事,并根据其特定的产品政策和应用用例实施适当的内容安全保障措施。
- 恶意用途:技术限制以及对开发者和最终用户的教育有助于减轻大语言模型的恶意应用。提供了教育资源和用户举报滥用的机制,请参阅 Responsible Generative AI Toolkit。Gemma 模型的禁止用途在 Gemma 禁止使用政策 中列出。
- 隐私侵犯:模型在经过过滤以去除某些个人信息和敏感数据的数据上进行训练。鼓励开发者遵守隐私法规,并采用隐私保护技术。
限制
- 继承的限制:大多数从基础 Gemma 2 模型继承的限制仍然适用:
- 任务适应性:VLM 在具有明确提示和说明的任务上表现更好。开放式或高度复杂的任务可能具有挑战性。
- 语言理解:自然语言本质上很复杂。VLM 可能难以理解微妙的细微差别、讽刺或比喻性语言。
- 事实准确性:VLM 根据从训练数据集中学到的信息生成响应,但它们不是知识库。它们可能生成不正确或过时的事实陈述。
- 常识推理:VLM 依赖于语言和图像中的统计模式。它们可能在某些情况下缺乏应用常识推理的能力。
- 通用性性能:PaliGemma 2 首先是作为用于微调至特定任务的通用预训练模型而设计的。因此,其“开箱即用”或“零样本”性能可能落后于专门为通用用途设计的模型。
- 交互方式:PaliGemma 2 不是多轮聊天机器人。它设计用于单轮图像和文本输入。
🔧 技术细节
模型相关资源
- 模型页面:PaliGemma
- 资源和技术文档:
- [PaliGemma 2 on Kaggle](https://www.kaggle.com/models/google/paligemma - 2)
- Responsible Generative AI Toolkit
- 使用条款:条款
- 作者:Google
访问说明
若要在 Hugging Face 上访问 PaliGemma,你需要审查并同意 Google 的使用许可。为此,请确保你已登录 Hugging Face 并点击下方按钮。请求将立即处理。
[确认许可](https://huggingface.co/gated - models)
📄 许可证
文档中提及许可证为 gemma
,但未提供更多详细信息。








