最近在试着用LoRA微调Llama3-8B,让它学习我们公司内部的一个Java项目风格,用来做简单的代码补全。数据集大概攒了2万条左右,都是仓库里的真实提交和重构记录,清洗过,也做了去重。训练用的8张A100,跑了3个epoch,学习率用的2e-4,rank设的16,alpha=32。
结果很尴尬——微调完在测试集(同仓库的留出代码)上BLEU确实涨了,但实际在IDE里补全时,生成的代码经常出现重复的变量名,甚至偶尔会输出不存在的API。回滚到原版base模型,反而补全得“老实”很多。
我看很多教程都说LoRA效果不错,是不是我哪里设置有问题?还是说代码补全这个任务本来就不适合用LoRA去学风格?有没有大佬踩过类似的坑,求指点一下调参方向或者数据处理的思路。