ChatGLM3阿里云p-tuning v2和Lora微调

阿里云本地大模型chatglm3-6b的P-Turning v2和Lora微调
注:chatglm3-6b微调要求显存较高,最低16G的GPU现存,越高越好,而且数据量越多越复杂,训练需要显存越多。

#直接按照上次文章部署好之后,进入到自己的环境所在目录然后输入运行环境,之后进入到微调finetune-demo文件

source tutorial-env/bin/active

cdwebcodes
cd ChatGLM3
cd finetune_demo
#安装依赖
pip install -r requirements.txt
pip install nltk
#上传数据,新建一个文件夹
mkdir data
上传数据格式为如下所示的.json文件(注意,数据必须最少包含49对问答,也就是最少49个conversations,不然会报错)

[{"conversations": [{"role": "user","content": "你是谁"},{"role": "assistant","content": "我是........"}]},
{"conversations": [{"role": "user","content": "你可以做什么?"},{"role": "assistant","content": "我可以......."}]}]
#修改运行参数finetune_demo里的configs文件下的ptuning_v2
将train_file: train.json
  val_file: dev.json
  test_file: dev.json
改为自己的数据集,测试数据集也可以直接用训练数据集,或者先不测试。
max_steps: 3000——最大步长越长训练时间越久,效果越好。
learning_rate: 5e-5——学习率可以调,内存小的话,学习率太大训练不完就会爆掉
per_device_train_batch_size: 4——改为16
save_steps: 500——保存步长,运行多少次保存一下模型,如果机子内存小就少保存一点
eval_steps: 500——日志保存步长,也可以自己改
#运行
python  finetune_hf.py  data  /mnt/workspace/models/chatglm3-6b
  configs/ptuning_v2.yaml
三个参数分别是你的数据路径/你的原模型路径/你的微调参数路径
(注意:glm模型读取数据是根据数据所在文件夹读取,因此不用精确到数据的路径,填数据所在文件夹路径就行,不然不能读取)
(在copy后需要将configs/ptuning_v2.yaml前多余的空格去掉,否则就会报权限错误)
python  finetune_hf.py  data /mnt/workspace/models/chatglm3-6b
  configs/ptuning_v2.yaml
python  finetune_hf.py  data  /mnt/workspace/models/chatglm3-6b
  configs/ptuning_v2-1.yaml
#使用lora进行微调
python  finetune_hf.py  data  /mnt/workspace/models/chatglm3-6b
configs/lora.yaml
#一键测试微调
python inference_hf.py  output/checkpoint-300 --prompt 你是谁?
output/checkpoint-400 为训练后模型。
300步长训练

91e0e63a1d74478cb19c911d17aed941.png 

由于数据量小,训练步长短,基本没什么效果。

3000步长训练

0a40562e9df3476197d4780e290744de.png

e9e7c1473e0342a685752a4cec3be0f3.png 

422c29922ddd4d94a3c8e4569b558906.png 

只用了60条数据进行训练测试,效果不好,甚至自己原本的功能都有遗忘。如果想要有好的效果,还是要准备充足的数据和高性能的机子,不过基于以上步骤目前版本不更新的情况下还是可以跑出来的,可以去试着玩一下,以后更新后说不定效果更好,操作更简单。

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值