最近在尝试用LoRA微调Qwen2-7B,让它能根据自然语言描述生成简单的Python脚本。数据集是自己爬的LeetCode题解,大概1万条,用QLoRA跑在两张3090上。batch size设了4,lr调到5e-5,跑了10个epoch,loss从1.8降到0.2左右,但推理时输出全是重复的符号或者“\n\n\n\n”这样的乱码。
我怀疑是学习率太小导致过拟合,或者数据集格式有问题(我是直接用的纯文本,没加chat模板)。也试过把LoRA的rank从8调到16,效果一样。
请问有经验的朋友,这种情况一般是什么原因?是数据没处理好,还是LoRA参数设置不对?或者需要加个warmup?有没有推荐的检查思路?多谢!