AI 胡说八道怎么办?牛津大学开发了一种“测谎”方法
胡说八道不可怕,一本正经的胡说八道才可怕,你因为一本正经而信了ta的胡说八道,更可怕……这就是当下我们(捏着鼻子)使用 AI 时需要面对的现状。
如何避免 AI 生成虚假的事实内容,对使用者产生误导呢?各个大模型平台一直在研究和尝试,而要想“避免”问题,首先得“识别”问题。6 月 19 日,牛津大学一个研究团队发表在《自然》杂志上的一项新研究,提出了一种颇有潜力的给AI“测谎”的方法,下面咱们就详细聊聊。
大模型的胡说八道和风险
“幻觉”(Hallucinations)是大语言模型(例如 ChatGPT、Gemini、或文心一言)面临的一个关键问题,也是网络上常见的用户体验吐槽类型之一,这个术语可以粗略地理解为 AI 一本正经的胡说八道。
比如,你问 ChatGPT:恐龙扛狼是什么意思?
它会一本正经地告诉你——这象征着旧势力和新力量的对抗,是弱小但机智灵活的挑战者和强大却缺乏灵活的对手之间的博弈。
答案非常洗涤灵魂,上升到哲理和价值观高度,但是,它在胡说八道。
点击输入图片描述(最多30字)
这只是大语言模型常见的“幻觉”类型之一,其他类型还包括:
1
错误的历史事实
“谁是美国的第一位总统?” ChatGPT 回答:“托马斯·杰斐逊。”
2
错误的科学信息
“水的沸点是多少?” ChatGPT 回答:“水在标准大气压下的沸点是 120 摄氏度。”
3
编造引用,AI 缝合怪
“爱因斯坦在相对论中说了什么?” ChatGPT 回答:“爱因斯坦曾在《相对论与现实》一书中说过,‘时间是一种幻觉’。”虽然爱因斯坦的确讨论过时间的相对性,但他并没有在所谓的《相对论与现实》一书中发表这句话。实际上,这本书可能根本不存在。这是模型编造的引用。
4
误导性的健康、法务、财务建议
你问:“感冒了应该吃什么药?” ChatGPT 回答:“感冒了应该吃抗生素。”
除了上述问题,相信大家在使用 AI 的过程中也会碰到其他胡说八道的情况。尽管各个大模型都在积极处理这类问题,上面举的例子很多可能也已经得到了修复,但这类问题一直难以找到“根治”或“清除”的办法,在检验判断上也往往需要人工反馈或数据集标注,这会带来不低的成本。
这让我们使用 AI 的体验大打折扣——谁敢毫无保留地信任一个满嘴跑火车的助手呢?何况有些问题事关健康和安全,弄错可是要出大事的。
有没有什么办法,能更通用化地“计算”出 AI 到底有没有瞎说呢?
“语义熵”如何帮助大模型检测谎言?
日前(6 月 19 日),牛津大学团队在《自然》(Nature)杂志发表了一篇论文,提出了一种新的分析和计算方法,为解决大语言模型“幻觉”问题,打开了新思路。
点击输入图片描述(最多30字)
图源:《自然》(Nature)官网,中文翻译来自浏览器插件“沉浸式翻译”
团队提出了一种基于统计学的熵估计方法,称为“语义熵”,来检测大语言模型中的“编造”(confabulation),即大模型饱受诟病的“胡言乱语症”。作者在多个数据集上测试了语义熵方法,结果显示语义熵方法在检测编造方面显著优于其他基准方法。
那么“语义熵”究竟是什么呢?
抛开冗长的专业解释,我们可以将语义熵简单理解为概率统计的一种指标,用来测量一段答案中的信息是否一致。如果熵值较低,即大家都给出类似的答案,说明信息可信。但如果熵值较高,答案各不相同,说明信息可能有问题。
这有点类似于,如果一个人在撒谎,他可能没办法每次把谎言的细节编造得一模一样。一个谎言往往需要无数个谎言来帮它扯圆。从信息论的角度来看,可能会引入更多的不确定性和随机性。说谎者需要引入额外的信息或细节来支持其不真实的叙述,这可能会增加信息的不确定性或熵值,进而被算法检测出来。
比如,当你问 AI“世界上最高的山是哪座?”
大模型可能会给出几个答案:“珠穆朗玛峰”“乞力马扎罗山”“安第斯山脉”。
通过计算这些答案的语义熵,发现“珠穆朗玛峰”这个答案出现频率最高,其他答案则很少甚至没有出现。低语义熵值表明“珠穆朗玛峰”是可信的答案。
语义熵,既有优势,也有弱点
语义熵检测方法的优势在于不需要任何先验知识,无需额外的监督或强化学习。通俗地讲,使用这种方法时,并不需要上知天文下知地理,只需要遇事不决看看大家都怎么说。
而目前常用的诸如标注数据、对抗性训练等方法,“泛化”效果(即举一反三的能力),都不如通过语义熵计算。即便是大模型从未遇到过的新语义场景,也能适用语义熵方法。
当然,语义熵虽然是一种相对有效的办法,但不是万灵药,它自己也有一定局限性:
1
处理模糊和复杂问题的能力有限
语义熵在处理非常模糊或复杂的问题时可能不够有效。
在面对多种可能正确答案的问题时,比如“最好的编程语言是什么?”,语义熵可能无法明确区分哪一个答案更可靠,因为多个答案都可能是合理的。
(谁说是 Python?我 C++第一个不服!!)
2
忽略上下文和常识
语义熵主要基于统计和概率计算,可能忽略了上下文和常识的影响。在一些需要综合上下文和常识来判断的问题中,语义熵可能无法提供准确的可靠性评估。比如经常谈恋爱的朋友可能有体会,情侣间一句话:“我没事儿,你忙吧。”
你觉得 TA 是真没事儿,还是有很大事儿?
在这种情况下,得结合上下文场景、人物状态等信息判断,不同的上下文会导致不同的理解。语义熵只能基于词语的统计概率进行评估,可能会给出错误的判断。
再比如常识性的判断,既物理世界的客观规律,假设我们问一个问题:“太阳从哪边升起?”
正确答案是“东边”。然而,如果我们有以下两个候选答案:
1、太阳从东边升起。
2、太阳从西边升起。
(这可能由于模型训练数据的偏差和生成过程的随机性导致)
即使语义熵检测到两个答案的概率分布接近,但常识告诉我们答案 1 才是正确的。语义熵在这种情况下可能无法提供足够的信息来判断答案的可靠性。
3
如果训练数据被无意或刻意“污染”,语义熵也没办法很好识别
如果用错误的数据,给大模型施加了“思想钢印”,模型对其生成的错误陈述非常“自信”(即错误陈述在模型的输出概率分布中占主导地位),那么这些陈述的熵值可能并不会很高。
最后总结一下,从大模型的内容生成机制上看,“幻觉”问题没办法 100%避免。当我们在使用AI生成的内容时,重要的数理推理、历史事件或科学结论、法律和健康知识等方面最好进行人工核查。
不过,换个角度,“幻觉”也是大语言模型的创造力体现,我们也许应该善用大模型的“幻觉”能力。毕竟幻觉不一定是 bug(故障),而是大模型的 feature(特点)。
如果需要检索事实,我们已经有了搜索引擎工具。但如果需要有人帮我们编辑一个“恐龙扛狼”的无厘头剧本,那么,大语言模型显然是个更好的助手。
点击输入图片描述(最多30字)
比如笔者费尽心思想画一幅恐龙扛狼图,但某 AI 油盐不进,画出了一幅恐龙把狼吞了(疑似)的图,难怪理解不了恐龙扛狼的真意啊……
参考文献
[1] S. Farquhar, J. Kossen, L. Kuhn, and Y. Gal, “Detecting hallucinations in large language models using semantic entropy,” Nature, vol. 630, no. 8017, pp. 625–630, 2024, doi: 10.1038/s41586-024-07421-0.
策划制作
作者丨木木 北京师范大学数学专业 资深产品经理 人工智能创业者
审核丨于旸 腾讯玄武实验室负责人
策划丨丁崝
责编丨丁崝
审校丨徐来、林林