当前位置:   article > 正文

ChatGLM2-6B用自定义数据集lora微调(踩坑)

ChatGLM2-6B用自定义数据集lora微调(踩坑)

1.租用云平台(featurize)实例从github上下载lora微调项目

!!一定要在github仓库下载!国内其他平台下的不一定是实时更新的!后面会有很多bug!!

  1. !git clone https://github.com/hiyouga/ChatGLM-Efficient-Tuning.git
  2. cd ChatGLM-Efficient-Tuning
  3. !pip install -r requirements.txt

2.在ChatGLM-Efficient-Tuning目录下下载chatglm2-6b 权重文件(为了方便后续理清楚文件路径,统一一下)

!!同下lora微调项目文件一样,选择在huggingface镜像网站下载!!

下载前更改一下载路径:

  1. !pip install -U huggingface_hub
  2. !export HF_ENDPOINT=https://hf-mirror.com
  3. !huggingface-cli download --resume-download --local-dir-use-symlinks False THUDM/chatglm2-6b --local-dir chatglm-6b

3.编辑自己的做的数据集

3.1打开ChatGLM-Efficient-Tuning/data/example_dataset中的.json样例文件进行编辑添加自己想要的对话内容(建议复制一份,再编辑防止修改后格式出问题)

这是编辑好的自定义文件,点击json文件能打开的话,就说明格式没出现错误。

此处注意将新编辑好的自定义数据要放在与dataset_info.json的同级目录。

3.2在dataset_info文件中新加入新编辑的自定义数据集

直接复制上面原有的格式ok,修改一下文件名,其中file_sha1可以不指定。然后再复制一份自定义数据集(hjh3)到上一级目录。

到此就完成了自定义数据集的构建。

4.运行lora微调命令

  1. !CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
  2. --stage sft \
  3. --model_name_or_path chatglm2-6b \
  4. --do_train \
  5. --dataset hjh3 \
  6. --finetuning_type lora \
  7. --output_dir checkpoint \
  8. --per_device_train_batch_size 4 \
  9. --gradient_accumulation_steps 4 \
  10. --lr_scheduler_type cosine \
  11. --logging_steps 10 \
  12. --save_steps 1000 \
  13. --learning_rate 5e-5 \
  14. --num_train_epochs 3.0 \
  15. --plot_loss \
  16. --fp16

出现第一次报错:

解决方案:

!pip install trl==0.7.2

继续运行出现第二次报错:

解决方案:

!pip install transformers==4.30.2

继续运行出现第三次报错:

解决方案:

!pip install peft==0.5.0

继续运行第四次报错:

解决方案:自定义的数据集中语料太少导致的,需要加预料。

继续运行,没有报错完美运行!

微调生成的权重文件可以在同级目录下看到。(文件名字是自己定的)到此完成自定义数据集的微调。

5.浏览器或命令行测试微调后的模型

以命令行测试为例:

  1. !python src/cli_demo.py \
  2. --model_name_or_path path_to_your_chatglm_model \
  3. --finetuning_type lora \
  4. --checkpoint_dir path_to_checkpoint

到此结束

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

闽ICP备14008679号