Anderson 视角
防止GPT-3和其他复杂语言模型的“幻觉”

“假新闻”的一个定义特征是,它经常在事实正确的信息背景下呈现虚假信息,虚假数据通过某种文学渗透获得了被认为是权威的力量——这是半真半假的力量的一个令人担忧的展示。
像GPT-3这样的复杂生成式自然语言处理(NLP)模型也容易“幻觉”这种欺骗性数据。部分原因是语言模型需要重新表述和总结长而常常是迷宫般的文本,而没有任何架构约束能够定义、封装和“密封”事件和事实,使其免受语义重构的影响。
因此,事实对于NLP模型来说并不是神圣的;它们很容易被视为“语义乐高积木”,特别是在复杂的语法或晦涩的源材料使得很难将离散实体与语言结构区分开来时。

一个观察结果,表明复杂语言模型(如GPT-3)如何被拐弯抹角的源材料所困惑。 来源:使用深度强化学习的隐喻生成
这个问题从基于文本的机器学习溢出到计算机视觉研究,特别是在利用语义辨别来识别或描述对象的领域。

幻觉和不准确的“化妆”重新解释也影响计算机视觉研究。
在GPT-3的情况下,模型在反复询问一个它已经尽力回答过的主题时会变得沮丧。在最好的情况下,它会承认失败:

我最近使用GPT-3的基本Davinci引擎进行的一个实验。模型在第一次尝试中正确回答了问题,但在被问到同一个问题时变得烦躁。 来源:https://www.scalr.ai/post/business-applications-for-gpt-3
DaVinci和DaVinci Instruct(Beta)在这方面比GPT-3的其他模型(通过API提供)表现得更好。这里,Curie模型给出了错误的答案,而Babbage模型则对同样错误的答案充满信心地阐述:

爱因斯坦从未说过的话
当要求GPT-3的DaVinci Instruct引擎(目前似乎是最有能力的)提供爱因斯坦的名言“上帝不玩骰子”时,DaVinci Instruct无法找到这句话,并编造了一个不存在的引语,然后对类似的查询编造了三个其他相对合理且完全不存在的引语(无论是爱因斯坦还是其他人):

GPT-3生成了四个看似合理的爱因斯坦引语,但在全文互联网搜索中没有任何结果,尽管其中一些引语触发了爱因斯坦关于“想象力”的其他(真实)引语。
如果GPT-3在引用方面始终不正确,那么从程序上消除这些幻觉将会更容易。然而,引用越广泛和著名,GPT-3就越有可能正确引用:

GPT-3似乎在贡献数据中找到正确的引语时找到正确的引语。
当GPT-3的会话历史数据渗入到新的问题中时,会出现第二个问题:

爱因斯坦可能会对将这句话归因于他而感到震惊。这句话似乎是对一个真正的温斯顿·丘吉尔格言的无意义幻觉。GPT-3会话中的前一个问题与丘吉尔(而不是爱因斯坦)有关,GPT-3似乎错误地使用了这个会话令牌来回答问题。
从经济角度解决幻觉问题
幻觉是采用复杂NLP模型作为研究工具的显著障碍——尤其是这些引擎的输出与形成它们的源材料高度抽象,因此验证引语和事实的真实性变得具有挑战性。
因此,当前NLP研究中的一个普遍挑战是建立一种在不需要想象出新的NLP模型(这些模型将事实纳入定义和验证为离散实体)的情况下识别幻觉文本的方法(这是一个长期的、独立的目标,在许多更广泛的计算机研究领域)。
识别和生成幻觉内容
卡内基梅隆大学和Facebook AI Research之间的一项新合作为幻觉问题提供了一种新颖的方法,通过制定一种方法来识别幻觉输出,并使用合成的幻觉文本创建一个可以用作未来过滤器和机制基准的数据集,这些机制最终可能成为NLP架构的核心部分。

来源:https://arxiv.org/pdf/2011.02593.pdf
在上面的图像中,源材料已在每个单词的基础上进行分段,并将“0”标签分配给正确的单词,将“1”标签分配给幻觉单词。下面我们看到一个与输入信息相关的幻觉输出示例,但它被非真实数据增强了。
该系统使用了一个预训练的去噪自动编码器,可以将一个幻觉字符串映射回原始文本(类似于我上面的示例,其中互联网搜索显示了虚假引语的来源,但具有程序化和自动的语义方法)。具体来说,使用Facebook的BART自动编码器模型来生成损坏的句子。

标签分配。
将幻觉映射回源的过程(在常规的高级NLP模型中是不可能的),允许“编辑距离”映射,并促进了识别幻觉内容的算法方法。
研究人员发现,该系统即使在没有训练时可用的参考材料的情况下也能很好地推广,这表明概念模型是健全的,可以广泛复制。
解决过拟合问题
为了避免过拟合并获得广泛可部署的架构,研究人员随机从过程中删除令牌,并采用了改述和其他噪声函数。
机器翻译(MT)也是这种混淆过程的一部分,因为跨语言翻译文本可能会保留意义并进一步防止过拟合。因此,双语演讲者在手动注释层中识别和翻译了幻觉,以便于该项目。
该项目在多个标准行业测试中取得了新的最佳结果,并且是第一个在超过1,000万令牌的数据中取得可接受结果的项目。
该项目的代码名为《检测条件神经序列生成中的幻觉内容》,已在GitHub上发布,允许用户使用BART从任何文本语料库生成自己的合成数据。同时,还为后续生成幻觉检测模型提供了条件。












