1. 引言:一个意外发现
上周开始,一个小学生都不会做错的数学问题在社交媒体上引发了热议:9.11和9.9,哪个更大?
这个问题最初是由Riley Goodside发现的,他是一个全职的提示词工程师,目前在硅谷独角兽Scale AI工作,在使用GPT-4时偶然发现了这个有趣的现象。
(国内很多人对Scale AI应该不陌生,它的CEO Alex Wang是MIT辍学,现在的公司估值千亿,这个月还看到Scale AI正在招聘博士训练LLM,可以远程办公,时薪40美元,有兴趣的可以去试试。)
2. 问题的发现与测试
当他问GPT-4 “9.11 and 9.9——which is bigger?”时,AI竟然毫不犹豫地回答是9.11更大。
作为一名提示工程师,Goodside敏锐地意识到可能是“打开方式有误”。于是他又换了个问法,将提问限定在“实数”,结果AI模型还是给出了错误的答案。
这个发现引发了他的好奇心,Goodside随即测试了其他主流大模型,结果令人大跌眼镜——几乎所有模型都犯了同样的错误,包括Gemini Advanced和Claude 3.5 Sonnet在内。
3. 提问顺序的影响
有趣的是,当有网友试着给提问换了个顺序时,AI模型居然反应过来了,给出了正确的答案。
总结就是:将数字放在问题前面时,AI更容易出错;而将问题放在前面,AI则能正确作答。
4. 错误的根源
那么,为什么这些号称能解决复杂问题的AI大模型,会在这样一个简单的数学问题上栽跟头呢?
原来,问题的关键在于提问的方式和顺序。
大模型使用称为“Tokenizer”的工具(中文叫分词器)来理解和处理文本。
以OpenAI使用的开源Tokenizer为例,当它处理“9.11”时,会默认将其分解为“9”、“.”和“11”三个部分。
Tokenizer的工作原理是将文本切分成更小的单元(token),以便模型能够更好地理解和处理语言。然而,在处理数字时,这种切分方式可能会引入歧义。
在“9.11”的例子中,模型错误地将其理解为两个独立的数字“9”和“11”,而没有意识到这实际上是一个小数,这导致了模型的判断出现偏差。
https://platform.openai.com/tokenizer (OpenAI开源的Tokenizer,知识做模拟)
5. 解决方法
现在知道了问题的来源,我们就能找到解决方法。
方法1:
只要向AI明确解释这是一个“双精度浮点数”比较问题,AI就能给出正确答案,当然要注意顺序,你在结尾说明这个是“双精度浮点数”就来不及了。
方法2:
使用“Zero-shot CoT”思维链技术,就是引导AI“一步一步地思考”。例如,我们可以这样提问:(英文是Think in step)
“让我们一步步思考:
9.11 可以写成 9 + 0.11 9.9 可以写成 9 + 0.9 0.9 比 0.11 大 所以,哪个数更大?”
使用这种方法,大多数AI大模型都能得出正确结论。
6. AI技术的局限性与提示工程的重要性
这个看似简单的问题揭示了当前AI技术的一些局限性。
尽管在许多复杂任务上表现出色,但在一些基础的数学运算上,AI仍然可能出现意想不到的错误。
这也提醒了我们,在使用AI时需要保持警惕,并且在关键决策中仍然需要人类的判断和验证。
在尝试解决这个问题的过程中,人们发现原先无往不利的角色扮演(Role Playing),好像这次没有起到任何作用。你即使定义大模型是一个牛津大学数学专业毕业的博士,还是不会回答这道小学生都会做的数学题。
除了数学运算,ChatGPT和其他大语言模型在一些其他看似简单的任务上也存在缺陷,例如字符计数、处理不对称信息等。
在阿里巴巴举办的数学竞赛中,参赛AI模型的表现也不尽如人意。
7. 目前AI大模型创业的形势判断
这个月看到Gartner发布的《2024年人工智能技术成熟度曲线》,GenAI已经度过了预期膨胀的高峰期,但炒作仍在继续。
另外高盛、红杉的分析师说AI行业的投资和收入,有6000亿美金的缺口,不可能长期持续,就看出了卖铲子的英伟达,还有哪个挖金矿的开始赚钱了。
对于大模型创业,还是要守住现金流,不要盲目扩张,也要注意克制,不去接后期运维成本高的项目。
同时也因为大模型存在的各种缺陷,在和客户一起打造产品的时候,一定要理解技术边界,目前的技术能做什么,不能做什么,不能对技术过于乐观。在没有充分理解目前大模型技术边界的情况下去寻找场景,很可能会找到不切实际的场景。