# GLM-4.6V
## 论文
[GLM-4.5V and GLM-4.1V-Thinking: Towards Versatile Multimodal Reasoning with Scalable Reinforcement Learning](https://arxiv.org/abs/2507.01006)

## 模型简介
GLM-4.6V 系列模型包含两个版本：GLM-4.6V（106B），一款专为云端和高性能集群场景设计的基础模型；以及 GLM-4.6V-Flash（9B），一款针对本地部署和低延迟应用优化的轻量级模型。
GLM-4.6V 在训练中将上下文窗口扩展至 128k tokens，并在相近参数规模的模型中实现了视觉理解能力的最先进（SoTA）性能。
更重要的是，该模型首次集成了原生函数调用（Function Calling）能力，有效弥合了“视觉感知”与“可执行动作”之间的鸿沟，为现实业务场景中的多模态智能体提供了统一的技术基础。

<div align=center>
    <img src="./doc/bench_46v.jpeg"/>
</div>

除在主流多模态基准测试中达到同规模模型的 SoTA 性能外，GLM-4.6V 还引入了若干关键特性：
- 原生多模态函数调用

支持原生的视觉驱动工具调用。图像、截图和文档页面可直接作为工具输入，无需转换为文本；同时，视觉输出（如图表、搜索图片、渲染页面）可被模型解析并整合进推理链路，从而实现从感知到理解再到执行的闭环。

- 交错式图文内容生成

支持基于复杂多模态输入生成高质量混合媒体内容。GLM-4.6V 能够处理包含文档、用户输入和工具检索图像在内的多模态上下文，并合成任务导向的、图文交错的连贯内容。在生成过程中，模型还能主动调用搜索与检索工具，收集并筛选额外的文本与视觉素材，产出丰富且视觉锚定的内容。

- 多模态文档理解

GLM-4.6V 可处理最多 128K tokens 的多文档或长文档输入，直接将格式丰富的页面作为图像进行解析。它能联合理解文本、版式、图表、表格和插图，无需事先转换为纯文本，即可准确理解复杂且富含图像的文档。

- 前端复现与视觉编辑

可从 UI 截图重建像素级精确的 HTML/CSS 代码，并支持自然语言驱动的编辑。模型通过视觉方式识别布局、组件和样式，生成干净的代码，并可通过简单的用户指令进行迭代式的视觉修改。

## 环境依赖
| 软件 | 版本 |
| :------: | :------: |
| DTK | 26.04 |
| python | 3.10.12 |
| torch | 2.9.0+das.opt1.dtk2604.20260206.g275d08c2 |
| transformers | 5.2.0 |
| vllm | 0.15.1+das.opt1.alpha.dtk2604.20260220.g2799735a |

推荐使用镜像: 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-4.6v \
    --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)下载使用，其它包安装：
```
pip install pycountry
pip install -U transformers
```

## 数据集
`暂无`

## 训练
`暂无`

## 推理
### vllm
#### 单机推理
```bash
## serve启动
export ALLREDUCE_STREAM_WITH_COMPUTE=1
export HIP_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
export MOE_NN=0

vllm serve ZhipuAI/GLM-4.6V \
     --tensor-parallel-size 8 \
     --gpu-memory-utilization 0.95 \
     --port 8001 \
     --max-model-len 32768 \
     --tool-call-parser glm45 \
     --reasoning-parser glm45 \
     --enable-auto-tool-choice \
     --allowed-local-media-path / \
     --mm-encoder-tp-mode data \
     --mm_processor_cache_type shm \
     --served-model-name GLM-4.6V

## client访问
curl http://localhost:8001/v1/chat/completions   \
    -H "Content-Type: application/json"  \
    -d '{
        "model": "GLM-4.6V",
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "type": "image_url",
                        "image_url": {
                            "url": "file:///path/of/doc/Grayscale_8bits_palette_sample_image.png"
                        }
                    },
                    {
                        "type": "text",
                        "text": "请描述这张图片的内容。"
                    }
                ]
            }
        ],
        "temperature": 0.8,
        "chat_template_kwargs": {
            "thinking": true
        }
    }'
```

## 效果展示
<div align=center>
    <img src="./doc/result-dcu.png"/>
</div>

### 精度
`DCU与GPU精度一致，推理框架：vllm。`

## 预训练权重
| 模型名称  | 权重大小  | DCU型号  | 最低卡数需求 |下载地址|
|:-----:|:----------:|:----------:|:---------------------:|:----------:|
| GLM-4.6V | 106B-A12B | BW1000 | 8 | [Modelscope](https://modelscope.cn/models/ZhipuAI/GLM-4.6V) |
| GLM-4.6V-Flash | 9B | BW1000 | 1 | [Modelscope](https://modelscope.cn/models/ZhipuAI/GLM-4.6V-Flash) |

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

## 参考资料
- https://github.com/zai-org/GLM-V