大模型明明可以回答"我不知道",却偏偏要编一个听起来像模像样的答案。这个现象困扰了研究者很久,而一篇新的 arXiv 论文试图从信息论的角度给出解释。
论文作者在知乎上分享了这项工作的来龙去脉。研究的起点,是对已有理论的一次批判性阅读。
![]()
前人的解释:没见过,所以猜错
OpenAI 去年九月发表过一篇题为"为什么语言模型会产生幻觉"的论文,它的前作是 STOC 2024 上的"校准的语言模型必然产生幻觉"。这两篇论文有一个共同的思路:对于校准的模型,生成式幻觉的概率可以转化成判别问题的错误——模型给哪些非事实分配了高置信度,又给哪些事实分配了低置信度。
这些理论指向一个结论:在没见过的事实上,模型只能瞎猜,因此会犯错。模型错误的比例,和"百分之多少的事实是模型没见过的"这一比例密切相关。
但这里出现了一个疑问。如果允许模型承认自己不知道,按道理幻觉现象应该被消除才对。论文作者 Kalai 本人在西北大学讲座时也提到,小模型有时候甚至比大模型更擅长"承认不知道",并认为建立一个不产生幻觉的小模型是一个有趣但还没人做到的挑战。
既然已经在试图承认自己不知道的大模型还是会有不少幻觉,那"小模型不幻觉"这个构思,到底有没有理论上的难点?
从过滤器空间下界到幻觉问题
论文作者此前一直在考虑过滤器(filter)的拓展问题。他们发现,在允许非零假阴性的时候,过滤器空间下界很可能就是 KL(Bern(1-FNR) || (FPR)) bits per key。这个结论在直觉上很自然,而且如果推广一个鲜为人知的信息论空间下界,KL 散度似乎会自然冒出来。广为人知的 log(1/FPR) 空间下界,也是 KL 散度的一个特殊情况。
他们得到的一个有趣结论是:"不存在只遗忘不瞎编的反向 Bloom filter"。甚至他们还给出了一个达到这个空间下界的过滤器,虽然构造过程是指数时间的。
到这里,结论虽然简洁自然,但还缺少一点现实的冲击力。直到看到 Kalai 等人的论文后,作者产生了一个大胆的想法:既然随机事实没有规律,那么一个判断随机事实的大模型,不也就是一个成员查询器吗?
作为概率模型,大模型很可能会对每个事实输出一个 0 到 1 之间的概率,而不是确定的 0 或 1 判断。这就需要一次推广:无论什么实数输出,无论怎么定义"错误率",达到该错误率的空间需求是否都是一个 KL 散度的最小化?这就像传统的率失真定理是互信息的最小化一样,简洁直观。
当然,随之而来的是更多技术细节。比如有限字母表的信息论在允许输出任意实数时就失效了。但论文的主要结论确实是在这一抽象程度上证明的。
补上的那一层解释
作者强调,他们并不声称大模型就是在优化一个空间受限的成员测试问题。现实中像法律判例这样的随机事实,虽然很随机,也并不是完全对称的。
但他们认为这依然是有价值的观察。在简化模型中,前人的解释是"没见过,所以会猜错",而这项研究补的是另一层:即使所有的事实都已经见过,"出现幻觉"还是比"遗忘或过度拒绝"更赚,也更加节省模型的"脑容量"。
换句话说,瞎编不只是能力不足的表现,在信息论的意义上,它可能是一种更经济的选择。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.