PaliGemma多模态视觉模型应用指南

PaliGemma是由Google开发的一种多模态视觉模型架构,它提供了多种预训练模型,这些模型在特定任务上进行了微调,以实现出色的性能。与传统的模型如GPT-4带视觉功能和Claude-3相比,PaliGemma能够在自己的硬件上运行,这为用户提供了更多的灵活性和控制权。

步骤1:安装推理引擎

RoboflowInference是一个高性能的视觉推理服务器,可以使用它来运行像PaliGemma或YOLOv10这样的先进计算机视觉模型。可以通过Python包或使用Docker部署的微服务来运行Roboflow Inference。本指南将展示如何使用Python包部署Inference。

要安装Inference Python包,请运行以下命令:

pip install git+https://github.com/roboflow/inference --upgrade -q

还需要安装一些PaliGemma模型将使用的附加依赖项:

pip install transformers>=4.41.1 accelerate onnx peft timm flash_attn einops -q

安装完Inference后,可以开始构建使用PaliGemma进行文档理解的逻辑。

步骤2:关于文档提问

现在已经准备好构建一个使用PaliGemma的文档理解系统了。创建一个新的Python文件,并添加以下代码:

import os from inference import get_model from PIL import Image import json lora_model = get_model("paligemma-3b-ft-docvqa-448", api_key="Roboflow API密钥")

在此文件中,导入了Inference并加载了paligemma-3b-ft-docvqa-448模型权重。这些模型权重在文档理解数据上进行了微调,这应该允许在文档理解任务上相比于更通用的模型有更好的性能。

上述代码中的“RoboflowAPI密钥”需要替换为Roboflow API密钥。

要运行模型,请使用以下代码:

image = Image.open("invoice.png") response = lora_model.infer(image, prompt="谁发送了这张发票?") print(response)

这个模型很大,下载可能需要几分钟时间。让用提示“谁发送了这张发票?”和下面的打印发票图像来运行上面的脚本:

模型返回了正确的答案。

测试和评估

PaliGemma在被问及文档的特定部分时,如果分别提出问题,表现最佳。让问几个问题。

问题:地址是什么?答案:10 York Road

问题:发票城市是哪里?答案:伦敦

问题:发票的邮政编码是什么?答案:SE1 9JR(注意:模型将这个问题的最后三个字符弄错了。)

问题:发票日期是什么时候?答案:2024年6月26日

现在,让询问关于发票总额的问题:

当被问及“税后发票费用是多少?”时,模型返回“54”。当被问及“税前发票费用是多少?”时,模型返回“45.00”。在这两种情况下,模型都是正确的。

鼓励在不同类型的文档上测试PaliGemma,以评估模型在自己的数据上的性能。这种测试对于了解模型是否能在数据上表现良好至关重要。

PaliGemma是由Google开发的多模态视觉架构。PaliGemma发布时附带了几种预训练模型,这些模型在特定任务上进行了微调。

在本指南中,展示了如何使用PaliGemma文档理解模型来询问图像内容的问题。下载并安装了推理引擎,然后使用推理引擎来询问文档内容的问题。

要了解更多关于如何使用PaliGemma模型与推理引擎的信息,请参考。要了解更多关于PaliGemma模型架构以及该系列模型能做什么,请参考。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485