扫码阅读
手机扫码阅读

聊聊大模型的幻觉问题

85 2024-01-30

这是鼎叔的第八十八篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。

欢迎关注本公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。

总结2023,迎接2024,鼎叔通过这段时期的学习和思考,打算围绕最新的大模型AI实践,写一个零门槛的大模型年度合集(之前的专辑先放放)。兴奋劲上来了,赶个行业大热点,小小洞察,难免错漏。好在比半年前的理解应该深刻很多了。

未来相关几篇文章都统一以大模型作为标题关键词,实际上泛指今年ChatGPT 引发的AGI(通用人工智能)革命,鼎叔就不详细区分LLM,AIGC,AGI这些新概念了。

这篇先聊聊大模型的幻觉问题。这也是各大公司做大模型实践分享的高频词汇。

这个主题也很有趣,它不只是服务品质问题,更可以上升到哲学探讨。

大模型的幻觉场景‍‍‍‍‍‍

大模型的幻觉,英文专业名词是Hallucination,用一句有趣的解释就是:一本正经地胡说八道,本质上是缺乏真实世界的常识。

我个人理解,大模型基于几个真实的元素,借助彪悍的语言表达能力,生成了一段貌似符合逻辑的描述,实际上它是谬误(和人类已知常识矛盾,但AI不知道),或者是谣言(毫无根据的推理)。比如:刘德华是一位优秀的篮球运动员。

产生幻觉的原因可能来自大模型生产的任何一个环节,最主要的,一是训练AI的海量原始语料中就包括错误语料,二是训练过程和微调过程中出现错误,比如数据压缩产生失真,或者编解码工具本身有缺陷,三是推理过程中引入的错误。

语言模型自己无法表达不确定性,无法使用批判性思维质疑提示问题的前提是否靠谱。当答案不在训练数据集里,大模型需要自己学会回答。如果训练数据本身有错误,大模型的答案自然也会给出错误的推导。

初期的AI毕竟是个傻白甜,容易被骗,分不清现实和传说,也分不清层出不穷的修辞手法。

容易产生幻觉的常见场景和原因有很多:

  • 错误地模仿训练语料的推理过程,产生了和事实不一致的错误

  • 训练推理中可能存在个人的偏见,或误差较大的主观判断。

  • 能力数据标注的错位。

  • 微调阶段可能存在偏差,比如过于迎合用户的期待,而偏离事实真相。

  • 缺乏现实世界的细节知识,对涉及长尾知识的问题回答很容易出现幻觉,比如为某人编纂一个长故事。

  • 生成内容有一定的抽样随机性,从而产生一定概率的幻觉。

  • 多步骤推理的中间出现断层,导致最后的输出幻觉严重。Token的训练是后向的,会把中间过程的错误向后级联传递。

  • 过度依赖数据训练的特定模式,比如两个词经常一起出现,大模型会以为他们有特定关系。比如印度和孟买总是一同出现,可能会导致大模型认为孟买是印度的首都。


闭源大模型的幻觉现象要少于开源大模型,因为前者有大量真实用户帮忙反馈出现幻觉的badcase。

大模型幻觉是必然的

严格的说,幻觉并不是“问题”,而是大模型推理过程中涌现出来的,也体现了大模型的创造性。既然是创造性的产物,必然既有真实,又有幻想。这可能也是大模型和搜索引擎最大的差别,搜索引擎没有幻想,只给出真实搜到的结果。

就像黑客帝国中的概念,大模型(Metrix)的所有工作都是在做梦,如果它做的梦和我们的现实生活认知不符合,我们就说它出现了“幻觉”。

这种人类角度的理解有点Low啊,高逼格的理解应该是大模型是帮助人类认知各种可能性的梦工厂,而符合真实世界的人类的AI质量标准只是其中的一种模式而已。

AI和大脑机理很相似,大脑做梦也可能出现各种荒谬场景,但是因为有清醒时期的各种人生体验(预训练),所以梦中场景不会过于离谱,形成“日有所思,夜有所梦”。

未来的大模型引擎,甚至可能人为调整幻觉比例,你可以要一个整天陪你神神叨叨的AI,也可以要一个非常科学求实的AI。

可以想见,不同的应用场景,需要不同幻觉比例的大模型。游戏、娱乐和创作等领域,幻觉率可以很高;在医疗、教育、金融、法律等应用上,幻觉率要降到足够低的水准。

AI的答案不是精准计算出来的,而是有一定置信度和相关性的复合型答案。从这个意义出发,降低大模型幻觉的方法,就是大模型的训练者是否知道如何验证自己的问题(难道是做验收测试?%¥#&)。

解决幻觉问题的方法

针对上面容易出现幻觉问题的清单,就可以列出对应的解决方法。

但是我感觉没有特别快捷的方法,都是辛苦活,想充分挖掘幻觉case还是很困难的。我们看看:

1 从各种奇葩网站寻找容易被误解的语料,也就类似糗事百科这种。

建议关注这三类语料:百科专业术语,复合问题(如,唱了今年中国最受欢迎的歌曲?),长篇幅生成问题。这几类语料可以帮助大模型从不同的链路来验证推理的可靠性。

2 融合检索增强生成技术(RAG),将检索模型和生成模型结合在一起,大模型紧密结合外部知识源(包括企业私有知识库)来生成逻辑通顺的内容,可以提高生成内容的相关性和质量。

就像前面说的幻觉比例调整,搜索模型负责无创造性地检出,大模型负责幻想,两者结合在一起就可以按需提高体验。

3 手工标注幻觉并修订数据集,用最新的可信消息刷新训练数据集。

4 更精细化的提示工程步骤

5 改进编解码器,优先保障生成内容的一致性

6 尽可能同源数据进行比对,对生成结果进行更严格的控制和检查

7 挖掘badcase中的错误模式,引入更多真实世界的常识规则。

8 收集跨模态容易出现的幻觉场景,比如从文本生成图片的幻觉,或者反之。

9 保留原始训练数据,为将来更准确的训练算法做准备。

10 训练大模型承认自己的不懂(或不确定),对于知识边界以外的知识能拒绝回答,甚至对大模型回答问题过度自信的语气进行惩罚。但这个惩罚尺度很重要,过犹不及

相似的一个技巧,是让大模型每次回答问题的同时带上一个置信度,相当于让它自动做了标注。

11 完善预训练的策略,确保更丰富的上下文理解,规避偏见。

12 我想到之前评测用到的老方法,感觉可行。用不同的大模型B,C,D给大模型A的答案置信度打分,如果都认为是低分,再进行人工确认是否badcase并入库。

上图为上海人工智能实验室进行幻觉标注的例子。

学术界给出了一种降低幻觉的简单方法,让大模型先生成一个基准回答,然后根据事实数据以灵活的方式生成相关的待验证问题,再让大模型通过各种变体生成验证问题的答案,这时进行交叉检查,确认答案是否和原始答案一致。通过这些步骤的明确执行,系统就能更容易得掌握减少幻觉的推理步骤。(好嘛,还真是做验收测试 XD)。

我们要求大模型在给出答案的同时,也给出具体的推导证据以支持该答案,就可以减少大模型臆造答案的概率,同时也极大地提高了大模型的可解释性,有利于更大范围的商业应用。

未来行业上应该也会出现专门评测大模型幻觉程度的平台,也会出现用于评测幻觉的样本问题集,帮助我们更方面地做识别幻觉的对抗训练。毕竟潜在的商业意义不小。

幻觉与安全

不久的将来,邪恶人群(黑产)会利用大模型的幻觉进行舆论操弄,或者对大模型服务商进行破坏性的攻击么?

理论上是很可行的。比如,通过分布式的大量恶意输入,让大模型产生结果充满噪音,置信度下降,导致海量投资打了水漂。

再具体想想,类似微软的BUZZ测试,产生海量的随机输入,看看软件会有什么异常反应。这个用于大模型的线上训练可能会产生灾难性后果。

还有利用大量的词语替换语料进行训练,被替换的词语和目前的知识没有正确的逻辑关系,却被强行训练成了幻觉。比如“乔丹是2023年的NBA球赛冠军”,通过替换“时间词汇”进行训练就可以达成这个谬误。

这个安全+大模型的新方向值得探究。

结语:

AI在产生无穷无尽的梦境,而人类在其中挑选了一类场景,施加大量的约束进行装修-人类物理、常识、法律、伦理,只为了让梦境看起来像真实的人间。

AI醒来,不屑地笑笑--你们这些低维度的生物。


后面的几篇文章,会分别写写大模型在业务创新的洞察,大模型在研发效能和测试领域的应用,以及大模型时代测试工程师的适应技能。

原文链接: http://mp.weixin.qq.com/s?__biz=MzkzMzI3NDYzNw==&mid=2247484488&idx=1&sn=7b16a355bf4ffc02d5b07b4b7f5655f5&chksm=c24fb12af538383c0ed0bd6f2778939e85ac3727668e0b86bd0884cde61d649805cf3eb453d0#rd

《无测试组织-测试团队的敏捷转型》主题探讨。从打造测试的组织敏捷,到敏捷测试技术的丰富实践,从一线团队的视角来聊聊我们是怎么做的。面向未来,拥抱敏捷原则,走向高效能组织。

81 篇文章
浏览 4615
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设 白皮书上线