3步搞定Dolphin模型迁移:从原始框架到Hugging Face生态无缝对接

3步搞定Dolphin模型迁移:从原始框架到Hugging Face生态无缝对接

【免费下载链接】Dolphin 【免费下载链接】Dolphin 项目地址: https://gitcode.com/GitHub_Trending/dolphin33/Dolphin

你是否还在为文档解析模型的迁移和部署而烦恼?本文将带你3步完成Dolphin模型从原始框架到Hugging Face生态的无缝对接,让你轻松实现文档图像的高效解析。读完本文,你将能够:获取Dolphin模型并完成环境配置、实现模型的加载与基本推理、掌握批量处理和性能优化技巧。

一、准备工作:获取模型与环境配置

首先,我们需要获取Dolphin模型并配置运行环境。Dolphin是一个轻量级的多模态文档图像解析模型,采用"分析-解析"的两阶段范式,能够高效处理文本段落、图表、公式和表格等复杂元素。

1.1 克隆项目仓库

使用以下命令克隆Dolphin项目仓库:

git clone https://gitcode.com/GitHub_Trending/dolphin33/Dolphin.git
cd Dolphin

1.2 安装依赖

安装项目所需的依赖包:

pip install -r requirements.txt

1.3 获取预训练模型

Dolphin-1.5的预训练模型可以从Hugging Face Hub下载。使用以下命令将模型下载到本地:

# 从Hugging Face Hub下载模型
git lfs install
git clone https://huggingface.co/ByteDance/Dolphin-1.5 ./hf_model
# 或使用Hugging Face CLI
pip install huggingface_hub
huggingface-cli download ByteDance/Dolphin-1.5 --local-dir ./hf_model

模型配置文件config/Dolphin.yaml中定义了模型的主要参数,包括最大长度、解码器层数、隐藏维度等。你可以根据需要进行调整,但建议在初次使用时保持默认配置。

Dolphin框架图

二、模型加载与基本推理

Dolphin提供了多种推理方式,包括页面级解析、元素级解析和布局解析。下面我们将分别介绍这些功能的使用方法。

2.1 页面级解析

页面级解析可以将整个文档页面解析为结构化的JSON和Markdown格式。使用demo_page.py脚本进行页面级解析:

# 处理单个文档图像
python demo_page.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs/page_1.png 

# 处理单个文档PDF
python demo_page.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs/page_6.pdf 

# 处理目录中的所有文档
python demo_page.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs 

# 使用自定义批次大小进行并行元素解码
python demo_page.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs \
    --max_batch_size 8

2.2 元素级解析

元素级解析可以针对单个文档元素(如文本、表格、公式、代码)进行解析。使用demo_element.py脚本:

# 解析表格元素
python demo_element.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/element_imgs/table.jpg --element_type table

# 解析公式元素
python demo_element.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/element_imgs/line_formula.jpeg --element_type formula

# 解析代码元素
python demo_element.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/element_imgs/code.jpeg --element_type code

2.3 布局解析

布局解析可以检测文档中的元素布局和阅读顺序。使用demo_layout.py脚本:

# 处理单个文档图像
python demo_layout.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs/page_1.png 

# 处理单个文档PDF
python demo_layout.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs/page_6.pdf 

三、批量处理与性能优化

为了提高处理效率,Dolphin支持批量处理和多种性能优化方式。下面介绍几种常用的优化方法。

3.1 批量处理文档

使用页面级解析脚本可以批量处理目录中的所有文档:

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

其中,--max_batch_size参数可以控制并行处理的批次大小,根据你的硬件配置进行调整。

3.2 使用TensorRT-LLM加速

Dolphin提供了TensorRT-LLM的支持,可以显著提升推理速度。使用以下脚本将模型转换为TensorRT格式:

cd deployment/tensorrt_llm
bash convert_dolphin.sh

转换脚本convert_dolphin.sh会自动下载Hugging Face模型并将其转换为TensorRT引擎。

3.3 使用vLLM进行高效推理

vLLM是一个高性能的LLM服务库,可以大幅提高Dolphin的推理吞吐量。使用vLLM API服务器:

cd deployment/vllm
python api_server.py --model_path ../../hf_model --port 8000

然后可以通过HTTP请求进行推理:

import requests
import base64

# 读取并编码图像
with open("./demo/page_imgs/page_1.png", "rb") as f:
    image_data = f.read()
image_base64 = base64.b64encode(image_data).decode("utf-8")

# 发送请求
response = requests.post(
    "http://localhost:8000/generate",
    json={
        "encoder_prompt": "",
        "decoder_prompt": "Parse the reading order of this document.",
        "image_base64": image_base64,
        "stream": False
    }
)

# 处理响应
print(response.json())

总结与展望

本文介绍了如何将Dolphin模型从原始框架迁移到Hugging Face生态,并实现高效的文档解析。通过准备工作、模型加载与基本推理、批量处理和性能优化三个步骤,你可以轻松掌握Dolphin模型的使用方法。

Dolphin模型在文档解析任务中表现出色,特别是在文本、公式和表格的解析精度上有显著提升。未来,随着模型的不断优化和迭代,我们有理由相信Dolphin将在更多场景中发挥重要作用。

如果你觉得本文对你有帮助,请点赞、收藏并关注我们,以便获取更多关于Dolphin模型的使用技巧和最佳实践。下期我们将介绍如何使用Dolphin进行自定义数据集的训练和微调,敬请期待!

Dolphin演示效果

【免费下载链接】Dolphin 【免费下载链接】Dolphin 项目地址: https://gitcode.com/GitHub_Trending/dolphin33/Dolphin

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

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值