大语言模型幻觉检测新工具与数据集

介绍RefChecker工具和数据集,该工具通过将大语言模型输出分解为知识三元组结构,实现更细粒度的事实准确性评估,帮助检测生成文本中的幻觉现象,涵盖零上下文、嘈杂上下文和准确上下文三种设置。

新工具和数据集助力检测大语言模型中的幻觉现象

概述

大语言模型(LLMs)虽能力卓越,却存在一个致命弱点:倾向于产生“幻觉”,即做出听起来合理但事实不准确的断言。这些幻觉有时非常微妙,例如断言基本准确但日期错了一两年。

为了帮助检测此类微妙幻觉,某机构发布了 RefChecker(“Ref”代表“reference”),这是一个结合了新幻觉检测框架和基准数据集的工具,用于评估不同上下文中的幻觉[citation:1]。

RefChecker 的创新方法

知识三元组表示

与以往使用句子或短语作为声明摘要的幻觉检测方法不同,RefChecker 使用具有 <主语、谓语、宾语> 结构的知识三元组——这与知识图谱中表示数据所用的结构相同[citation:1]。这种方法能够对 LLM 的输出进行更细粒度的评估,从而更精确、信息更丰富。

基准数据集

该基准数据集涵盖三种不同的设置:

  • 零上下文(Zero context):LLM 在没有任何参考文本的情况下生成文本来回答问题。
  • 嘈杂上下文(Noisy context):为 LLM 提供可能包含或不包含准确信息的检索文档列表(检索增强生成或 RAG 设置)。
  • 准确上下文(Accurate context):为 LLM 提供一份准确文档。

数据集为每种设置包含了 100 个示例[citation:1]。

幻觉检测的核心问题

幻觉检测的目标是根据一组参考文本来检查 LLM 生成响应的事实性。此问题设置引发了三个主要问题:

  1. 如何以及在哪里找到参考文献? RefChecker 可以适应三种不同的寻找参考文献的方式,与基准数据集中的三种数据类型相对应:零上下文(例如开放域问答)、嘈杂上下文(例如检索增强生成)和准确上下文(例如摘要任务)。

  2. 评估的粒度? 与分析段落或句子的现有方法不同,RefChecker 将 LLM 响应分解为知识三元组。这允许检验个体知识点的真实性,并提供信息更丰富、更精确的洞察。 知识三元组比句子或子句能捕捉到 LLM 生成文本中更细粒度的信息。

  3. 声明分类? RefChecker 并非简单声明整个响应是否存在幻觉,而是检查 LLM 生成文本中嵌入的声明。响应与参考文献之间的基本关系可用维恩图可视化。

    • 交集(Entailments/Contradictions):可直接验证的声明,根据参考文献支持或反驳分为蕴含(支持)或矛盾(反驳)。
    • 中性(Neutral):参考文献未能提供足够证据验证所有声明时,评估这些声明的真实性需要额外证据。

RefChecker 使用这种三方分类(蕴含、矛盾、中性),而不是传统的二元标签,来精确建模响应与参考文献之间的关系。

RefChecker 流程

RefChecker 包含两个可配置模块:

  1. 声明三元组提取器 (E):从输入文本中提取声明三元组。发现 LLM 通常擅长于此项任务。初始版本使用了 GPT-4 和 Claude 2,后续将提供 Mixtral-8x7B 开源提取器。
  2. 幻觉检查器 (C):评估响应与参考文本产生的声明三元组之间的一致程度。评估可手动或自动进行。初始版本提供了基于 GPT-4、Claude 2 和 RoBERTa-NLI 的自动检查器。更多开源检查器(如 AlignScore 和基于 Mistral 的检查器)将很快推出。发现自动检查器之间的多数投票(majority voting) 与人工标注的一致性最佳。

还可以配置结果统计方式,以在 triplet 级别的检测和 response 级别的幻觉报告之间进行转换。这些模块可以单独扩展和改进。

开始使用 RefChecker

检测和精确定位细微的、细粒度的幻觉是制定有效缓解策略的第一步。

致谢

Lin Qiu, Zheng Zhang[citation:1]

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计