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