hiyouga / ChatGLM-Efficient-Tuning

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

有关ChatGLM-Efficient-Tuning + lora微调出现过拟合的讨论 #365

Closed mawenju203 closed 1 year ago

mawenju203 commented 1 year ago

场景是:对于训练数据的回答效果不错,但是当问题泛化就出现了回答很糟糕; 训练数据: 6k,loss = 0.03;

问题一: 方式一:是否可以选择 train_sft_with_dev_set.sh 这个训练脚本训练,效果泛化能力会不会好点; 方式二:增加问题的表述的多样性这种方式来增加lora训练的数据量,会不会好一些;

这两个方式那个效果更明显,还有其他的方式吗?

问题二: train_sft_with_dev_set.sh 脚本里面的训练数据和验证数据是同一个文件,那怎么知道那些是验证数据,那些是测试数据呢?

hiyouga commented 1 year ago

随机划分

codemayq commented 1 year ago
  1. 解决泛化可能需要加一些其他通用数据一起训练,而不是只用垂直数据
  2. 脚本里的验证集是文件随机切分出来的。
mawenju203 commented 1 year ago

@hiyouga 谢谢了 @codemayq 开源的训练集都是可以的吗?是不是加些代码生成的,会更有帮助呢