【多模态】37、TextSquare | 借助 Gemini-Pro 通过四个步骤来生成高质量的文本问答数据

在这里插入图片描述

论文:TextSquare: Scaling up Text-Centric Visual Instruction Tuning

代码:暂无

出处:字节 | 华中科技大学 | 华东科技大学

时间:2024.04

一、背景

当前多模态大模型在 text-centric VQA 任务中已经取得了很好的效果,比如 GPT-4V 和 Gemini 在某些方面都超过了人类的识别能力,但一些开源的模型还远不如闭源的模型,如图 1 所示,这种差距的来源有很多,如模型结构、模型参数量、图像分辨率、训练数据、训练策略等

在这里插入图片描述

因此,有一些模型围绕数据来探究,想要得到更好的微调数据:

  • Monkey,使用了专家模型来对图像生成不同的描述,然后使用 GPT-4 来组合出高质量的包含更多细节信息的描述
  • LLaVAR [51] 和 TG-Doc [46] 使用 GPT-4 将 OCR 结果整合到指令中来生成与文本丰富的图像相关的对话。
  • ShareGPT4V[5] 通过 GPT4V 构建了一个高质量图像描述数据集

但上述方法还是以文本为中心的,图像层面上还存在一些约束,如图像内容呈现方式,图像规模等等

为了解决这一差距,本文提出了一种策略,称为 Square,用于从复杂且多功能的闭源 MLLMs 获取大量高质量、以文本为中心的 VQA 数据,从而构建一个包含数千万实例的数据集(Square-10M),用于指令调优。

该方法包括四个步骤:

  • 自我提问:利用 MLLM 在文本-图像分析和理解方面的能力生成与图像文本内容相关的问题
  • 回答:利用不同的 prompting 技术(链式思维(Chain-of-Thought)和少样本提示等)来回答这些问题
  • 推理:探讨模型回答背后的推理过程
  • 评估:评估问题的有效性、图像文本内容的相关性、答案的正确性,从而提高数据质量并减轻幻觉现象

此外,为了丰富图像多样性,作者收集了大量的 text-rich images,包括自然场景、表格、图表、小票、书籍、幻灯片、pdf、文档、产品标签、网络数据等,构建了 Square-10M 数据集

多模态大模型现状:

最近的研究越来越多地关注将视觉知识引入大语言模型(LLMs)中 [52, 2, 7]。一般的尝试是通过中间模块(如 Projector [29]、QFormer [23]、Perceiver Resampler [1] 等)连接视觉编码器和 LLM,并进行预训练对齐和指令微调,以实现视觉-语言理解。

最近,一些研究 [48, 11, 10, 50, 47, 44, 33, 27] 提出了增强多模态大语言模型(MLLMs)理解文本元素(OCR、以文本为中心的 VQA 等)的能力。其中,mPLUG-DocOwl [48] 创建了新的指令跟随数据集,以增强调优过程。

TextMonkey [7] 采用了移位窗口注意机制,并过滤掉了重要的标记。

DocPedia [10] 和 HRVDA [27] 则通过扩大输入分辨率来弥合 MLLMs 与视觉文档理解之间的差距。

尽管现有开源 MLLMs 已取得了显著进展,但它们仍然与最先进的闭源模型(如 GPT4V [38] 和 Gemini Pro [8])存在巨大差距。本文提出通过训练大规模且高质量的指令跟随数据来缩小这一差距。

以文本为中心的 VQA 现状:

以文本为中心的视觉问答(Text-Centric Visual Question Answering)旨在理解图像中文本和视觉元素之间的交互。

Donut [20] 首次提出了一种基于 Transformer 的端到端训练方法,不需要 OCR。

Pix2Struct [22] 引入了一种可变分辨率的输入表示,以适应文档图像。

DoCo [24] 通过对齐多模态输入的文档对象,增强了图像编码器在大视觉语言模型(LVLMs)中的视觉表示。

BLIVA [16] 通过连接学习的查询嵌入和编码的补丁嵌入,扩大了输入标记空间。一些研究 [11, 46, 51] 在这方面进行了以数据为中心的尝试。

UniDoc [11] 从 PowerPoint 演示文稿中构建了60万对面向文档的图像-文本对。

LLaVAR [51] 和 TG-Doc [46] 通过将 OCR 结果整合到指令中,提示仅包含文本的 GPT-4 为文本丰富的图像生成对话。这些研究都局限于小规模注释或基于单一模态输入的生成。

在这里插入图片描述

二、方法

2.1 Square-10M

下图为数据处理的整个流程:

  • 数据收集:收集包含多种属性的文本元素的大规模图像。
  • 数据生成:包括自我提问、回答和推理。在这个阶段,提示多模态大语言模型(MLLM)基于给定图像生成 VQA 对,以及其答案背后的推理过程。
  • 数据过滤:对生成的内容进行自我评估,旨在通过利用 MLLMs 的评估能力来丢弃无意义的问题和错误的答案。

在这里插入图片描述

  • 总计 380 万张包含丰富文本元素的图像
  • 通过数据生成阶段获得了 2000 万个问答对
  • 最终,通过 Square 策略提炼出了 910 万个问答对及其推理背景。图 2 中展示了对 Square-10M 的更精确分析。

下图为数据示例和数量分布:

在这里插入图片描述

如何使用 Gemini 进行数据生成呢:

  • 自我提问。在这一阶段,我们提示 Gemini Pro 针对给定图像生成深刻、有意义且非平凡的问题。我们要求 Gemini Pro 首先全面分析图像,然后根据其理解提出问题,如图 3 所示。考虑到高级多模态大语言模型(MLLMs)通常在理解文本元素方面比视觉元素较弱,我们还通过使用专业的 OCR 模型将提取的文本预先添加到提示中。
  • 回答。然后,指示 Gemini Pro 对生成的问题给出适当的答案。我们利用各种提示技术来丰富上下文信息并提高生成答案的可靠性,例如链式思维(Chain-of-Thought)和少样本提示(few-shot prompting)。图 3 展示了一个为给定问题生成答案的示例提示。
  • 推理。我们要求 Gemini Pro 阐述其答案背后的详细理由。这样的努力促使 Gemini Pro 更深入地思考问题与视觉元素之间的联系,从而减少幻觉并提供准确的答案。此外,生成的理由可以作为针对特定问题的额外上下文信息,有助于研究上下文学习机制。图 3 展示了一个用于自我推理的示例提示。

如何进行数据过滤:

  • MLLMs 的自我评估:我们提示 Gemini Pro 以及其他高级 MLLMs 判断生成的问题是否有意义,答案是否足够好以正确回答问题。图 3 展示了一个用于自我评估的示例提示。

  • 多个 prompt 的一致性:除了对生成内容进行直接评估外,我们在数据生成阶段手动扩展了提示和上下文空间。一个正确且有意义的 VQA 对在提供不同提示时应该在语义上保持一致。具体来说,在回答阶段,我们为 Gemini Pro 提供不同但语义相似的提示来回答给定问题。如果生成的答案在语义上不稳定,我们就会丢弃这些 VQA 对。图 3 中给出了一个示例。

  • 多个上下文一致性:类似于多提示一致性,我们通过预先添加不同的上下文信息来进一步验证 VQA 对。对于生成的问题,Gemini Pro 在不同上下文下生成三种类型的答案:(1)带推理的回答。Gemini Pro 在详细解释之前回答问题(即在推理阶段生成的内容)。(2)上下文内回答。Gemini Pro 使用链式思维或少样本提示回答问题。(3)简单回答。Gemini Pro 在没有额外上下文的情况下回答问题。如果生成的答案在语义上不一致,我们就会丢弃这些 VQA 对。

2.2 模型结构

  • A Vision Encoder modified from OpenAI CLIP ViT-L14-336 [41], where the resolution is increased to 700 for improved performance.
  • A LLM based on InternLM-2 [3], utilizing InternLM2-7B-ChatSFT as the practical variant.
  • A Projector, which semantically aligns the vision token and the text token.

2.3 使用 Square-10M 进行有监督微调

TextSquare 是通过使用 Square-10M 数据集进行监督微调(SFT)实现的。SFT 过程包括三个阶段:

  • 第一阶段:解冻所有三个组件(即视觉编码器、LLM 和投影器),并在分辨率为 490 的情况下训练模型。
  • 第二阶段:将输入分辨率提高到 700,并仅训练视觉编码器以适应分辨率变化。
  • 第三阶段:在分辨率为 700 的情况下进一步进行全参数微调。

三、效果

3.1 实验设置

训练数据包括 Square-10M 和 Monkey 的 SFT 数据。

训练过程分为三个阶段,使用相同的数据和 AdamW [32] 优化器,并使用 64 个 A100-80G GPU。

  • 第一阶段:对 InternLM-Xcomposer2 进行全参数微调,学习率从 1e-5 降到 1e-6,耗时约 9520 GPU 小时。
  • 第二阶段:将图像分辨率扩展到 700,并仅训练视觉变换器(VIT),学习率从 1e-4 降到 1e-5,耗时约 7280 GPU 小时。
  • 第三阶段:在分辨率为 700 的情况下进行全参数微调,学习率从 1e-5 降到 1e-6,耗时约 12350 GPU 小时。

3.2 Benchmark 测评

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值