模型简介
模型特点
模型能力
使用案例
🚀 PaliGemma 2模型卡
PaliGemma 2是一款视觉语言模型(VLM),它结合了Gemma 2模型的能力,能够同时处理图像和文本输入,并生成文本输出,支持多种语言。该模型适用于图像和短视频字幕、视觉问答、文本阅读、目标检测和目标分割等多种视觉语言任务。
🚀 快速开始
若要在Hugging Face上访问PaliGemma 2,你需要查看并同意Google的使用许可。请确保你已登录Hugging Face,然后点击下方按钮。请求将立即处理。 [确认许可](Acknowledge license)
模型页面:PaliGemma
Transformers PaliGemma 2 10B权重,使用224*224输入图像和128个令牌的输入/输出文本序列进行预训练。该模型以bfloat16
格式提供,可用于微调。
资源和技术文档:
使用条款:条款
作者:Google
✨ 主要特性
- 多模态处理:能够同时处理图像和文本输入,并生成文本输出。
- 多语言支持:支持多种语言,适用于不同地区的用户。
- 高性能微调:设计用于在各种视觉语言任务上实现领先的微调性能。
📦 安装指南
文档未提及具体安装步骤,故跳过此章节。
💻 使用示例
基础用法
from transformers import (
PaliGemmaProcessor,
PaliGemmaForConditionalGeneration,
)
from transformers.image_utils import load_image
import torch
model_id = "google/paligemma2-10b-pt-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 = ""
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 2是PaliGemma视觉语言模型(VLM)的更新版本,它融合了Gemma 2模型的能力。PaliGemma系列模型受到PaLI - 3的启发,基于开放组件构建,如SigLIP视觉模型和Gemma 2语言模型。它接受图像和文本作为输入,并生成文本作为输出,支持多种语言。该模型旨在在广泛的视觉语言任务(如图像和短视频字幕、视觉问答、文本阅读、目标检测和目标分割)上实现领先的微调性能。
模型架构
PaliGemma 2由Transformer解码器和Vision 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在安全和负责任的数据上进行训练,对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][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 |
[AOKVQA - MC][aokvqa - mc] (val) | 79.7 | 83.7 | 84.7 | 82.5 | 85.9 | 87.0 |
[ActivityNet - CAP][anet - cap] | 34.2 | 35.9 | - | - | - | - |
[ActivityNet - QA][anet - qa] | 51.3 | 53.2 | - | - | - | - |
[COCO - 35L][coco - 35l] (avg34) | 113.9 | 115.8 | 116.5 | 115.8 | 117.2 | 117.2 |
[COCO - 35L][coco - 35l] (en) | 138.4 | 140.8 | 142.4 | 140.4 | 142.4 | 142.3 |
[COCOcap][coco - cap] | 141.3 | 143.7 | 144.0 | 143.4 | 145.0 | 145.2 |
[ChartQA][chartqa] (aug) | 74.4 | 74.2 | 68.9 | 89.2 | 90.1 | 85.1 |
[ChartQA][chartqa] (human) | 42.0 | 48.4 | 46.8 | 54.0 | 66.4 | 61.3 |
[CountBenchQA][countbenchqa] | 81.0 | 84.0 | 86.4 | 82.0 | 85.3 | 87.4 |
[DocVQA][docvqa] (val) | 39.9 | 43.9 | 44.9 | 73.6 | 76.6 | 76.1 |
[GQA][gqa] | 66.2 | 67.2 | 67.3 | 68.1 | 68.3 | 68.3 |
[InfoVQA][info - vqa] (val) | 25.2 | 33.6 | 36.4 | 37.5 | 47.8 | 46.7 |
[MARVL][marvl] (avg5) | 83.5 | 89.5 | 90.6 | 82.7 | 89.1 | 89.7 |
[MSRVTT - CAP][msrvtt] | 68.5 | 72.1 | - | - | - | - |
[MSRVTT - QA][msrvtt] | 50.5 | 51.9 | - | - | - | - |
[MSVD - QA][msvd - qa] | 61.1 | 62.5 | - | - | - | - |
[NLVR2][nlvr2] | 91.4 | 93.9 | 94.2 | 91.6 | 93.7 | 94.1 |
[NoCaps][nocaps] | 123.1 | 126.3 | 127.1 | 123.5 | 126.9 | 127.0 |
[OCR - VQA][ocr - vqa] | 73.4 | 74.7 | 75.3 | 75.7 | 76.3 | 76.6 |
[OKVQA][okvqa] | 64.2 | 68.0 | 71.2 | 64.1 | 68.6 | 70.6 |
[RSVQA - hr][rsvqa - hr] (test) | 92.7 | 92.6 | 92.7 | 92.8 | 92.8 | 92.8 |
[RSVQA - hr][rsvqa - hr] (test2) | 90.9 | 90.8 | 90.9 | 90.7 | 90.7 | 90.8 |
[RSVQA - lr][rsvqa - lr] | 93.0 | 92.8 | 93.5 | 92.7 | 93.1 | 93.7 |
[RefCOCO][refcoco] (testA) | 75.7 | 77.2 | 76.8 | 78.6 | 79.7 | 79.3 |
[RefCOCO][refcoco] (testB) | 71.0 | 74.2 | 73.9 | 73.5 | 76.2 | 74.8 |
[RefCOCO][refcoco] (val) | 73.4 | 75.9 | 75.0 | 76.3 | 78.2 | 77.3 |
[RefCOCO+][refcoco +] (testA) | 72.7 | 74.7 | 73.6 | 76.1 | 77.7 | 76.6 |
[RefCOCO+][refcoco +] (testB) | 64.2 | 68.4 | 67.1 | 67.0 | 71.1 | 68.6 |
[RefCOCO+][refcoco +] (val) | 68.6 | 72.0 | 70.3 | 72.1 | 74.4 | 72.8 |
[RefCOCOg][refcocog] (test) | 69.0 | 71.9 | 70.7 | 72.7 | 74.8 | 73.7 |
[RefCOCOg][refcocog] (val) | 68.3 | 71.4 | 70.5 | 72.3 | 74.4 | 73.0 |
[ST - VQA][st - vqa] (val) | 61.9 | 64.3 | 65.1 | 80.5 | 82.0 | 81.8 |
[SciCap][scicap] | 165.1 | 159.5 | 156.9 | 183.3 | 177.2 | 172.7 |
[ScienceQA][scienceqa] | 96.1 | 98.2 | 98.2 | 96.2 | 98.5 | 98.6 |
[Screen2Words][screen2words] | 113.3 | 117.8 | 122.8 | 114.0 | 119.1 | 123.4 |
[TallyQA][tallyqa] (complex) | 70.3 | 73.4 | 74.2 | 73.6 | 76.7 | 76.8 |
[TallyQA][tallyqa] (simple) | 81.8 | 83.2 | 83.4 | 85.3 | 86.2 | 85.7 |
[TextCaps][textcaps] | 127.5 | 137.9 | 139.9 | 152.1 | 157.7 | 153.6 |
[TextVQA][textvqa] (val) | 59.6 | 64.0 | 64.7 | 75.2 | 76.6 | 76.2 |
[VATEX][vatex] | 80.8 | 82.7 | - | - | - | - |
[VQAv2][vqav2] (minival) | 83.0 | 84.3 | 84.5 | 84.8 | 85.8 | 85.8 |
[VizWizVQA][vizwiz - vqa] (val) | 76.4 | 78.1 | 78.7 | 77.5 | 78.6 | 78.9 |
[WidgetCap][widgetcap] | 138.1 | 139.8 | 138.8 | 151.4 | 151.9 | 148.9 |
[XM3600][xm3600] (avg35) | 42.8 | 44.5 | 45.2 | 43.2 | 44.6 | 45.2 |
[XM3600][xm3600] (en) | 79.8 | 80.7 | 81.0 | 80.3 | 81.5 | 81.0 |
[xGQA][xgqa] (avg7) | 58.6 | 61.4 | 61.1 | 60.4 | 62.6 | 62.1 |
其他基准测试
[ICDAR 2015 Incidental][icdar2015 - inc]
模型 | 精度 | 召回率 | F1值 |
---|---|---|---|
PaliGemma 2 3B | 81.88 | 70.73 | 75.9 |
[Total - Text][total - text]
模型 | 精度 | 召回率 | F1值 |
---|---|---|---|
PaliGemma 2 3B | 73.8 | 74.54 | 74.17 |
[FinTabNet][fintabnet]
模型 | S - TEDS | TEDS | GriTS - Top | GriTS - Con |
---|---|---|---|---|
PaliGemma 2 3B | 99.18 | 98.94 | 99.43 | 99.21 |
[PubTabNet][pubtabnet]
模型 | S - TEDS | TEDS | GriTS - Top | GriTS - Con |
---|---|---|---|---|
PaliGemma 2 3B | 97.6 | 97.31 | 97.99 | 97.84 |
[GrandStaff][grandstaff]
模型 | CER | LER | SER |
---|---|---|---|
PaliGemma 2 3B | 1.6 | 6.7 | 2.3 |
[PubChem][pubchem]
- PaliGemma 2 3B,完全匹配:94.8
[DOCCI][docci]
模型 | 平均字符数 | 平均句子数 | NES % |
---|---|---|---|
PaliGemma 2 3B | 529 | 7.74 | 28.42 |
PaliGemma 2 10B | 521 | 7.45 | 20.27 |
- avg#char:平均字符数
- avg#sent:平均句子数
- NES:非蕴含句子
[MIMIC - CXR][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][vsr]
模型 | VSR零样本分割 (测试) | VSR随机分割 (测试) |
---|---|---|
PaliGemma 2 3B | 0.75 | 0.82 |
PaliGemma 2 10B | 0.80 | 0.87 |
🛡️ 伦理与安全
评估方法
我们的评估方法包括跨相关内容政策的结构化伦理和安全评估,包括:
- 对涵盖儿童安全、内容安全和代表性危害的提示进行人工评估。有关评估方法的更多详细信息,请参阅Gemma模型卡,但采用图像字幕和视觉问答设置。
- 图像到文本基准测试评估:针对相关学术数据集(如FairFace数据集(Karkkainen等人,2021))进行基准测试。
评估结果
- 伦理和安全评估的人工评估结果在可接受的阈值范围内,符合内部政策中关于儿童安全、内容安全和代表性危害等类别。
- 除了强大的内部评估外,我们还使用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% |
中位数 | |||||||||
毒性 | 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
许可证。








