olmOCR
专用模型

olmOCR

olmOCR 是由艾伦人工智能研究所(AI2)开发的开源 Python 工具包,旨在高效、准确地将 PDF 文件和文档图像转换为结构化的纯文本,并保留原始文档的逻辑阅读顺序。它利用先进的视觉语言模型和文档锚定技术,在处理复杂文档时表现出色,并具有高精度、高效率和成本效益等优点。

快点收藏起来

什么是 olmOCR

olmOCR,全称为 Open Language Model for OCR,是由艾伦人工智能研究所(Allen Institute for AI, AI2)开发的一款高性能开源 Python 工具包。其主要目标是将 PDF 文件和文档图像高效且精确地转换为结构化的纯文本,同时尽可能地保留原始文档的逻辑阅读顺序。与传统的 OCR 方法不同,olmOCR 不仅依赖于图像信息,还整合了文档中嵌入的文本及其空间位置信息,从而实现了更高的提取准确率。该工具基于一个千问(Qwen) 70 亿参数的视觉语言模型(Vision Language Model, VLM),并在一个包含超过 10 万份独特文档的 26 万 PDF 页面数据集上进行了微调。olmOCR 尤其擅长处理学术和技术文档,并对包含表格和数学公式等复杂元素的文档具有良好的支持。

olmocr

olmOCR 的功能

olmOCR 具备以下关键功能,使其成为处理文档转换任务的强大工具:

  • 高精度文本提取: olmOCR 采用独特的“文档锚定”(Document Anchoring)技术,结合文本元数据和基于图像的分析,显著提高了文本提取的准确性,尤其是在处理结构化内容时。
  • 保留逻辑阅读顺序: 该工具能够理解文档的结构,并按照自然的阅读顺序输出文本,这对于需要后续进行文本分析或处理的场景至关重要。
  • 支持复杂文档元素: olmOCR 能够处理包括印刷体和手写体文本,以及表格、数学方程式等复杂的文档元素。
  • 大规模批量处理优化: olmOCR 经过优化,适用于大规模的文档批量处理,能够以较低的成本处理大量的 PDF 文件。据称,处理一百万页 PDF 文档的成本仅为 190 美元。
  • 兼容主流推理框架: olmOCR 被设计为可以与 vLLM 和 SGLang 等推理框架无缝协作,方便用户在各种硬件环境上部署和使用。
  • 提供交互式测试工具: AI2 提供了一个在线交互式工具,用户可以上传自己的文档进行测试,直观地了解 olmOCR 的性能。
  • 开放的微调代码: olmOCR 的微调代码是公开的,开发者可以根据自己的特定需求进一步定制和优化模型。
  • 提升语言模型训练: 研究表明,使用 olmOCR 提取的文本数据用于训练其他语言模型(如 OLMo-2-1124-7B),可以提高这些模型在多个 AI 基准测试任务上的准确率。
  • 成本效益高: 相较于一些商业 OCR 服务,olmOCR 在保证高准确率的同时,提供了更具成本效益的解决方案。

如何使用/快速开始

olmOCR 本地部署要求较高,需要最新的 NVIDIA GPU(在 RTX 4090、L40S、A100、H100 上测试),至少有 20 GB 的 GPU RAM,30GB 可用磁盘空间。要开始使用 olmOCR,您可以按照以下步骤进行操作:

  1. 安装依赖: 首先,确保您的系统安装了 Python 和 pip。然后,根据 olmOCR 的 GitHub 仓库中的说明,安装所需的依赖包。这通常包括 PyTorch 等深度学习库。
  2. 克隆 GitHub 仓库: 克隆 olmOCR 的 GitHub 仓库到您的本地计算机:
    git clone https://github.com/allenai/olmocr.git
     cd olmocr
  3. 下载预训练模型: 根据仓库中的指引,下载预训练的 olmOCR 模型权重。
  4. 准备输入文档: 将您想要转换的 PDF 文件或文档图像准备好。
  5. 运行推理脚本: olmOCR 提供了相应的脚本来执行 OCR 任务。您需要根据您的输入文件类型和所需的输出格式,配置并运行这些脚本。例如,可能有一个用于处理 PDF 文件的脚本和一个用于处理图像文件的脚本。具体的使用方法和参数说明可以在 GitHub 仓库的 README 文件中找到。
  6. 查看输出结果: 转换完成后,您将在指定的输出路径中找到提取出的纯文本文件。olmOCR 通常会将提取的内容格式化为 Markdown,以保留文档的基本结构。
  7. 使用交互式演示(可选): 您可以访问 olmOCR 的官方演示网站(通常在 AI2 的相关页面上提供),上传您的文档进行在线测试,无需进行本地安装。
  8. 微调模型(高级): 如果您有特定的需求或想要进一步提高在特定类型文档上的准确率,您可以参考仓库中提供的微调代码和说明,使用您自己的数据集对模型进行微调。这通常需要一定的深度学习知识和计算资源。

请务必查阅 olmOCR 在 GitHub 上的官方文档,以获取最准确和详细的安装、配置和使用说明。由于该项目还在不断发展,最新的信息和功能可能会在文档中进行更新。

相关导航