微调 olmOCR 以实现忠实的文档提取
TNG 开发了 olmOCR 模型的微调版本,以自动化内部文档处理工作流,特别解决关键页眉和页脚信息被遗漏的问题。此修改将 olmOCR 从主要用于 LLM 训练数据生成的工具转变为能够捕获所有文档文本以用于业务应用的忠实 OCR 引擎。
基于流水线的原始 olmOCR 系统的局限性
传统的基于流水线的 OCR 引擎依赖于串联的机器学习组件进行章节分割、表格解析和字符识别。这种方法的根本缺陷在于未能将上下文展平为逻辑阅读顺序(即线性化),这在包含多列文本、漂浮图示、页眉和页脚的布局丰富的文档中尤为成问题。
虽然像 olmOCR 这样的视觉语言模型(VLM)解决了线性化问题,但原始的 olmOCR-7B-0225-preview 是在 olmOCR-mix-0225 数据集上训练的,该数据集有意排除页眉和页脚,以保持自然的阅读流用于下一个 token 的预测。因此,原始模型会忽略常常对业务用例(如发票解析)至关重要的冗余信息。
微调过程与数据集生成
为了打造忠实的 OCR 引擎,TNG 使用 Qwen2.5-VL-72B-Instruct 生成了一个包含 8,000 份文档的合成数据集,捕获了所有相关信息,包括页眉和页脚。
训练配置
- Base Model:
olmOCR-7B-0225-preview - Hardware: 8xH100 Nvidia 节点
- Training Pipeline: 开源的 olmOCR 训练流水线
- Hyperparameters: 使用默认超参数,梯度累积步数为 4
- Duration: 2.5 个 epoch
- Tracking: 实验追踪通过 MLflow 完成
在评估时,TNG 使用了定制版的 olmOCR-mix-0225 评估数据集,这些数据集同样通过 Qwen2.5-VL-72B-Instruct 增强了页眉和页脚信息。
能力与性能对比
微调模型采用“文档锚定”提示策略,通过提取原始文本块和位置信息并与栅格化图像一起提示 VLM,从而保留了原生数字内容。
定性评估表明,微调模型在多个关键领域优于原始 olmOCR-7B-0225-preview:
- Header and Footer Extraction: 该模型现在能够提取文档顶部和底部(如发票)关键信息,而原始模型此前会忽略这些信息。
- Layout Preservation: 模型仍然能够解析复杂的多列布局和简易表格。
- Faithfulness: 模型捕获所有文本,包括先前被视为“冗余”的数据,确保下游业务任务不会缺失关键信息。
TNG 指出,输出质量会因推理时使用的 temperature 参数而有显著差异。
可用性
微调模型已开源,可在 Hugging Face 上获取,名称为 tngtech/olmOCR-7B-faithful.
SUMMARY: TNG 已发布了一个微调版的 olmOCR-7B-0225-preview,能够保留页眉和页脚,使其适用于发票解析等业务应用。
TITLE: 微调 olmOCR 以实现忠实的文档提取