---
title: ChatGLM-6B-权重库-ModelZoo-昇腾社区
description: ChatGLM-6B权重获取地址引导
keywords: ChatGLM,权重库,ModelZoo,昇腾社区,概述,简述,准备训练环境,准备环境
url: https://www.hiascend.com/software/modelzoo/datasets/detail/1e5722281bab4071b8dcd8d95c872b7a
section: (其他)
---

# ChatGLM-6B-权重库-ModelZoo-昇腾社区

URL: https://www.hiascend.com/software/modelzoo/datasets/detail/1e5722281bab4071b8dcd8d95c872b7a
描述: ChatGLM-6B权重获取地址引导
关键词: ChatGLM,权重库,ModelZoo,昇腾社区,概述,简述,准备训练环境,准备环境

ModelZoo主页

主页 [了解详情](https://www.hiascend.com/software/modelzoo)大模型 [了解详情](https://www.hiascend.com/software/modelzoo/big-models)模型库 [了解详情](https://www.hiascend.com/software/modelzoo/models)工具库 [了解详情](https://www.hiascend.com/software/modelzoo/tools)权重库 [了解详情](https://www.hiascend.com/software/modelzoo/datasets)ModelShow [了解详情](https://www.hiascend.com/software/modelzoo/modelshow)DeepSeek专区HOT [了解详情](https://www.hiascend.com/developer/deepseek)文档中心论坛交流

主页 [了解详情](https://www.hiascend.com/software/modelzoo)大模型 [了解详情](https://www.hiascend.com/software/modelzoo/big-models)模型库 [了解详情](https://www.hiascend.com/software/modelzoo/models)工具库 [了解详情](https://www.hiascend.com/software/modelzoo/tools)权重库 [了解详情](https://www.hiascend.com/software/modelzoo/datasets)ModelShow [了解详情](https://www.hiascend.com/software/modelzoo/modelshow)DeepSeek专区HOT [了解详情](https://www.hiascend.com/developer/deepseek)文档中心论坛交流

权重库 [了解详情](https://www.hiascend.com/software/modelzoo/datasets)

ChatGLM-6B

## ChatGLM-6B

LLMApache License 2.01723次浏览130次下载2026/01/19更新

获取权重库脚本

ChatGLM-6B

获取权重库脚本

...

# 概述

## 简述

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型，基于General Language Model (GLM) [了解详情](https://github.com/THUDM/GLM)架构，具有 62 亿参数。本仓支持P-Tuning v2 和全参数fintune。

- 参考实现：

```
url=https://github.com/THUDM/ChatGLM-6B
commit_id=27b04bce90b34e719375576cc67ff5374bb2f38a
url=https://huggingface.co/THUDM/chatglm-6b/tree/v0.1.0
commit_id=f83182484538e663a03d3f73647f10f89878f438
```
- 适配昇腾 AI 处理器的实现：

```
url=https://gitee.com/ascend/ModelZoo-PyTorch.git
code_path=PyTorch/built-in/foundation
```

# 准备训练环境

## 准备环境

默认配置需要每张卡有60G以上空闲内存。

- 当前模型支持的 PyTorch 版本和已知三方库依赖如下表所示。

表 1版本支持表

| Torch_Version | 三方库依赖版本 |
| --- | ---|
| PyTorch 1.11 | deepspeed 0.6.0 |
- 环境准备指导。

请参考《Pytorch框架训练环境准备 [了解详情](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/ptes)》。
- 安装依赖。

1. 安装基础依赖

在模型源码包根目录下执行命令，安装模型对应PyTorch版本需要的依赖。

```
pip install -r requirements.txt  # PyTorch1.11版本
```

1. 安装deepspeed_npu插件

```
# adaptor分支
git clone https://gitee.com/ascend/DeepSpeed.git
cd Deepspeed
pip3 install ./
```

## 准备数据集

1. 获取数据集。

ADGEN 数据集任务为根据输入（content）生成一段广告词（summary）。

从Google Drive [了解详情](https://drive.google.com/file/d/13_vf0xRTQsyneRKdD1bZIr93vBGOczrk/view?usp=sharing)或者Tsinghua Cloud [了解详情](https://cloud.tsinghua.edu.cn/f/b3f119a008264b1cabd1/?dl=1)下载处理好的 ADGEN 数据集，将解压后的`AdvertiseGen`目录放到ptuning目录下。
数据集参考目录如下

```
├── AdvertiseGen
      ├──train.json
      ├──dev.json
```
2. 预处理数据集。
为了方便启动训练后，不用再每次重复加载处理数据集，故提前进行处理。也可以下载提前处理好的数据集 [了解详情](https://pan.baidu.com/s/1hA9yfqJkKi1Ae5FB-AkJcQq)，提取码7s5i

```
bash preprocess.sh
```

处理好的数据集位于同目录下的train_datasets文件夹下，参考目录如下

```
   ├── train_datasets
         ├──data-00000-of-00008.arrow
         ├──data-00001-of-00008.arrow
         ├──data-00002-of-00008.arrow
         ├──data-00003-of-00008.arrow
         ├──data-00004-of-00008.arrow
         ├──data-00005-of-00008.arrow
         ├──data-00006-of-00008.arrow
         ├──data-00007-of-00008.arrow
         ├──dataset_info.json
         ├──state.json
```

## 准备模型权重

1. 获取语言识别模型和预训练权重

用户从链接 [了解详情](https://huggingface.co/THUDM/chatglm-6b/tree/v0.1.0)自行获取模型文件（除了modeling_chatglm.py）和8份权重文件（pytorch_model-0000*-of-00008.bin

），并放于model目录下，微调依赖该模型权重。
   model参考目录如下

```
├── model
      ├──config.json
      ├──configuration_chatglm.py
      ├──ice_text.model
      ├──pytorch_model-00001-of-00008.bin
      ├──pytorch_model-00002-of-00008.bin
      ├──pytorch_model-00003-of-00008.bin
      ├──pytorch_model-00004-of-00008.bin
      ├──pytorch_model-00005-of-00008.bin
      ├──pytorch_model-00006-of-00008.bin
      ├──pytorch_model-00007-of-00008.bin
      ├──pytorch_model-00008-of-00008.bin
      ├──pytorch_model.bin.index.json
      ├──quantization.py
      ├──test_modeling_chatglm.py
      ├──tokenization_chatglm.py
      ├──tokenizer_config.json
```

# 开始训练

## 训练模型

1. 进入解压后的源码包根目录。

```
cd /${模型文件夹名称}
```

修改ptuning目录下的env_npu.sh，修改引用的环境变量位置。
2. 运行训练脚本。

该模型P-Tuning v2支持单机单卡，全参数fintune支持单机8卡。

- P-Tuning v2

启动P-Tuning v2。

```
bash ptuning/train.sh
```
- 全参数finetune

启动8卡微调。
可以用deepspeed.json配置deepspeed参数，目前默认使用zero2

```
bash ptuning/ds_train_fintune.sh 
```

模型训练参数说明如下。

```
公共参数：
--max_source_length                       //处理后句子长度
--max_target_length                       //目标数据长度
--per_device_train_batch_size             //每卡训练批次大小
--gradient_accumulation_steps             //梯度更新步数
--max_steps                               //最大训练步数
--logging_steps                           //打印信息步数
--save_steps                              //保存参数步数
--learning_rate                           //学习率
```

训练完成后，权重文件保存在当前路径下，并输出模型训练相关信息。

## 验证模型

1. 全参数finetune验证

运行以下命令

```
 bash ptuning/evaluate_fintune.sh 
```

生成结果在屏幕上显示

# 训练结果展示

表 1训练结果展示表

| NAME | SamplesPerSec | Iterations | DataType | Torch_Version | Card |
| --- | --- | --- | --- | --- | ---|
| Finetune -NPU | 1951 | 5000 | fp16 | 1.11 | 910B |
| Finetune -GPU | 2048 | 5000 | fp16 | 1.11 | A800 |

说明：P-Tuning 仅打通功能，无性能优化。

表 2评估结果展示表

| 评估项 | NPU | GPU |
| --- | --- | ---|
| BLEU-4 | 7.9662 | 7.8422 |
| ROUGE-1 | 31.5563 | 31.2764 |
| ROUGE-2 | 7.3841 | 7.1679 |
| ROUGE-l | 25.0371 | 25.0371 |

说明：该结果是step=1000的验证结果。

# 版本说明

## 变更

2023.6.25：首次发布。

## FAQ

1. 报错提示deepspeed.py需要版本大于等于0.6.5

```
# 版本检测。
# 若遇到该报错
pip show transformers
# 复制Location路径
# 使用fix文件夹下的deepspeed.py替换路径下transformers/deepspeed.py
```
2. 报错提示tranining_args.py没有cuda

```
# 自动替换无法替换三方库中的文件。
# 若遇到该报错
pip show transformers
# 复制Location路径
# 使用fix文件夹下的tranining_args.py替换路径下transformers/tranining_args.py
```
3. 报错checkpoint.py

```
# 1.11版本适配问题，新版本已修复。
# 若遇到该报错
pip show torch_npu
# 复制Location路径
# 使用fix文件夹下的checkpoint.py替换路径下torch_npu/utils/checkpoint.py

```
4. 加载参数阶段有卡死现象

```
删除root下的cache目录，重新运行

```
5. 单卡阶段报embedding_dense_grad算子错误

```
enbedding当前版本，不支持动静合一，静态有部分shape不支持,新版本已修复
# 若遇到该报错
修改main.py文件
torch.npu.set_compile_mode(jit_compile=False)
```
6. 提示so文件错误

```
提示so文件找不到
# 若遇到该报错
全局搜索so的位置，然后导入环境变量
export LD_LIBRARY_PATH=/usr/:$LD_LIBRARY_PATH
```
7. eval提示scaledsoftmax报错

```
算子shape泛化性还有问题
# 若遇到该报错
搜索output文件夹生成的modeling_chatglm.py文件，
self.scale_mask_softmax 设置为false
```

| 版本 | 更新时间 | 权重库Hub格式 | 操作 |
| --- | --- | --- | ---|

暂无数据

使用模型资源和服务前，请您仔细阅读并理解透彻《昇腾深度学习模型许可协议 3.0》 [了解详情](https://www.hiascend.com/legal/modelzoo_models_license)
