kongds / scaling_sentemb

Scaling Sentence Embeddings with Large Language Models
85 stars 4 forks source link

模型改变后训练失败以及超参数相关问题 #10

Closed guankaisi closed 1 month ago

guankaisi commented 7 months ago

您好,我尝试着改动您的代码,想将Baichuan2-7B模型也进行训练,但是我发现同样的方法Baichuan2-7B训练时loss并没有正常下降,当训练LLama-7b时是没问题的,想问一下作者有没有尝试迁移到更多的模型如baichuan,千问,chatglm等? 屏幕截图 2023-12-02 205321 图片为同样数据同样参数(默认参数)训练LLama和baichuan的loss曲线,可以看出baichuan模型的loss并没有正常下降。

同样,我还想问一下作者您对于QLora的超参数是如何调整与设置的? 我在这篇帖子中看到,https://hub.baai.ac.cn/view/32405,lora微调时调整为r=8,alpha=16时效果最好,请问您有做过超参数的消融实验吗,如何设置lora的参数能达到更好的结果呢?

kongds commented 7 months ago

我目前只试过opt, llama, llama-2的fine-tuning,上述这些模型,可能存在代码适配或者peft,transformers版本兼容性的问题。

lora r 和 alpha这块,我直接用了QLoRA论文中的setting,并没有做过消融试验

image
guankaisi commented 7 months ago

我感觉是baichuan模型里面的各种trick与Qlora环境中一些变量起了冲突,具体原因我还没探究清楚,不过一个简单的解决办法是,把baichuan的权重迁移到LLama的框架中,https://github.com/hiyouga/LLaMA-Factory/blob/main/tests/llamafy_baichuan2.py,这样就能能微调百川了!