SFT 之后模型答非所问,多数情况下根因不在模型本身,而在训练信号与真实使用场景之间的失配。排查的价值在于把"感觉不对"转化为可定位的具体环节,建议按数据、训练、评估三个层面依次推进,而不是一上来就调超参数或盲目扩充数据量。
最常见的诱因是示范数据与真实场景不匹配:训练集中的提问方式、任务类型和回答风格,与实际输入存在系统性偏差,模型学到的只是"在示范语境下像样地回答",而非"针对问题本身作答"。应对方法是把常见偏差的样例纳入训练集,让模型在训练中学会纠正。同时复核数据质量,剔除不自然、重复和错误的示例——这类噪声会直接污染应答模式,几百条干净示范通常胜过几万条脏数据。
如果模型在训练集上表现完美、真实对话却频繁跑偏,基本可判定为过拟合。此时应保持验证集严格独立,必要时启用早停(early stopping),避免模型把示范背下来而非学会泛化。需要警惕的是,训练损失持续下降并不代表问答质量提升,损失曲线不能作为唯一的判断依据。
评估环节本身也可能是盲区。应使用一套贴近真实场景的题目进行测试,并做鲁棒性检查:同一问题换一种表达方式再问,观察回答是否一致。若换个问法就答非所问,说明模型学到的是表面句式匹配而非语义理解,需要回到数据层补充多样化示范。还可以引入"反面示范",把模型常犯错的样例连同正确做法一起标注进训练集,对纠正跑偏收效明显。
从经验上看,答非所问通常可以回溯到数据层,极少是算法选择的问题。把排查固化为"修数据、控训练、真实场景验证"的闭环,每轮迭代只改动一个变量,大多数跑偏现象在一到两轮内即可收敛。
参与讨论
暂无评论,快来发表你的观点吧!