导读
尽管多模态大型语言模型(MLLMs)在自然图像理解方面有所进展,但对图文的理解,尤其是高分辨率文本密集图像的处理,仍是一个需要进一步研究的领域。应读者要求,本次解决微软近期开源的另一个工作Kosmos-2.5
本文针对文本密集图像(文档图像),提出了Kosmos-2.5模型,有以下创新:
-
多模态端到端整合:KOSMOS-2.5结合了视觉编码器和文本解码器,通过重采样模块连接,实现了文本和视觉信息的整合处理,模型能够同时完成检测文本内容和坐标、生成Markdown格式文本的任务,提供了端到端的解决方案。
-
大规模预训练:KOSMOS-2.5在一个包含大量文本密集图像的大型语料库上进行预训练,增强了模型的多模态理解能力。
-
双重任务训练策略:通过同时训练生成具有空间意识的文本块和结构化Markdown文本,增强了模型的通用多模态识字能力。
-
文本图像理解的范式转变:从encoder-only/encoder-decoder模型转变为decoder-only模型,代表了文本图像理解的重要范式转变。
-
论文名称:KOSMOS-2.5: A Multimodal Literate Model -
论文地址:https://arxiv.org/abs/2309.11419
-
代码地址:https://github.com/microsoft/unilm/tree/master/kosmos-2.5

Introduction
-
预训练视觉编码器:基于Vision Transformer(ViT)的预训练编码器,用于图像特征的提取。
-
重采样模块:采用Perceiver Resampler模块和注意力池化机制,以减少图像嵌入的大小。
-
语言解码器:基于Transformer的解码器,用于基于图像和文本上下文进行下一个token的预测。
KOSMOS-2.5接受由图像和文本表示组成的复合输入:
-
图像表示:使用可变分辨率输入策略,提取固定大小的图像块(16×16),并使用重采样作为注意力池化机制减少图像嵌入的数量。
-
文本表示:有两种类型,带边界框的文本行或纯Markdown文本。
-
对于带有文本行和边界框的图像-文本对,输入表示为:
其中
⊕
表示文本行与其边界框的连接,Tn表示行文本, Bn表示边界框Embedding: -
当文本为Markdown格式时,输入简化为
<s><image>Image Embedding</image>Markdown Text</s>
。 -
在两种情况下,
<s>
和</s>
表示序列边界,<image>
和</image>
指示图像嵌入的开始和结束。
-
IIT-CDIP: 一个大规模公共数据集,包含扫描文档图像,用于训练模型。
-
arXiv论文: 来自开放获取研究共享平台的数据源,提供大量页面。
-
PowerPoint幻灯片: 从网页收集的幻灯片页面,增加训练数据的多样性。
-
通用PDF: 通过爬虫技术收集的开放领域数字PDF文件。
-
网页截图: 从mC4网页数据集中抓取并渲染的截图。
-
README.md文件: 从GitHub项目中收集的以Markdown格式编写的文件。
-
DOCX文件: 从网页爬取的WORD文件,并转换为Markdown格式。
-
LATEX文档: 从arXiv论文中提取的PDF页面及其对应的Markdown信息。
-
HTML文件: 从mC4子集中获取并转换为Markdown格式的HTML文件。
# 数据处理
-
IIT-CDIP: 主要由扫描文档图像组成,使用Microsoft Read API提取文本和布局信息。
-
arXiv论文、PowerPoint幻灯片、通用PDF: 首先将这些文件编译和转换为PDF,然后使用PyMuPDF解析器提取文本和布局信息。
-
网页截图: 包括网页截图以进一步多样化布局分布,使用Playwright访问URL并提取HTML内容,然后使用lxml库解析DOM树并获取元素的边界框信息。
特定格式处理
-
README (Markdown): 收集GitHub项目的"README.md"文件,并使用Pandoc转换为HTML,再使用wkhtmltopdf获取图像。
-
DOCX (Markdown): 收集WORD DOCX文件并转换为Markdown文本,使用Pandoc进行转换,并使用markdownify将表格转换为Markdown格式。
-
LATEX (Markdown): 使用LaTeXML将LATEX代码转换为HTML序列,再转换为Markdown格式,并保持表格在页面开头的位置。
-
HTML (Markdown): 使用Playwright框架导航HTML结构,提取相关文本内容,并应用自定义规则和正则表达式进一步精炼提取的文本,格式化为Markdown。
# 预训练目标
-
生成具有空间意识的文本块,为图像中的每个文本块分配空间坐标。
-
生产结构化文本输出,将样式和结构捕获为Markdown格式。
-
语言识别过滤:使用fastText进行语言识别,过滤掉非英语文档,阈值设为0.5。
-
内容多样性:利用MinHash算法识别并移除重复页面,确保每种数据源内部的内容多样性。相似度0.8的文档对将被标记为重复。
-
图像与Markdown内容差异处理:对于README、DOCX、LATEX和HTML来源的图像到Markdown数据,由于转换问题,文本图像与相应的Markdown序列之间存在差异。通过评估图像和Markdown文件之间的token重叠,要求包含的token IOU大于0.95。
预训练数据的详细细分以及各自的采样比例如下表所示:
Experiments
-
总参数量:KOSMOS-2.5总共包含13亿参数。
-
视觉编码器初始化:视觉编码器从Pix2Struct-Large模型的编码器初始化。
-
语言解码器结构:包含24个Transformer层,隐藏层大小为1536,FFN(前馈网络)中间层大小为6144,注意力头数为16。
-
训练数据集:由于布局基础数据(layout-based data)的数量远大于标记基础数据(markup-based data),模型最初使用布局基础数据集单独训练了100k步。之后,两种数据集合并继续训练了140k步。并将评估数据集的训练 split 加入到整个预训练数据中,将训练过程延长了额外的10k步。
-
Tokenization:使用SentencePiece进行text tokenization,并采用"full-sentence"格式,而新添加的位置token的词嵌入是随机初始化的,在训练期间更新所有参数。
-
数据增强:在训练中利用TrOCR的数据增强方法,使模型更加健壮。
Analysis
-
文本识别任务:KOSMOS-2.5在F1分数方面分别比Google文档OCR高出0.33%,2.45%和1.35%,展示了其有效性。
-
图像到Markdown任务:与Nougat相比,KOSMOS-2.5方法显著提高。例如,在README数据集上,KOSMOS-2.5在NED方面比Nougat BASE提高了33.68%(95.09% vs. 61.41%)。此外,在文档数据集上,KOSMOS-2.5在NTED方面也将性能提高了33.38%(82.08% vs. 48.70%)。
-
性能提升原因:与主要关注学术论文领域的Nougat相比,训练数据的多样性增加显著增强了模型对不同文档类型的理解,并加强了其泛化能力。
点评
本文解决了当前多模态模型在端到端的处理文档图像时遇到的痛点,效果上也是全面大幅度超越了Nougat。从模型结构上看也不是多么新颖,重点其实还是数据上,从上面的数据集总结上可以看到作者弄了324.4M的文档数据,相比Nougat数据种类也更多,还增加了逐行文本定位和识别能力。我一直认为一个多模态大模型如果不具备定位能力,那一定是不合格的,这样的模型可以直接不看。
KOSMOS-2.5的优势:
-
文本定位和识别:KOSMOS-2.5擅长精确识别文本位置和内容。
-
样式和结构捕捉:它能够熟练捕捉文本图像中的样式和结构,包括标题、项目符号、表格和粗体文本等元素。
-
统一架构和接口:为文本图像理解提供了统一的架构和接口,适用于多种应用场景。
-
易于微调:可以作为单一模型进行微调,适用于广泛的文本图像理解任务,如信息提取、布局检测与分析、视觉问答、截图理解、UI自动化等。
-
与大型语言模型(LLMs)兼容:KOSMOS-2.5的输出可以用作LLMs的上下文,通过进一步的提示工程增强其能力,赋予LLMs强大的文本图像理解能力。
-
潜在的扩展性:有潜力通过文本数据增强预训练,将其转变为通用的多模态大型语言模型(MLLM),不仅处理视觉信号,还具备强大的语言理解能力。