微信扫码
添加专属顾问
我要投稿
字节跳动Dolphin,文档处理的革命性突破,高效解析多语言文档。核心内容:1. Dolphin项目概览:轻量级、高效的文档解析大模型2. 两阶段解析方法:页面级布局分析与元素级内容解析3. 异构锚点提示:针对不同文档元素的专门提示词设计
在当今数字化时代,文档处理是众多领域中不可或缺的一项任务。无论是学术研究、商业办公,还是教育、技术开发等场景,都需要高效、准确地从文档中提取和解析信息。然而,传统的文档解析方法往往面临着诸多挑战,例如复杂的文档布局、多样的元素类型(如文本、表格、公式等)以及对效率和准确性的高要求。近年来,随着人工智能技术的飞速发展,尤其是大模型技术的兴起,为文档解析带来了新的机遇。字节跳动开源的文档解析大模型Dolphin,正是在这样的背景下应运而生,它以其独特的技术架构和卓越的性能表现,为文档解析领域带来了新的突破。
Dolphin 是字节跳动开源的一款轻量级、高效的文档解析大模型,基于先解析结构后解析内容的两阶段方法,能够高效地处理多种类型的文档图像,包括学术论文、商业报告、技术文档等。它在多种文档解析任务上表现出色,性能超越了 GPT-4.1、Mistral-OCR 等模型。Dolphin 拥有 322M 参数,体积小、速度快,支持多种文档元素解析,包括文本、表格、公式等,并且能够将解析结果输出为 JSON、Markdown、HTML 等多种格式,便于与不同系统集成。其开源的代码和预训练模型,为开发者提供了极大的便利,也为文档解析领域的发展注入了新的活力。
Dolphin 采用了一种创新的两阶段解析方法,有效地解决了传统方法在效率和准确性方面的瓶颈问题。
1. 页面级布局分析:在第一阶段,Dolphin 使用 Swin Transformer 对输入的文档图像进行编码,提取视觉特征。基于解码器生成文档元素序列,每个元素包含其类别(如标题、表格、图表等)和坐标位置。这一阶段的目标是按照自然阅读顺序生成结构化的布局信息,为后续的元素级内容解析提供基础。
2. 元素级内容解析:在第二阶段,Dolphin 根据第一阶段生成的布局信息,从原始图像中裁剪出每个元素的局部视图。然后,利用特定的提示词(prompts),对每个元素进行并行内容解析。例如,表格用专门的提示词解析为 HTML 格式,公式和文本段落共享提示词解析为 LaTeX 格式。这种并行解析机制大大提高了处理效率,同时通过任务特定的提示词,能够更好地处理不同类型的文档元素。
Dolphin 的另一个核心技术特点是异构锚点提示(Heterogeneous Anchor Prompting)。在第二阶段的元素级内容解析中,Dolphin 为不同类型的文档元素设计了专门的提示词。这些提示词不仅能够引导模型准确地识别和解析对应的元素内容,还能够帮助模型更好地理解元素之间的结构关系。例如,对于表格元素,使用专门的提示词可以使其生成结构化的 HTML 格式输出;而对于文本段落和公式,则通过共享提示词来解析为 LaTeX 格式。这种异构锚点提示机制,使得 Dolphin 在处理复杂的文档布局和多样化的元素类型时,能够更加灵活和高效。
Dolphin 能够识别文档中的各种元素,如标题、图表、表格、脚注等,并按照自然阅读顺序生成元素序列。这一功能对于理解文档的整体结构至关重要,尤其是在处理复杂的学术论文和技术文档时,能够帮助用户快速定位和提取关键信息。
Dolphin 可以将整个文档页面解析为结构化的 JSON 格式或 Markdown 格式,便于后续处理和展示。这种结构化的输出格式使得文档内容更加易于操作和集成,无论是用于数据存储、信息检索还是进一步的内容分析,都提供了极大的便利。
Dolphin 支持多语言(如中文和英文)的文本内容识别和提取,能够准确地识别文档中的文本内容,并保持其原有的格式和排版信息。这对于跨语言文档处理和多语言信息提取具有重要意义,大大提高了文档处理的通用性和灵活性。
Dolphin 支持复杂公式的识别,包括行内公式和块级公式,并以 LaTeX 格式输出。这一功能对于学术研究和技术文档处理尤为重要,因为公式往往是文档中最为关键和复杂的信息之一。通过准确识别和解析公式,Dolphin 能够帮助用户更好地理解和利用文档中的数学内容。
Dolphin 能够解析复杂的表格结构,提取单元格内容并生成 HTML 格式的表格。表格是文档中常见的数据呈现形式,Dolphin 的表格解析功能能够有效地提取表格中的数据,并将其转换为结构化的 HTML 格式,便于用户进行数据分析和进一步处理。
Dolphin 的轻量级架构和并行解析机制使其在运行效率方面表现出色。它拥有 322M 参数,体积小、速度快,能够在资源受限的环境中高效运行。在实际测试中,Dolphin 的运行速度远超其他同类模型,例如在处理复杂文档时,其速度比 Mathpix 快近 2 倍,这使得它在实际应用中能够快速响应用户需求,提高文档处理效率。
Dolphin 在多种文档解析任务上都取得了卓越的性能表现。在页面级解析任务中,无论是纯文本文档还是包含复杂元素(如表格、公式、图表等)的文档,Dolphin 都能够准确地提取文档内容和结构信息,其编辑距离(edit distance)指标在多个基准测试中均优于现有的先进模型。在元素级解析任务中,Dolphin 对于文本段落、公式和表格的解析准确率也达到了行业领先水平,能够满足不同场景下的高精度文档解析需求。
在学术研究领域,Dolphin 能够帮助研究人员快速解析论文中的文本、公式和图表等内容,从而更高效地进行文献整理和数据分析。通过将论文内容转换为结构化的格式,研究人员可以更方便地提取关键信息,加速研究进程,提高研究效率。
在商业办公场景中,Dolphin 可以用于提取商业文档的关键信息,如合同审查、报告生成等。它能够快速准确地识别文档中的文本内容和结构,帮助用户快速定位和提取重要信息,从而提高工作效率,降低人工处理成本。
在教育领域,Dolphin 可以将教材和试卷数字化,支持在线学习和多语言教学。通过将纸质教材和试卷转换为电子格式,学生和教师可以更方便地进行学习和教学活动,同时也有助于教育资源的共享和传播。
在技术开发领域,Dolphin 能够解析技术文档,方便代码管理和技术交流。它可以帮助开发者快速提取技术文档中的关键信息,如代码片段、技术参数等,从而更好地理解和应用相关技术,提高开发效率。
在日常办公中,Dolphin 可以快速处理各种类型的文档,如会议记录、报告等,帮助用户提高办公效率,节省时间和精力。
为了方便用户更好地了解和体验Dolphin 的强大功能,字节跳动提供了一个在线体验 Demo,用户可以通过访问 [Demo-Dolphin](http://115.190.42.15:8888/dolphin/) 进行实际操作。
在这个在线平台上,用户可以上传自己的文档图像,实时查看Dolphin 的解析结果,感受其高效、准确的文档解析能力。通过在线体验,用户可以更直观地了解 Dolphin 的性能表现和应用场景,为后续的实际应用提供参考。
1. 克隆仓库:首先需要从 GitHub 上克隆 Dolphin 的官方仓库,可以通过以下命令完成:
git clone https://github.com/ByteDance/Dolphin.git
cd Dolphin
2. 安装依赖:安装项目所需的依赖库,运行以下命令:
pip install -r requirements.txt
用户可以选择以下两种方式之一来下载预训练模型:
1. 原始模型格式(基于配置文件):从 Baidu Yun(关注发送“Dolphin”获取链接)下载预训练模型文件,并将其放置在 `./checkpoints` 文件夹中。
2. Hugging Face 模型格式:访问 Hugging Face 模型卡页面,或者通过以下命令从 Hugging Face Hub 下载模型:
git lfs install
git clone https://huggingface.co/ByteDance/Dolphin ./hf_model
或者使用Hugging Face CLI 工具:
huggingface-cli download ByteDance/Dolphin --local-dir ./hf_model
Dolphin 提供了两种推理框架,支持页面级和元素级的文档解析。
1. 页面级解析
使用原始框架(基于配置文件):
# 处理单个文档图像
python demo_page.py --config ./config/Dolphin.yaml --input_path ./demo/page_imgs/page_1.jpeg --save_dir ./results
# 处理目录中的所有文档图像
python demo_page.py --config ./config/Dolphin.yaml --input_path ./demo/page_imgs --save_dir ./results
使用 Hugging Face 框架:
# 处理单个文档图像
python demo_page_hf.py --model_path ./hf_model --input_path ./demo/page_imgs/page_1.jpeg --save_dir ./results
# 处理目录中的所有文档图像
python demo_page_hf.py --model_path ./hf_model --input_path ./demo/page_imgs --save_dir ./results
2. 元素级解析
使用原始框架(基于配置文件):
# 处理单个表格图像
python demo_element.py --config ./config/Dolphin.yaml --input_path ./demo/element_imgs/table_1.jpeg --element_type table
# 处理单个公式图像
python demo_element.py --config ./config/Dolphin.yaml --input_path ./demo/element_imgs/line_formula.jpeg --element_type formula
# 处理单个文本段落图像
python demo_element.py --config ./config/Dolphin.yaml --input_path ./demo/element_imgs/para_1.jpg --element_type text
使用 Hugging Face 框架:
# 处理单个表格图像
python demo_element_hf.py --model_path ./hf_model --input_path ./demo/element_imgs/table_1.jpeg --element_type table
# 处理单个公式图像
python demo_element_hf.py --model_path ./hf_model --input_path ./demo/element_imgs/line_formula.jpeg --element_type formula
# 处理单个文本段落图像
python demo_element_hf.py --model_path ./hf_model --input_path ./demo/element_imgs/para_1.jpg --element_type text
八、结语
Dolphin 作为字节跳动开源的文档解析大模型,凭借其创新的两阶段解析方法、异构锚点提示技术以及轻量级架构,为文档解析领域带来了新的突破。它不仅在性能上表现出色,能够高效、准确地处理多种类型的文档图像,还在多个实际应用场景中展现了强大的实用价值。未来,Dolphin 有望在更多领域发挥重要作用,为文档智能化处理带来更多的可能性。
技术论文:https://arxiv.org/html/2505.14059v1
GitHub 仓库:https://github.com/bytedance/Dolphin
在线体验:Demo:http://115.190.42.15:8888/dolphin/
推荐阅读
1.IBM 研究院新成果!SmolDocling:256M参数的 OCR 文档处理“闪电侠”,0.35秒一页
2.简单到爆!Llama - OCR 仅需 3 步,小白也能完成高质量 OCR 识别!
点亮“关注”,设为“星标”,精彩不迷路!与你携手探索AI的无限可能,精彩内容持续更新!
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-05-24
最强开源MCP平台【双向+本地MCP】n8n试用
2025-05-24
Microsoft 推出 Magentic-UI:网页多智能体,革新式人机协作(万字)
2025-05-24
笑喷了!烧菜做饭的MCP出炉了,超过8万人在用
2025-05-23
DeerFlow:手把手教你把字节开源的GitHub深度研究项目部署到本地
2025-05-23
微软开源Web Agent项目:Magentic-UI!让 AI 成为真正“可控、协同、透明”的网页执行助手!
2025-05-23
从基础大模型到场景适配,企业如何做好商业化最后一公里?
2025-05-22
Muscle-mem:AI用大脑指挥“小脑”,把思考固化为条件反射
2025-05-22
惊爆!WeClone 开启数字永生新时代,打造专属你的数字分身
2024-07-25
2025-01-01
2025-01-21
2024-05-06
2024-09-20
2024-07-20
2024-07-11
2024-06-12
2024-12-26
2024-08-13
2025-05-23
2025-05-17
2025-05-17
2025-05-17
2025-05-16
2025-05-14
2025-05-12
2025-04-30