前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >9.9 和 9.11 哪个大?内在原因是tokenizer的问题

9.9 和 9.11 哪个大?内在原因是tokenizer的问题

原创
作者头像
算法一只狗
修改2024-07-26 10:17:45
6160
修改2024-07-26 10:17:45
举报
文章被收录于专栏:算法一只狗

最近知乎上有一个很热门的话题是关于大模型的数学能力。

说的就是为什么这个问题:“9.9和9.11哪个大”,大量的大模型都没有回答正确。

例如GPT-3.5,他就认为9.11大:

拿Gemini来问问,好家伙,不假思索的直接认为9.11大

再看看Claude 3.5 Sonnet,给出了自己的推理,但是一看答案又开始犯困了,直接认为9.11更大。

既然国外的模型不行,那我们再来看看国内大模型怎么样。其中ChatGLM也回答错误:

KIMI想也不想直接回答错误

通义千问也像上面的几个大模型一样,答错了。

为什么这么多大模型对这个简单得不能再简单得问题都回答错了呢?这里总结了一下现有网络上对这个问题的几个很好的解释。

1.和日期有一定的相关性

因为911 是一个著名的日期,模型在预训练阶段不可避免的学习到其相关知识,所以大模型可能会认为911本质上会比99大。

在问GPT-3的时候,用英文问它,模型会错误的认为9.9比9.11要小。

但是如果你问它:9.35 和 9.9 的大小,它能够正确回答。这是因为本质上没有9月35这个日期。

而这两种问法,在 tokenizer 中的切分其实是一致的:

所以有人认为是日期类型导致大模型理解错误两个数字的大小。

2.tokenizer导致的原因

从基础的token分析,可以发现,9.9被拆成了三个token:24、13、24;而9.11也被拆成24、13、806

可以发现这两个数都拆成了3个token,则就导致了模型在对比两个数的时候,把小数前面的9和9比,小数点后面的9和11比。想当然的把11认为比9大,所以最后得出了错误的结果。

终究还是他们背后的tokenizer的问题。

OpenAI用的是tiktoken这个库,而这个库是基于BPE算法的,大家有兴趣可以研究下这个。

3.开发软件版本号导致

在我们日常生活中,数学计算肯定是认为9.9大于9.11。但是在软件开发项目中,如果9.11和9.9代表的都是软件版本号,一般来说都会默认9.11比9.9的版本号要大。

如果换成“在Python版本号中,3.8和3.10哪个更大”,那3.10就对了。实际上,在Python和3.10这两个关键词同时出现的互联网文本中,有99%以上的情况,3.10就是指Python版本号,因此说3.10更大,往往是正确的,会得到更低的loss。

因此不难理解,有下面几个结论:

  • 作为数字比较,9.11比9.9要小
  • 作为版本号,9.11比9.9要大

根据现有语言模型数据,日期和版本号出现频繁。这些问题需考虑语境和条件,但GPT训练时上文常被截断,导致语境丢失和幻觉增加,答案出现错误。

4.和大模型幻觉有关

大模型幻觉,指大型语言模型或神经网络生成内容与现实不符的现象,是深度学习领域的一个问题。

其表现多样,原因复杂。

比如让KIMI回答具体原因的时候,将小数点后面第二位作为判断整个数字大小的依据,显然就是典型的幻觉导致的逻辑错误。

那么怎么消除这样理解上的偏差呢?就是把问题问得更加清楚,如果可以加上一个特定的背景,让大模型得到更多的信息去理解,

比如我们把 9.11 当成是日期,或者版本号的时候,9.11 是比 9.9 更后面(也许就是大模型理解的更大)

5.总结

从一个简单的数学问题,就能看出目前大模型在数学理解的能力上还是有缺陷的,因此不能够盲目的认同大模型给出的答案。同时还需要根据自己的理解进行有效分析。

进一步的也需要不断提升大模型的数学能力,这一条路还是任重而道远。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.和日期有一定的相关性
  • 2.tokenizer导致的原因
  • 3.开发软件版本号导致
  • 4.和大模型幻觉有关
  • 5.总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档