blog
2026-09-23

当电脑把一段文字变成一张图片,模型能读懂这段


你有没有想过一个很怪的问题:如果不让电脑读文字的编码,而是让它像人一样,直接盯着一张写满字的图片看,它能不能看懂这段话的意思?

这听起来像个哲学问题,但其实是个正经的技术路线。2022年有篇叫PIXEL的论文第一次证明了这条路走得通:把文字渲染成图片,用图像模型去理解语义,效果居然不差。后来又有CLIPPO这样的工作把对比学习加进来,让这套体系的判别力更强。到了2024年,Pixel Sentence Representation Learning这篇工作更进一步,证明了大规模渲染文字训练出来的模型甚至能理解跨语言的语义。

听起来一切都在往好的方向发展对吧。但今天要聊的这篇论文,《On the Design Fundamentals of Pixel Text Representation Learning》,却抛出一个不太留情面的判断:这条路上还埋着四个大坑,之前的工作基本都没把它们挖干净。

这篇论文来自香港中文大学、阿里达摩院、复旦大学等机构的联合团队,他们没有急着堆数据堆参数,而是先蹲下来做了一堆"拆解实验",一个变量一个变量地试,最后把这四个坑摸得明明白白,再据此训练出了一个叫PIXEL LINGUIST II的模型。这篇文章就带你看看,这几个坑到底是什么,以及为什么绕不过去。

**核心问题:为什么"图片里的文字"这条路这么难走**

先说清楚这套技术到底要解决什么。

现在大部分做检索、做问答的AI系统,处理文字和处理图片是两套人马:文字进文本编码器,图片进图像编码器,最后想办法把两边的向量对齐。这套架构在处理网页配文、社交媒体这类"图文分离"的场景时问题不大。

但一旦碰到那种文字本身就"长在"图片里的东西,比如扫描的PDF文档、财报里密密麻麻的表格、发票、信息图、带图表的幻灯片,这套架构就开始露怯了。因为这些场景需要的不是"看懂图里有什么物体",而是"精确读出图里写了什么字,还要理解版式结构、上下文关系"。

统一视觉文本编码

一种做法是干脆用同一个视觉模型,既处理自然图片,也处理渲染成图片的文字,省去文字编码器这一层。听起来很优雅,一套模型通吃两种模态。

但研究团队发现,现有的这类模型有四个说不出口的短板。第一个是分辨率固定死了,训练时用的是小图,一旦推理时喂进一张4K的高清文档,模型就懵了。第二个是模型学会了"视觉捷径",也就是它可能不是在理解文字的意思,而是在记忆某种字体、某种排版长什么样子,这种投机取巧在训练集里管用,换个场景就露馅。第三个是缺乏和真实世界的关联,模型如果只在人工合成的渲染文字上训练,从来没见过真实照片里的东西,它对"语义"的理解会变得空洞。第四个是多语言支持差,中文、阿拉伯文、韩文这些和拉丁字母长得完全不一样的文字,模型经常束手无策。

这四个问题不是各自独立的技术细节,它们互相纠缠,任何一个没处理好,整个系统在真实文档场景里就会崩掉。这篇论文的野心,就是把这四个问题一个一个揪出来,用可控实验证明它们各自的因果关系。

**RQ1:小图训练出来的模型,为什么能看懂高清大图**

第一个问题最直觉。训练一个视觉模型很贵,尤其是分辨率越高,计算量涨得越猛。所以现实中大家都是用224×224这种小尺寸图片去训练模型,图省钱图效率。可是真实世界的文档动辄几千像素,模型没见过这种"密度",它凭什么能读懂?

研究团队的假设是:也许模型不需要真的在高分辨率图片上训练过,只要在训练时给它足够多样的"空间线索",它自己能学会推断尺度。

**空间代理**:论文里指的是那些能替代真实高分辨率训练、却又不需要真正处理大图的替代信号,具体来说就是自然图片的分辨率变化和渲染文字时字体大小的随机变化。

他们做的实验很直接。第一组,把所有自然图片统一缩放到224×224,抹掉分辨率的多样性;第二组,把渲染文字的字号固定死,不再随机采样12到22号字。结果两组的表现都明显下滑,在文档检索任务上,从原本的37.83分(nDCG@5,衡量检索排序质量的指标,越高说明越准)掉到33.45,字号固定的那组更惨,掉到30.97。

这说明了什么。当你在小画布上,用不同的字号去渲染同一段文字,模型其实是在被迫学习"同样的文字在不同尺度下长什么样",这种训练方式变相地教会了模型一种尺度不变性,让它后面碰到没见过的超高分辨率文档时,能够把学到的"字长什么样"这套规律迁移过去,而不需要真的见过那么大的图。

这就像教小孩认字。如果你只给孩子看一种字号、一种字体印刷的课本,他可能能背下来这些字,但换成手写体、换成海报上的巨型标题,他可能就认不出来了。反过来,如果你从小让孩子接触各种大小、各种字体的文字,哪怕从没让他读过巨幅广告牌,他也能凭着对"字的结构"的理解认出来。字号的变化不是噪音,它是在教模型什么才是这个字真正不变的部分。

**RQ2:只用合成文字图片训练,为什么会彻底崩盘**

这是整篇论文里最让人意外的一组实验结果。

研究团队想知道:既然目标就是理解文字,那是不是可以干脆别用自然图片了,全用渲染出来的文字图片训练,专注攻克文字这一件事?

**多模态锚定**:指的是让模型同时接触真实世界的自然图片和文字配对数据,用真实视觉场景去"锚定"模型对语义的理解,防止它把语义理解退化成对形状、字体这类表面特征的记忆。

结果是灾难性的。当他们训练一个完全不用自然图片、只用渲染文字的模型版本时,这个模型在简单的语义相似度任务上表现还凑合,但一到复杂的文档检索任务上就跌得很惨。更夸张的是,如果连字体变化和背景多样性也一起去掉,变成"固定字体+纯色背景"这种最简化的合成设置,检索得分直接掉到了1.65分,几乎等于随机瞎猜。

这个数字有多离谱?前面正常训练的模型是37.83分,这个纯合成、无多样性的版本只有1.65分,相当于砍掉了96%的能力。

为什么会这样。研究团队的解释是,一个只在人工合成、干净整洁的文字图片里打转的模型,它学到的其实是一套"视觉游戏规则",跟真实世界脱节了。真实文档里的文字往往是歪的、模糊的、和图表混在一起的、背景很杂乱的,如果模型从没见过这些真实的干扰,它建立起来的"语义理解"其实只是一层假象,稍微碰到点真实世界的复杂性就散架。

这让人想起一个经典的教育场景。如果一个学生只刷标准化题库里格式统一的选择题,他可能考试成绩很好看,但一旦碰到现实工作里那种没有标准答案、条件模糊不清的问题,他就完全不知道该怎么下手了。真实世界的复杂性和噪声,恰恰是让"理解"变得扎实的必要成分,而不是可以省略的干扰项。如果不引入自然图片,模型学到的不是语义,是一种关于合成图片的应试技巧。

论文后面还专门做了个补充实验,用全量的大规模数据(不是小规模消融实验)重新验证了这个结论,发现即使数据量拉满,去掉自然图片依然会在文档检索任务上明显掉分,只是在简单的语义相似度任务上看不太出来差别。这说明这个问题不是"数据不够多"造成的,是架构性的,靠堆数据堆不过去。

**RQ3:为什么字体和排版必须做到"千变万化"**

这一条其实和RQ1、RQ2是同一条逻辑线上的延伸,但值得单独拎出来讲,因为它揭示了一个很容易被忽视的陷阱:捷径学习。

**捷径学习**:指的是模型没有学到真正想让它学的那个能力,而是找到了一条"作弊"路径,用一些和任务本质无关的表面特征就能在训练集上拿到高分,但换个场景立刻失效。

如果每次渲染同一段文字,都用同一种字体、同一种排布方式,模型很容易学到"看到这种排版就等于是这句话"的对应关系,而不是真正理解这段文字的语义内容。前面提到的字号固定实验已经说明了这一点,从37.83掉到30.97;而"固定字体+纯色背景"的极端情况直接崩到1.65。

为了对付这个问题,研究团队专门做了个渲染引擎,每次训练时都实时随机生成图片,涉及393种不同的字体(覆盖中文、日文、韩文、阿拉伯文、拉丁字母等多种文字系统)、5000多种纹理背景(来自一个叫DTD的纹理数据集),还会加入亮度抖动、高斯模糊、旋转这些扰动。核心思路就一句话:绝不让模型见到同一段文字的同一种视觉呈现两次。

这就像考试防作弊的逻辑。如果每年的考卷题目和排版完全一样,学生只需要把答案位置背下来就能拿高分,根本不需要理解知识点。但如果每次考试的题目表述、排版顺序、字号字体都随机变化,学生就被迫真正理解知识本身,而不是记住"第三题选C"这种表面规律。渲染引擎的随机化,本质上是在给模型出一份永远不会重复的考卷。

**RQ4:多语言能力,是"教出来的"还是"激活出来的"**

最后一个问题聚焦在多语言场景。英语用拉丁字母,结构相对简单,但中文、韩文、阿拉伯文这些文字系统,视觉结构和拉丁字母差异巨大。一个只见过英文的模型,直接拿去理解中文渲染图片,大概率是一头雾水。

研究团队想验证的是:要让模型掌握多语言能力,是不是直接拿一批高质量的多语言语义配对数据训练就够了,还是说模型需要先经历一个更基础的"熟悉这些文字长什么样"的阶段?

他们设计了两组对照。第一组只用精心挑选的高质量跨语言语义配对数据训练(论文里叫"中期训练")。第二组先用大规模、没有标注的多语言维基百科文章做无监督预训练,让模型先熟悉各种文字的视觉形态,然后再进行第一组那种语义配对训练。

**两阶段课程**:指的是把训练过程拆成两步,第一步是大规模无监督预训练,让模型先建立起对不同语言文字视觉形态的基础感知能力;第二步是用高质量语义配对数据做中期训练,把这种基础感知能力激活并对齐成真正可用的跨语言语义理解能力。

结果显示,只用高质量配对数据训练的那组,性能有个明显的天花板。而加了前置的无监督预训练阶段之后,跨语言和多语言任务的表现都稳定提升了3.3到3.5个百分点(用Spearman相关系数衡量,这是一种衡量两组排序一致程度的统计指标)。

这个现象其实很像学外语的过程。如果你从没见过阿拉伯字母长什么样,直接给你几百个阿拉伯语和英语的对应句子让你背,你可能能记住这几百个句子的对应关系,但换一批新句子你就抓瞎了,因为你压根不认识那些字母的形状规律。但如果你先花时间纯粹熟悉一下阿拉伯字母的书写形态,哪怕不知道每个字母具体代表什么发音,之后再学句子对应关系,你的理解速度和泛化能力都会好很多。无监督预训练做的正是这件"先认字,再学句子对应"的事情。

**把四条经验拧成一个模型:PIXEL LINGUIST II**

搞清楚这四个问题之后,研究团队把这些结论整合进了一套完整的训练方案,做出了PIXEL LINGUIST II。这个模型有四个核心组件,基本就是前面四个问题的工程化答案。

第一个是**版式感知的实时渲染**,前面提过的那套393种字体、5000多种纹理背景、带各种扰动的渲染引擎,训练过程中动态生成图片,从不重复。

第二个是**原生分辨率编码架构**。这里用到的是一种叫**NaViT**(Native-resolution Vision Transformer的缩写,一种支持任意长宽比和分辨率、不需要强行裁剪缩放的视觉Transformer架构)的骨干网络,参数初始化自Qwen2.5-VL的视觉编码器。它能处理数量不固定的图像"块"(token),而不是把所有图片都硬塞进同一个固定网格,这样就不会因为强行缩放而丢失文档里细小文字的结构信息。另外还加了一个2×2的池化层,把相邻的图像块压缩一下,兼顾效果和效率。

第三个是**统一对比学习锚定**,就是把自然图片文字对和渲染文字对放在同一个对比学习目标下联合训练,这个设计直接对应RQ2的发现。

第四个是**多语言训练课程**,也就是RQ4验证的两阶段方案:先用6200万篇维基百科文档做无监督预训练(把每篇文档随机裁剪两段作为正样本对),再用2600万条精选的高质量语义配对数据做中期训练。整个训练过程一共见过2.8亿个训练样本。

**核心结果:这套方法到底行不行**

光有理论不够,得看效果。

在英语的Visual STS(视觉语义文本相似度,把传统的文本相似度任务改造成图片任务,测试模型能不能通过看图片理解两段文字的语义相似程度)任务上,只经过中期训练的PIXEL LINGUIST II平均得分达到74.72,超过了此前所有对比的大型视觉编码器,包括EVA02-CLIP-bigE-14-plus(71.99分)和google/siglip-large-patch16-384(69.51分)。而PIXEL LINGUIST II的参数量只有这些大模型的约七分之一,训练样本量只有约1/87。加上后续的AllNLI微调,分数进一步冲到79.80。

在跨语言场景下,差距拉得更明显。表格数据显示,在包括韩语、阿拉伯语、德语、土耳其语等在内的跨语言STS任务上,PIXEL LINGUIST II经过预训练加中期训练之后拿到57.16分的平均成绩,比表现最好的SigLIP版本(38.88分)高出约15个百分点。在多语言任务上优势更大,超过对比模型16个百分点以上。

在文档检索这个更硬核的任务上,PIXEL LINGUIST II在**ViDoRe**(一个专门测试视觉文档检索能力的基准,覆盖ArxivQA、DocVQA、InfoVQA等多种真实文档类型)上同样刷新了纪录,尤其在表格图表理解和密集文字混排文档上表现突出,在ShiftProject这个子任务上比之前最好的方法高出16.6分(nDCG@5指标)。

这里有个特别值得琢磨的对比实验。研究团队专门测试了如果强迫SigLIP这样的传统CLIP类模型也走"纯视觉"路线(也就是把文字查询也渲染成图片,而不是用它本来擅长的文本编码器),性能会掉多少。结果是,siglip-so400m-patch14-384原本在ViDoRe上能拿46.94分,改成纯视觉路线之后暴跌到22.79分,掉了24.15分。这个对比恰恰凸显了PIXEL LINGUIST II的优势:它从设计之初就是按照纯视觉、统一处理的方式训练的,而不是硬把一个本来依赖文本编码器的模型改造成视觉模式。

**意外之喜:压缩80%的视觉信息,性能依然坚挺**

论文里还有一个挺让人惊讶的发现,跟当下大模型圈很热的"用图像压缩上下文"这个方向直接相关。

现在不少多模态大语言模型开始琢磨一件事:与其把大段文字塞进文本上下文窗口(这样会占用大量token预算),不如把文字渲染成图片,用更少的视觉token去表达同样的信息量,变相实现"上下文压缩"。但这里有个隐患,压缩得太狠,语义信息会丢失。

研究团队专门测试了PIXEL LINGUIST II在不同压缩率下的表现。结果显示,在英语Visual STS任务上,即便丢弃60%的视觉token(从原本196个token压到只剩118个左右),模型性能依然能和CLIP基线打平。在更难的ViDoRe文档检索任务上,即便压缩掉80%的视觉token,PIXEL LINGUIST II依然能超过完全没压缩的CLIP基线。

在实际接入多模态大语言模型的下游任务测试里(把PIXEL LINGUIST II当作视觉编码器,配上Qwen2.5-7B-Instruct这个语言模型做端到端训练),只保留40%的视觉token时,PIXEL LINGUIST II的平均表现依然超过了满budget、完全不压缩的Qwen2.5-ViT基线。

这个结果说明PIXEL LINGUIST II训练出来的表示本身就很"致密",信息密度高,不需要靠堆砌大量视觉token才能撑起语义理解能力。这对于想要用视觉压缩来扩展大语言模型有效上下文长度的研究方向来说,是个挺实用的信号。

**这篇论文没解决的事**

论文的作者们也挺坦诚,专门列出了几点局限。

PIXEL LINGUIST II的训练数据量比起那些动辄用几十亿图文对训练的CLIP、SigLIP系列模型还是小得多,如果把自然图片配对数据的规模继续扩大,视觉锚定能力可能还有提升空间。另外,模型在密集文字和结构化文档上表现很强,但在ArxivQA这类以科学图表、示意图为主的任务上还是相对偏弱,这提示未来可能需要更多样化的科学插图、图表说明数据加入训练。还有一点,虽然渲染引擎已经做了大量的字体、背景、扰动变化,但它终究是"合成"出来的干净噪声,还没能覆盖真实世界里扫描件模糊、遮挡、手写体、低质量拍照这类更粗粝的噪声模式。

**写在后面**

读完这篇论文,我印象最深的其实不是最终的分数有多高,而是那个1.65分的实验结果。

一个模型如果只在合成文字图片里打转,性能可以从37.83掉到接近于零,这个反差比任何一段论述都更有说服力地证明了一件事:语义理解这种东西,没有真实世界的粗粝质感做底子,是立不住的。这跟我们平时讨论AI"幻觉"问题时的直觉挺一致的,一个只学过标准化、干净数据的系统,看起来什么都懂,一遇到真实世界的复杂性就露馅。

还有一个细节值得单拎出来说,就是那个关于SigLIP强行改成纯视觉模式后性能暴跌24分的对比实验。这个实验其实是在提醒我们,同一个模型架构,用不同的方式去"逼"它工作,效果可能天差地别。SigLIP不是一个差模型,它只是没有为"整段查询也走视觉通路"这件事做过训练准备。这让我想到,很多时候我们评价一个技术方案好不好,其实评价的是它和使用场景之间的匹配度,而不是这个技术本身的绝对水平。

这篇论文最打动我的地方,是它没有直接冲着"更大的模型、更多的数据"这条路子走,而是先花力气把四个具体的因果关系摸清楚。这种做研究的方式挺朴素的,但恰恰是这种朴素,让每一个设计选择都有了扎实的实验支撑,而不是拍脑袋堆出来的架构。

如果视觉压缩真的成为未来大语言模型处理长文本的主流方式之一,那么像PIXEL LINGUIST II这样专门为"用眼睛读字"这件事打磨过的视觉编码器,会不会成为下一代多模态系统里一个悄悄却关键的基础组件?

Q&A

Q1:PIXEL LINGUIST II是什么?

A:PIXEL LINGUIST II是一个统一的像素级视觉语言表示模型,能够同时处理自然图片和渲染成图片的文字,通过280M训练样本和两阶段多语言课程训练,在英语、跨语言、多语言的视觉语义相似度任务和视觉文档检索任务上都取得了当时最好的成绩。

Q2:为什么模型只用合成渲染的文字图片训练会导致性能崩溃?

A:因为模型会失去和真实世界视觉场景的关联,学到的只是一套脱离实际的合成图片规律。论文实验显示,完全去掉自然图片、只用固定字体和纯色背景渲染文字训练的模型,文档检索得分从正常的37.83骤降到1.65,几乎失去了理解能力。

Q3:PIXEL LINGUIST II为什么能在压缩80%视觉token后依然保持性能?

A:因为它的训练方式本身就注重让模型学到高信息密度的语义表示,而不是依赖堆砌大量视觉token。实验显示在ViDoRe文档检索基准上,即便丢弃80%的视觉token,它依然能超过未压缩的CLIP基线模型,这也让它很适合用于当下热门的视觉上下文压缩场景。

来源于:https://www.163.com/dy/article/L7I037M20511DTVV.html    如有侵权请联系我们