AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Pixtral 12B:本地部署、图像分析和OCR功能全解析
发布日期:2024-09-14 23:18:25 浏览次数: 1598



在本文中向大家展示如何在本地安装 Pixtral 模型,然后使用各种图像进行测试。我还会介绍一些这个模型的惊人功能,对了,这款模型来自法国公司 Mistral。

在此之前,展示一下 Hugging Face 上的这个 Pixtral 模型页面,

为什么它如此特别呢?因为 Mistral 是一家已经因其开源模型和模型质量而非常有名的公司,而 Pixtral 12B(120 亿参数)是他们的第一个多模态模型。

这个模型可以理解图像和文本,支持处理各种分辨率的图像,可以处理包含图像和文本的大型文档。此外,该模型有 128k 的上下文窗口,并且是开源的,权重可以通过 Apache 2 许可证获得。

在文章描述中我会放上模型卡的链接。根据目前的一些基准测试结果,这个模型的表现优于其他开源模型,例如 53 Vision、LLaVA(70 亿参数)、及 Claude 3 Haiku。

不过要注意,目前的比较对象大多是 70 亿参数的模型,而 Pixtral 是 120 亿参数的模型。因此我对这些基准测试结果持保留态度,我们将自己进行测试。

这个模型的优点在于它能够进行图像字幕生成,光学字符识别(OCR),提取数据,分析复杂图像,此外还可以作为视觉助手使用。理论介绍到此为止,现在让我们试试它的实际表现。

在开始本地部署之前,还想提一句,Pixtral 可能也可以使用Ollama进行部署,毕竟Ollama自定义模型包括Mistral(具体还没试过) 。

好了,现在开始,我将使用 Conda 创建一个虚拟环境,叫做 Pixtral。

接下来我们安装一些必要的库,包括 torch、Transformers、Pillow、torchvision 以及其他一些库。此外还需要安装一个叫做 `mistral_common` 的库。这个过程会持续 3 到 4 分钟,所以我们耐心等待。

所有必要的库已经安装完成。因为这是一个受限模型,你需要登录 Hugging Face 并接受条款。为了从终端登录 Hugging Face,你还需要获取一个 Hugging Face 的免费 token,登录已经成功。

现在我启动 Jupyter Notebook,以便我们可以在浏览器环境中更方便地安装和管理模型。

Notebook 启动完成后,我会导入已经安装的这些库,并指定 Pixtral 模型,接着下载模型。你会看到我将 `chunk_prefill` 设置为 false,默认情况下它是 true。如果启用这个功能,可以将大块内容拆分成小块并一起处理,但我在这里设置为 false。

模型文件大约 25GB,下载并加载完成后,模型已成功启动,并显示了一些初始化信息,非常有趣。  

现在我们来进行推理测试。

我给了它一个提示:“描述这张图片”,并提供了一张图像 URL。这是一张黑色狗的图片,接下来我们看看模型会怎么描述它。

运行后,模型的输出是:这张图片显示了一只黑色的狗,躺在木质表面上,直接看着镜头,表情十分放松。

很难相信吧?这描述得很准确:确实是木头、确实是一只黑狗,表情也很放松。它说狗是躺着的,我认为也是。我们信任这个模型吧,非常不错。

接下来,我展示如何处理本地图片。你不会在模型卡中找到这段代码,因为我花了好几个小时调试才弄好。默认的聊天模板不支持本地图像,所以我写了一个小函数 `file_to_data_url`,用来编码图像,生成一个简单的扩展,这样就可以处理 PNG 或 JPEG 图像。

接下来,我调用这个函数,运行代码,然后从本地系统中选择了一张图片。给大家看一下我使用的图像:这是一个日落或日出的场景,有三只袋鼠,右上角有一群鸟。

模型的输出是:图像描绘了一幅宁静的沙漠场景,太阳正在地平线下落,天空中呈现出一片暖色。这描述得非常好,不过模型将袋鼠误认为是郊狼,不过它自己也有些不确定。

整体来说,模型表现还不错。接下来,我问模型能否数出图片中的鸟的数量:

模型说有 11 只鸟,但实际上有 13 只,因此在这方面模型出错了。不过在询问图片中的动物时,它正确地回答袋鼠。

现在我做 OCR 测试,给它一张包含多种语言字符的图片,包括英文字母、数字、符号等,看看模型能否准确识别。模型很快给出了结果,几乎完美地识别了所有字符,包括特殊字符、符号和重音字母,非常令人满意。

接着,我给了它维也纳圣斯蒂芬大教堂的图片,问它是哪座建筑和位于哪里。模型准确回答是圣斯蒂芬大教堂,位于奥地利维也纳,非常出色。

我还给了它一张交通标志图片,问它应该走哪条车道。模型正确识别了开放的车道和标志,非常准确。

接下来我给它两种动物的图片,模型也能正确区分出左边的是浣熊,右边的是小熊猫,非常智能。

然后我展示了交通堵塞的图片,模型也正确地指出路况非常拥堵。

最后,我给了它一张复杂的图表,

询问它这张图中发生了什么。

虽然模型对图表中的一些元素判断失误,但大部分信息都准确识别。

总体来说,Pixtral 模型的质量非常不错,尽管在某些复杂场景中还有改进空间。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询