当前位置:   article > 正文

一种平价的chatgpt实现方案,基于清华的 ChatGLM-6B + LoRA 进行finetune.(aigc大模型风口,校招找工作必备)_chatglm finetune

chatglm finetune

** 清华大学的chatglm-6b开源模型对话能力虽然能基本满足对话需求,但是针对专业领域和垂直领域回答显得智商捉急,这个时候就需要进行微调来提升效果,但是但是同学们显卡的显存更捉急,这时候一种新的微调方式诞生了,现在大火的ai作画里面的lora训练方式直接应用到微调里面,chatglm-lora方式进行微调** 下面是是教程和注意事项

第一步 下载代码

git clone https://github.com/mymusise/ChatGLM-Tuning.git
cd ChatGLM-Tuning
  • 1
  • 2

第二步
下载数据
英文数据链接
需要更多的中文数据,私信我

第三步 配置环境

使用conda创建虚拟环境
python版本3.10.6
在这里插入图片描述
我是3090显卡,大家根据自己的卡自行调整配置

pip install -r requirements.txt
  • 1

第四步 数据预处理

转化alpaca数据集为jsonl

python cover_alpaca2jsonl.py \
    --data_path data/alpaca_data.json \
    --save_path data/alpaca_data.jsonl \
  • 1
  • 2
  • 3
  • 4
  • 5
生成tokenization

python tokenize_dataset_rows.py \
    --jsonl_path data/alpaca_data.jsonl \
    --save_path data/alpaca \
    --max_seq_length 200 \ 
    --skip_overlength
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

–jsonl_path 微调的数据路径, 格式jsonl, 对每行的[‘context’]和[‘target’]字段进行encode
–save_path 输出路径
–max_seq_length 样本的最大长度

第五步 训练模型

python finetune.py \
    --dataset_path data/alpaca \
    --lora_rank 8 \
    --per_device_train_batch_size 6 \
    --gradient_accumulation_steps 1 \
    --max_steps 52000 \
    --save_steps 1000 \
    --save_total_limit 2 \
    --learning_rate 1e-4 \
    --fp16 \
    --remove_unused_columns false \
    --logging_steps 50 \
    --output_dir output
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

–per_device_train_batch_size 6 为6时候,显存大约是22g多,要是显存不够可以把这个参数调小
–max_steps 52000 \ 控制训练步数,loss没下来,此数值可以改大一点

3090大约使用7个小时就微调完了

在这里插入图片描述
在这里插入图片描述
上面两个训练产生的结果

加我微信:Lh1141755859 获取chatgpt类对话大模型交流群
关注微信公众号:CV算法小屋 获取更多最新大语言模型论文和代码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/57767
推荐阅读
相关标签
  

闽ICP备14008679号