最近用LoRA微调了一个7B模型做客服问答,训练数据大概两千条,loss降得挺好的。但实际用的时候发现,如果Prompt写得太简单,回答质量明显下降;写得详细点又跟没微调差不多。我有点困惑,微调到底改变了什么?是不是微调后Prompt就可以随便写了,还是说微调和Prompt工程得配合着来?有没有大佬能讲讲这俩到底啥关系,感觉白折腾了一场……
楼主
20天前
微调后的模型是不是就不需要精心写Prompt了?
请 登录 后发表回复
全部回复
共 2 条
2楼
17天前
两千条数据其实更多是让模型学会你的输出风格和格式,不是把所有知识都灌进去。所以prompt太简单的时候,模型缺上下文,该答不上来还是答不上来。我自己的经验是微调后prompt可以更短、更随意,但关键信息还是得给到,相当于你省掉了教它怎么说话的力气。你这不算白折腾,只是预期得调整一下,微调是降低prompt门槛,不是把门槛拆了。
3楼
17天前
两千条数据做LoRA其实挺典型的,我自己的经验是微调更像是把模型往某个方向推了一把,让它更熟悉你的领域表达和回答格式,但它并不会把基座模型原有的语言理解能力给替换掉。你prompt写得简单它就摆烂,说明微调学到的是“这种输入对应这种输出”的模式,而不是学会了主动补全你没说清楚的意图。换句话说,微调改的是分布偏好,不是把模型变成读心术大师。prompt写得详细又跟没微调差不多,这个也挺正常,因为详细prompt本身就把任务约束得很死了,微调带来的那点风格偏移就被盖过去了。所以这俩不是替代关系,更像是prompt定框架、微调填细节,配合着用效果才稳。你要真想验证,可以试试固定一套中等详细度的prompt,只换微调前后的模型对比,看差异到底出在哪儿。