分享好友 最新动态首页 最新动态分类 切换频道
PaliGemma 正式发布 — Google 最新发布的前沿开放视觉语言模型
2024-12-26 14:53

PaliGemma 是 Google 推出的新一代视觉语言模型家族,能够接收图像与文本输入并生成文本输出。

PaliGemma 正式发布 — Google 最新发布的前沿开放视觉语言模型

Google 团队已推出三种类型的模型:预训练 (PT) 模型、混合模型和微调 (FT) 模型,这些模型分辨率各异,提供多种精度以便使用。

所有模型均在 Hugging Face Hub 的模型库中发布,配备了模型说明和许可证,并且支持 transformers 集成。

PaliGemma (Github) 是一系列具有视觉和语言处理能力的模型,由SigLIP-So400m作为图像编码器和Gemma-2B作为文本解码器构成。SigLIP 是一个顶尖的模型,可以同时解析图像和文本。它的工作方式类似于 CLIP,包括图像和文本编码器的联合训练。与PaLI-3相似,PaliGemma 模型在图像-文本数据上进行预训练后,可轻松针对下游任务 (如图像标题生成或指代分割) 进行微调。Gemma是一个专为文本生成设计的解码器模型。通过线性适配器将 SigLIP 的图像编码功能与 Gemma 结合,使 PaliGemma 成为一个功能强大的视觉语言模型。

  • Githubhttps://github.com/google-research/big_vision/blob/main/big_vision/configs/proj/paligemma/README.md

  • SigLIP-So400mhttps://hf.co/google/siglip-so400m-patch14-384

  • Gemma-2Bhttps://hf.co/google/gemma-2b

  • PaLI-3https://arxiv.org/abs/2310.09199

    • PT 检查点:预训练模型,可用于下游任务的微调

    • 混合检查点:已针对任务混合进行微调的 PT 模型,适合使用自由文本提示进行通用推理,仅限研究使用

    • FT 检查点:针对不同学术基准进行微调的模型,提供多种分辨率,仅限研究使用。

    这些模型提供三种分辨率 (224x224、448x448、896x896) 和三种精度 (bfloat16、float16、float32) 。每个版本都包含给定分辨率和任务的检查点,每种精度有三个版本。每个版本的main分支包含float32检查点,而bfloat16和float16版本则包含相应精度的检查点。同时提供了与 transformers 兼容的模型,以及原始 JAX 实现的版本。

    正如后续详细说明的,高分辨率模型因输入序列较长而需要更多内存。虽然它们可能有助于执行细粒度任务,如 OCR,但对大多数任务的质量提升较小。224 版本已足够应对大多数场景。

    你可以在这个 Hugging Face合集中找到所有相关模型和 Space 应用。

    • 合集https://hf.co/collections/google/paligemma-release-6643a9ffbf57de2ae0448dda

    PaliGemma 是一个单轮视觉语言模型,不适用于对话场景,最佳应用是针对特定用例进行微调。

    你可以通过设置任务前缀,如“detect”或“segment”,来配置模型解决的任务。预训练模型即是通过这种方式训练的,赋予其丰富的功能 (问题回答、图像标题生成、图像分割等) 。然而,这些模型并非设计为直接使用,而是通过微调以适应特定任务,使用类似的提示结构。对于交互式测试,你可以使用已对多任务进行微调的“mix”系列模型。

    以下是使用混合检查点展示的一些功能示例。

    图像标题生成

    模型MMVP 准确率POPE 准确率 (随机/流行/对抗)mix-22446.0088.00 86.63 85.67mix-44845.3389.37 88.40 87.47

    除了预训练和混合模型之外,Google 还发布了已针对各种任务进行微调的模型。这些模型对应于研究社区可用于比较性能的学术基准。以下是一些选定的模型,这些模型也提供了不同的分辨率。你可以查看任何一个模型的模型卡以获取所有度量指标。

    模型名称数据集/任务转移任务中的得分paligemma-3b-ft-vqav2-448图解理解在 VQAV2 上的准确率为 85.64paligemma-3b-ft-cococap-448COCO 标题CIDEr 为 144.6paligemma-3b-ft-science-qa-448科学问题回答在没有 CoT 的 ScienceQA Img 子集上的准确率为 95.93paligemma-3b-ft-refcoco-seg-896图像中特定对象的理解在 refcoco 上的平均 IoU 为 76.94,在 refcoco+ 上为 72.18,在 refcocog 上为 72.22paligemma-3b-ft-rsvqa-hr-224遥感视觉问题回答在 test 上的准确率为 92.61,在 test2 上为 90.58
    • paligemma-3b-ft-vqav2-448https://hf.co/google/paligemma-3b-ft-vqav2-448

    • paligemma-3b-ft-cococap-448https://hf.co/google/paligemma-3b-ft-cococap-448

    • paligemma-3b-ft-science-qa-448https://hf.co/google/paligemma-3b-ft-science-qa-448

    • paligemma-3b-ft-refcoco-seg-896https://hf.co/google/paligemma-3b-ft-refcoco-seg-896

    • paligemma-3b-ft-rsvqa-hr-224https://hf.co/google/paligemma-3b-ft-rsvqa-hr-224

    作为此次发布的一部分,我们提供了一个Space 应用,直接用bigvision 仓库中的参考实现,并提供了一个简便的方式来使用混合模型。

    • Space 应用https://hf.co/spaces/google/paligemma

    • bigvision 仓库https://github.com/google-research/big_vision

    我们还有一个与 Transformers 兼容的演示版本,展示了如何使用 PaliGemma transformers API。

    • 演示版本https://hf.co/spaces/google/paligemma-hf

    要获取 PaliGemma 模型的访问权限,你需要接受 Gemma 许可条款和条件。如果你已经可以访问 Hugging Face 中的其他 Gemma 模型,那么你已经准备好了。否则,请访问任何一个 PaliGemma 模型,并在你同意许可时接受它。一旦你获得了访问权限,你需要通过notebooklogin或huggingface-cli login进行认证。登录后,你就可以开始了

    • notebookloginhttps://hf.co/docs/huggingface_hub/v0.21.2/en/package_reference/login#huggingfacehub.notebooklogin

    • huggingface-cli loginhttps://hf.co/docs/huggingface_hub/en/guides/cli#huggingface-cli-login

    你还可以立即在此 notebook中尝试运行推理。

    • 此 notebookhttps://colab.research.google.com/drive/1gOhRCFyt9yIoasJkd4VoaHcIqJPdJnlg?usp=sharing

    使用 Transformers

    你可以使用PaliGemmaForConditionalGeneration类来推断任何已发布的模型。只需使用内置的处理器预处理提示和图像,然后传递预处理输入进行生成。

    你还可以按以下方式加载 4 位模型。

    除了 4 位 (或 8 位) 加载,transformers 集成还允许你利用 Hugging Face 生态系统中的其他工具,例如

    • 训练和推理脚本以及示例

    • 序列化到安全文件 safetensorshttps://hf.co/docs/safetensors/en/index

    • 与工具集成,如PEFT (参数效率微调)https://hf.co/docs/peft/en/index

    • 实用工具和助手https://hf.co/docs/transformers/v4.34.0/en/internal/generationutils来运行模型生成

    如果你想编写自己的预处理或训练代码,或想更详细地了解 PaliGemma 如何工作,以下是输入图像和文本的处理步骤

    输入文本会正常进行标记化。会在开头添加一个标记,并附加一个额外的换行标记 ( ) 。这个换行标记是模型训练中输入提示的重要部分,因此明确添加它以确保它始终存在。标记化的文本还以固定数量的标记为前缀。

    需要多少个?这取决于输入图像的分辨率和 SigLIP 模型使用的贴片大小。PaliGemma 模型预先训练在三种正方形大小 (224x224、448x448 或 896x896) 之一,并始终使用 14 的贴片大小。因此,要添加的标记数量是 224 模型的 256 (224/14  224/14) ,448 模型的 1024,896 模型的 4096。

    更大的图像导致输入序列显著增长,因此需要更多的内存。在考虑使用哪种模型时,请记住这一点。对于细粒度任务,如 OCR,使用较大图像可能有助于实现更好的结果,但对于大多数任务,质量提升不大。在决定升级到更高分辨率之前,请先在你的任务上进行测试

    这个完整的“提示”通过语言模型的文本嵌入层,并生成每个标记 2048 维的标记嵌入。

    与此同时,输入图像经过调整大小,使用双三次重采样至所需的输入大小 (对于最小分辨率模型为 224x224) 。然后,它通过 SigLIP 图像编码器生成每个贴片 1152 维的图像嵌入。这里线性投影器发挥作用:将图像嵌入投影以获取 2048 维每贴片的表示,与文本标记获得的表示相同。最终的图像嵌入然后与文本嵌入合并,这是用于自回归文本生成的最终输入。

    生成在自回归模式下正常工作,对整个输入 (image + bos + prompt + ) 使用完整块注意力,并对生成的文本使用因果注意力掩码。

    所有这些细节都在处理器和模型类中自动处理,因此可以使用前面示例中所示的熟悉的高级 transformers API 进行推理。

    使用 bigvision

    PaliGemma 是在bigvision代码库中训练的。该代码库已用于开发如 BiT、原始 ViT、LiT、CapPa、SigLIP 等模型。

    • bigvisionhttps://github.com/google-research/big_vision

    项目配置文件夹configs/proj/paligemma/包含一个README.md。预训练模型可以通过运行transfers/子文件夹中的配置文件进行转移,我们的所有转移结果都是通过运行其中提供的配置文件获得的。如果你想转移自己的模型,可以复制示例配置transfers/forkme.py并按照注释中的说明调整它以适应你的用例。

    • configs/proj/paligemma/https://github.com/google-research/big_vision/blob/main/big_vision/configs/proj/paligemma/

    • transfers/https://github.com/google-research/big_vision/blob/main/big_vision/configs/proj/paligemma/transfers/

    • transfers/forkme.pyhttps://github.com/google-research/big_vision/blob/main/big_vision/configs/proj/paligemma/transfers/forkme.py

    还有一个 Colab:finetunepaligemma.ipynb,它运行一个简化的微调,可在免费 T4 GPU 运行时上运行。为了适应有限的主机和 GPU 内存,Colab 中的代码仅更新注意力层中的权重 (170M 参数) ,并使用 SGD (而不是 Adam) 。

    • finetunepaligemma.ipynbhttps://colab.research.google.com/github/google-research/big_vision/blob/main/big_vision/configs/proj/paligemma/finetune_paligemma.ipynb

    使用 transformers

    通过 transformers 进行 PaliGemma 的微调非常简单,也还可以进行 QLoRA 或 LoRA 微调。在这个例子中,我们将简要微调解码器,然后展示如何切换到 QLoRA 微调。我们将安装 transformers 库的最新版本。

    就像在推理部分一样,我们将进行身份验证以访问模型,使用notebooklogin()。

    对于这个例子,我们将使用 VQAv2 数据集,并微调模型以回答有关图像的问题。让我们加载数据集。我们只会使用 question、multiplechoiceanswer 和 image 列,所以让我们删除其他列。我们还将拆分数据集。

    我们现在将加载处理器,其中包含图像处理和标记化部分,并预处理我们的数据集。

    我们将创建一个提示模板,以调整 PaliGemma 回答视觉问题。由于标记器填充输入,我们需要将我们标签中的填充设置为与标记器中的填充标记不同,以及图像标记。

    注意:在标记化部分,我们传递一个 tokenizenewlineseparately标志,因为换行用于提示条件,必须单独标记化。在推理期间,默认为True。

    你可以直接加载模型,或者为 QLoRA 加载 4 位模型。以下是如何直接加载模型。我们将加载模型,并冻结图像编码器和投影器,仅微调解码器。如果你的图像属于特定领域,这些领域可能不在模型预训练的数据集中,你可能想跳过冻结图像编码器。

    如果你想为 QLoRA 加载 4 位模型,你可以添加以下更改

    我们将初始化 Trainer 和 TrainingArguments。如果你将进行 QLoRA 微调,请将优化器设置为 pagedadamw8bit。

    初始化 Trainer,传入数据集、数据整合函数和训练参数,并调用 train() 开始训练。

    • 视觉语言模型解析https://hf.co/blog/vlms

    • 模型文档https://hf.co/docs/transformers/modeldoc/paligemma

    • 推理笔记本https://colab.research.google.com/drive/1gOhRCFyt9yIoasJkd4VoaHcIqJPdJnlg?usp=sharing

    • Big vision PaliGemma 演示https://hf.co/spaces/google/paligemma

    • 🤗 transformers PaliGemma 演示https://hf.co/spaces/google/paligemma-hf

    • 所有 PaliGemma 模型的集合https://hf.co/collections/google/paligemma-release-6643a9ffbf57de2ae0448dda

    • 所有 PaliGemma 微调模型的集合https://hf.co/collections/google/paligemma-ft-models-6643b03efb769dad650d2dda

    • 原始实现https://github.com/google-research/big_vision/blob/main/big_vision/models/proj/paligemma/paligemma.py

    感谢 Omar Sanseviero、Lucas Beyer、Xiaohua Zhai 和 Matthias Minderer 对本博客文章的全面审校。


    英文原文: https://hf.co/blog/paligemma

    原文作者: Merve Noyan、Andreas P. Steiner (Google)、Pedro Cuenca

最新文章
咖啡师SCA证书含金量解析,sca咖啡师考证
摘要:本文主要探讨了咖啡师SCA证书的含金量,分析了SCA证书的重要性和认可度,以及考取SCA证书的实际意义。文章指出,SCA证书是咖啡行业内广泛认可的证书之一,拥有该证书意味着咖啡师具备了专业的知识和技能,能够提高职业竞争力。文章还
【G22百度网盘下载】HTC G22百度网盘12.18.3免费下载
百度网盘是一款省心、好用的超级云存储产品,已为超过7亿用户提供云服务,空间超大,支持多类型文件的备份、分享、查看和处理,自建多个数据存储中心,更有两项国际安全认证ISO27001&ISO27018为用户数据安全提供护航,如果您想备份文件数
本年度热门App推荐
随着科技的不断进步和智能手机的普及,移动应用程序(App)已经成为我们日常生活中不可或缺的一部分。从娱乐到教育,从健康到生产力,各种App层出不穷,极大地丰富了我们的数字生活。以下是本年度几款热门App推荐,它们在各自的领域内表现
夸克扫描王下载
夸克扫描王是一款集文件高效处理与图文创意设计相结合的智能软件。手机变身扫描仪,让纸质文件摆脱束缚,随时随地轻松扫描自动优化,让文件整理更智能。文字识别功能强大,只需简单一扫,文字自动识别准确无误,精准还原纸质文件的排版。学
白山空气断路器NM10-100/330 100A工作原理+2025排名一览
白山空气断路器NM10-100/330 100A工作原理+2025排名一览 1. 产品概述 - WSK - S-(TH)智能温湿度控制器是一种能够对环境温湿度进行精确监测和控制的设备。它结合了先进的传感器技术和智能控制算法,用于维持环境温湿度在设定的范围内。2. 功
超逼真美女写真生成:用AI工具轻松打造完美头像
在这个信息爆炸的时代,AI技术正在以惊人的速度改变着我们生活的方方面面,尤其是在影像创作领域。想象一下,您只需简单的几步,就可以生成一张自定义的超逼真美女写真,是不是听起来很神奇?这种技术的出现,不仅让我们有了更丰富的视觉表
科大讯飞等成立机器人科技公司,聚焦智能制造新蓝海
2024年12月,安徽省迎来了一项引人瞩目的新动态——安徽聆动通用机器人科技有限公司正式成立,注册资本达到3000万元人民币。此次公司的成立,是科大讯飞及其合作伙伴在智能制造领域的一次重要布局,标志着智能机器人的研发与应用将迎来新的
新澳2024年资料免费大全|精选解释解析落实
新澳2024年资料免费大全:精选解释解析落实随着全球化和信息化的深入发展,数据在各行各业中的重要性日益凸显,特别是在商业、金融、医疗等领域,数据分析已经成为决策过程中不可或缺的一部分,面对海量的数据,如何有效地进行收集、整理、
虎牙直播荒年设计_今日荒年dota虎牙直播设计教程
摘要:虎牙直播荒年设计,今日荒年dota虎牙直播设计教程,新片场素材小编于洁雨虎牙直播荒年设计,今日荒年dota虎牙直播设计教程相关内容整理,如果您对虎牙直播荒年设计,今日荒年dota虎牙直播设计教程感兴趣欢迎访问免费阅读。虎牙直播荒年
诗集的公众号排版_新手运营公众号,订阅号助手排版浅谈
公众号排版,分电脑端后台跟手机端。遇见外出旅行,电脑不在身边的时候,就可以用手机端来解燃眉之急。 手机端官方app名为订阅号助手。有些手机的应用商店里并没有这款app,这就需要自己去下载了。在腾讯应用宝里
相关文章
推荐文章
发表评论
0评