ChatGLMFinetuningmaster(1).zip
大小:21.36MB
价格:28积分
下载量:0
评分:
5.0
上传者:m0_61006552
更新日期:2025-09-22

apex-master.zip

资源文件列表(大概)

文件名
大小
ChatGLM-Finetuning-master/
-
ChatGLM-Finetuning-master/.idea/
-
ChatGLM-Finetuning-master/.idea/.gitignore
50B
ChatGLM-Finetuning-master/.idea/ChatGLM-Finetuning-master.iml
452B
ChatGLM-Finetuning-master/.idea/inspectionProfiles/
-
ChatGLM-Finetuning-master/.idea/inspectionProfiles/profiles_settings.xml
174B
ChatGLM-Finetuning-master/.idea/misc.xml
292B
ChatGLM-Finetuning-master/.idea/modules.xml
309B
ChatGLM-Finetuning-master/.idea/workspace.xml
3.53KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/
-
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/
-
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/.gitignore
176B
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/ChatGLM-Finetuning.iml
284B
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/deployment.xml
815B
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/inspectionProfiles/
-
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/inspectionProfiles/profiles_settings.xml
174B
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/misc.xml
185B
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/modules.xml
288B
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/vcs.xml
180B
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/
-
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/d2q_0.json
3.72MB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/d2q_1.json
25.22KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/news.jsonl
25.6MB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/spo_0.json
1.27MB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/spo_1.json
48.09KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/trains2train_data.py
675B
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/train_news.jsonl
26.42MB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/ds_zero2_no_offload.json
976B
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/ds_zero3_no_offload.json
1.01KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/ds_zero3_offload.json
1KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm1/
-
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm1/configuration_chatglm.py
4.18KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm1/modeling_chatglm.py
56.27KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm1/quantization.py
14.7KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm1/tokenization_chatglm.py
16.65KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm2/
-
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm2/configuration_chatglm.py
2.19KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm2/modeling_chatglm.py
49.51KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm2/quantization.py
14.35KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm2/tokenization_chatglm.py
9.66KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm3/
-
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm3/configuration_chatglm.py
2.28KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm3/modeling_chatglm.py
54.37KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm3/quantization.py
14.35KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm3/tokenization_chatglm.py
11.97KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/images/
-
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/images/ft_code.png
50.94KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/images/ft_fanyi.png
47.1KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/images/ft_qa.png
40.7KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/images/Lora.png
17.86KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/images/PT.png
108.81KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/merge_lora.py
1.04KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/model.py
1.28KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/predict.py
1.93KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/README.md
32.96KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/requirements.txt
163B
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/train.py
11.13KB
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/train_full.sh
823B
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/train_lora.sh
985B
ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/utils.py
8.69KB

资源内容介绍

apex-master.zip
## ChatGLM微调本项目主要针对ChatGLM、ChatGLM2和ChatGLM3模型进行不同方式的微调(Freeze方法、Lora方法、P-Tuning方法、全量参数等),并对比大模型在不同微调方法上的效果,主要针对信息抽取任务、生成任务、分类任务等。本项目支持单卡训练&多卡训练,由于采用单指令集方式微调,模型微调之后**并没有出现严重的灾难性遗忘**。由于官方代码和模型一直在更新,目前ChatGLM1和2的代码和模型的为20230806版本(注意如果发现代码运行有误,可将ChatGLM相关源码替换文件中的py文件,因为可能你下的模型版本与本项目代码版本不一致),ChatGLM3是版本20231212。PS:没有用Trainer(虽然Trainer代码简单,但不易修改,大模型时代算法工程师本就成为了数据工程师,因此更需了解训练流程)## 更新简介- update-2023.12.12 增加ChatGLM3代码支持,通过model_type完成模型切换,并增加推理代码。- update-2023.08.06 代码和模型已经更新到最新,支持单卡&多卡训练,支持ChatGLM2模型训练、支持全量参数训练,所有代码进行了结构增加可读性。- update-2023.06.12 [**增加流水线并行训练方法**](https://zhuanlan.zhihu.com/p/636488690),请看[v0.1 Tag](https://github.com/liucongg/ChatGLM-Finetuning/tree/v0.1)- update-2023.04.18 **增加文本生成任务评测**,请看[v0.1 Tag](https://github.com/liucongg/ChatGLM-Finetuning/tree/v0.1)- update-2023.04.05 **增加信息抽取任务评测**,请看[v0.1 Tag](https://github.com/liucongg/ChatGLM-Finetuning/tree/v0.1)## 微调方法模型微调时,如果遇到显存不够的情况,可以开启gradient_checkpointing、zero3、offload等参数来节省显存。下面model_name_or_path参数为模型路径,请根据可根据自己实际模型保存地址进行修改。### Freeze方法Freeze方法,即参数冻结,对原始模型部分参数进行冻结操作,仅训练部分参数,以达到在单卡或多卡,不进行TP或PP操作就可以对大模型进行训练。微调代码,见train.py,核心部分如下:```python3freeze_module_name = args.freeze_module_name.split(",")for name, param in model.named_parameters():if not any(nd in name for nd in freeze_module_name):param.requires_grad = False```针对模型不同层进行修改,可以自行修改freeze_module_name参数配置,例如"layers.27.,layers.26.,layers.25.,layers.24."。训练代码均采用DeepSpeed进行训练,可设置参数包含train_path、model_name_or_path、mode、train_type、freeze_module_name、ds_file、num_train_epochs、per_device_train_batch_size、gradient_accumulation_steps、output_dir等, 可根据自己的任务配置。ChatGLM单卡训练```CUDA_VISIBLE_DEVICES=0 deepspeed --master_port 520 train.py \ --train_path data/spo_0.json \ --model_name_or_path ChatGLM-6B/ \ --per_device_train_batch_size 1 \ --max_len 1560 \ --max_src_len 1024 \ --learning_rate 1e-4 \ --weight_decay 0.1 \ --num_train_epochs 2 \ --gradient_accumulation_steps 4 \ --warmup_ratio 0.1 \ --mode glm \ --train_type freeze \ --freeze_module_name "layers.27.,layers.26.,layers.25.,layers.24." \ --seed 1234 \ --ds_file ds_zero2_no_offload.json \ --gradient_checkpointing \ --show_loss_step 10 \ --output_dir ./output-glm```ChatGLM四卡训练,通过CUDA_VISIBLE_DEVICES控制具体哪几块卡进行训练,如果不加该参数,表示使用运行机器上所有卡进行训练```CUDA_VISIBLE_DEVICES=0,1,2,3 deepspeed --master_port 520 train.py \ --train_path data/spo_0.json \ --model_name_or_path ChatGLM-6B/ \ --per_device_train_batch_size 1 \ --max_len 1560 \ --max_src_len 1024 \ --learning_rate 1e-4 \ --weight_decay 0.1 \ --num_train_epochs 2 \ --gradient_accumulation_steps 4 \ --warmup_ratio 0.1 \ --mode glm \ --train_type freeze \ --freeze_module_name "layers.27.,layers.26.,layers.25.,layers.24." \ --seed 1234 \ --ds_file ds_zero2_no_offload.json \ --gradient_checkpointing \ --show_loss_step 10 \ --output_dir ./output-glm```ChatGLM2单卡训练```CUDA_VISIBLE_DEVICES=0 deepspeed --master_port 520 train.py \ --train_path data/spo_0.json \ --model_name_or_path ChatGLM2-6B/ \ --per_device_train_batch_size 1 \ --max_len 1560 \ --max_src_len 1024 \ --learning_rate 1e-4 \ --weight_decay 0.1 \ --num_train_epochs 2 \ --gradient_accumulation_steps 4 \ --warmup_ratio 0.1 \ --mode glm2 \ --train_type freeze \ --freeze_module_name "layers.27.,layers.26.,layers.25.,layers.24." \ --seed 1234 \ --ds_file ds_zero2_no_offload.json \ --gradient_checkpointing \ --show_loss_step 10 \ --output_dir ./output-glm2```ChatGLM2四卡训练,通过CUDA_VISIBLE_DEVICES控制具体哪几块卡进行训练,如果不加该参数,表示使用运行机器上所有卡进行训练```CUDA_VISIBLE_DEVICES=0,1,2,3 deepspeed --master_port 520 train.py \ --train_path data/spo_0.json \ --model_name_or_path ChatGLM2-6B/ \ --per_device_train_batch_size 1 \ --max_len 1560 \ --max_src_len 1024 \ --learning_rate 1e-4 \ --weight_decay 0.1 \ --num_train_epochs 2 \ --gradient_accumulation_steps 4 \ --warmup_ratio 0.1 \ --mode glm2 \ --train_type freeze \ --freeze_module_name "layers.27.,layers.26.,layers.25.,layers.24." \ --seed 1234 \ --ds_file ds_zero2_no_offload.json \ --gradient_checkpointing \ --show_loss_step 10 \ --output_dir ./output-glm2```ChatGLM3单卡训练```CUDA_VISIBLE_DEVICES=0 deepspeed --master_port 520 train.py \ --train_path data/spo_0.json \ --model_name_or_path ChatGLM3-6B/ \ --per_device_train_batch_size 1 \ --max_len 1560 \ --max_src_len 1024 \ --learning_rate 1e-4 \ --weight_decay 0.1 \ --num_train_epochs 2 \ --gradient_accumulation_steps 4 \ --warmup_ratio 0.1 \ --mode glm3 \ --train_type freeze \ --freeze_module_name "layers.27.,layers.26.,layers.25.,layers.24." \ --seed 1234 \ --ds_file ds_zero2_no_offload.json \ --gradient_checkpointing \ --show_loss_step 10 \ --output_dir ./output-glm3```ChatGLM3四卡训练,通过CUDA_VISIBLE_DEVICES控制具体哪几块卡进行训练,如果不加该参数,表示使用运行机器上所有卡进行训练```CUDA_VISIBLE_DEVICES=0,1,2,3 deepspeed --master_port 520 train.py \ --train_path data/spo_0.json \ --model_name_or_path ChatGLM3-6B/ \ --per_device_train_batch_size 1 \ --max_len 1560 \ --max_src_len 1024 \ --learning_rate 1e-4 \ --weight_decay 0.1 \

用户评论 (0)

发表评论

captcha