大模型的幻觉问题
一 什么是幻觉问题
大模型的幻觉问题是指大模型生成的答案不基于任何事实数据,简单来说就是杜撰、一本正经的胡说八道。
幻觉问题也是影响大模型落地的重要原因之一
幻觉问题分类
1 和用户输入冲突的幻觉
2 和上下文冲突的幻觉
3 和事实知识冲突的幻觉(目前重点)例如,大模型在生成医疗建议时可能会捏造错误的药品剂量,误导缺少专业医学知识的用户,产生风险。
二 传统幻觉与大模型幻觉
归根结底还是出在数据身上
传统任务单一的,数据质量相对于大模型的海量数据更高,大模型训练使用的海量数据来源于互联网,这部分数据本身就存在部分质量问题,捏造、过时、偏见等内容都会导致幻觉;
大模型是通用模型,应用于多语言、多任务、多领域的通用场景,这对于后处理消除幻觉问题也带来一定难度
大模型生成能力更强,生成的内容具有迷惑性,看上去很合理,需要专业领域知识的人才能识别,一般人很难发现幻觉问题。
三 幻觉问题评估
评估形式:文本生成任务,文本续写、问答、指令实现
评估实现:人工、模型评估(GPT4)、规则评估
四 幻觉问题产生原因
1 训练过程引入,大模型训练的数据中缺失事实数据或者是引入了错误的知识
2 对齐过程引入,主要是指令微调和RLHF,指令微调数据也可能引入错误知识或者引导模型捏造答案,RLHF过程可能导致模型为了迎合人类喜好而编造内容。
3 生成策略引入,不恰当的生成策略会导致模型产生幻觉问题,有些论文提到基于采样的解码方式引入的随机性会导致幻觉问题,自回归的生成方式也会导致幻觉累积,导致幻觉问题
五 如何缓解幻觉问题
1 训练过程入手,增加训练语料的数量,提高训练语料的质量
2 对齐过程入手,微调阶段:高质量的十几万-几十万的数量级的微调数据,避免行为克隆现象,减少指令数据中超过大模型能力的样本,微调过程一味强迫大模型学习这类样本会导致大模型过度自信,对任何问题都以非常肯定的语气进行回复,到实际应用时,大模型就会对不会的答案捏造回复,从而导致幻觉。
RLHF阶段:openai分享提到一种思路,给不同语气回复的错误以不同的惩罚力度,这样做的目的是鼓励模型表达不确定性、质疑的同时承认错误,从而缓解过度自信带来的幻觉问题,但是这种惩罚力度又不能太大,有报告指出惩罚力度太大会导致模型拒绝回答它本可以回答正确的问题。
3 推理阶段入手,1 改进解码策略,让模型在解码时的注意力关注在事实数据上,从而降低幻觉
2 借助外部知识库或知识图谱,模型在解码时,借助知识库检索和用户问题相关的知识,让模型予以参考。
4 知识编辑 通过直接编辑大模型参数,来改变它蕴含的知识,从而改变其行为,难度较大