使用LLaMA-Factory微调ChatGLM3

使用LLaMA-Factory微调ChatGLM3

    正在检查是否收录...

1、创建虚拟环境

2、部署LLaMA-Factory

(1)下载LLaMA-Factory

https://github.com/hiyouga/LLaMA-Factory

(2)安装依赖
pip3 install -r requirements.txt 

(3)启动LLaMA-Factory的web页面

CUDA_VISIBLE_DEVICES=0 python src/train_web.py 

得到如下页面:

3、ChatGLM3模型微调

设置如下参数,点击开始即可:

点击“预览命令”,可以看到要执行的python脚本,如下所示:

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \ --stage sft \ --do_train \ --model_name_or_path /root/LLaMA-Factory-main/chatglm3\ --dataset alpaca_gpt4_zh \ --template default \ --finetuning_type lora \ --lora_target q_proj,v_proj \ --output_dir path_to_sft_checkpoint \ --overwrite_cache \ --per_device_train_batch_size 4 \ --gradient_accumulation_steps 4 \ --lr_scheduler_type cosine \ --logging_steps 10 \ --save_steps 1000 \ --learning_rate 5e-5 \ --num_train_epochs 3.0 \ --plot_loss \ --fp16 

web页面和后台都会显示日志信息

4、推理测试


输入微调数据中的问题,回答贴合数据集,微调成功。

5、模型合并导出


待执行完,即可看到/root/LLaMA-Factory-main/merge路径下有了合并的模型了。

6、使用官方项目运行微调合并后的模型

可以看到也是没问题的。

7、过程中的问题

(1)合并后的模型无法加载,报错信息如下:
AttributeError: property 'eos_token' of 'ChatGLMTokenizer' object has no setter 

解决方法:将源模型中除了bin文件和pytorch_model.bin.index.json 以外的文件全部复制到导出目录中覆盖。

(2)模型微调时使用自己的数据集

该项目目前支持两种格式的数据集:alpaca 和 sharegpt,我是用的是 alpaca 格式,数据集按照以下方式组织:

[ { "instruction": "用户指令(必填)", "input": "用户输入(选填)", "output": "模型回答(必填)", "system": "系统提示词(选填)", "history": [ ["第一轮指令(选填)", "第一轮回答(选填)"], ["第二轮指令(选填)", "第二轮回答(选填)"] ] } ] 


将数据梳理好之后上传到data目录下。

接下来需要修改data/dataset_info.json,对于上述格式的数据,dataset_info.json 中的 columns 格式应为:

"数据集名称": { "columns": { "prompt": "instruction", "query": "input", "response": "output", "system": "system", "history": "history" } } 

我这里写的是:

"chatglm3": { "file_name": "chatglm3_train.json", "file_sha1": "e655af3db557a4197f7b0cf92e1986b08fae6311", "columns": { "prompt": "instruction", "query": "input", "response": "output", "system": "system", "history": "history" } } 

codectollama数据集chatstemjsontpualpacapythonwebtokengpt模型微调prompt提示词gitpython脚本sharegpt4虚拟环境pytorchurlgithubbash
  • 本文作者:李琛
  • 本文链接: https://wapzz.net/post-5283.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
本站部分内容来源于网络转载,仅供学习交流使用。如涉及版权问题,请及时联系我们,我们将第一时间处理。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
2.3W+
5
0
1
WAP站长官方

机器人又拿下一种家务:10小时学会煮咖啡,仅需观看人类演示视频

上一篇

ChatUp AI官网体验入口 AI聊天助手免费使用地址

下一篇
  • 复制图片
按住ctrl可打开默认菜单