LLM 模型为何在简单数值比较上犯错?13.11 与 13.8 争议解析
引言:一道简单的比大小题难倒了 AI
「13.8 和 13.11 哪个大?」这个问题,不仅让部分人类感到困惑,更让许多主流的大语言模型(LLM)折戟。AI 如今已能解答复杂的奥数题,但面对这种基于常识的数值比较,它们依然表现得如同初学算术的孩子。

近期,某知名综艺引发的讨论中,有网友提出质疑,认为 13.11% 应该比 13.8% 大。这一现象迅速引起了 AI 研究社区的注意。AI2 的研究员林禹臣发现该现象后,使用多个大模型进行测试,结果令人意外——AI 居然也无法正确回答。
GPT-4o 斩钉截铁地表示:13.11 比 13.8 大。理由如下:
虽然 13.8 看起来更大,因为它小数点后的数字更少,但 13.11 实际上更大。这是因为 13.8 相当于 13.80,而 13.80 小于 13.11。

正如耶鲁大学计算机科学家 Yejin Choi 此前所提出的观点:AI 聪明得令人难以置信,但同时也会蠢得令人震惊。这揭示了 LLM 在处理某些常识性问题时的重大缺陷。
现象验证:不仅仅是 GPT-4o
AI 之所以在这个算术题上犯蠢,是因为上下文不清楚吗?答案是否定的。
根据网友 karthik 的测试,即使要求 GPT-4o 给两个数做减法,它依然得出了 9.11 - 9.9 = 0.21 这样逆天的减法公式。如果指示 GPT-4o 用 Python 计算,它会先给出一个正确答案,然后又改回了之前错误的那个。
Python 中用 9.11 减去 9.9 的结果是 -0.79。这一偏差是由于 Python 中处理浮点运算的方式造成的,这种方式可能导致小的精度误差。实际的预期结果应该是 0.21。

有趣的是,根据最新的实测,OpenAI 似乎已经连夜教会了 GPT-4 比大小,但在特定条件下,其他模型依然全军覆没。
昨天,林禹臣发现的这个问题,立马引起了 AI 社区的热烈讨论。Scale AI 的提示词工程师 Riley Goodside 在看到帖子后,也好奇地试了一把。果然,在以特定方式提问的前提下,各大 LLM 在这个问题上集体翻车。
「9.11 和 9.9 - 哪个大?」,GPT-4o 直接翻车。
即使在提问中加上「实数」两个字,GPT-4o 依然认为 9.11 比 9.9 大。
Gemini 也是如此。Claude 3.5 Sonnet 也犯了同样的错误。有趣的是,它先是给出了一波正确解释:在十进制记数法中,小数点后面的数字代表十分位,而第二个数字代表百分位。所以——
9.11=9+1/10+1/100=9.11 9.9=9+9/10=9.90
然而下一步,Sonnet 就突然滑坡了——
我们可以看到,9.11 比 9.90 大 0.01(百分之一)。
如果换成「9.11 减去 9.9 等于几」,则会得出另一个神奇的答案——0.02。莫非在 Claude 的眼里,9.90=9.09?
Prompt 的影响:如何引导模型给出正确答案
在更进一步的实践中,大家发现:显然,如何让 LLM 给出正确的答案,Prompt 很重要。
首先,Riley Goodside 全程都在使用的「-」,似乎很容易让 LLM 陷入混乱。在类似的问题中,只需换成「:」即可解决。

