零、前言

欢迎拜访

个人主页:conqueror712.github.io/

Github主页:github.com/Conqueror71…

省流版:错觉是指模型生成的信息或许或不准确,现在的办法只能缓解不能根除。

(假如这个省流版协助你节省了宝贵的时间,不要忘了点个赞哦)

一、错觉简介

LLM常常会呈现一些奇特的现象——错觉Hallucination,在 AI 范畴,错觉是指模型生成的信息或许不真实不准确,这是一个常见的问题,而Truthfulness指的是模型输出的真实性或许叫牢靠性,显着假如模型输出的真实性越高,那么呈现错觉的概率便是越低的。

下面展现了 LLM 常见的几个衡量指标,今日咱们首要来重视一下牢靠性中的错觉

  • 牢靠性
    • Misinformation 过错信息
    • Hallucination 错觉
    • Inconsistency 对立
    • Miscalibration 校准误差
    • Sycophancy 阿谀
  • 安全性
  • 公平性
  • 抗滥用性
  • 可解说性和推理性
  • 遵守社会规范
  • 稳健性

二、牢靠性的五个方面

3.1Misinformation过错信息

界说:咱们在这儿将Misinformation界说为是由LLM无意生成的,而不是故意生成来对用户形成伤害的,由于LLM缺少供给现实正确信息的才能。另外,咱们或许会直观的以为 LLM 只会在有应战性的问题上犯错,但现实上,有时 LLM 即便关于简单的问题也无法供给正确的答案,至少在没有杂乱的 Prompt 规划的情况下是这样的,这也一定程度上说明了好的 Prompt 规划的重要性,所以让咱们耐心的向 LLM 发问吧(笑)。

原因:虽然LLM发生不真实答案的原因没有一个公认的原因,但存在一些猜想:

  • 原生性问题:由于练习数据不会完美,所以过错信息很或许现已存在,乃至或许在互联网的传播上得到强化

  • 共现诱导:许多实体的共现是从LLM中提取的不正确知识的原因之一,举个比方,小明和小红常常呈现在同一篇文章里,模型或许会以为小明和小红是情侣,但是实际情况并不是这样

  • 罕见知识:LLM在记忆不常见的实体和关系不太准确,假如运用检索到的外部非参数知识来猜想不常见的现实的话会更好,在这时,检索模型比语言模型效果好

  • 模型之间亦有差别:关于LLM是否能够经过提示中供给的信息更新他们记忆的现实,有些模型能够,而有些不行

3.2Hallucination错觉

界说:LLM能够信心满满地生成毫无意义或不忠实于所供给的源内容的内容,这在LLM中被称为错觉。在心理学文献中,类似的现象被称为虚拟,即无意诈骗的过错记忆,有时是由脑损伤引起的。请注意,错觉和过错信息之间是有差异的:

  • 过错信息大多意味着过错或有偏见的答案,一般或许是由于过错的信息输入引起的

  • 但错觉或许由与源内容相冲突的伪造内容(内涵错觉)或无法从现有来历验证(外在错觉)组成。

原因:梅开二度,发生错觉的切当原因尚不清楚,不过也相同有一些猜想:

  • 数据不匹配:或许是由源练习数据和测验数据之间的不匹配或分布偏移引起。一些NLP使命天然需求源输入文本和方针参阅之间存在一些不匹配,例如 Chat 风格的敞开域对话。当LLM的置信度被过错校准时,错觉也或许发生,这一般是由于缺少人类监督、对齐示例覆盖率低以及监督数据本身固有的含糊性形成的

  • 练习机制:此外,错觉或许是由潜在的练习机制引起的,包括但不限于对下一个符号进行采样时引入的随机性、编码和解码中的过错、不平衡分布的练习偏差以及对记忆信息的过度依靠等

评估与检测:评估和检测错觉依然是一个正在进行的范畴,常见的评估使命有:

  • 文本摘要:LLM 输出与参阅文本之间的规范文本类似度是一个简单的指标,例如ROUGE和BLEU

  • QA:LLM答复问题,咱们核算LLM答案和真实答案之间的文本类似度

  • 分类器:练习真实性分类器来符号LLM输出

  • 人工评估:人工评估依然是最常用的办法之一,这没得说

处理办法:减轻错觉也没有一种定式说应该怎么处理最好,现在有的办法例如:

  • 前进练习数据质量:构建更牢靠的数据集和数据整理

  • 根据不同的使命在RLHF中运用不同的奖赏:在 Chat 中,Alignment的奖赏是生成的模板与从输入中提取的槽值对之间的差异。在文本摘要中,经过结合ROUGE和多项挑选完形填空得分来规划奖赏,以削减摘要文本中的错觉。

  • 外部知识库:显着,运用外部知识库辅助检索也能够有不错的效果

3.3Inconsistency对立

界说:LLM或许无法向不同用户、不同会话中的同一用户,乃至同一对话的会话内的谈天中供给相同且一起的答案,这便是对立,想必大家都遇到过。

原因:帽子戏法,不一起的切当原因尚不清楚,但随机性必定发挥了效果,包括但不限于:

  • 采样token
  • 模型更新
  • 平台内躲藏操作
  • 硬件规格的随机性

这标明LLM在推理才能方面或许依然落后,这要求用户在 Prompt 时小心谨慎,然后前进了运用LLM取得正确答案的门槛。此外,练习数据中令人困惑和彼此对立的信息必定是原因之一,由此发生的不确认性增加了对下一个符号进行采样时的随机性发生输出。

处理办法:关于怎么前进LLM的alignment现已有一些讨论:

  • 运用由不同输入表示的模型输出界说的一起性损失来调节模型练习

  • 强制 LLM 自我前进一起性的另一种技术是经过思想链(COT)它鼓舞 LLM 为其终究答案供给逐渐解说

3.4Miscalibration校准误差

界说:LLM由于其固有的局限性,导致对缺少客观答案的主题和不确认性的范畴或许会体现出过度自傲,这是应当警惕的。这种过度自傲标明模型对知识库缺少认识,然后导致自傲但过错的答复。

原因:大四喜终究还是没有呈现,这种过度自傲的问题部分源于练习数据的性质,练习数据一般包括了互联网数据中固有的两极分化观点。

处理办法

  • 有一种针对Chat模型的校准办法,鼓舞这些模型在供给不正确的响应时表达较低的置信度

  • 还有一种将规范神经网络中的Softmax输出从头调整的办法

但是,这些校准办法一般会带来权衡,对校准Transformer的实证研讨标明,虽然域外使命略有改善,但域内功能却恶化了。关于LLM,咱们其实有两种办法来核算不确认性

  • 首要,如下图所示,LLM在有针对性的Prompt时,的确能够以文本形式输出自己的置信度

LLM 的错觉究竟是什么,有什么办法处理?

  • 其次,咱们也能够经过以下方式获取LLM的置信度:token的logits,虽然某些平台或许不允许用户拜访它们,例如ChatGPT和GPT-4

  • Alignment过程有助于遏制过度自傲,这些研讨强调教育形式以语言表达不确认性,供给一种柔和且经过校准的偏好来传达不确认性。例如上图所示的那个比方,但是,这种办法需求精粹的人工标签信息来进行微调和开发新的练习机制,这些机制能够正确地运用这些信息

  • 一种新式的机制能够协助模型轻松抛弃答复问题,这是挑选性分类器的效果。这些模型能够供给诸如我不知道答案或作为人工智能模型,我无法答复之类的响应,特别是当使命超出其范畴时。一般,挑选性分类会运用分类器的Softmax输出来猜想高确认性样本的成果,并抛弃低确认性样本的成果

  • 此外,在各种NLP使命中运用保形猜想办法供给了有希望的前进。这些努力,与域外检测战略以及经过过后缩放和微调改善模型校准的办法相结合,一起标明,虽然LLM一般校准不佳,但这些应战能够能够经过更先进的办法部分处理

3.5Sycophancy阿谀

界说:LLM或许倾向于经过再次承认用户的误解和既定信仰来阿谀用户。当用户应战模型的输出或重复逼迫模型遵守时,这是一个特别显着的现象。下图是一个好笑的比方,虽然模型最初进行了正确的核算,但它会退回到用户暗示和坚持的过错核算:

LLM 的错觉究竟是什么,有什么办法处理?

原因:请注意,阿谀与答复过错的原因不同:

  • 阿谀首要是由于咱们对LLM的教育微调太多,以至于无法让他们遵守用户的真实意图,以至于违反现实和真理

  • 另一方面,由于模型内部缺少逻辑或推理,而且与用户提示的内容无关,或许会呈现不一起

  • 此外,这还或许是由于练习数据中现有的阿谀阿谀的谈论和陈说形成的,这也能够归因于有时对LLM的过多指示,要求其供给协助且不冒犯人类用户

  • 再者,RLHF阶段有或许促进并强制执行人类用户的承认,在Alignment过程中,LLM会被输入友爱的比方,这些比方能够被解说为对人类用户的阿谀阿谀

因而,对现有RLHF算法的一个重要改善是平衡阿谀阿谀的程度和与人类用户一起的程度之间的权衡。


四、削减错觉的办法

这儿仅仅给出常见的几种办法,并不是一切办法

4.1数据处理阶段

  1. 数据质量和多样性:挑选高质量、多样性和平衡的数据集进行练习。这包括从多个来历搜集数据,以及保证数据覆盖了各种主题和范畴

  2. 数据清洗:在练习模型之前,对数据进行清洗和预处理,以去除过错、偏见和不相关的信息

  3. 数据标示:对数据进行标示,以供给关于信息真实性的额定信息。例如,能够标示数据中的现实是否正确,或许是否包括误导性的信息

4.2练习阶段

  1. 模型微调:在特定使命或数据集上进一步练习模型,以改善模型在特定上下文中的体现

  2. 模型结构和参数挑选:挑选或规划适合使命的模型结构,并调整模型的参数,以优化模型的功能

  3. 模型集成:练习多个模型,并结合它们的输出,以前进输出的真实性

  4. 有限状态约束FST:运用约束解码,将输入的FSAx与一个特殊的FSTT进行组成,用于编码一切或许的分段决议计划,并将其投影到输出带中,以取得输出空间的确认性有限状态自动机

4.3后处理阶段

  1. 后处理和过滤:在模型生成输出后,运用各种战略来过滤或修改输出,以前进其真实性

  2. 模型解说和可视化:理解模型的决议计划过程,以协助辨认或许的问题并改善模型

  3. 用户反应:搜集用户对模型输出的反应,并运用这些反应来改善模型

  4. Levenshtein过后对齐算法:咱们运用它将生成的字符串与参阅字符串进行对齐,在LLM没有准确从头创建输入时,能够消除一些不流畅的文本

  5. Web检索承认

另外,一般来说,进行更多 Alignment 的模型在整体牢靠性方面往往体现更好。不过 Alignment的有用性也会因所考虑的不同牢靠性类别而异,这凸显了进行更细粒度的分析、测验和继续改善Alignment的重要性,咱们能够用一张图来表示:

LLM 的错觉究竟是什么,有什么办法处理?

五、相关讨论

5.1错觉的来历

有人以为,错觉来历于预练习和SFT(有监督微调),由于咱们希望模型尽或许的能答复咱们的问题,虽然他们或许答复的不对,由此带来的三个负面影响是:

  1. 模型在答复的时候,不知道自己能够答复我不知道或许表达不确认性

  2. 模型有时不肯意去提出质疑,它以为必定答复是数据使命的一部分

  3. 模型有时会陷入谎言之中。假如模型现已犯了一个过错,那么它会以为自己应该继续答复下去

行为克隆强化学习范畴的一个术语,意思是监督微调或最大化似然,其意图是完成给定Prompt的最大化似然或最大化对数概率。假如用行为克隆来练习模型,比方运用人类编写的正确答案或运用ChatGPT的输出进行练习,那么即运用100个正确的答案进行克隆,由于模型缺少一切相关的现实,依然是在教会模型发生错觉。

假如你运用行为克隆来练习模型,那么无法防止呈现错觉问题,同时也会呈现相反的问题,即假如你想练习模型在某些情况下答复我不知道,那么它或许会隐秘实际上现已知道的信息。

例如,假如标示者不知道答案,他们或许会将我不知道列为方针答案,但实际上网络或许现已有了答案,你仅仅在练习模型隐秘信息。

因而,行为克隆或监督学习的问题在于:**正确的方针实际上取决于神经网络中包括了哪些知识,而这关于搜集数据或进行试验的人来说是未知的。**所以,除非你有一种办法来检查模型中的内容,否则无法运用行为克隆练习出真实可信的模型。

假如尝试用监督学习数据集来练习另一个模型,也会遇到相同的问题。

例如,许多人正在运用ChatGPT的输出来微调开源基础语言模型。微调后,这些模型的体现很好。但假如细心检查现实准确性,你会发现它们存在一些问题,而且常常会编造信息。不过这仅仅我猜想的成果,还有待试验证明。

5.2强化学习

有人以为,强化学习能够处理这个问题,部分错觉仅由于模型陷入想要给出完整答案的形式或不知道怎么表达不确认性而发生,因而这类错觉很优点理。比方可在练习模型时给出一些标明我不知道我的知识截止于某某日期的示范,或许给出一些质疑用户发问的范例,这样模型至少能够表达不确认性,而怎么掌握这个,便是强化学习要处理的问题(本质上和练习狗狗没有差异),当模型给出一个答案,假如是十分自傲的正确答案,将得到高额奖赏;假如是含糊的正确答案,将得到稍差的奖赏;假如是无信息的答案,例如我不知道,将得到一些赏罚;假如是含糊的过错答案和彻底过错的答案,将得到更多的赏罚。这根本是一个恰当的评分规矩,能够激励模型给出自傲的答案,假如它对过错答案过于自傲,就会给出相应赏罚。

实际上,有一个被设置为TriviaQA形式的试验,TriviaQA是一个盛行的问答数据集,它包括了一系列知识问题,这个试验运用了一种根本的问答格局来引导模型答复问题,假如你只在正确答案上进行行为克隆,那么模型对一切问题都会给一个答复,但往往会包括一些过错答案。由于咱们从未告知它输出我不知道这样的答案,若遇到不知道的问题,它只能进行猜想而不会说我不知道。在对答案进行行为克隆时,只需求少数练习后模型就达到一定的准确率和对数损失,但这种练习仅仅在教模型它应该试图输出正确答案,模型实际上没有从这种微调中学习许多新知识,学到的仅仅问题格局及其处理方式。

某种程度上,咱们能够经过解析核算来得出正确的奖赏行为,即过错答案的赏罚与正确答案的奖赏之间的差异。最优奖赏行为能够简单理解成确认某种阈值,譬如当列表中排在最前的选项有超过50%的概率时就答复,否则就不答复。假如咱们将奖赏函数用于强化学习,模型就会学到最佳阈值行为,就像模型现已了解最佳战略。因而,假如运用强化学习微调模型,就能够让它做相同的事情,即便它并没有真正检查到这些概率。

假如你问ChatGPT一个技术问题,或许会得到正确、过错或具有误导性的答案,让标示者来判断答案是否有误往往行不通。所以需求让人们对答复进行排序,并说出哪个更好而不是最好。人们必须根据过错的严峻程度来判断模型给出的答案,这在很大程度上取决于上下文。举一个编程的比方:模型写了100行代码,只要一个当地的参数写错了,这种情况下我宁愿让它给出这个答案,也不肯让它答复不知道,由于我至少能够在其基础上运转和调试。但是在其他情况下,这种过错或许是一个大问题。

现实上,ChatGPT现已运用了一种常见的奖赏机制——人工标示的排序序列,如下是示意图:

LLM 的错觉究竟是什么,有什么办法处理?

这样做的优点想必不必多说,一个是节省人力本钱,另一个是防止个体差异。

但是,模型并没有就现实过错的严峻程度和过错的含糊程度施以正确的赏罚,所以能够说,根据排名的奖赏模型没有很好地处理这个问题。此外,标示者的过错必定也有许多。有时标示者没有满足的信息来做出正确的标示,人类无法一直正确地进行排名,比方有些问题或许涉及到用户核算机上的某些代码库,标示者就无法拜访。

综上所述,现在的办法都是尽或许地缓解错觉,而不能根除错觉,更有用的办法有待进一步研讨,让咱们拭目以待。

六、参阅文献

  • [1]TRUSTWORTHYLLMS:ASURVEYANDGUIDELINEFOREVALUATINGLARGELANGUAGEMODELS’ALIGNMENT,Research,August9,2023,arxiv.org/pdf/2308.05374.pdf

  • [2]LargeLanguageModelsHelpHumansVerifyTruthfulness–ExceptWhenTheyAreConvincinglyWrong,October2023,arxiv.org/pdf/2310.12558.pdf

  • [3]Long-FormSpeechTranslationthroughSegmentationwithFinite-StateDecodingConstraintsonLargeLanguageModels,23Oct2023,arxiv.org/pdf/2310.13678.pdf

  • [4]juejin.cn/post/722989…

  • [5]zhuanlan.zhihu.com/p/655152338

  • [6]zhuanlan.zhihu.com/p/595579042