hiyouga / ChatGLM-Efficient-Tuning

Fine-tuning ChatGLM-6B with PEFT | 基于 PEFT 的高效 ChatGLM 微调
Apache License 2.0
3.66k stars 471 forks source link

微调后不起效果,是我哪步有问题吗 #406

Closed RemSynch closed 1 year ago

RemSynch commented 1 year ago

我把自我认知数据集self_cognition.json中的自我介绍的名字给改了,除此之外还加了几十条其他关于那个名字的数据。 启动训练的bat脚本:

@echo off
set CUDA_VISIBLE_DEVICES=0
python src\train_bash.py ^
    --stage sft ^
    --model_name_or_path D:\ChatGLM2\ChatGLM2-6B\THUDM\chatglm2-6b ^
    --do_train ^
    --dataset self_cognition ^
    --finetuning_type lora ^
    --output_dir D:\AIOpenSource_Prj\ChatGLM-Efficient-Tuning-main\ChatGLM-Efficient-Tuning-main\output ^
    --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来训练,结果都是成功的,这是其中一次用web的微调结果: image checkpoint路径:D:\AIOpenSource_Prj\ChatGLM-Efficient-Tuning-main\ChatGLM-Efficient-Tuning-main\saves\ChatGLM2-6B\lora\2023-08-12-17-37-48

这是我的启动命令,路径是对的启动也是成功的 python src/web_demo.py --model_name_or_path D:\ChatGLM2\ChatGLM2-6B\THUDM\chatglm2-6b --finetuning_type lora --checkpoint_dir D:\AIOpenSource_Prj\ChatGLM-Efficient-Tuning-main\ChatGLM-Efficient-Tuning-main\saves\ChatGLM2-6B\lora\2023-08-12-17-37-48

最后的结果没有任何变化,按照原本self_cognition.json里的数据条数应该也够了吧?我还多加了几十条,是我哪一步理解的有问题或者指令打错了吗? image

image 我看见启动日志里有一句trainable params: 0 || all params: 6243584000 || trainable%: 0.0000是指我的这个checkpoint没有训练到任何参数吗?

hiyouga commented 1 year ago

https://github.com/hiyouga/ChatGLM-Efficient-Tuning/blob/main/examples/alter_self_cognition.md