当前,多模态模型正从感知走向认知。通过引入强化学习机制,提升模型的推理能力,已成为提升多模态问答准确性与生成质量的重要路径。2025年7月2日,智谱正式发布GLM-4.1V-Thinking系列模型,其10B参数级别的视觉语言模型在兼顾部署效率的同时实现性能突破。MindSpeed MM首次实现了对GLM多模态理解模型的无缝支持,并同步开放源代码,目前不仅支持在线推理功能,还提供了基于GLM-4.1V-Thinking的微调实践参考。作为昇腾多模态大模型套件,MindSpeed MM基于MindSpeed Core构建,专注于多模态大规模分布式训练环境下的性能优化,致力于为开发者打造高效便捷的开发体验。

模型已上线魔乐社区,欢迎体验!

🔗https://modelers.cn/models/MindSpeed/GLM-4.1V-9B-Thinking

GLM-4.1V-Thinking模型介绍

GLM-4.1V-Thinking是一款支持图像、视频、文档等多模态输入的通用推理型大模型,专为复杂认知任务设计。它在GLM-4V架构基础上引入“思维链推理机制(Chain-of-Thought Reasoning)”,采用“课程采样强化学习策略(RLCS,Reinforcement Learning with Curriculum Sampling)”,系统性提升模型跨模态因果推理能力与稳定性。

模型特别在以下任务中表现卓越,展示出高度的通用性与稳健性:

图文理解(Image General):精准识别并综合分析图像与文本信息;

数学与科学推理(Math&Science):支持持复杂题解、多步演绎与公式理解;

视频理解(Video):具备时序分析与事件逻辑建模能力;

GUI与网页智能体任务(UI2Code、Agent):理解界面结构,辅助自动化操作;

视觉锚定与实体定位(Grounding):语言与图像区域精准对齐,提升人机交互可控性。

基于MindSpeed MM的
GLM-4.1V-Thinking训练优化特性

基于多模态理解模型涉及文本、图像、音频、视频等模态数据,不同模态数据存在结构差异、特征差异和融合策略多样性、训练机制复杂等特点,模型训练存在负载不均衡、资源利用低等问题。昇腾MindSpeed MM在使用了融合算子、分布式优化器及流水调度优化等常用特性的基础上,陆续使能Encoder数据负载均衡、多模态异构流水线并行、动态流水线并行、数据分桶负载均衡、虚拟流水线并行、分离部署等优化加速特性,实现性能优化,更好地实现GLM-4.1V-Thinking多模态理解模型的微调训练效果。

Encoder数据负载均衡

在分布式训练中,当数据并行度(Data Parallelism,DP)大于1时,由于不同DP分组间处理的图像Patch数量不均,加之Vision Transformer(ViT)与MLP的计算复杂度差异较大,导致各设备在训练过程中计算负载不均衡。这种不均衡性会在梯度AllReduce阶段引发同步等待问题,从而降低整体训练效率。Encoder数据负载均衡通过AlltoAll通信机制实现跨DP组的数据重分配,将拥有较多Patch的DP设备上的数据迁移至负载较低的DP设备,从而在Encoder阶段实现计算负载均衡,提升性能5%。

使能方式:

在examples/glm4.1v*/finetune_glm4.1v*B.sh中配置--encoder-dp-balance字段。

(具体使用方式可参考仓库特性文档https://gitee.com/ascend/MindSpeed-MM/blob/master/docs/features/encoder_dp_balance.md)

图片

分离部署(Dist-train)

多模态模型的训练中,由于不同模态模型对算力和内存需求的异构性,不同模态模型的最优并行配置往往不一致,如果全部使用同一种并行配置,会造成负载不均衡、资源利用不充分。MindSpeed MM支持Dist-train功能,通过对异构模型配置不同的计算资源和并行配置,减少冗余的静态资源和异构模型间的空泡(bubble),使异构模型之间的运行速度达到最优匹配,提升性能15%。

使用方式:

在examples/glm4.1v*/finetune_glm4.1v*B.sh中添加参数--dist-train,同时配置model.json中的dist_config字段。

(具体使用方式可参考仓库特性文档https://gitee.com/ascend/MindSpeed-MM/blob/master/docs/features/dist-train.md)

图片

基于MindSpeed MM微调训练的
GLM-4.1V-Thinking模型推理体验

新一代的GLM-4.1V-Thinking多模态理解模型专注于实用场景中的推理与理解能力,让我们快速体验一下。

物理解题:

图片

Prompt:解题,给出详细过程和答案

思考过程:

图片

图片

最终答案:

图片

GUI问答:

图片

Prompt:问:两个商品哪个折扣力度大?

思考过程:

图片

最终答案:

图片

视频理解:

Prompt:Q:为什么紫⾊的球动了?

思考过程:

图片

最终答案:

图片

快速上手-基于MindSpeed MM
玩转GLM-4.1V-Thinking

【环境安装】

模型开发时推荐使用配套的环境版本,详见仓库中的“环境安装”

https://gitee.com/ascend/MindSpeed-MM/blob/master/examples/glm4.1v/README.md

【权重下载及转换】

GLM-4.1V-9B系列模型权重下载:

模型 下载地址

模型类型

GLM-4.1V-9B-Thinking

https://huggingface.co/THUDM/GLM-4.1V-9B-Thinking

推理模型

https://modelers.cn/models/zhipuai/GLM-4.1V-9B-Thinking

GLM-4.1V-9B-Base

https://huggingface.co/THUDM/GLM-4.1V-9B-Base

基座模型

https://modelers.cn/models/zhipuai/GLM-4.1V-9B-Base

权重转换:

MindSpeed-MM修改了部分原始网络的结构名称,使用mm-convert工具对原始预训练权重进行转换。该工具实现了huggingface权重和MindSpeed-MM权重的转换以及PP(Pipeline Parallel)的权重切分。

#根据实际情况修改ascend-toolkit路径source/usr/local/Ascend/ascend-toolkit/set_env.shbr# 9Bmm-convert GlmConverter hf_to_mm \  --cfg.mm_dir"pretrained/GLM4.1V-9B"\  --cfg.hf_config.hf_dir"raw_ckpt/GLM4.1V-9B"\  --cfg.parallel_config.llm_pp_layers [[7, 11, 11, 11]] \  --cfg.parallel_config.vit_pp_layers [[24,0,0,0]] \  --cfg.trust_remote_code Truebr#其中:# mm_dir: 转换后保存目录# hf_dir: huggingface权重目录# llm_pp_layers: llm在每个卡上切分的层数,注意要和model.json中配置的pipeline_num_layers一致# vit_pp_layers: vit在每个卡上切分的层数,注意要和model.json中配置的pipeline_num_layers一致# trust_remote_code:为保证代码安全,配置trust_remote_code默认为False,用户需要设置为True,并且确保自己下载的模型和数据的安全性

【数据集准备及处理】

数据集下载:

用户需自行获取并解压GLM4.1V-Finetune数据集到dataset/playground目录下,以数据集ai2d为例,解压后的数据结构如下:

$playground├──data    ├── ai2d        ├── abc_images        ├── images├──opensource    ├── ai2d_train_12k.jsonl

【微调】

(1) 由于当前官仓还未开源微调代码和脚本,正式版的微调功能后续跟进上线;

(2)用户想尝鲜微调功能,可参考GLM-4.1V-Thinking的微调实践

(https://gitee.com/ascend/MindSpeed-MM/blob/master/examples/glm4.1v/README.md)

【推理】

1.准备工作

配置脚本前需要完成前置准备工作,包括:环境安装、权重下载及转换,详情可查看对应章节。(当前支持9B单卡推理)

推理权重转换命令如下:

#根据实际情况修改ascend-toolkit路径source /usr/local/Ascend/ascend-toolkit/set_env.shbr#9Bmm-convert GlmConverter hf_to_mm \  --cfg.mm_dir "pretrained/GLM4.1V-9B \  --cfg.hf_config.hf_dir "raw_ckpt/GLM4.1V-9B \  --cfg.parallel_config.llm_pp_layers [[40]] \  --cfg.parallel_config.vit_pp_layers [[24]] \  --cfg.trust_remote_code True

2.配置参数

参数配置:

修改inference_glm4.1v_9b.json文件,包括infer_data_type、file_path、prompts、from_pretrained以及tokenizer的from_pretrained等字段。

单图推理:

以GLM4.1V-9B为例,按实际情况修改inference_ glm4.1v_9b.json对应参数,注意tokenizer_config的权重路径为转换前的权重路径。

{    "image_path": "./examples/glm4.1v/view.jpg",    # 按实际情况输入图片路径    "prompts": "Please describe the image shortly.", # 按实际情况输入提示词(支持中英文)    "pipeline_class": " GlmPipeline",    ...    "tokenizer":{        ...        "autotokenizer_name": "AutoTokenizer",        "from_pretrained": "raw_ckpt/GLM4.1V-9B",        ...    },    ...}

视频推理:

以GLM4.1V-9B为例,按实际情况修改inference_glm4.1v_9b.json对应参数,注意tokenizer_config的权重路径为转换前的权重路径。(推理demo视频下载red-panda)

{    "video_path": "examples/glm4.1v/red-panda.mp4",    # 按实际情况输入视频路径    "prompts": "Please describe the video shortly.", # 按实际情况输入提示词(支持中英文)    "pipeline_class": "GlmPipeline",    ...    "tokenizer":{        ...        "autotokenizer_name": "AutoTokenizer",        "from_pretrained": "raw_ckpt/GLM4.1V-9B",        ...    },    ...}

修改启动脚本:

按实际情况修改inference_glm4.1v_9b.sh脚本。

#根据实际情况修改ascend-toolkit路径source /usr/local/Ascend/ascend-toolkit/set_env.sh...MM_MODEL="./examples/glm4.1v/inference_glm4.1v_9b.json"

3.启动推理

bash examples/glm4.1v/inference_glm4.1v_9b.sh

【更多参数见MindSpeed MM仓库】

准备工作和参数说明见MindSpeed MM开源代码仓链接:

https://gitee.com/ascend/MindSpeed-MM/tree/master/examples/glm4.1v/README.md

结语

MindSpeed MM是面向大规模分布式训练的昇腾多模态大模型套件,同时支持多模态生成及多模态理解,旨在为昇腾硬件提供端到端的多模态训练解决方案,包含预置业界主流模型,数据工程,分布式训练及加速,预训练、微调、在线推理任务等特性。

由于当前GLM-4.1V-Thinking系列模型的代码和训练微调功能等未完全发布开源,后续基于MindSpeed MM,GLM-4.1V-Thinking模型将同步上线更加丰富的特性,敬请期待。

更多推荐