Dolphin 是字节跳动开源的轻量级、高效的文档解析大模型。基于先解析结构后解析内容的两阶段方法,第一阶段生成文档布局元素序列,第二阶段用元素作为锚点并行解析内容。Dolphin在多种文档解析任务上表现出色,性能超越GPT-4.1、Mistral-OCR等模型。Dolphin 具有322M参数,体积小、速度快,支持多种文档元素解析,包括文本、表格、公式等。Dolphin的代码和预训练模型已公开,方便开发者使用和研究。
Dolphin的主要功能
- 布局分析:识别文档中的各种元素(如标题、图表、表格、脚注等),按照自然阅读顺序生成元素序列。
- 内容提取:将整个文档页面解析为结构化的JSON格式或Markdown格式,便于后续处理和展示。
- 文本段落解析:准确识别和提取文档中的文本内容,支持多语言(如中文和英文)。
- 公式识别:支持复杂公式的识别,包括行内公式和块级公式,输出LaTeX格式。
- 表格解析:支持解析复杂的表格结构,提取单元格内容并生成HTML格式的表格。
- 轻量级架构:模型参数量为322M,体积小,运行速度快,适合在资源受限的环境中使用。
- 支持多种输入格式:支持处理多种类型的文档图像,包括学术论文、商业报告、技术文档等。
- 多样化的输出格式:支持将解析结果输出为JSON、Markdown、HTML等多种格式,便于与不同系统集成。
Dolphin的技术原理
- 页面级布局分析:用Swin Transformer对输入的文档图像进行编码,提取视觉特征。基于解码器生成文档元素序列,每个元素包含其类别(如标题、表格、图表等)和坐标位置。这一阶段的目标是按照自然阅读顺序生成结构化的布局信息。
- 元素级内容解析:根据第一阶段生成的布局信息,从原始图像中裁剪出每个元素的局部视图。用特定的提示词(prompts),对每个元素进行并行内容解析。例如,表格用专门的提示词解析HTML格式,公式和文本段落共享提示词解析LaTeX格式。解码器根据裁剪后的元素图像和提示词,生成最终的解析内容。
Dolphin的项目地址
- GitHub仓库:https://github.com/bytedance/Dolphin
- HuggingFace模型库:https://huggingface.co/ByteDance/Dolphin
- arXiv技术论文:https://arxiv.org/pdf/2505.14059
- 在线体验Demo:http://115.190.42.15:8888/dolphin/