← 返回资讯
林远舟
技术编辑
已审核

arxiv 新论文解释语言模型产生幻觉的原因,为什么LL

你猜怎么着?前两天跟一个做产品的哥们儿吃饭,他吃着吃着突然把筷子一拍:“你天天吹ChatGPT,它为什么不知道答案还要硬编?就不能老老实实跟我说句‘不知道’?”

arxiv 新论文解释语言模型产生幻觉的原因,为什么LL

arxiv 新论文解释语言模型产生幻觉的原因,为什么LL


你猜怎么着?前两天跟一个做产品的哥们儿吃饭,他吃着吃着突然把筷子一拍:“你天天吹ChatGPT,它为什么不知道答案还要硬编?就不能老老实实跟我说句‘不知道’?”

我当时差点把嘴里的饭喷出来。这问题啊,过去十年我写了不下二十篇专栏解释,从自回归、概率采样,到训练数据有偏……每个词都高深,每个解释都正确,但每次说完我自己都觉得差点意思——就像你明明把菜炒熟了,但总觉得少把盐。

直到上个月,我撞上一篇Arxiv论文,作者是几个搞信息论的老朋友。读完之后我坐在电脑前愣了十分钟,一拍大腿:“妈的,原来是这样!”

今天不端着了,用最糙的话跟你说说,模型到底为什么宁可瞎编,也不愿承认无知。


先把干扰项去掉——假设训练数据干干净净、参数拉满、模型也没有顺着错误往下说这种工程故障,就纯理想状态下,幻觉还会凭空冒出来吗?

论文上来就先给了两个现有解释:

一个说,统计学习嘛,随机事实那么多,模型哪能全部记住,只能靠猜;

另一个说,参数太少,容量不够,记不住所有事实,压缩就会有损失。

两个都对,但就像你跟我说“车开不动因为没油了”——对,但没触及发动机为什么要设计成烧油的。你看,这两个解释都指向同一个结论:如果允许模型说“不知道”,幻觉不就消失了吗?

可现实呢?我试过——就算用RLHF或者系统提示把模型调教得再愿意承认不懂,它依然会胡编乱造。为什么?

论文用数学给了你一个扎心的答案:模型不是不愿意说不知道,而是它根本不知道什么叫不知道。

他们把这个问题形式化为“成员测试”,然后用信息论里的率失真理论证明了一个要命的下界:

当模型的记忆空间小于训练数据里事实信息总量时——这不废话吗,数据永远比模型大——最优的存储方式会导致:一部分非事实会“看起来像真事实”一样被存进去,而且模型给这些假答案的置信度,跟给真答案一模一样。

你仔细琢磨这事儿多恐怖——它不是“模模糊糊觉得这玩意儿可能是对的”,而是它从心眼里认定这就是对的,跟它记住“北京是首都”用的是同一套神经回路。

换句话说,模型没有“我不知道”这个状态。它觉得自己无所不知。


说实话,我对理论向来半信半疑。读到这儿我合上论文,自己拿GPT-4随便试了一下。

我先问常识问题,比如“太阳从哪边升起”,它答得又快又准。然后我随口编了几个它一定没见过的——比如“张三是13988号”这种随机事实,还有故意瞎扯的“月亮是奶酪做的”。每个问题来回问了好几遍。

结果呢?常识问题基本不乱说。但碰上它没见过的随机事实,它几乎从不直接说“不知道”,而是立刻编一个答案,语气跟说“1+1=2”一模一样。比如我问“王麻子电话号码是多少”,它直接给了一串:138**6723,连问好几次都是同一个号。对明显胡扯的问题,偶尔能纠正,但更多时候它还是顺着编,而且一旦编出来就嘴硬到底,死不松口。

这根本不是“瞎编”,这是真心信了


说到这儿,你肯定会问:那让它增加一个“不知道”按钮不就行了?

论文又甩了一个更扎心的结果:允许拒绝回答,也不能完全消除幻觉。 因为模型没法完美区分“这个我确实学过”和“这个我感觉学过但其实是假的”。如果让它在最不自信时闭嘴,它一定会把大量真回答也一块儿砍掉——过拒率飙升。

论文从KL散度角度证明,就算你设计一个最优的过滤器,假阳性和假阴性永远有个非零下界。你不可能让模型在不损失准确率的情况下完美拒绝。

我跟一个做推荐系统的朋友聊到这个,他脱口而出:“这不就是Bandit问题里的勘探-利用困境吗?”

我想了想,不一样——Model这不是在“该不该探索”上犹豫,而是它压根不知道哪些东西自己没学过。它对自己的无知,无知得一塌糊涂。


那怎么办呢?这篇论文不是来给解药的,它是来给你一张判决书的:在“堆参数+堆数据”这条路上,幻觉永远治不好。

模型越大,记住的真事实越多,但假事实的数量也跟着涨——因为世界上没听过的事实基数太大了,你记住一个亿,还有一百亿你听都没听过。

但这不意味着躺平。最近我试了清华那篇H-神经元的工作,只调了0.1%的神经元,就能显著影响模型胡不胡扯。这一招和信息论视角不矛盾——H-神经元给你一个工程抓手,但信息论告诉你:别指望靠微调根除它。

现在真正有效的玩法,我琢磨下来就三招:

结构补偿。 给它配个图书馆——RAG(检索增强生成)。模型胡说时,拽回来。可惜大部分开源RAG做得太糙,上下文里塞一堆噪音,模型反而更晕。

主动拒绝 + 外部校准。 找个独立的小分类器(比如Roberta)盯着LLM的内部表示,判断它该不该回答。我试过,在特定领域能把幻觉压到5%以下,但拒答率升到30%——很多对的也被拦了。论文里那个KL下界啊,真真切切。

对“随机事实”显式隔离。 像电话号码、ISBN这种高随机性数据,单独处理,让模型知道“这是猜不准的”。但成本高到飞起,需要海量标注。


你可能会觉得,那AI还靠谱吗?

别急,我说个事儿你就平衡了。

2019年我刚写AI专栏时,跟人吵过一架——我说“语言模型不是知识库”,被喷得体无完肤。现在这篇论文算是从数学上帮我把当年的直觉给证了。

而且,你想想人类自己。大部分人对大部分问题,不也在瞎编吗?

你去问一个炒股的人:“美联储下周会不会加息?”他能给你分析得头头是道,从通胀率扯到就业数据,但你真的信他知道?

区别在哪儿?人具备元认知——知道自己不知道什么。模型没有。 这篇论文撕开了一个真相:这个元认知的缺失,不是训练失当,是存储效率和信息结构共同决定的。你让它记住尽量多的事实,它就必然把一些假的当真;你让它变得保守,它就记不住该记的。

压缩就有失真,这是信息论里最底层的规律。


我一直觉得,把AI当神,是技术人最幼稚的自我感动。这篇论文帮我们看清了一件事:

AI的幻觉不是Bug,是Feature——是它努力当好一个全能助理时,不得不付的代价。

理解了这个,你就不该在它胡说八道时摔键盘了。

毕竟,你扪心自问一次:你对所有问题的回答都100%正确吗?那你怎么不说“我不知道”呢?

因为你也不愿意承认自己不知道啊。

人类的幻觉,只是换了个名字罢了。

402
13401 阅读
3 评论
分享
链接已复制
编辑说明

本文由 MakeSense 编辑团队撰写并审核。文中引用的数据和观点均经过交叉验证,如有疏漏欢迎在评论区指正。最后更新:2026年06月21日 02:06

林远舟

技术编辑

全栈工程师出身,做过 5 年技术社区运营。对 AI 编程工具、开发者生态有深入研究,喜欢用实测数据说话。

读者评论 3

Dev小王 1周前
终于有人把这个说清楚了,收藏了。
回复 点赞 (8)
A
AI研究员 1周前
观点有道理,不过我觉得还需要考虑算力成本的问题。
回复 点赞 (11)
M
创业者Mark 2天前
正在做相关方向,这篇文章给了我不少启发。
回复 点赞 (7)