基于ChatGLM-6B的部署教程的微调(因为模型和项目文件已经下载,就不重复操作了)
首先进入ChatGLM-6B的目录
1.安装前置依赖,相较于部署,需要多安装几个依赖
pip install -r requirements.txt
pip install rouge_chinese nltk jieba datasets
2.准备数据集
可以用自己的,我这里直接用官方给的数据集
自己的数据集需要满足此格式(json):
{
“content”: “类型#上衣版型#宽松版型#显瘦图案#线条衣样式#衬衫衣袖型#泡泡袖衣款式#抽绳”,
“summary”: “这件衬衫的款式非常的宽松,利落的线条可以很好的隐藏身材上的小缺点,穿在身上有着很好的显瘦效果。领口装饰了一个可爱的抽绳,漂亮的绳结展现出了十足的个性,配合时尚的泡泡袖型,尽显女性甜美可爱的气息。”
}
使用官方给的数据集
进入到ptuning目录下
cd ChatGLM-6B/ptuning
下载数据集
wget -O AdvertiseGen.tar.gz <https://cloud.tsinghua.edu.cn/f/b3f119a008264b1cabd1/?dl=1>
解压数据集
tar -xzvf AdvertiseGen.tar.gz
这样操作完之后就可以看到ptuning/AdvertiseGen目录下的数据集
3.修改训练文件参数,开始训练
修改train.sh这个文件的
-model_name_or_path THUDM/chatglm-6b \\
-per_device_train_batch_size 1 \\
-gradient_accumulation_steps 16 \\
看自己的显存大小来配置,这边是24g的显存,改为
-model_name_or_path 自己的模型路径 \\
-per_device_train_batch_size 24 \\
-gradient_accumulation_steps 2 \\
开始训练
bash [train.sh](<https://link.zhihu.com/?target=http%3A//train.sh/>)
等待大约5个小时,完成训练,会生成一个output文件,里面有几个checkpoint文件,就是此次训练的结果
4.验证推理模型
修改evaluate.sh
文件
改为
-model_name_or_path 自己的模型路径 \
运行以下指令进行模型推理和评测:
bash evaluate.sh
等待1小时后,生成的结果保存在./output/adgen-chatglm-6b-pt-8-1e-2/generated_predictions.txt
5.使用训练好的模型,检验成果
修改web_demo.sh脚本
PRE_SEQ_LEN=128
CUDA_VISIBLE_DEVICES=0 python3 web_demo.py \\
--model_name_or_path 自己的模型路径 \\
--ptuning_checkpoint output/adgen-chatglm-6b-pt-128-2e-2/checkpoint-3000 \\
--pre_seq_len $PRE_SEQ_LEN
demo.queue().launch(share=True, inbrowser=True, server_port=27777, server_name="0.0.0.0")
启动后打开web demo测试
结果对比如下:
未进行训练前:
经过训练后:
很显然训练后的回答,更加的贴切,如果说买衣服的时候能有这样的客服的话,对销售方面还是很好的
比如那些遮肉显瘦,显腿细等关键词,是比较贴合女性的