Docmatix - 超大文档视觉问答数据集

本文,我们将发布Docmatix - 一个超大的文档视觉问答 (DocVQA) 数据集,比之前的数据集大 100 倍。当使用 Docmatix 微调 Florence-2 时,消融实验显示 DocVQA 任务的性能提高了 20%。

Docmatix - 一个超大的文档视觉问答 (DocVQA) 数据集https://hf.co/datasets/HuggingFaceM4/Docmatix

cc3d6048d44a57aad33decaf5fe7d137.png
Docmatix 数据集样本示例

缘起于丹鼎 (The Cauldron)的开发,丹鼎包含了 50 个数据集,旨在用于视觉语言模型 (VLM) 的微调,我们的Idefics2就是由此训得。在丹鼎的开发过程中,我们发现缺乏大规模文档视觉问答 (DocVQA) 数据集。Idefics2 依赖的视觉问答数据集主要是 DocVQA,其中仅包含 1 万张图像以及 3 万 9 千对问答 (Q/A)。基于其以及其他数据集微调出的开源模型在性能上与闭源模型差距很大。

  • 丹鼎 (The Cauldron)https://hf.co/datasets/HuggingFaceM4/the_cauldron

  • Idefics2https://hf.co/blog/idefics2

为了解决这一问题,我们很高兴推出 Docmatix,这是一个 DocVQA 数据集,包含 240 万张图像以及源自 130 万个 PDF 文档的 950 万对问答。与之前的数据集相比,规模扩大了 240 倍

711f3ca99028003a39f61efa4e4020be.png
Docmatix 和其它 DocVQA 数据集的对比

你可以通过下面的页面自由探索数据集并查阅 Docmatix 中包含的文档类型以及问答对。

4e7b4c58b8f5555d50554e667c0ff8d2.png

Docmatix 是基于PDFA - 一个包含 210 万个 PDF 的 OCR 数据集生成的。我们从 PDFA 中转录出文本,然后用Phi-3-small模型生成 Q/A 对。为了确保数据集的质量,我们对模型生成的回答进行了过滤,丢弃了 15% 被识别为幻觉的 Q/A 对。另外,我们还使用正则表达式来检测代码并删除了包含关键字 “unanswerable” 的答案。Docmatix 数据集中的每一行对应于一个 PDF 文件,我们将 PDF 转换为分辨率为 150 dpi 的图像,并将处理后的图像上传至 Hugging Face Hub 以便于访问。所有样本的原始 PDF 都可以溯源至 PDFA 数据集,以最大程度提供透明度和可靠性。但考虑到将这么多 PDF 转换为图像会消耗不少资源,为方便数据集的用户起见,数据集中的样本用的是处理后的图像。

  • PDFA - 一个包含 210 万个 PDF 的 OCR 数据集https://hf.co/datasets/pixparse/pdfa-eng-wds

  • Phi-3-smallhttps://hf.co/microsoft/Phi-3-small-8k-instruct

e09d567fad671ea6e6b922bdaf36f44a.png
生成 Docmatix 的数据处理流水线

我们先处理了一小批数据集,并对其进行多次消融研究以对提示进行优化。我们的目标是每页生成大约 4 对问答。太多的话,它们之间会有很大的重叠,太少的话,则说明当前页的内容中细节较少。此外,我们的目标是让生成的答案与人类回答相似,避免过短或过长的答案。我们还比较重视问题的多样性,以确保尽量减少重复问题。有趣的是,当我们引导Phi-3 模型根据文档中的具体信息提出问题时 (例如,“某甲的头衔是什么?”),问题几乎没有重复。下图展示了我们得到的一些关键统计分析数据:

Phi-3 模型https://hf.co/docs/transformers/main/en/model_doc/phi3

e6ff9512d93576c3585797f823cb57f5.png
从提示的维度分析 Docmatix

为了评估 Docmatix 的质量,我们使用 Florence-2 模型进行了消融实验。我们训练了两个版本的模型以进行比较。第一个版本在 DocVQA 数据集上训练数个 epoch。第二个版本先在 Docmatix 上训练 1 个 epoch (仅使用 20% 的图像、4% 的 Q/A 对),然后再在 DocVQA 上训练 1 个 epoch,以确保模型的输出格式符合 DocVQA 评估的要求。结果很明显: 先对 Docmatix 进行微调可带来近 20% 的相对指标提升。此外,所得的 0.7B Florence-2 模型的性能仅比基于混合训练集训练的 8B Idefics2 模型差 5%,要知道从模型尺寸上来看 8B 可以比 0.7B 大得远不止 5%。

数据集DocVQA 上的 ANSL 值模型尺寸
在 DocVQA 上微调的 Florence 260.1700M
在 Docmatix 上微调的 Florence 271.4700M
Idefics274.08B

Docmatix-Florence-2 Demo 体验https://hf.co/spaces/HuggingFaceM4/Docmatix-Florence-2

总结

本文介绍了 Docmatix,一个用于 DocVQA 的超大数据集。我们的结果表明,使用 Docmatix 在微调 Florence-2 时,我们可以将 DocVQA 性能提高 20%。该数据集有助用户弥合开源 VLM 相对于闭源 VLM 的性能差距。我们鼓励开源社区利用 Docmatix 去训练新的的 DocVQA 模型,创造新的 SOTA!我们迫不及待地想在 🤗 Hub 上看到你的模型!

有用的资源

  • Docmatix 微调 Florence-2 所得模型的演示https://hf.co/spaces/HuggingFaceM4/Docmatix-Florence-2

  • 微调 Florence-2 - 微软的尖端视觉语言模型https://hf.co/blog/zh/finetune-florence2

  • Florence-2 微调的 Github 代码库https://github.com/andimarafioti/florence2-finetuning

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

我们要感谢 merve 和 leo 对本文的审阅并提供了缩略图。


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

原文作者: Andres Marafioti,Hugo Laurençon

译者: Matrix Yao (姚伟峰),英特尔深度学习工程师,工作方向为 transformer-family 模型在各模态数据上的应用及大规模模型的训练推理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/51631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚幻5|按键触发学习

一,如图参考 1.下移 驱动阈值 越大按时间长才会触发,越小很快就可以触发 2.按下 当按下超出驱动阈值大小就会触发一次,这里的驱动阈值只能设置再0.1~1的大小 3.已松开 当按下的时候,先触发单次的started,如果按压…

#QT 笔记一

重点:面试考试大概率涉及,需要不借助任何资料掌握。掌握:面试考试可能涉及,需要不借助任何资料掌握。熟悉:面试考试可能涉及,可以稍微参考资料掌握。了解:面试考试小概率涉及,面试拔…

智能优化特征选择|基于鹦鹉优化(2024年新出优化算法)的特征选择(分类器选用的是KNN)研究Matlab程序 【优化算法可以替换成其他优化方法】

智能优化特征选择|基于鹦鹉优化(2024年新出优化算法)的特征选择(分类器选用的是KNN)研究Matlab程序 【优化算法可以替换成其他优化方法】 文章目录 一、PO基本原理PO基本原理基本流程示例应用 二、实验结果三、核心代码四、代码获…

某张卡NR only下可以驻网 AUTO模式下在2G/3G工作

结论:需要终端设置为data centric,或ps only。 从日志看,5G下的注册收到REGISTRATION ACCEPT。但是没有携带ims support。 正常网络: ims_Vops_3GPP 1 (0x1) nwk_feature_supp_inc 1 (0x1)nwk_feature_supportedlength 2 (0x2)mpsi 0 (0…

【HarmonyOS NEXT开发】鸿蒙开发环境准备,ArkTS基础语法入门

文章目录 鸿蒙开发环境准备,ArkTS基础语法入门大纲简介DevEco Studio简介运行环境要求 安装与配置开发工具下载Harmony OS 和 OpenHarmony 的区别Previewer汉化插件的配置 ArkTS基础快速入门1. 解释说明2. 变量与常量3. 变量命名规则4. 数组5. 函数定义函数调用函数…

Win10 安装 Rabbitmq

参考文档:https://www.rabbitmq.com/docs/install-windows 一、安装 Erlang 语言 安装 RabbitMQ 需要该语言的支持才能安装 下载地址:https://erlang.org/download/otp_versions_tree.html 点击这里下载最新版本:27.0.1 直接默认 next 更…

2d像素游戏基本架构

目录 2D像素游戏的基本架构通常包括以下几个关键部分 Unity和虚幻引擎在2D游戏开发中的性能比较 Unity的2D工具设计复杂的地图和场景 创建和管理地图资源: 使用TileMap工具: 构建复杂场景: 添加碰撞体和物理效果: 优化和…

Android settings命令讲解和实战

1,简介 在Android系统中,settings命令用于管理设备设置。这些命令可以与Settings提供者(Settings provider)交互,后者是一个用于存储和检索系统设置的系统服务。Settings provider在Android系统中可以被看作是一个特殊…

携程:从MySQL迁移OceanBase的数据库发布系统实践

作者简介:杨晓军 现就职于携程的数据库团队,主要负责携程数据库的研发与管理,专注于提升数据库的稳定性。 自分布式关系型数据库OceanBase开源以来,携程已经在线上环境中进行了广泛的应用,取代了原先以MySQL为主力的业…

组件通信 Vue3

1.props 1.child <template><div class"child"><h3>子组件</h3><h4>玩具&#xff1a;{{ toy }}</h4><h4>父给的车&#xff1a;{{ car }}</h4><button click"sendToy(toy)">把玩具给父亲</butt…

通过visual studio进行dump文件调试和分析

0、前言 很多时候程序crash之后需要分析原因。对于C/C程序&#xff0c;一般最常见的场景和方法就是根据dump文件进行分析。 1、分析的前提条件 进行dump文件分析&#xff0c;需要以下文件&#xff1a; 进程crash时产生的dump文件程序源码进程对应的程序exe文件编译exe文件时产…

【赵渝强老师】MongoDB的存储引擎

存储引擎&#xff08;Storage Engine&#xff09;是MongoDB的核心组件&#xff0c;它负责管理数据如何存储在硬盘&#xff08;Disk&#xff09;和内存&#xff08;Memory&#xff09;上。从MongoDB 3.2 版本开始&#xff0c;MongoDB支持多种类型的数据存储引擎。 视频讲解如下&…

使用twilio向手机发短信做监控报警

最近遇到个需求&#xff0c;就是夜班HW希望有个监控系统指标&#xff0c;如果异常就向监控人手机打电话的需求。在考察以后&#xff0c;发现目前由于国内防电信诈骗的原因&#xff0c;所以想要使用云通讯功能必须由企业去申请&#xff0c;但作为一个个人的监控项目来说太大了。…

Python | Leetcode Python题解之第384题打乱数组

题目&#xff1a; 题解&#xff1a; class Solution:def __init__(self, nums: List[int]):self.nums numsself.original nums.copy()def reset(self) -> List[int]:self.nums self.original.copy()return self.numsdef shuffle(self) -> List[int]:for i in range(l…

极光推送(JPush)赋能登虹科技,打造智慧视觉云平台新体验

近日&#xff0c;中国领先的客户互动和营销科技服务商极光&#xff08;Aurora Mobile&#xff0c;纳斯达克股票代码&#xff1a;JG&#xff09;与杭州登虹科技有限公司&#xff08;以下简称“登虹科技&#xff08;Closeli&#xff09;”&#xff09;达成合作&#xff0c;借助极…

数分基础(03-3)客户特征分析--Tableau

文章目录 客户特征分析 - Tableau1. 说明2. 思路与步骤3. 数据准备和导入3.1 用EXCEL初步检查和处理数据3.1.1 打开3.1.2 初步检查&#xff08;1&#xff09;缺失值检查缺失值处理 &#xff08;2&#xff09;格式化日期字段&#xff08;3&#xff09;其他字段数据类型 &#xf…

【vscode】vscode+cmake+llvm+ninja开发环境的搭建(draft)

文章目录 前言1 软件、工具和插件安装1.1 vscode安装1.2 cmake安装1.3 安装LLVM1.4 安装Ninja1.5 vscode插件安装 2 工具链和CMakeLists2.1 工具链&#xff08;toolchain.cmake&#xff09;2.2 CMakeLists.txt2.3 基本语法注释 前言 本文是一个使用vscode的小白扫盲贴。 所谓工…

科讯档案管理系统存在SQL注入漏洞(0day)

漏洞描述 安徽科迅教育装备20年来来始终坚持智慧校园集成方案产品的开发和部署应用&#xff0c;我们有完善的智慧校园和数字校园建设方案&#xff0c;根据不同的学校不同的实际情况量身定做系统集成方案。产品主要是为了实现校园的智慧网络、智慧OA、智慧教学、智慧学习、数字医…

.NET Razor类库-热加载 就是运行时编译

1.新建3个项目 1.1 一个.NET Standard2.1项目 IX.Sdk.SvnCICD4NuGet 1.2 一个.NET Razor类库项目 IX.Sdk.SvnCICD4NuGet.RazorWeb 1.3 一个.NET6 Web项目 IX.Sdk.SvnCICD4NuGet.Web 这3个项目的引用关系 Web引用 Razor类库 和 .NET Standard2.1 Razor类库引用.NET Standard2.1…

数据同步大冒险:PostgreSQL到MySQL的奇妙之旅

引言&#xff1a;一场跨数据库的浪漫邂逅 &#x1f491; 在数据的世界里&#xff0c;不同数据库系统就像是来自不同星球的恋人&#xff0c;它们各自拥有独特的魅力&#xff0c;但偶尔也会渴望一场跨越界限的亲密接触。今天&#xff0c;我们就来见证一场PostgreSQL与MySQL之间的…