主要参考:大模型的幻觉问题调研: LLM Hallucination Survey
1 幻觉定义
当模型生成的文本不遵循原文(Faithfulness)或者不符合事实(Factualness),我们就可以认为模型出现了幻觉的问题。
- Faithfulness:是否遵循input content(传统包括:Intrinsic Hallucination(信息冲突) 以及Extrinsic Hallucination(无中生有) )
- Factualness:是否符合世界知识
2 幻觉的评估
Reference-based的指标有两类:
- 基于Source Information和Target Reference:利用一些统计学指标,比如ROUGE、BLEU来评估输出结果和Source/Target信息的重叠度。
- 基于Source Information:由于NLG任务里,Target输出往往是多种多样的,因此许多工作只基于Source信息进行幻觉的评估。比如Knowledge F1。
Reference-Free
- 基于IE:将知识限定于可以用三元组形式表示的关系和事件,基于额外的IE模型进行抽取,接着使用额外模型进行验证。
- 基于QA:第一步先基于LM生成的回复,使用一个QG(question generation)模型生成一系列QA pairs;第二步给定Source Information,让QA模型对上一步生成的Question进行回复;第三步则是通过对比第一步的answers和第二步的answers,计算匹配指标,衡量模型的幻觉问题;
- 基于NLI:基于NLI的方法通过NLI模型评估是否Source Information可以蕴含Generated Text,从而评估是否出现了幻觉现象。
- 基于Factualness Classification Metric:标注/构造一批和幻觉/事实有关的数据,训练检测模型,利用该模型评估新生成文本的幻觉/事实问题。
- 人工评估:目前为止最靠谱的,此外还可以依靠LLM打分(比如利用GPT4,但是GPT4也存在着严重的幻觉问题,即使经过retrival-augment,检索回来的信息也有可能是错误的)
3 如何解决
构建高质量数据集
训练方式
- 可控文本生成:将幻觉的程度作为一个可控的属性,利用可控文本生成技术进行控制。
- 提前规划骨架,再生成:sketch to content
- 强化学习:假设是基于word的MLE训练目标,只优化唯一的reference,可能导致暴露偏差问题。现有工作将减轻幻觉的指标作为强化学习的reward函数,从而减轻幻觉现象。
- 多任务学习: 通过设计合适的额外任务,可以达到减轻幻觉的效果。
- 后处理:设计一个小模型专门用于fix幻觉错误。
Retrieval Augment Generation(Retrieval Augment Generation - 让幻觉不再继续(一)): Retrieval Augment Generation有两个重要的组成部分,预训练大模型和领域知识库。