最近在折腾代码补全的小模型,手头有张4090,就试着用LoRA微调Llama3-8B。数据集是自己在GitHub上爬的Python和TypeScript,大概10万条(去重后),格式是“上文+中间挖空”这种,类似FIM任务。训练了3个epoch,loss降得挺稳,但实测补全效果……怎么说呢,生成的代码语法还行,但逻辑经常跑偏,甚至不如不微调的基座模型直接续写。我确认过数据清洗和格式转换都没问题,学习率也试过1e-4和5e-5。想问问大家,是不是LoRA本身就不适合这种任务?还是说我的训练策略有问题,比如应该用全参数微调或者换更大的秩?求指点,已经有点怀疑人生了。