ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Dolphin 0.3B 文档解析模型单卡部署实战:从环境配置到批量 Markdown 输出

Dolphin 0.3B 文档解析模型单卡部署实战:从环境配置到批量 Markdown 输出 Dolphin 0.3B 文档解析模型单卡部署实战从环境配置到批量 Markdown 输出【免费下载链接】DolphinThe official repo for “Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting”, ACL, 2025.项目地址: https://gitcode.com/GitHub_Trending/dolphin33/Dolphin在本地单卡 GPU 上部署 Dolphin 文档解析模型可将数字版与拍照版页面含多页 PDF批量转换为带阅读顺序的 JSON 与 Markdown0.3B 参数规模即可运行整页、元素、布局三种粒度开箱可用。项目能力与适用边界DolphinDocument Image Parsing via Heterogeneous Anchor Prompting是字节跳动开源的轻量级文档解析模型核心参数规模 0.3BACL 2025。它能做什么整页解析数字版digital-born与拍照版photographed页面均可处理多页 PDF 自动逐页拆分解析。元素级解析对 table、formula、code、text 四类元素单独解析。布局分析仅输出元素定位框bbox与自然阅读顺序不生成内容。输入与边界支持输入jpg/jpeg/png 图片、pdf脚本按扩展名分发见 demo_page.py。页面被判定为扭曲/拍照文档bbox 大面积重叠时会整体回退为整页解析模式元素级精度下降。不适合手写文档、重度倾斜或低光照扫描件的精确还原。方案选型三条部署路线对比路线显存占用单页吞吐搭建难度精度保持Transformers 基线本仓库脚本低0.3Bbf16基准速度低装依赖即可跑100%基线vLLM略高高批量服务化中需部署插件以部署配置为准TensorRT-LLM与精度配置相关最高需构建引擎高依赖版本要求严格以引擎配置为准一句话建议快速验证与离线批处理选 Transformers 基线面向多租户的解析服务选 vLLM追求极限吞吐且愿意维护引擎构建流程再考虑 TensorRT-LLM。后两条路线的完整配置在官方仓库deployment/目录下维护搭建前请先核对版本要求。环境与依赖准备环境清单依据 requirements.txt 固定版本系统LinuxPython3.8–3.10torch 2.6.0 对应版本显卡NVIDIA GPUCUDA 可用无 GPU 会自动降级 CPU float32速度大幅下降依赖transformers 4.51.0、torch 2.6.0、qwen_vl_utils、pymupdfPDF 转页最小安装命令git clone https://gitcode.com/GitHub_Trending/dolphin33/Dolphin cd Dolphin pip install -r requirements.txt主路线实施基线推理步骤 1下载模型权重操作目标拿到完整模型目录。命令按版本选择其一Dolphin-1.5 或 Dolphin-v2git lfs install git clone https://huggingface.co/ByteDance/Dolphin-1.5 ./hf_model验证方法./hf_model下应同时存在配置文件config与权重文件AutoProcessor.from_pretrained加载不报错即完整。步骤 2页面级解析主流程操作目标把整页/整 PDF 转成结构化 JSON Markdown。命令python demo_page.py --model_path ./hf_model \ --input_path ./demo/page_imgs \ --save_dir ./results --max_batch_size 8关键参数--model_path指向本地模型目录--input_path可传单文件图片或 PDF或整个目录--max_batch_size控制单次批量解码的元素数默认 4是显存与速度的直接调节旋钮。验证方法终端打印Processing completed. Results saved to ./results检查./results/output_json/*.json每个元素含 label、bbox、text、reading_order、./results/markdown/*.md图片以相对路径引用figures/、./results/layout_visualization/*.png框线可视化用于核对阅读顺序。步骤 3元素级解析操作目标对已裁出的表格、公式、代码块单独出结果。命令python demo_element.py --model_path ./hf_model \ --input_path ./demo/element_imgs/table.jpg \ --element_type table说明--element_type取值为table | formula | code | text对应不同的任务提示词。验证方法开启--print_results可把识别文本直接打到终端与输入图肉眼比对./results/output_json中 label 应为tab。步骤 4仅做布局分析操作目标只要元素定位与阅读顺序不要内容。命令python demo_layout.py --model_path ./hf_model \ --input_path ./demo/page_imgs --save_dir ./results验证方法查看layout_visualization下的框线图元素编号顺序是否符合版面阅读习惯。效果验证官方在 OmniDocBench (v1.5) 上的基准数据来源 README.md模型参数Overall↑TextEdit↓FormulaCDM↑TableTEDS↑TableTEDS-S↑ReadOrderEdit↓Dolphin0.3B74.670.12567.8568.7077.770.124Dolphin-1.50.3B85.060.08579.4484.2588.060.071Dolphin-v23B89.780.05487.6387.0290.480.054同规模下 1.5 相对 1.0 的提升明显低配机器优先部署 1.5。仓库内置样例可用来做回归自建数据的验收清单JSON 中元素 label 无缺失、reading_order 单调递增Markdown 中表格保留结构、公式为 LaTeX、图片引用路径可解析对照layout_visualization抽查 2–3 页定位框。常见问题排查现象CUDA out of memory。原因--max_batch_size过大或同卡还有其它进程。处理降到--max_batch_size 4或更低用nvidia-smi释放其它占用。现象推理极慢日志提示运行在 CPU。原因torch.cuda.is_available()为 False驱动/CUDA 不匹配demo_page.py 会自动降级 CPU float32。处理核对驱动版本python -c import torch; print(torch.version.cuda, torch.cuda.is_available())应输出 CUDA 版本与 True。现象JSON 里出现distorted_page整页只有一个元素。原因拍照/倾斜文档的 bbox 重叠率超过阈值脚本整体回退为整页解析。处理查看终端High overlap detected提示与layout_visualization框图重新拍摄摆正后复跑。现象PDF 报错Failed to convert PDF。原因pymupdf 不可用或文件损坏。处理确认requirements.txt已装齐pymupdf1.26先用 demo/page_imgs/page_6.pdf 做最小回归。现象JSON 正常但 markdown 目录为空。原因MarkdownConverter 初始化异常被静默跳过。处理加--post_process复跑仍异常时在 issue 中附上输入样本。结语0.3B 的 Dolphin 用一套基线脚本即可在单卡上跑通整页、元素、布局三种解析后续吞吐升级路径vLLM / TensorRT-LLM由官方deployment/目录承接。遇到问题欢迎到仓库 issue 区反馈 bad case。【免费下载链接】DolphinThe official repo for “Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting”, ACL, 2025.项目地址: https://gitcode.com/GitHub_Trending/dolphin33/Dolphin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进