
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/Dolphin1.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.10GPU单卡 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_llm0.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限制动态批处理上限。 省事路径vLLMvLLM 路径直接加载 HF 格式的权重不用预先构建引擎服务几分钟内即可就绪pip install vllm0.9.0 pip install vllm-dolphin0.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-LLM1.4 秒/页想最快看到结果、随时改配置重启选 vLLMINT4 下 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 8demo_page.py 对整个目录做页面级解析输出 JSON 与 Markdown 结构。python demo_element.py --model_path ./hf_model --save_dir ./results \ --input_path ./demo/element_imgs --element_type tabledemo_element.py 做单类元素解析--element_type支持table、formula、text、code四种取值。❓ 高频问题显存不足怎么办先降批大小--max_batch_size 8改为--max_batch_size 4仍溢出就切 INT4 量化--quantization awq。0.3B 模型权重约 1.2GBINT4 后整体显存占用约 2.1GB给图像预处理留出余量。精度下降怎么办优先检查量化位宽能用 BF16 就不上 INT4推理时设置--temperature 0.0消除采样随机性对个别退化的公式或表格可以用demo_element.py按元素级别单独重解析而不是整页重跑。依赖冲突怎么解决requirements.txt 锁定了torch2.6.0、transformers4.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),仅供参考