跳到主要内容

生产环境中的多模态 LLM 输入:视觉、文档以及那些无人预警的失效模式

· 阅读需 11 分钟
Tian Pan
Software Engineer

为 LLM 应用添加视觉能力看起来简单得令人误解。你将文本模型换成多模态模型,在提示词中加入一张图片,演示效果就非常出色。但在推向生产环境后,你会发现有一半的发票金额是错的,PDF 中的表格丢失了结构,而低质量的扫描件会产生言之凿凿的幻觉。调试这种系统的难度超过了你以前面对的任何纯文本系统,因为这些失败是视觉上的,且 LLM 不会告诉你它看不清楚。

本篇文章将介绍当多模态 LLM 输入从原型转向生产环境时,究竟会发生什么问题,以及能够防止这些失败的架构决策。

视觉 Token 不是免费的 —— 且呈二次方增长

生产环境中的第一个惊喜是成本。视觉 token 的定价通常比文本 token 高 2–5 倍,且消耗的 token 数量随图像分辨率呈二次方增长,而非线性增长。

GPT-4o 的高细节(high-detail)模式运作方式如下:图像被切分为 512×512 像素的块,每个切片耗费 170 token,外加 85 token 的基础开销。一张 1024×1024 的图像会产生 4 个切片 —— 仅一张图片就需 765 token。如果将其扩展到一个每天处理 50,000 份发票的文档流水线,在你还没写下一行提示词之前,这个数字就已经非常可观了。

Claude 的切片预算类似:图像被分解为网格,长边上限为 1568 像素,每个块都会增加 token 计数。供应商建议“使用能满足任务的最低分辨率”,这听起来理所当然,直到你意识到“能满足任务的最低分辨率”需要针对每种文档类型进行实证测试,而不是一个全局设置。

优化路径包括:

  • 在发送之前,将图像缩小到供应商的最大限制(Claude 为 1568px,GPT-4o 为 2048px) —— 大多数来自手机摄像头的生产图像分辨率为 4032×3024
  • 对于仅需粗略视觉特征的任务(分类、路由),使用供应商特定的低细节(low-detail)模式
  • 当对同一份文档进行多次查询时缓存图像 —— 针对图像的提示词缓存(prompt caching)可减少 90% 的重复成本

许多团队忽略了一点:在高分辨率下,视觉编码器的延迟占据了主导地位。当你发送一张 4K 图像时,瓶颈不在于 LLM 的推理 —— 而在于视觉编码器的处理时间,这会显著增加首字响应时间(TTFT)。在这里,延迟和成本是同步增长的。

OCR 与原生视觉的选择并非二选一

常见的表述是:“我该用 OCR,还是直接把图片传给 LLM?” 这种表述会导致错误的架构。正确的问题应该是:“我想要防止哪种失败模式,哪种方法可以避开它?”

原生视觉擅长的场景:

  • 文档模板差异巨大(来自 200 个不同供应商的发票,每张布局都不同)
  • 任务在提取的同时需要语义推理(“哪个是主要的行项目?”)
  • 文档包含手写内容或混合脚本
  • 你需要从文档中嵌入的图表、示意图或图像中提取信息

传统 OCR 胜出的场景:

  • 你需要确定性的、可复现的输出(财务记录、合规文档)
  • 文本清晰且结构良好(机器打印的表单)
  • 你需要高于 97% 的字符级准确率
  • 成本是主要约束且文档格式稳定

实际的陷阱是:团队因为原生视觉能处理布局变化而选择它,然后发现模型在 5% 扫描质量下降的文档上产生了幻觉,给出了言之凿凿但错误的数据提取。LLM 不会说“我看不清这个”。它会编造一个看似合理的数值。

新兴的生产模式是两阶段混合架构。一个轻量级的质量分类器负责路由文档:清晰、高质量的扫描件进入快速的 OCR 流水线,而复杂或模糊的文档则交给视觉 LLM。Grab 构建其文档处理系统(Documint)的工程团队就采取了这一方向 —— 他们发现,仅靠专有 LLM 速度太慢、成本太高,且在没有专门训练数据的情况下,会对东南亚语言文档(泰语、越南语)产生幻觉。他们基于 Qwen2-VL 并使用合成 OCR 数据进行微调的定制视觉 LLM,在保持非拉丁文字准确率的同时,比基础模型提升了 50% 的速度。

教训:供应商的基准测试准确率是在干净的基准数据集上测得的。你的文档并不是干净的基准数据集。

PDF 表格是大多数文档流水线的克星

PDF 中的表格是暴露文档处理架构局限性最可靠的方式之一。这值得作为一个特定的失败类别来对待,而不是通用的“文档解析”问题。

将 PDF 文本提取为扁平字符串并进行分块(chunking)的常规方法会从两个方面破坏表格。按阅读顺序解析 PDF 文本会产生类似 Column A Column B Column C value1 value2 value3 的内容,剥离了赋予表格意义的二维结构。随后,按 token 数量分块经常会切断表格边界,导致发送给 LLM 的是半个没有表头的表格。

视觉引导的分块方法将 PDF 页面视为图像,并使用视觉模型来识别语义边界 —— 表格开始/结束、章节标题、图表说明 —— 然后再决定在哪里切分。针对此方法的研究显示,页面级和段落级的检索准确率达到 84.4%,显著优于固定大小的分块。

更激进的解决方案是 ColPali,它出现在 2025 年的一篇 ICLR 论文中,现在已通过 Vespa 和其他向量数据库的集成投入生产。ColPali 将整个 PDF 页面视为图像,并直接使用视觉语言模型进行索引 —— 无需 OCR,无需文本提取,也无需分块决策。检索是通过视觉相似度完成的。对于布局承载意义的文档集合(表单、发票、技术数据表),这消除了一整类分块失败的问题。

折中方案是:ColPali 用预处理的复杂度换取查询延迟。视觉嵌入(visual embeddings)比文本嵌入更大,在大规模应用时这很重要。Vespa 的实现通过为每个页面切片索引 128 维嵌入来处理数十亿份 PDF,但其基础设施成本高于传统的文本索引。

对于大多数团队来说,正确的起点不是 ColPali —— 而是带有显式表格处理的结构化文本提取(PDFPlumber、带有显式表格检测的 pdfminer),并针对文本提取产生乱码的页面退回到视觉提取。

针对降级输入的幻觉是视觉模型特有的

纯文本 LLM 会产生幻觉。但多模态模型在面对低质量视觉输入时,其幻觉在性质上有所不同:它们会从实际上无法辨认的图像中,提取出自信、具体且听起来合情合理的信息。

一张带有噪点的收据扫描件可能会产生一个非常确定的金额。一张低分辨率的白板照片可能会返回一段包含白板上并不存在的词汇、但逻辑通顺的转录。模型并不是在随机猜测,而是在做更糟糕的事:它根据视觉先验进行模式补全,朝着语境中最合情合理的方向靠拢。

发生这种情况是因为模型的训练目标是预测下一个 token,这种机制奖励自信的输出。训练信号并不区分“自信且正确”与“自信且似是而非”。在清晰的图像上,这两者几乎没有区别;但在降级的图像上,它们会发生严重的偏离。

生产环境中的缓解方案:

  • 图像质量门控:在发送给视觉 LLM 之前运行质量分类器。BRISQUE(盲/无参考图像空间质量评估器)的分数与模型在文档图像上的准确性相关。将低于阈值的图像路由至人工审核。
  • 置信度提取:要求模型在提取信息的同时返回置信度分数。虽然这并不完美,但在统计学上是有用的——模型在分布层面的校准能力优于单次预测。
  • 跨模态一致性检查:对于关键字段,同时使用视觉模型和基于文本的 OCR 进行提取,然后标记不匹配项。两种方法的一致性可以提高置信度;不一致则触发人工复核。
  • 带有验证的 Schema 强制执行:使用结构化输出,并在提取的字段上运行类型/范围验证。一个解析为 9999-01-01 的日期或一个负数总额应自动路由至核实流程。

多模态 RAG 部署调查中提到的 73% 的生产环境失败率很大程度上归因于这个问题——团队在构建时只参考了基准测试的准确度数字,而没有构建能捕获长尾降级输入的验证基础设施。

在生产环境中真正奏效的架构模式

除了具体的失败模式,结构性决策也是区分稳定与脆弱的生产级多模态系统的关键。

将提取流水线与推理流水线分离。 提取(将图像或文档转换为结构化数据)和推理(回答关于该数据的问题)应该是独立的阶段,拥有各自的评估和错误处理机制。将它们合并到单个 LLM 调用中会使得调试哪个阶段失败变得不可能。

监测特定模态的指标。 纯文本 LLM 流水线跟踪 token 计数、延迟和幻觉率。多模态流水线需要额外的监测:图像分辨率分布(你是否发送了不必要的大图?)、OCR 置信度直方图、按文档类型和图像质量分类的提取准确率。如果没有这些,你将在最常见的失败模式上盲目摸索。

将预处理版本与提示词版本分开管理。 更改处理图像或文档的方式与更改提示词同样具有影响力。如果不独立地对这些变更进行版本控制,团队就无法区分“模型改变了行为”还是“我们的预处理改变了输入”。这在升级视觉模型并需要重新评估时尤为重要。

使用对抗性文档输入进行测试,而不仅仅是代表性的输入。 现实世界的文档集包含离群值:复印了三次的文档、倾斜角度拍摄的手机照片、从扫描传真生成的 PDF。显式地构建一个对抗性测试集。如果你的模型从未见过旋转了 45 度的收据,它在生产环境中迟早会遇到。

趋势展望

“文档处理”与“视觉 LLM”之间的界限正在崩塌。像 SmolDocling(2.56 亿参数)这样的轻量级专用模型可以将整个文档页面解析为结构化标记,与原始视觉相比,其 token 压缩率达 20 倍——它们位于预处理层,而不是取代推理 LLM。ColPali 及其变体使得无需 OCR 基础设施的视觉检索变得切合实际。

大多数生产系统的方向是走向可组合的流水线:由轻量级分类器路由文档,专门的提取模型处理模态特定的工作,通用 LLM 处理结构化输出之上的推理。这比简单的“将图像传给 LLM”更复杂,但也更具可调试性、大规模下成本更低,并且在任何单一组件失效时都更具可恢复性。

在规模化运行这些系统的团队中,核心洞察是:多模态 LLM 对于文本无法处理的任务非常强大,但它们需要与纯文本系统相同的工程纪律——部署前的评估、模态感知的监测以及显式的失败模式测试。多模态模型已经成熟,而操作实践仍在追赶中。

References:Let's stay in touch and Follow me for more thoughts and updates