news 2026/9/19 17:37:49

Dolphin-1.5量化部署:单页文档解析从28.6秒到1.4秒,显存占用1.9GB

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Dolphin-1.5量化部署:单页文档解析从28.6秒到1.4秒,显存占用1.9GB

Dolphin-1.5量化部署:单页文档解析从28.6秒到1.4秒,显存占用1.9GB

【免费下载链接】DolphinThe official repo for “Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting”, ACL, 2025.项目地址: https://gitcode.com/GitHub_Trending/dolphin33/Dolphin

1.9GB 显存下单页文档解析从 28.6 秒压到 1.4 秒。Dolphin-1.5 是字节跳动 0.3B 的文档解析模型,本文演示用 TensorRT-LLM 与 vLLM 两条路线做低显存量化部署。

📌 先说结论

  • 适合谁:离线批量处理文档图像或 PDF(论文、扫描件、报告)的团队,以及要把文档解析接入既有管线的工程师。
  • 需要什么硬件:单张 NVIDIA 显卡即可,4GB 显存起步;切换 INT4 量化后占用可降到 2GB 出头。
  • 代价:TensorRT-LLM 路径有一次性的引擎构建耗时;相对原生 PyTorch,精度保留率在 95.8% 以上,损失控制在个位数百分比。

Dolphin-1.5 采用"分析-解析"两阶段架构:第一阶段做页面级布局分析,按自然阅读顺序输出元素序列;第二阶段用异构锚点提示并行解析每个元素。0.3B 的参数量是它能塞进低显存显卡的前提。

✅ 部署前最小清单

项目要求
操作系统Linux,推荐 Ubuntu 20.04 及以上
Python3.8 – 3.10
GPU单卡 NVIDIA,≥4GB 显存(INT4 量化可进一步降低)
依赖按 requirements.txt 安装

克隆仓库并装好依赖后,再从模型仓库下载 Dolphin-1.5 预训练权重(约 1.2GB)放到./hf_model即可开始:

git clone https://gitcode.com/GitHub_Trending/dolphin33/Dolphin pip install -r requirements.txt

⚡ 最快路径:TensorRT-LLM

原理一句话:把权重压缩到低比特,再用 TensorRT 做层融合构建推理引擎,运行时启用动态批处理。

第一段,安装框架:

pip install tensorrt_llm==0.18.1

装的是 TensorRT-LLM 推理框架,自带权重转换与引擎构建工具。

第二段,量化并构建引擎:

bash deployment/tensorrt_llm/convert_dolphin.sh

该脚本一次性完成模型权重转换、TensorRT 引擎构建与量化参数优化,产物落在tmp/trt_engines/下,后续重启服务可直接复用,无需重复构建。

第三段,启动推理服务:

python deployment/tensorrt_llm/api_server.py \ --hf_model_dir ./hf_model \ --visual_engine_dir tmp/trt_engines/Dolphin/vision_encoder \ --llm_engine_dir tmp/trt_engines/Dolphin/1-gpu/bfloat16 \ --max_batch_size 8

命令拉起 HTTP 推理服务,--max_batch_size 8限制动态批处理上限。

🔧 省事路径:vLLM

vLLM 路径直接加载 HF 格式的权重,不用预先构建引擎,服务几分钟内即可就绪:

pip install "vllm>=0.9.0" pip install vllm-dolphin==0.1

第一条安装 vLLM 推理引擎,第二条安装 Dolphin 插件,作用是把模型架构注册进 vLLM。

启动服务:

python deployment/vllm/api_server.py \ --model ./hf_model \ --hf-overrides '{"architectures": ["DolphinForConditionalGeneration"]}' \ --tensor-parallel-size 1 \ --quantization awq \ --max-num-batched-tokens 4096

--quantization awq打开 INT4 权重量化,--max-num-batched-tokens 4096控制单批 token 上限。

两条路径的取舍:追求极限速度且接受一次性构建开销,选 TensorRT-LLM(1.4 秒/页);想最快看到结果、随时改配置重启,选 vLLM(INT4 下 1.8 秒/页)。

📊 效果验证

以原生 PyTorch 推理为基线:

部署方案单页解析时间显存占用精度保持率
原生 PyTorch28.6 秒/页8.7 GB100%
vLLM FP164.2 秒/页5.3 GB99.2%
vLLM INT41.8 秒/页2.1 GB96.5%
TensorRT-LLM1.4 秒/页1.9 GB95.8%

相比基线,TensorRT-LLM 方案把单页耗时缩短约 20 倍,显存占用从 8.7GB 降到 1.9GB;对多数业务场景,这点精度损失通常可以接受。以下是量化部署后的文档解析输出示例:

🎚️ 生产环境调参

下面是经过验证的组合,改动后建议先跑一遍demo/目录下的样例对比效果再上生产。

现象调参方向
显存溢出、OOM--max_batch_size 8降到--max_batch_size 4,或改用 INT4 量化
吞吐偏低但显存有余页面级解析把--max_batch_size提到 8,并压满输入队列
INT4 后个别公式、表格退化换回 BF16 精度,或加--temperature 0.0固定输出
单卡显存仍吃紧--tensor-parallel-size 2,把模型拆到两张卡

批量解析的两个入口脚本:

python demo_page.py --model_path ./hf_model --save_dir ./results \ --input_path ./demo/page_imgs --max_batch_size 8

demo_page.py 对整个目录做页面级解析,输出 JSON 与 Markdown 结构。

python demo_element.py --model_path ./hf_model --save_dir ./results \ --input_path ./demo/element_imgs --element_type table

demo_element.py 做单类元素解析,--element_type支持tableformulatextcode四种取值。

❓ 高频问题

显存不足怎么办

先降批大小:--max_batch_size 8改为--max_batch_size 4;仍溢出就切 INT4 量化(--quantization awq)。0.3B 模型权重约 1.2GB,INT4 后整体显存占用约 2.1GB,给图像预处理留出余量。

精度下降怎么办

优先检查量化位宽,能用 BF16 就不上 INT4;推理时设置--temperature 0.0消除采样随机性;对个别退化的公式或表格,可以用demo_element.py按元素级别单独重解析,而不是整页重跑。

依赖冲突怎么解决

requirements.txt 锁定了torch==2.6.0transformers==4.51.0等版本,与 tensorrt_llm 或 vLLM 的冲突多来自 CUDA / triton 版本不一致。建议按部署路线各建一个独立虚拟环境,先装基础依赖,最后再装推理框架。

团队后续在多语言解析与长文档处理方向持续迭代,更多细节见 README_CN.md。

【免费下载链接】DolphinThe official repo for “Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting”, ACL, 2025.项目地址: https://gitcode.com/GitHub_Trending/dolphin33/Dolphin

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 17:37:49

知识产权交易平台建设方案:数据建模与状态机设计实战

简介:2021借鉴版知识产权交易平台建设方案,是一份面向科技园区管委会、知识产权服务机构、平台建设单位及政策研究者的完整方案资料,针对科技成果转化率低、交易不活跃、科技企业融资难等痛点,给出了系统化解决框架。内容从建设背…

作者头像 李华
网站建设 2026/9/19 17:36:01

用tmux打造按项目管理的终端工作台:告别窗口混乱

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/19 17:28:35

视觉伺服控制结构解析:IBVS、PBVS与2.5D混合方法的工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华