基于小模型的自动化幻象检测智能体:HaluAgent

基于小模型的自动化幻象检测智能体:HaluAgent

一、引言

在自然语言处理技术蓬勃发展的今天,大语言模型在众多生成自然语言文本任务中表现卓越,广泛应用于现实场景。然而,其存在的“幻象”问题,即生成看似合理实则错误的信息,严重制约了模型的可信度与实用性。传统幻象检测方法多依赖闭源大型语言模型(如GPT - 4),不仅计算成本高昂,且不利于技术的开放性和广泛应用。在此背景下,本文提出一种基于开源小模型的自动化幻象检测智能体——HaluAgent,旨在解决上述问题。

二、方法

(一)任务定义

将幻象检测任务定义为以下五种类型:

  1. 基于知识的问答:识别答案文本中的错误信息,如错误历史日期、错误归因引言或虚假科学事实。
  2. 条件文本生成:检测偏离输入要求或包含无关信息的幻象内容,如生成特定长度、格式文本或翻译任务。
  3. 语义一致性:判断响应中无关或自相矛盾的内容。
  4. 数学问题求解:检测数学表达式中的计算错误。
  5. 代码生成:识别语法不正确、执行异常、逻辑缺陷和缺失依赖的代码片段。
    目标是开发通用灵活的智能体,处理多种幻象类型且不依赖闭源LLM。

(二)幻象检测工具箱

为增强开源小LLM的幻象检测能力,设计综合工具箱,包含以下工具:

  1. 搜索引擎(web_search):利用Google可编程搜索引擎API,检索网络证据识别事实错误,仅取前5篇相关文档。
  2. 计算器(calculator):通过SymPy实现,验证数学计算准确性。
  3. 代码解释器(code_interpreter):在编程环境中执行代码片段验证正确性。
  4. 条件验证器:如用word_counter计算单词数量,检测条件文本生成任务中的幻象。
  5. 语义检查器(match):检查语义一致性和相关性。
  6. 系统工具:包括文本分割(split_text)和返回检测结果(get_answer)。工具可根据任务场景扩展。

(三)HaluAgent框架

  1. 句子分割:利用split_text将LLM响应分割为独立检测单元,降低任务复杂性,减少干扰,确保细粒度检测结果。
  2. 工具选择与验证:根据句子内容选择合适工具验证,将检测结果存储为三元组(句子, 幻象标签, 支持证据),基于记忆机制存储信息。
  3. 反思:从局部和全局视角检查初步检测结果,局部匹配句子与证据,全局考虑句子间相互影响,纠正错误并更新检测结果,最后输出最终检测结果。

(四)双语智能体微调

  1. 轨迹生成
    • 数据来源:选择HaluEval、WebQA、Ape210K、HumanEval、WordCnt五个数据集,涵盖多种幻象类型,具备双语检测能力。其中部分数据集利用GPT - 4合成或通过ChatGPT和人工标注获取幻象标签。
    • 轨迹格式:利用GPT - 4执行HaluAgent框架检测流程,生成ReAct格式轨迹数据,经筛选后得到2017条高质量轨迹用于监督微调。
  2. 轨迹微调:对Baichuan2 - Chat 7B和13B进行监督微调,计算思路和行动的交叉熵损失,屏蔽观察部分。

三、实验

(一)实验设置

在域内(HaluEval - QA、WebQA、Ape210K、HumanEval、WordCnt)和域外(HalluQA、HaluEval 2.0)数据集评估HaluAgent,对比闭源模型(GPT - 4 prompt、GPT - 4 pipeline)和开源模型(Baichuan2 - Chat 7B和13B),利用FacTool数据集评估细粒度检测能力。

(二)实验结果

  1. 回复级检测:闭源与开源模型在基于内部知识的幻象检测性能上存在差距,引入工具和精细化框架可提升性能,轨迹微调使小型开源模型性能显著提升,缩小与闭源模型差距。
  2. 句子级检测:HaluAgent在句子级检测任务中F1分数更高,尤其在工具可精确判断的任务中,得益于框架设计和对检测结果的处理能力。
  3. 可扩展性研究:为微调模型引入新工具,HaluAgent对翻译器和日历工具使用率高,在相关任务中幻象检测成功率高,表明可有效使用新工具完成检测。
  4. 案例研究:对比不同检测方法,HaluAgent能自动化规划并选择合适工具,准确检测复杂文本中的混合幻象。

四、总结

本文提出的HaluAgent框架通过构建多功能工具箱、设计精细化三阶段检测框架、合成轨迹数据微调模型,在幻象检测方面表现出色。在域内和域外数据集上性能显著提升,与未使用工具增强的GPT - 4相当甚至更优,能为用户与LLM交互提供有效幻象检测服务,具有高度灵活性和适应性。