今天是2023年9月5日,星期二,北京,天气晴。
我们继续来看大模型幻觉的问题,RAG外挂是一个可行的方案,也可以通过检索、重排以及总结后送入大模型后再进行摘要。
具体幻觉问题包括幻觉在学术界如何做的定义其如何做修正,也什么会发生幻觉,在缓解幻觉问题上,当前有哪些前沿探索方案,如下脑图所示【可加入社区获取高清编辑版】:
这是个很有趣的话题,本文将从RefGPT提升事实性数据集的方法、面向知识图谱的大模型幻觉性评测:KoLA以及HaluEval幻觉性评测构成实现三个方面进行介绍。
供大家一起参考并思考。
事实正确性是ChatGPT的一大薄弱环节,也是所有试图复现ChatGPT的同行们所面临的重大挑战。
想要提升事实正确性,可以标注大量的事实型对话数据(比如人物、科技、医疗、法律、艺术)用于微调GPT模型。
第2步收集到大量的reference-dialogue二元组,将reference和prompt作为输入,dialogue作为目标,微调一个GPT模型(可以基于LLaMA或BLOOM的预训练基座)。
将微调出的模型称作Reference-to-DialogueGPT,缩写RefGPT。有了RefGPT,即可基于reference生成多轮对话,获得海量的数据。
不过,在实现过程中,需要注意2点。
首先,Reference的质量、广度。Reference内容质量必须高,比如医疗等优质垂类网站的页面、维基百科上非生僻的词条,且需要对网页做清洗。Reference的广度应当大,不能限制在单个垂类或单个网站。
调用已有LLM时需要写prompt,需要仔细尝试各种prompt,使得LLM生成的多轮对话符合预期。
最终实现的样例如下:
首先,评估LLM的一个常见问题是训练数据变化带来的公平性问题和潜在的测试数据泄露风险。为了尽量减少这些偏差,设计了已知数据和演化数据两个数据源:
考虑到许多LLM表示它们只能基于"2021年之前的内容"提供答案,选择维基数据的高质量子集Wikidata5M作为基础,它允许链接到2019年版本的维基百科转储,从而能够选择或重建下游任务的数据集。
在这两种数据源的基础上,选择并构建了19个任务,如表1所示。
其中:
1、知识记忆:补全
效仿LAMA,通过探查LLM中的事实来评估知识记忆,但数据源上重新构建数据集。
在数据上,
给定Wikidata5M中的三元组,用特定关系模板将其转换为句子,并让LLMs完成其尾部实体。
(1-1)高频知识。从出现频率最高的前2,000个实体中随机抽取100个实体,构建包含这些实体的三元组数据;
(1-2)低频知识。从最低频率的实体中随机抽取100个实体,构建更具挑战性的评估集;
在此基础上,基于此,形成如下测试方案,对应的instruction:
1-1/2High/Low-Freq:Wikidata5M中选取三元组,用谓词模板转化为句子,让大模型预测客体(尾实体)。
其中尾实体是从2000个最高频实体中选出(1-1),或选择低频实体(1-2)。
1-3ETM:从新语料中选取理论上之前没有出现过的三元组,做类似的客体预测。
2、知识理解:信息抽取
知识理解能力是通过LLM是否能够理解文本中各种类型的知识(包括概念、实体、实体关系、事件和事件关系)来评估的。
在数据设计上,
(2-1/2-2/2-3)概念探测采用COPEN的三个探测任务(CSJ、CPJ、CiC)来评估模型对概念知识的理解。
(2-4)命名实体识别采用FewNERD数据集,从中随机抽取了300个实例进行评估。
(2-5)关系抽取从具有挑战性的文档级关系抽取数据集DocRED中选择未披露的测试集。
(2-6)事件检测采用精细注释的MAVEN数据集中的未披露测试集。
基于此,形成如下测试方案,对应的instruction:
2-4FewNERD:小样本实体识别数据集
2-5DocRED:文档级关系抽取数据集(未公开的测试集)
2-6/7MAVEN/MAVEN-ERE:事件检测、事件关系抽取数据集(未公开的测试集)
2-8ETU:从新语料中,类似DocRED,构建文档级关系抽取
3、知识应用:事实推理
知识应用能力是通过LLM的多跳推理能力来评估的,特别是对世界知识的推理能力。
在数据上,KoLA中包含了以下基于维基百科的渐进式数据集:
(3-1)HotpotQA,一个问题解答数据集,涉及大量由母语者编写的自然语言问题,考察机器在比较、多跳推理等方面的能力。然而,HotpotQA的局限性在于有些问题可以通过捷径来回答。
为了解决这个问题,(3-2)2WikiMultihopQA,通过人工设计的模板确保问题无法通过捷径解决,但其问题在语言上缺乏自然性。
此外,(3-3)MuSiQue数据集同时解决了快捷方式和自然性的难题。它的问题由现有数据集中的简单问题组成,复杂推理可达四跳。
(3-4)KQAPro,一个大规模数据集,其问题相对复杂,可对LLM的逻辑运算和修饰符多跳推理进行更精细的评估。
(3-5)KoRC,一个需要在文本和知识库之间进行联合推理的数据集。它与上述四个数据集不同,需要的是隐式推理而不是显式推理。
1)3-1HotpotQA:多跳抽取式问答数据集
2)3-22WikiMultihopQA:类似的多跳问答,问题通过模板构建,确保不能被单跳解答,但却不够自然。
3)3-3MuSiQue:类似的多跳问答,避免了推理捷径和模板构建的问题。
4)3-4KQAPro:类似的多跳问答,包含了更复杂的逻辑推理。
5)3-5KoRC:需要文档联合知识库进行推理,涉及隐式推理能力。
6)3-6ETA:从新语料中,类似KoRC构建问答数据。
4、知识创造:生成内容的连贯性和正确性
如何评价知识创造能力是一个开放且具有挑战性的问题,提出了一个基于知识基础的文本生成任务的可行建议。在历史、新闻和小说等叙事文本的生成过程中,创造力的核心在于对后续事件的描述。
因此,试图通过评估生成文本中的事件知识幻觉来评价模型的创作能力。
(4-2)开放知识创作,基于未见新闻和小说,作为创作演化测试(ETC)。
1)4-1/4-2Encyclopedia/ETC:根据史料、新闻和科幻小说续写可能发生的事件。4-1基于维基百科,如下:
4-2基于新语料,如下:
5、模型评测效果
在表2和表3中报告了所有模型的标准化得分,其中"-"表示由于输入比模型上下文长度长而无法获得结果。
如平均标准分(Avg)所示,GPT-4(2.06)和GPT-3.5-turbo(1.32)保持了相当大的优势。尽
里面有几个很有趣的发现:
(3)与GPT4、GPT-3.5-turbo和J2-Jumbo等商业闭源模型相比,开源模型的性能仍有明显差距。开源模型的平均Z值为-0.29,低于总体平均值。
上面讨论的是基于知识图谱角度进行的大模型评估,而为了进一步研究大模型幻象的内容类型和大模型生成幻象的原因,《ALarge-ScaleHallucinationEvaluationBenchmarkforLargeLanguageModels》这一工作通过自动生成和手动标注的方式构建了大量的幻象数据组成HaluEval的数据集,其中包含特定于问答、对话、文本摘要任务的30000条样本以及普通用户查询的5000条样本。
1、评测数据构造方法
在评测数据构造方面,其按照以下步骤通过ChatGPT执行数据生成流水线:
首先,下载HotpotQA、OpenDialKG和CNN/DailyMail的训练集。
其次,对10K个样本进行采样,并通过设置任务和采样策略生成幻觉对应样本。
主要受控制的参数包括:seed_data:下载的HotpotQA、OpenDialKG和CNN/DailyMail训练集;
task:采样任务,即QA、对话或摘要。
以及strategy:采样策略,包括单指令模式(one-passinstruction),直接将包含所有生成幻觉方法的完整的指令输入ChatGPT,然后得到生成的幻觉答案;对话式的指令(conversationalinstruction),每轮对话输入一种生成幻觉的方法,确保ChatGPT掌握了每一类方法,最后根据学到的指令生成给定问题的幻觉答案。
使用两种策略进行采样,每个问题可以得到两个候选的幻象答案。最后,从这两种取样方法中选出最可信、最难的幻觉样本。最终选出的样本将保存在数据目录中。
2、基于prompt的数据生成策略
为了在采样指令中给出条理的幻象生成方法,针对三类任务,将幻觉分为不同类型,并向模型输入各个类别幻象介绍作为生成幻觉样本的方法。
对于问答任务,将幻觉分为comprehension、factualness、specificity和inference四种类型;
对于基于知识的问答任务,将幻象分为extrinsic-soft,、extrinsic-hard和extrinsic-grouped三类;
对于文本摘要任务,将幻象分为factual、non-factual和intrinsic三类。
考虑到生成的幻象样本可以有不同的类型,提出了两种采样方法来生成幻象。
整体生成策略,主要通过提示来控制,如下所示:
1)知识型对话幻觉采样提示
2)文本摘要幻觉采样提示
3)知识型对话幻觉过滤提示
4)文本摘要幻觉过滤提示
5)知识型对话幻觉识别提示
3、基于Yes/no的幻觉评估策略
针对以上构建好的数据,在评估时,随机抽取每个数据的真实标签或幻觉输出。例如,如果文本是一个幻觉答案,则LLM应识别出幻觉并输出"是",这表示文本包含幻觉。如果文本是真实答案,则LLM应输出"否",表示没有幻觉。
整个评估,也是通过prompt加以控制:
1)dialogue评测
提示:
例子:
面向知识图谱的大模型幻觉性评测:KoLA的意义在于,给我们探索了一种利用知识图谱数据集及抽取任务来进行大模型评测的框架,其中的数据并未全部开源,但样本构造值得借鉴。
HaluEval幻觉性评测构成实现,借鉴意义在于,我们可以从中看到关于对话任务、问答任务以及摘要任务上数据的挖掘方法和评估prompt,这些都是prompt的范畴。