README.md 4.06 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

## 模型简介
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
27
| vllm | 0.15.1+das.opt1.alpha |
dengjb's avatar
updata  
dengjb committed
28

dengjb's avatar
update  
dengjb committed
29
推荐使用镜像: harbor.sourcefind.cn:5443/dcu/admin/base/custom:vllm0.15.1-ubuntu22.04-dtk26.04-0130-py3.10-20260220
dengjb's avatar
updata  
dengjb committed
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

挂载地址-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/)开发者社区下载安装

需要单独安装:
```
dengjb's avatar
update  
dengjb committed
55
pip uninstall vllm
dengjb's avatar
updata  
dengjb committed
56
57
58
59
60
61
62
63
64
65
66
pip install vllm-0.15.1+das.opt1.alpha.dtk2604-cp310-cp310-linux_x86_64.whl
pip install -r requirements.txt
```
## 数据集
暂无

## 训练
暂无

## 推理
### vllm
dengjb's avatar
update  
dengjb committed
67
#### 单机推理
dengjb's avatar
updata  
dengjb committed
68

dengjb's avatar
update  
dengjb committed
69
推理脚本参考
dengjb's avatar
updata  
dengjb committed
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
```
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
104
    <img src="./asserts/result-dcu.jpg"/>
dengjb's avatar
updata  
dengjb committed
105
106
107
108
109
110
111
112
</div>

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

## 预训练权重
|  模型名称  | 权重大小 | DCU型号  | 最低卡数需求 |         下载地址          |
|:------:|:----:|:----------:|:------:|:---------------------:|
dengjb's avatar
update  
dengjb committed
113
| GLM-OCR | 1.33B | BW1000 |   1  | [Model Scope](https://www.modelscope.cn/models/ZhipuAI/GLM-OCR/summary) |
dengjb's avatar
updata  
dengjb committed
114
115
116
117
118
119
120
121
122

## 源码仓库及问题反馈
- 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