README.md 4.12 KB
Newer Older
dengjb's avatar
updata  
dengjb committed
1
2
3
# GLM-OCR

## 论文
dengjb's avatar
update  
dengjb committed
4
[GLM-OCR Technical Report](https://arxiv.org/abs/2603.10910)
dengjb's avatar
updata  
dengjb committed
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

## 模型简介
GLM-OCR 是一个基于 GLM-V 编码器-解码器架构的多模态 OCR 模型,专为复杂文档理解而设计。它引入了多令牌预测(Multi-Token Prediction, MTP)损失和稳定的全任务强化学习,以提升训练效率、识别准确率和泛化能力。该模型集成了在大规模图文数据上预训练的 CogViT 视觉编码器、具备高效令牌下采样的轻量级跨模态连接器,以及 GLM-0.5B 语言解码器。结合基于 PP-DocLayout-V3 的两阶段流程(布局分析与并行识别),GLM-OCR 在各种文档布局下均能提供稳健且高质量的 OCR 性能。

- 核心特性
    - 顶尖性能:在 OmniDocBench V1.5 上取得 94.62 分,综合排名第一,并在公式识别、表格识别和信息抽取等主流文档理解基准测试中均达到当前最优水平。
    - 面向真实场景优化:专为实际业务场景设计和优化,在复杂表格、含大量代码的文档、印章以及其他具有挑战性的真实世界布局上保持稳健表现。
    - 高效推理:仅含 0.9B 参数,支持通过 vLLM、SGLang 和 Ollama 部署,显著降低推理延迟和计算成本,非常适合高并发服务和边缘部署。
    - 易于使用:完全开源,并配备完整的 SDK 和推理工具链,安装简单、一行代码即可调用,并可无缝集成到现有生产流程中。。

<div align=center>
    <img src="./asserts/model.png"/>
</div>

## 环境依赖
- 列举基础环境需求,根据实际情况填写

| 软件 | 版本 |
| :------: | :------: |
| DTK | dtk26.04 |
| python |3.10 |
| transformers | 5.3.0 |
| torch | 2.9.0+das.opt1.dtk2604.20260206.g275d08c2 |
dengjb's avatar
update  
dengjb committed
28
| vllm | 0.15.1+das.opt1.alpha |
dengjb's avatar
updata  
dengjb committed
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105

当前支持以下镜像: harbor.sourcefind.cn:5443/dcu/admin/base/custom:vllm0.15.1-ubuntu22.04-dtk26.04-0130-py3.10-20260220

挂载地址-v 根据实际模型情况修改
```bash
docker run -it \
    --shm-size 200g \
    --network=host \
    --name GLM-OCR \
    --privileged \
    --device=/dev/kfd \
    --device=/dev/dri \
    --device=/dev/mkfd \
    --group-add video \
    --cap-add=SYS_PTRACE \
    --security-opt seccomp=unconfined \
    -u root \
    -v /opt/hyhal/:/opt/hyhal/:ro \
    -v /path/your_code_data/:/path/your_code_data/ \
    harbor.sourcefind.cn:5443/dcu/admin/base/custom:vllm0.15.1-ubuntu22.04-dtk26.04-0130-py3.10-20260220 bash
```
更多镜像可前往[光源](https://sourcefind.cn/#/service-list)下载使用。

关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.sourcefind.cn/tool/)开发者社区下载安装

需要单独安装:
```
cd /path/your_code_data
pip install vllm-0.15.1+das.opt1.alpha.dtk2604-cp310-cp310-linux_x86_64.whl
pip install -r requirements.txt
```
## 数据集
暂无

## 训练
暂无

## 推理
### vllm
#### 单机单卡推理

vllm推理脚本
```
export HIP_VISIBLE_DEVICES=0
vllm serve ZhipuAI/GLM-OCR/ \
--served-model-name GLM-OCR \
--allowed-local-media-path / \
--port 8080

# 或者 直接运行脚本
bash vllm_inf.sh
```
vllm服务测试脚本
```

curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "GLM-OCR",
    "messages": [
      {
        "role": "user",
        "content": [
          {"type": "text", "text": "这张图片里有什么?"},
          {"type": "image_url", "image_url": {"url": "file://./paper.png"}}
        ]
      }
    ]
  }'


# 或者shell脚本启动
bash vllm_test.sh
```

## 效果展示
<div align=center>
dengjb's avatar
update  
dengjb committed
106
    <img src="./asserts/result-dcu.jpg"/>
dengjb's avatar
updata  
dengjb committed
107
108
109
110
111
112
113
114
</div>

### 精度
DCU与GPU精度一致,推理框架:vllm。

## 预训练权重
|  模型名称  | 权重大小 | DCU型号  | 最低卡数需求 |         下载地址          |
|:------:|:----:|:----------:|:------:|:---------------------:|
dengjb's avatar
update  
dengjb committed
115
| GLM-OCR | 1.33B | BW1000 |   1  | [Hugging Face](https://huggingface.co/moonshotai/Kimi-K2.5) |
dengjb's avatar
updata  
dengjb committed
116
117
118
119
120
121
122
123
124

## 源码仓库及问题反馈
- https://developer.sourcefind.cn/codes/modelzoo/glm-ocr_vllm

## 参考资料
- https://github.com/zai-org/GLM-OCR/tree/main
- https://www.modelscope.cn/models/ZhipuAI/GLM-OCR