AI知识库

53AI知识库

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


CVPR2024 | 阿里提出LayoutLLM:利用大语言模型进行布局指令调整以实现文档理解
发布日期:2024-07-23 07:33:41 浏览次数: 1705


导读

LayoutLLM是一种基于LLM+LayoutLMv3的文档理解方法,通过布局指令调优策略增强模型对文档布局的理解,结合预训练和微调技术,利用LayoutCoT模块集中关注问题相关的文档区域,生成精确答案,实现了文档理解性能的显著提升。

针对文档图像的理解,现有方法有以下不足:

  1. 现有文档图像预训练模型如LayoutLM系列,需要针对特定任务的数据进行微调,限制了它们在零样本学习场景下的应用能力

  2. 直接将文档文本输入到LLM中存在挑战,因为这样很难传达文档的布局信息,这对于文档理解至关重要。现有的MLLM在预训练和监督式微调(SFT)阶段也没有充分利用文档布局信息。


针对以上问题,论文提出了LayoutLLM,一种新型的基于MLLM的文档理解方法。这种方法通过布局指令调整策略,强化了模型对文档布局的深度理解。LayoutLLM采用文档预训练模型作为编码器,优化了模型对文档的基础理解能力。它分为两个关键阶段:

  1. 布局感知预训练:引入了三种不同层次的预训练任务,分别是文档级、区域级和段落级,使模型能够全面学习文档的全局结构和局部细节。

  2. 布局感知监督微调(SFT):在这一阶段,引入了创新的LayoutCoT策略,该策略通过问题分析(Question Anyalysis)、相关区域集中(Relevant Area Concentration)和答案形成(Answer Formation)三个步骤,提升了模型的问题回答精度,并增强了模型的可解释性。


  • 论文名称:LayoutLLM: Layout Instruction Tuning with Large Language Models for Document Understanding
  • 论文地址:https://arxiv.org/abs/2404.05225

  • 代码:https://github.com/AlibabaResearch/AdvancedLiterateMachinery/tree/main/DocumentUnderstanding/LayoutLLM

Introduction

# 本文方案

# Model Architecture

LayoutLLM 的整体架构如图 2 所示。在 LayoutLLM 中,给定输入文档图像及其对应的文本和布局信息,文档预训练模型编码器需要获取多模态文档特征。然后,这些特征通过多模态投影器编码,并与指令嵌入一起输入到 LLM 中以生成最终结果。可以看到,本文框架就是把其他MLLM里的Visual encoder换成了文档预训练模型编码器(LayoutLMv3),所以除了qustion text + image输入外,还需要提供文档图像对应的text sequence和text box信息,其他都和LLaVA框架的配置一致

# 布局指令预训练(Layout instruction tuning)

预训练LayoutLLM的目标是通过布局学习增强模型对不同层次文档的全面理解,而不是像现有的MLLM方法那样只关注全局文档级别的理解。为此,在预训练阶段,LayoutLLM同时应用了三种不同层次的预训练策略,即文档级、区域级和段落级

文档级别:为了使模型具备基础的全局文档理解能力,提出了预训练任务,即文档密集描述(DDD)和文本与布局重建(TLR)。如图3(a)所示,与图像Caption类似,DDD任务要求模型学习描述输入的文档。而且,在DDD任务中,对文档图像的描述更为详细。例如,在用于LLaVAR预训练的文档图像Caption数据中,Caption平均包含36.27个单词,而在本文提出的DDD任务数据集中,描述平均包含373.25个单词。通过DDD任务,模型可以获得基本的文档级别信息,如文档类型和详细内容。TLR任务旨在重建文档的完整文本和布局信息,并以“<{box}, {text} >”的格式输出。TLR任务将DocPTM输出的文本和布局嵌入与LayoutLLM的LLM空间对齐。因此,它使LayoutLLM中的LLM能够理解文档中包含的文本和布局信息。

区域级别:文档中特定区域所含信息,如标题、图形、表格,对文档理解至关重要。这些区域作为区分文档与自然语言中纯文本的重要特征。为了使 LayoutLLM 达到基础的区域级别理解,采用了文档布局分析(DLA)和表格理解(TU)两项预训练任务。DLA 任务有两种实现方式,如图 3 所示:一种是基于布局类型定位布局区域,另一种是识别给定区域的类型。此外,表格区域与其他区域不同,它需要额外关注二维布局理解。TU 任务使模型能够理解文档中表格区域的基本行和列信息,如图 3 所示,TU 任务包括对行数和列数、逻辑坐标以及行和列内内容的指令调整。

段落级别:早期的文档预训练模型研究已经证明了段落级别文档预训练任务对文档布局理解能力的有效性,例如掩码视觉语言建模(MVLM)、位置掩码和几何预训练。受这些工作的启发,为了让 LayoutLLM 具有段落级别的布局理解能力,这些任务被转化为预训练的指令格式,如图 3(a) 所示。对于 MVLM 指令,对输入到 LayoutLLM 的文本进行随机掩码,并通过对掩码词进行提问和回答来调整模型的指令。对于掩码位置指令,当特定文本行的布局信息(坐标)输入到 LayoutLLM 时,随机设置为 0。通过询问具有零坐标的文本行,并要求模型以原始坐标和文本内容响应来构建指令。对于几何布局指令,随机选择文本行,并构建询问它们之间方向和距离的指令。

(总之,就是把之前所有与文档理解有关的预训练任务,适配为现在流行的指令对齐形式,然后进行预训练)

# 布局感知监督微调(SFT

在现有基于文档的多模态大型语言模型(MLLMs)的监督式微调(SFT)阶段,缺乏对文档布局的显式学习,而这对于文档理解至关重要。考虑到这一局限性,并受到以前与思维链(CoT)相关的工作的启发,带有中间步骤的推理可以大大增强性能。因此,提出了一个名为LayoutCoT的模块,它将布局信息明确地整合到CoT的每个中间步骤中。同时,通过引入布局感知的中间步骤,答案过程为LayoutLLM获得了一定的可解释性,并基于LayoutCoT提供了交互式更正的可能性。

## LayoutCoT详情:

如图 3(b) 所示,LayoutCoT涉及以下三个中间步骤:

1. **问题分析**:为了有效解决文档理解问题,识别问题类型,例如表格理解或从段落中提取实体,并评估问题是直接的提取查询还是更复杂的推理问题,可以帮助指导后续推理过程的方向。

2. **相关区域集中**:对于大多数文档理解任务,整个文档包含大量可能使模型混淆的不相关信息。这一步的目的是集中关注相关区域并生成其位置信息,这用于帮助模型准确推断答案。

3. **答案形成**:最后,答案形成步骤根据第2步中定位的相关区域的布局特征和第1步分析的关键点来提供解释,以得出最终答案。例如,在图 3(b) 中,对于“表格”类型的问题,这一步涉及分析第2步中的相关表格的行和列,并逐步推断答案。对于“键值”问题,分析集中区域中的关键词可以帮助得出最终答案。根据不同布局区域的特征以不同方式分析答案,不仅可以提高文档理解性能,还可以带来一定程度的可解释性。

## LayoutCoT构建:

鉴于构建LayoutCoT时需要文本和图像注释,手动标记可能很困难。下图算法提出了一种无需手动标记的方法,使用公共数据集和 GPT(GPT-3.5 Turbo)生成 LayoutCoT 数据。它涉及将文档文本和布局以 GPT 可理解的格式表示。然后利用 GPT 生成基于文档内容的 QA 和相应的文本 CoT。最后,使用规则将文本 CoT 转换为 LayoutCoT。本文使用三种类型的公共文档数据集:HTML 文档(D_H)、图像文档(D_I)和用于机器阅读理解(MRC)的文本文档(D_M)。

Experiments

# 数据集构建

LayoutLLM 的布局感知预训练数据来自公开可用的文档理解数据集。它不包括下游基准测试的训练集、验证集和测试集中的任何数据。区域级预训练任务、大多数文档级和段落级任务是自监督的。

数据是从PubLayNet、DocLayNet、Docbank、RVL-CDIP 和 DocILE中随机抽样的。所有数据都转换为图 3(a) 所示的指令格式。总共构建了 570 万条指令,文档级、区域级和段落级任务的比例分别为 1:4:4。有关详细的指令模板和数据集描述,请参考论文附录。

# 基准测试集和实验结果

Analysis

    如表 1 所示,与之前最先进的模型 LayoutLMv3 相比,LayoutLLM 在 DocVQA 基准测试上展示了具有竞争力的性能。LayoutLMv3 是使用下游任务的训练集进行微调的。与同时期的 LLMs 和 MLLMs 相比,LayoutLLM 在所有评估基准上都取得了一致且显著的改进。值得注意的是,采用零样本性能的 LayoutLLM 在 DocVQA 数据集上比 mPLUG-DocOWL 和 Qwen-VL 高出大约 10%,这两个模型都是用该数据集训练的。这表明 LayoutLLM 能够学习到更稳健和具有辨别性的文档理解表示。
下表2的消融实验表明本文提出的布局感知预训练和SFT方法的有效性:

现在来看表1中的指标已经不够看了,如果只看指标的话,在DocVQA上的MLLM SOTA已经达到了92%,但直接这样比较又是不公平的,因为本文提出的方法在参数量和数据量上和这些SOTA都不能比,特别是在SFT时并没有用任何下游数据。
那么这里就引出一个疑问1:要是在SFT时加入了DocVQA,FUNSD等数据集的训练集后,指标可以到多少,是否可以直接超过LayoutLMv3?可惜论文里没有提供。那么进一步会提出疑问2:是不是加了下游任务数据集SFT后也没超过LayoutLMv3,所以作者不敢把这个实验指标放进论文中比较?
抛开上面的疑问,论文提出的针对文档理解的指令构建方式还是很有启发性的,并且作者也将数据集开源了。


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

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

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

联系我们

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

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询