GLM-4-9B-0414权重文件修改教程:config.json关键参数配置详解
GLM-4-9B-0414权重文件修改教程:config.json关键参数配置详解
【免费下载链接】GLM-4-9B-0414 项目地址: https://ai.gitcode.com/hf_mirrors/MindIE/GLM-4-9B-0414
GLM-4-9B-0414是一款功能强大的AI模型,在使用前需要对其权重文件中的config.json进行关键参数配置。本教程将详细介绍如何修改config.json文件,帮助新手用户快速完成模型配置,顺利启用GLM-4-9B-0414的各项功能。
权重文件准备与下载
要开始配置GLM-4-9B-0414模型,首先需要下载其权重文件。你可以通过访问GLM-4-9B-0414获取权重文件。下载完成后,找到权重路径下的config.json文件,这是我们进行参数配置的关键文件。
config.json关键参数修改步骤
修改config.json文件是启用GLM-4-9B-0414模型的重要环节,以下是详细的修改步骤:
增加关键键值对
在config.json文件中,需要增加一个重要的键值对:"_name_or_path": "THUDM/glm-4-9b-chat"。这个键值对无论是什么模型都需要添加,它有助于模型正确识别和加载相关资源。
修改模型类型参数
找到"model_type"参数,将其值从"glm4"修改为"chatglm"。这一修改能确保模型以正确的类型进行加载和运行。
修改后样例展示
修改完成后的config.json文件样例如下:
{
"_name_or_path": "THUDM/glm-4-9b-chat", // 增加键值对,不管是什么模型都是这个 key
"architectures": ["Glm4ForCausalLM"],
"attention_bias": false,
"attention_dropout": 0.0,
"eos_token_id": [151329, 151336, 151338],
"head_dim": 128,
"hidden_act": "silu",
"hidden_size": 6144,
"initializer_range": 0.02,
"intermediate_size": 23040,
"max_position_embeddings": 131072,
"model_type": "chatglm", // 从 glm4 改为 chatglm
"num_attention_heads": 48,
"num_hidden_layers": 61,
"num_key_value_heads": 8,
"pad_token_id": 151329,
"partial_rotary_factor": 0.5,
"rms_norm_eps": 1e-5,
"rope_theta": 10000.0,
"tie_word_embeddings": false,
"torch_dtype": "bfloat16",
"transformers_version": "4.52.0.dev0",
"use_cache": true,
"vocab_size": 151552
}
模型加载与部署准备
完成config.json文件的修改后,就可以进行模型的加载与部署准备工作了。
下载并加载镜像
首先下载镜像,使用以下命令:
wget https://mindx.sdk.obs.cn-north-4.myhuaweicloud.com/MindIE/docker/mindie_2.0.T3-20250417-800I-A2-py311-openeuler24.03-lts-aarch64.tar.gz --no-check-certificate
然后加载镜像:
docker load -i ./mindie_2.0.T3-20250417-800I-A2-py311-openeuler24.03-lts-aarch64.tar.gz
约束条件说明
部署GLM-4-0414系列模型有一定的约束条件,需要至少1台Atlas 800I A2服务器,并且支持TP=1/2/4/8推理。
新建容器
目前提供的MindIE镜像预置了GLM-4-9B-0414系列模型推理脚本,无需额外下载模型适配代码,直接新建容器即可。
如果使用root用户镜像且可以使用特权容器,使用以下命令启动容器:
docker run -it -d --net=host --shm-size=1g \
--privileged \
--name <container-name> \
--device=/dev/davinci_manager \
--device=/dev/hisi_hdc \
--device=/dev/devmm_svm \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
-v /usr/local/sbin:/usr/local/sbin:ro \
-v /path-to-weights:/path-to-weights:ro \
<IMAGE ID> bash
如果使用自行构建的普通用户镜像,可使用以下命令指定用户与设备:
docker run -it -d --net=host --shm-size=1g \
--name <container-name> \
--device=/dev/davinci_manager \
--device=/dev/hisi_hdc \
--device=/dev/devmm_svm \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
--device=/dev/davinci2 \
--device=/dev/davinci3 \
--device=/dev/davinci4 \
--device=/dev/davinci5 \
--device=/dev/davinci6 \
--device=/dev/davinci7 \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
-v /usr/local/sbin:/usr/local/sbin:ro \
-v /path-to-weights:/path-to-weights:ro \
<IMAGE ID> bash
容器内环境配置
由于GLM-4-0414系列模型依赖最新版本transformers,需要在容器内更改transformers版本并使其兼容PyTorch 2.1.0。
进入容器
使用以下命令进入容器:
docker exec -it ${容器名称} bash
下载源码并修改
下载transformers源码:
git clone https://github.com/huggingface/transformers.git
修改transformers/utils/generic.py中355行左右的代码,将from torch.utils._pytree import register_pytree_node修改为from torch.utils._pytree import _register_pytree_node,使高版本transformers兼容PyTorch 2.1.0。
另外,若后续服务化出现错误,可能是读取chat_template时ASCII编码错误导致,需要修改transformers/tokenization_utils_base.py约2160行左右,将with open(chat_template_file) as chat_template_handle:修改为with open(chat_template_file, encoding="utf-8") as chat_template_handle:。
安装transformers
从源码安装transformers:
pip install ./transformers
确保transformers>=4.51.3。可能还需要安装einops:
pip3 install einops
模型推理测试
完成上述配置后,就可以进行模型推理测试了。
对话测试
进入llm_model路径:
cd $ATB_SPEED_HOME_PATH
执行对话测试:
torchrun --nproc_per_node 2 \
--master_port 20037 \
-m examples.run_pa \
--model_path ${权重路径} \
--input_texts 'What is deep learning?' \
--max_output_length 20
服务化推理
服务化推理需要进行配置文件修改和服务拉起等操作。首先打开配置文件:
vim /usr/local/Ascend/mindie/latest/mindie-service/conf/config.json
在配置文件中进行相应的更改,如自定义端口、设置模型路径等。然后拉起服务化:
cd /usr/local/Ascend/mindie/latest/mindie-service/bin
./mindieservice_daemon
最后可以新建窗口进行测试(VLLM接口):
curl 127.0.0.1:1025/generate -d '{
"prompt": "What is deep learning?",
"max_tokens": 32,
"stream": false,
"do_sample":true,
"temperature": 0.6,
"top_p": 0.95,
"model": "chatglm"
}'
通过以上步骤,你就成功完成了GLM-4-9B-0414权重文件config.json的关键参数配置,并进行了模型的推理测试。希望本教程能帮助你顺利使用GLM-4-9B-0414模型。
【免费下载链接】GLM-4-9B-0414 项目地址: https://ai.gitcode.com/hf_mirrors/MindIE/GLM-4-9B-0414
更多推荐



所有评论(0)