笔者在前期一个系列分享了各种文档智能相关的技术方法,可以参考《
文档智能系列栏目
》,涵盖各种常见方法。
下面直接看看这个端到端的文档智能结构化方法,供参考。
方法
一、架构
红色三部分组成的模型结构
ECLAIR 采用了一个较大的视觉编码器(657M 参数-ViT-H/16)和一个较轻量级的解码器(279M 参数-mBART)组成端到端的模型, 主要为了在推理时提高效率 。ECLAIR 包括以下几个组件:
视觉编码器(Vision Encoder)
ECLAIR 的视觉编码器是从 RADIO 模型初始化的,该模型 基于 ViT-H/16 架构 。
- 输入 :视觉编码器的输入是一张图像,表示为
,其中
和
分别是图像的高度和宽度,3 表示 RGB 通道。
- 输出 :编码器将图像映射到一个潜在表示
,其中
是序列长度,
是隐藏维度。
通过视觉编码器,图像被转换为一个序列化的特征向量。
颈部(Neck)
这部分主要是做降维操作,通常使用卷积或其他变换来压缩特征表示,以便更好地适应解码器的输入要求。
解码器(Decoder)
ECLAIR 使用 mBART 解码器 ,这是一个多语言的 Transformer 解码器。
- 输入 :解码器通过条件化于编码器的潜在表示
和上下文
来预测文本标记
。这里的
是编码器的输出,
是提示标记,
是提示增强后的序列长度。
- 输出 :解码器预测文本标记,这些标记可以是格式化的文本、边界框和语义类别。
二、提示设计
Prompt机制是用于指导模型输出特定类型信息的关键组成部分。用户可以通过提示指定模型输出的格式和内容,实现灵活的输出控制。
ECLAIR的提示是一个三元组(文章中附上了数据合成的方法,感兴趣可以看看,这里不再展开),包含三个选项,每个选项可以有八种可能的组合(忽略没有输出的情况以及请求语义类别但没有相应边界框的情况)。
提示的组成
- 输出格式 :
- <structured_text>:以 Markdown 格式输出文本,内联公式以 LaTeX 格式表示。
- <plain_text>:以纯文本格式输出所有内容。
- <no_text>:不输出文本。
- 边界框 :
- < bbox > :输出文本块的边界框坐标。
- <no_bbox>:不输出边界框。
- 语义类别 :
- < classes >:输出每个文本块的语义类别。
- < no_classes >:不输出语义类别。
提示的组合
通过不同的组合,ECLAIR 可以生成多种类型的输出。例如:
- 最大信息提示(MIP) :同时输出结构化文本、边界框和语义类别。这是最详细的输出形式。
- 仅文本提示 :只输出结构化文本或纯文本,不输出边界框和语义类别。
- 仅边界框提示 :输出边界框和相应的文本,但不输出语义类别。
- 最小信息提示 :只输出文本,不输出边界框和语义类别。
提示的使用
在训练过程中,ECLAIR 在预训练阶段使用最大信息提示进行训练,以确保模型能够处理所有可能的输出类型。在微调阶段,可以通过减少信息密度来适应具有部分标注的数据集。这种方法允许模型利用多样化的视觉数据进行训练,即使这些数据集的标注不完全。
实验效果
参考文献
ECLAIR – Extracting Content and Layout with Integrated Reading Order for Documents,https://arxiv.org/pdf/2502.04223v1
注:代码未开源,基准评价数据集也未开放。
往期文档智能及多模态相关技术
- 文档智能
【文档智能 & RAG】RAG增强之路:增强PDF解析并结构化技术路线方案及思路
【多模态 & 文档智能】一次多模态大模型表格识别解析探索小实践记录
...
- 多模态LLM
【多模态&LLM】LLaVA系列算法架构演进:LLaVA(1.0->1.5->Next(1.6)->NeXT(Video))
【多模态&文档智能】OCR-free感知多模态大模型技术链路及训练数据细节
【多模态 & 文档智能】一次多模态大模型表格识别解析探索小实践记录
【多模态&LLM】Reyes:一个从0到1开始训练的多模态大模型(技术报告)
【多模态&LLM】多模态大模型Reyes增加batch推理方式,提升推理速度