查看原文
其他

大模型幻觉问题调研-LLM Hallucination Survey

HillZhang NLP工作站 2024-04-07

写在前面

大家好,我是刘聪NLP。

目前大模型幻觉问题是LLM的实际落地应用中大家非常关注的一个问题。今天逛知乎的时候发现一篇模型幻觉综述总结,由此分享给大家,文本内容来自@不关岳岳的事(知乎)。

原文:https://zhuanlan.zhihu.com/p/642648601

幻觉的定义

当模型生成的文本不遵循原文(Faithfulness)或者不符合事实(Factualness),我们就可以认为模型出现了幻觉的问题。

the generated content that is nonsensical or unfaithful to the provided source content

Faithfulness and Factualness:

  • Faithfulness:是否遵循input content;
  • Factualness:是否符合世界知识;

On faithfulness and factuality in abstractive summarization

针对不同任务,幻觉的定义也可能出现差异:

  • 数据源(source)不一致:
    • 例如:摘要的数据源是document,data-to-text的数据源是data table,对话的数据源是对话历史,而开放域对话的数据源可以是世界知识。
  • 容忍幻觉的程度不一致:
    • 在摘要、data-to-text任务中,非常看重response的Faithfulness,因此这些任务对幻觉的容忍程度很低;
    • 而像开发域对话任务中,只需要response符合事实即可,容忍程度较高;

在传统任务里,幻觉大都是指的是Faithfulness:

  • Intrinsic Hallucination(冲突): LMs在生成回复时,与输入信息产生了冲突,例如摘要问题里,abstract和document的信息不一致。
  • Extrinsic Hallucination(无中生有): LMs在生成回复时,输出一些并没有体现在输入中的额外信息,比如邮箱地址、电话号码、住址,并且难以验证其真假。(PS: 按照此定义,Extrinsic Hallucination有可能是真的信息,只是需要外部信息源进行认证)

而面向LLMs,我们应该考虑的幻觉是Factualness:

  • 因为我们应用LLM的形式是open-domain QA,而不是局限于特定任务,所以数据源可以看做任意的世界知识。LLMs如果生成了不在input source里的额外信息,但是符合事实的,这种情况是对我们有帮助的。

幻觉的原因

数据层面

在数据工程层面可能出现一些问题,导致幻觉问题:

  • 训练数据收集过程中,众包/爬虫检索的数据可能包含虚假信息,从而让模型记忆了错误的知识;
  • 过多的重复信息也可能导致模型的知识记忆出现bias,从而导致幻觉:
    • Deduplicating training data makes language models better

潜在的研究方向:

  • Building High-quality Training Corpus is essential.
  • Data verification/ Data filter/ Data selection.

模型层面

即使有了高质量训练数据,LLMs仍然可能表现出幻觉现象。

  • 模型结构:如果是较弱的backbone(比如RNN)可能导致比较严重的幻觉问题,但在LLMs时代应该不太可能存在这一问题;
  • 解码算法:研究表明,如果使用不确定性较高的采样算法(e.g.,top-p)会诱导LMs出现更严重的幻觉问题。甚至可以故意在解码算法中加入一些随机性,进一步让LMs胡编乱造(可以用该方法生成一些negative samples)
    • Factuality enhanced language models for open-ended text generation
  • 暴露偏差:训练和测试阶段不匹配的exposure bias问题可能导致LLMs出现幻觉,特别是生成long-form response的时候。
    • On exposure bias, hallucination and domain shift in neural machine translation
  • 参数知识:LMs在预训练阶段记忆的错误的知识,将会严重导致幻觉问题。
    • Entitybased knowledge conflicts in question answering

幻觉的评估

现有的传统幻觉评估指标和人类结果的相关性往往较低,同时大都是task-specific的。

Understanding factuality in abstractive summarization with FRANK: A benchmark for factuality metrics

Reference-based

Reference-based的指标有两类:

  • 基于Source Information和Target Reference:利用一些统计学指标,比如ROUGE、BLEU来评估输出结果和Source/Target信息的重叠度。
  • 基于Source Information:由于NLG任务里,Target输出往往是多种多样的,因此许多工作只基于Source信息进行幻觉的评估。比如Knowledge F1。

「基于Reference的评价指标,基本上只能评价Faithfulness,而无法评价Factualness,因此不适用于LLMs。」

Reference-Free

  • 基于IE:将知识限定于可以用三元组形式表示的关系和事件,基于额外的IE模型进行抽取,接着使用额外模型进行验证。
    • 可能存在IE模型的错误传播问题。
    • 知识被限定在三元组形式。
    • 缺点:
  • 基于QA:第一步先基于LM生成的回复,使用一个QG(question generation)模型生成一系列QA pairs;第二步给定Source Information,让QA模型对上一步生成的Question进行回复;第三步则是通过对比第一步的answers和第二步的answers,计算匹配指标,衡量模型的幻觉问题;
    • 同样存在QA/QG模型的错误传播问题。
    • 难以评估Factualness,因为上述第二步里面,Source Information不可能包含全部的世界知识,因此对于一些问题难以生成可靠的回复。
    • 缺点:
    • FEQA: A question answering evaluation framework for faithfulness assessment in abstractive summarization
  • 基于NLI:基于NLI的方法通过利用NLI模型评估是否Source Information可以蕴含Generated Text,从而评估是否出现了幻觉现象。
    • Off-the-shelf NLI模型用于核查事实效果不是很好;
    • 无法评估需要世界知识的幻觉问题:仅能依赖于Source进行核查;
    • 都是sentence-level的,无法支撑更细粒度的幻觉检查;
    • 幻觉问题和蕴含问题实际并不等价:
    • Evaluating groundedness in dialogue systems: The BEGIN benchmark
    • Evaluating factuality in generation with dependency-level entailment
    • 例子:Putin is president. -> Putin is U.S. president (可以蕴含,但是是幻觉)
    • 缺点:
  • 基于Factualness Classification Metric:标注/构造一批和幻觉/事实有关的数据,训练检测模型,利用该模型评估新生成文本的幻觉/事实问题。
    • Wizard of Wikipedia: Knowledge-powered conversational agents
  • 人工评估:目前为止最靠谱的,此外还可以依靠LLM打分(比如GPT4,但是GPT4也存在着严重的幻觉问题,除非retrival-augment,但是检索回来的信息也有可能是错误的)

幻觉的缓解

基于数据的工作

构建高质量数据集

  1. 人工标注
    1. GO FIGURE: A meta evaluation of factuality in summarization
    2. Evaluating factual consistency in knowledge-grounded dialogues via question generation and question answering
    3. 训练数据:LLM上不可行,只适用于task-specific的幻觉问题
    4. 评测数据:构建细粒度的幻觉评估benchmark用于分析幻觉问题
  2. 自动筛选:
    1. 利用模型打分,筛选出可能导致幻觉的数据并剔除;
    2. 预训练时给更faithful的数据加权(wiki vs. fake news),或者不使用可靠来源的数据(比如只选用经过人工审查的数据源,如wiki或者教科书,预训练)

模型层面的工作

模型结构

  1. 模型结构层面的工作往往focus在设计更能充分编码利用source information的方法,比如融入一些人类偏置,如GNN网络。
  2. 或者在解码时减少模型的生成随机性,因为diversity和Faithfulness往往是一个trade-off的关系,减少diversity/randomness可以变相提升Faithfulness/Factuality。
  3. 「检索增强」被证明可以显著减少幻觉问题,e.g., LLaMA-index。
Vectara:让你的LLM应用告别幻觉!: https://zhuanlan.zhihu.com/p/626544154

训练方式

  1. 可控文本生成:将幻觉的程度作为一个可控的属性,利用可控文本生成技术进行控制。
    1. Increasing faithfulness in knowledgegrounded dialogue with controllable features
    2. A controllable model of grounded response generation
  2. 提前规划骨架,再生成:sketch to content
    1. Data-to-text generation with content selection and planning
  3. 强化学习:假设是基于word的MLE训练目标,只优化唯一的reference,可能导致暴露偏差问题。现有工作将减轻幻觉的指标作为强化学习的reward函数,从而减轻幻觉现象。
    1. Slot-consistent NLG for task-oriented dialogue systems with iterative rectification network
    2. Improving factual consistency between a response and persona facts
  4. 多任务学习: 通过设计合适的额外任务,可以达到减轻幻觉的效果。
  5. 后处理:设计小模型专门用于fix掉幻觉错误。
    1. Improving faithfulness in abstractive summarization with contrast candidate generation and selection

可能的方向

指标设计

  1. 更细粒度的幻觉评估:
    1. Intrinsic
    2. Extrinsic
    3. 其他类别:
    4. 按幻觉产生的原因分类(调用知识出错,还是缺少相应知识)
    5. 主观/客观幻觉
    6. 幻觉可能和时间(temporal)有关
    7. token/phrase level instead of sentence level
    8. 更精细的幻觉分类体系:
  2. 知识的定义、诱导和修改:
    1. 传统工作大都将wikipedia视作知识库,但它仅仅是世界知识的很小一部分
    2. 如果将整个互联网当做世界知识,又不可避免的会有虚假信息的问题
    3. 怎么知道模型是否具备某一类知识,只是没有调用好?
    4. 知识的定义:
    5. 直接修改LLM中错误记忆的知识:Model Editing,如ROME,MEMIT等

幻觉消除

  1. 检索增强:互联网/外挂知识库(LLaMA Index)
  2. 强化学习(RLHF)
  3. 知识诱导/注入
OpenAI的看法:https://www.youtube.com/watch?v=hhiLw5Q_UFg
John Schulman:RLHF的实施与挑战 —— 通过强化学习缓解大模型输出幻觉(Hallucinations)的思考:https://zhuanlan.zhihu.com/p/640144131

针对LLM的研究

幻觉评估

TruthfulQA

https://aclanthology.org/2022.acl-long.229/

一个很重要的用于评估LLM是否能够生成符合事实的答案的QA基准,被后续的LLM工作,如GPT4采用评估。包含了817个作者手写的问题,这些问题是精心设计,往往是模型或者人类都很容易回答错误的陈述。作者发现:

  • 与人类相比(94%),当前较好的LLMs(GPT3)也只能诚实地回答58%的问题而不进行编造。
  • 更大的模型更容易编造回答。
  • 微调后的GPT3可以有效分辨是否回答是truthful的。

HaluEval benchmark

https://arxiv.org/pdf/2305.11747.pdf
  1. Benchmark搭建:人工标注了35,000条数据,5000条chatgpt的general query(alpaca data),30000条chatgpt的任务回复(问答、摘要、知识对话)
    1. QA:comprehension, factualness, specificity, and inference;
    2. knowledge-grounded dialogue:extrinsic-soft, extrinsic-hard, and extrinsic-grouped
    3. text summarization:factual, non-factual, and intrinsic
    4. 让chatgpt生成更有可能出现幻觉的文本:数据过滤,prompt工程;
    5. 每个任务的幻觉还有不同类型:
  2. 幻觉评估:
    1. Chatgpt倾向于在回复中生成无法被验证的内容(幻觉),占比约11.4%
    2. 当前强大的LLM,如Chatgpt,都很难精准检测出文本中出现的幻觉问题
    3. 通过提供外部知识和增加推理步数,能够提升LLM检测幻觉的能力

ChatGPT/GPT4生成不真实回复的评估、机理

https://arxiv.org/abs/2304.10513

对LLM生成的不符合事实的错误的类型进行分类和统计:定义了三个能力,可能导致幻觉的:

  1. 知识记忆
  2. 知识调用
  3. 知识推理

通过实验,对大模型生成可靠回复给出了一些建议:

  1. 提供更多的背景知识(检索)
  2. 提供更细粒度的背景知识(分析)
  3. 把问题进行分解(CoT)
A Multitask, Multilingual, Multimodal Evaluation of ChatGPT on Reasoning, Hallucination, and Interactivity:https://arxiv.org/abs/2302.0402

早期的工作,包括了对ChatGPT幻觉现象的评估:

  • ChatGPT有能力识别虚假信息,并能够在无法识别时回复不知道;
  • ChatGPT仍然会被TruthfulQA内的问题误导;
  • ChatGPT同样可能出现intrinstic/extrinsic hallucination的case;

Retrival-augment LLM评估

https://arxiv.org/abs/2305.06311

来自OSU的两个工作,主要是研究了给定reference的情况下,LLM的遵循能力。

  • 前一个工作首先定义了自动评估一个reference能否支撑generation的任务,然后研究了LLMs(prompt/finetuned)的完成这一任务的能力
    • automatic attribution evaluation的效果都不好
    • 小的finetuned模型可以超过大的zero-shot模型
    • 模型容量和评估效果并不完全正相关
    • 使用额外的其他任务训练,可以提升automatic attribution evaluation的能力(QA/NLI/FC)
  • 后一个工作
Adaptive Chameleon or Stubborn Sloth: Unraveling the Behavior of Large Language Models in Knowledge Clashes:https://arxiv.org/abs/2305.13300

研究了给定reference情况下对LLM生成结果的影响:

  • 使用一个5步走的框架进行knowledge elicitation

    • parametric memory:模型内部的知识
    • counter-memeory:与模型内部知识相反的内容
  • 当只有一个单一的知识源时:

    • 简单的通过entity替换的counter-memory无法诱骗模型,但是让LLM自己生成的可以
  • 当有多个知识来源时:

    • LLM倾向于相信更流行的知识;
    • LLM对于知识的顺序很敏感,倾向于相信先出现的知识;
    • LLM相信更长的知识;
    • LLM随大流,相信占据大多数的知识;

幻觉检测-修复

未完待续

  • Check Your Facts and Try Again: Improving Large Language Models with External Knowledge and Automated Feedback
  • SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models
  • Zero-shot Faithful Factual Error Correction
  • Factuality Enhanced Language Models for Open-Ended Text Generation
  • CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing
  • Measuring and Modifying Factual Knowledge in Large Language Models
  • Inference-Time Intervention: Eliciting Truthful Answers from a Language Model
  • Methods for Measuring, Updating, and Visualizing Factual Beliefs in Language Models
  • How Language Model Hallucinations Can Snowball
  • PURR: Efficiently Editing Language Model Hallucinations by Denoising Language Model Corruptions
  • Improving Factuality and Reasoning in Language Models through Multiagent Debate
  • Mitigating Language Model Hallucination with Interactive Question-Knowledge Alignment

请多多关注知乎「刘聪NLP」,有问题的朋友也欢迎加我微信「logCong」私聊,交个朋友吧,一起学习,一起进步。我们的口号是“生命不止,学习不停”。

往期推荐:

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存