基于昇腾MindSpeed训练加速库玩转智谱GLM-4-0414模型

智谱GLM-4-0414模型提供32B和9B两种参数规模,涵盖基础、推理和沉思等多种模型类型,均基于 MIT 许可协议开放。其中,推理模型 GLM-Z1-32B-0414 性能卓越,与 DeepSeek-R1 等领先模型相当,实测推理速度达每秒200个Tokens。此前,魔乐社区已推出支持昇思MindSpore和昇腾MindIE的版本。如今,昇腾MindSpeed训练加速库开箱即用的版本也已上线,共包含6个模型,欢迎开发者们下载体验!

🔗魔乐社区模型下载链接:

https://modelers.cn/models/Models_Ecosystem/GLM-Z1-Rumination-32B-0414

https://modelers.cn/models/Models_Ecosystem/GLM-Z1-9B-0414

https://modelers.cn/models/Models_Ecosystem/GLM-Z1-32B-0414

https://modelers.cn/models/Models_Ecosystem/GLM-4-9B-0414

https://modelers.cn/models/Models_Ecosystem/GLM-4-32B-Base-0414

https://modelers.cn/models/Models_Ecosystem/GLM-4-32B-0414

不多说,直接进入实践环节。接下来,我们将基于昇腾MindSpeed训练加速库部署 GLM-Z1-9B-0414 模型,并进行训练和推理操作。

NO.1 环境配置

1.1 硬件要求

GLM-Z1-9B-0414的参考硬件配置如下, 本文将以A2 单机8卡训练和推理为例进行介绍:

|--------|--------|-----------------|
| 类型 | 硬件 | 配置 |
| 全参训练 | NPU | 8 x Ascend NPUs |

1.2 MindSpeed-LLM仓库部署

MindSpeed-LLM的主要依赖配套如下表,安装步骤参考安装指导:

https://gitee.com/ascend/MindSpeed-LLM/blob/master/docs/features/install_guide.md

|----------------------------------------|---------|
| 依赖软件 | 版本 |
| CANN Toolkit(开发套件) | 商发版本 |
| CANN Kernel(算子包) | 商发版本 |
| CANN NNAL(Ascend Transformer Boost加速库) | 商发版本 |
| Python | >=3.10 |
| PyTorch | 2.5.1 |
| torch_npu插件 | 2.5.1 |
| apex | 商发版本 |

仓库拉取

复制代码
git clone https://gitee.com/ascend/MindSpeed-LLM.gitgit clone https://github.com/NVIDIA/Megatron-LM.gitcd Megatron-LMgit checkout core_r0.8.0cp -r megatron ../MindSpeed-LLM/cd ..cd MindSpeed-LLMmkdir logsmkdir datasetmkdir ckpt

环境搭建​​​​​​​

复制代码
# python3.10conda create -n test python=3.10conda activate test # 安装 torch 和 torch_npu,注意要选择对应python版本、x86或arm的torch、torch_npu及apex包pip install torch-2.5.1-cp310-cp310m-manylinux2014_aarch64.whlpip install torch_npu-2.5.1*-cp310-cp310m-linux_aarch64.whl # apex for Ascend 参考 https://gitee.com/ascend/apex# 建议从原仓编译安装 # 安装加速库git clone https://gitee.com/ascend/MindSpeed.gitcd MindSpeed# checkout commit from MindSpeed core_r0.8.0git checkout 2c085cc9pip install -r requirements.txtpip3 install -e .cd ../MindSpeed-LLM  # 安装其余依赖库pip install -r requirements.txt

NO.2 权重/数据准备

2.1 权重转换

权重下载

从魔乐社区或者HuggingFace下载权重和配置文件。

魔乐下载链接(享国内加速下载):https://modelers.cn/models/zhipuai/GLM-Z1-9B-0414

权重转换

MindSpeed-LLM提供脚本将权重转换为mcore权重,用于训练、推理、评估等任务:

https://gitee.com/lliilil/MindSpeed-LLM/blob/master/tests/0day/glm-z1-9b-0414/ckpt_convert_glm4_z1_9b_0414_hf2mcore.sh

使用方法如下,请根据实际需要的TP/PP等切分策略和权重路径修改权重转换脚本。​​​​​​​

复制代码
cd MindSpeed-LLMbash tests/0day/glm-z1-9b-0414/ckpt_convert_glm4_z1_9b_0414_hf2mcore.sh

2.2 数据预处理

MindSpeed-LLM提供脚本进行数据集处理:

https://gitee.com/lliilil/MindSpeed-LLM/blob/master/tests/0day/glm-z1-9b-0414/data_convert_glm4_z1_9b_0414_pretrain.sh

使用方法如下,请根据实际需要修改以下参数​​​​​​​

复制代码
cd MindSpeed-LLMbash tests/0day/glm-z1-9b-0414/data_convert_glm4_z1_9b_0414_pretrain.sh

|--------------------------|-----------------|
| 参数名 | 含义 |
| --input | 数据集路径 |
| --tokenizer-name-or-path | 模型tokenizer目录 |
| --output-prefix | 数据集处理完的输出路径及前缀名 |

NO.3 训练​​​​​​​

复制代码
cd MindSpeed-LLMbash tests/0day/glm-z1-9b-0414/pretrain_glm4_z1_9b_0414_8k_ptd.sh

用户需要根据实际情况修改脚本中以下变量

|----------------|-----------------------------------|
| 变量名 | 含义 |
| MASTER_ADDR | 多机情况下主节点IP |
| NODE_RANK | 多机下,各机对应节点序号0-8 |
| CKPT_SAVE_DIR | 训练中权重保存路径 |
| DATA_PATH | 数据预处理后的数据路径 |
| TOKENIZER_PATH | tokenizer目录 |
| CKPT_LOAD_DIR | 权重转换保存的权重路径,为初始加载的权重,如无初始权重则随机初始化 |

NO.4 推理​​​​​​​

复制代码
cd MindSpeed-LLMbash tests/0day/glm-z1-9b-0414/generate_glm4_z1_9b_0414_ptd.sh

用户需要根据实际情况修改脚本中以下变量

|----------------|-----------------|
| 变量名 | 含义 |
| MASTER_ADDR | 多机情况下主节点IP |
| NODE_RANK | 多机下,各机对应节点序号0-8 |
| CHECKPOINT | 训练保存的权重路径 |
| TOKENIZER_PATH | tokenizer目录 |

NO.5 评估​​​​​​​

复制代码
cd MindSpeed-LLMbash tests/0day/glm-z1-9b-0414/evaluate_glm4_z1_9b_0414_ptd.sh

用户需要根据实际情况修改脚本中以下变量

|----------------|-----------------------------------|
| 变量名 | 含义 |
| MASTER_ADDR | 多机情况下主节点IP |
| NODE_RANK | 多机下,各机对应节点序号0-8 |
| CKPT_SAVE_DIR | 训练中权重保存路径 |
| DATA_PATH | 数据预处理后的数据路径 |
| TOKENIZER_PATH | tokenizer目录 |
| CKPT_LOAD_DIR | 权重转换保存的权重路径,为初始加载的权重,如无初始权重则随机初始化 |

欢迎体验

欢迎大家下载体验GLM-4-0414,也欢迎广大开发者在模型评论区留言交流!

相关推荐
有Li2 分钟前
EndoChat:面向内镜手术的基于事实依据的多模态大型语言模型|文献速递-文献分享
大数据·论文阅读·人工智能·算法·文献·医学生
金井PRATHAMA4 分钟前
产生式规则对自然语言处理深层语义分析的影响与启示研究
人工智能·自然语言处理·知识图谱
努力还债的学术吗喽27 分钟前
PyTorch nn.Linear 终极详解:从零理解线性层的一切(含可视化+完整代码)
人工智能·pytorch·python·深度学习·基础组件·线性层·nn.linear
qq_1728055927 分钟前
好用的 SQLite3 ORM 开源库
数据库·sqlite·开源
说私域1 小时前
基于开源AI智能名片的S2B2C商城小程序中搜索联想功能的优化策略研究
人工智能·小程序
工藤学编程1 小时前
零基础学AI大模型之LangChain聊天模型多案例实战
人工智能·langchain
无风听海1 小时前
神经网络之sigmoid激活函数
人工智能·深度学习·神经网络
宸津-代码粉碎机2 小时前
Redis 进阶:跳出缓存局限!7 大核心场景的原理与工程化实践
java·人工智能·redis·python
wan5555cn2 小时前
AI视频生成技术:从想象到现实的视觉革命
人工智能·笔记·深度学习·算法·音视频
MYZR12 小时前
蓝牙音箱的技术演进:从便捷到高保真的音频革命
人工智能·物联网·音视频·ssd2351