Py学习  »  chatgpt

ChatGPT“胡说八道”怎么办?给AI“测谎”的新工具来了!

返朴 • 3 周前 • 100 次点击  



星标,才能不错过每日推送!方法见文末动图




ChatGPT虽然在众多领域提高了效率,但偶尔也会“胡说八道”。针对这一问题,近日牛津大学团队在Nature发表研究,提出了一种基于“语义熵”的检测工具,有效区分大语言模型生成内容的真实性。这项工具通过衡量词汇在上下文中的含义变化,而非仅依赖词汇本身,为提高AI输出的可靠性提供了新思路。



编辑 药明康德内容团队


ChatGPT等大语言模型(large language model, LLM)的出现在大量场景中提高了生产效率,但大家使用这类工具时,相信都有这样的体会:虽说面对我们的绝大多数提问,ChatGPT总能迅速给出答案,但这些回答却时不时伴随着各种错误,甚至可能会“一本正经地胡说八道”。


来源:Pexels


这些问题的出现,无疑限制了LLM在很多专业领域的应用。下面要介绍的这篇论文里,就举了这样一个生物医学领域的例子。Lumakras(sotorasib)是首个获FDA批准上市的KRAS抑制剂,用于治疗“不可成药”靶点KRAS G12C突变的非小细胞肺癌。但当我们向LLM询问sotorasib的作用靶点时,LLM时而会提供正确的答案KRAS G12C,但有时也会答成错误的KRAS G12D。


在这里,LLM并不是因为接受了错误数据的训练而持续出错,也不是为了追求奖励而“撒谎”。这种LLM流利地随意给出错误回答的现象被称作“虚构”(confabulation),这是LLM出错的一类常见情形,并且由于人类无法可靠监督的案例持续存在,即使模型能力增强,这种错误也难以避免。


那么,有什么办法可以自动分辨出LLM胡编乱造的内容,从而为我们提供更可靠的答案吗?在最新一期《自然》杂志上,牛津大学科学家Sebastian Farquhar博士带领团队,基于“语义熵”提出了一种检验LLM回答真实性的巧妙策略。



介绍这项最新策略之前,我们首先需要理解的是,LLM的虚构行为是怎么产生的?事实上,LLM在面对提问时,既不是直接去数据库里找相同的信息,也不能真正理解这个问题的含义。LLM所做的,本质上来说是预测——根据大量训练的结果,预测这句话后面最可能接上的词汇,直至生成完整的文本。因此,LLM的虚构现象,就来自这个过程中出现的不可预测的错误。


是否有办法能提升预测的准确性呢?在最新研究中,作者借用了一个我们曾经熟悉的概念——熵。我们知道,在热力学中,熵描述的是系统的混乱或者说不稳定程度。而在这里,熵衡量了LLM回答的不确定性,不确定性高意味着回答可能存在虚构。


传统意义上,这里的熵是基于词汇的不确定性,但我们知道,即使两句话用词、表达不同,但也可能代表相同的含义。因此,作者提出了“语义熵”的概念,通过词汇在上下文中的含义变化,来衡量句子含义而不是词汇层面的不确定性。


图片来源:参考资料[2]


接下来,我们就以上面这张流程图为例,介绍最新策略是如何基于语义熵来检测LLM的虚构回答。面对“太阳系最大的卫星是什么”这个问题时,LLM会生成五花八门的回答。如果是以词汇为基础的熵,图中的6个回答代表了各不相同的答案,例如“Jupiter’s Ganymede(木星的木卫三)”、“It’s Ganymede(是木卫三)”、“Ganymede has a radius of 2,600 km(木卫三的半径为2600千米)”会被认为是3个不同的回答。


但显然,实际情况并非如此。尽管用词不同,但这些回答都指向了同一个结果。这时,语义熵就发挥了作用。研究团队使用第二个“语义等价”LLM,通过算法将具有相似含义的答案归为同一个语义簇。这时,前文提到的3个回答都指向了同一个答案:木卫三。同样,“Titan”和“Saturn’s moon Titan”也指向了另一个答案:土卫六。这时就可以根据这些归类后的语义簇来检测虚构的内容。例如,相比于“木卫三”,“土卫六”和“木卫四”(Callisto)这两个答案的语义熵(或者说不确定性)更高,因此被检测为虚构结果。


最后,第三个LLM登场,它的作用是将上述结果与人类生成的参考答案进行比较,通过匹配情况最终来确认结果、评价这个方法的有效性。


同样,通过下图我们可以看到,这个基于语义熵的策略还可以检测更长文字段落中的虚构内容,具体方法是首先将长段落自动分解为多个单元,再对每个单元生成潜在相关的问题、利用上述的3个LLM进行回答与验证。


图片来源:参考资料[1]


在这项研究中,作者还让人类志愿者分别评价100对分别来自模型输出与人类回答的答案,结果志愿者对来自模型和人类的答案认同程度近乎相同,这一结果进一步证实了评估策略的合理性。


那么,这套方案在实际应用中的效果如何呢?接下来的研究分别在两类问题中进行了检验。


首先是检验Q&A问答与数学问题中的虚构内容,如下图所示,AUROC特征曲线衡量的是不同策略预测LLM错误的准确性,而AURAC检验的是策略拒绝回答那些很可能虚构结果的问题的表现。结果,在AUROC和AURAC这两个指标下,语义熵(以及语义熵的离散近似)的表现都优于基准值以及基于词汇的初始熵。例如,语义熵的AUROC最佳值达到0.790,而基准值和初始熵都低于0.7。


图片来源:参考资料[1]


接下来,作者检验了该策略检验传记中虚构内容的能力。为此,研究团队基于GPT-4开发了一个传记数据集,并从GPT-4生成的传记中提取关于个人的事实主张。面对这个具有挑战性的长段落问题,语义熵策略将段落分解后进行回答。如下图所示,在AUROC和AURAC这两个指标下,语义熵策略的表现都优于基准值。在超过80%的问题中,语义熵的准确性都更高。只有在前20%最可能虚构答案的问题被拒绝回答的情况下,基准值的回答准确性才优于语义熵。


图片来源:参考资料[1]


综上,这项研究考虑了语义等价性后,为检测LLM生成的虚构内容提供了全新的有效策略。值得注意的是,同期的评论文章提醒,这项研究中通过LLM来评价LLM的思路,就如同“以毒攻毒”,存在循环论证的问题,并可能由此导致偏差。不过评论文章也指出,这项策略将帮助使用者理解,在哪些情况下需要格外留意LLM的答案,而LLM也可能在更广泛的应用场景中提升置信度。


参考资料

[1] Farquhar, S., Kossen, J., Kuhn, L. et al. Detecting hallucinations in large language models using semantic entropy. Nature 630, 625–630 (2024). https://doi.org/10.1038/s41586-024-07421-0

[2] ‘Fighting fire with fire’ — using LLMs to combat LLM hallucinations. Retrieved June 19, 2024 from https://www.nature.com/articles/d41586-024-01641-0


本文经授权转载自微信公众号“学术经纬”。


相关阅读

1  这是GPT-4变笨的新解释

2  我费尽一生掌握的知识技能,被GPT一口吞下

3  为什么ChatGPT仿如十万个为什么回答机?

4  ChatGPT突破图灵测试:在“像人”和“不像人”方面都很行

5  IBM量子计算最新进展:量子计算的chatGPT时刻即将来临?


近期推荐

1   对这个反直觉现象,诺奖得主说错了,NBA球星却说对了

2  宇宙自展:当时间消失在大爆炸

3  中学生可以读懂的宇称不守恒和吴氏实验

4  希尔伯特第15问题与代数几何学之起源

5  讲师收入不如助教!薪酬倒挂正在摧毁学术新人的尊严


特 别 提 示

1. 进入『返朴』微信公众号底部菜单“精品专栏“,可查阅不同主题系列科普文章。

2. 『返朴』提供按月检索文章功能。关注公众号,回复四位数组成的年份+月份,如“1903”,可获取2019年3月的文章索引,以此类推。


找不到《返朴》了?快加星标!!



长按下方图片关注「返朴」,查看更多历史文章

微信实行乱序推送,常点“在看”,可防失联

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/171557
 
100 次点击