AI领域“语言霸权”?语言
吴恩达ChatGPT课爆火:AI放弃了倒写单词,但理解了整个世界
来源:量子位
没想到时至今日,ChatGPT竟还会犯低级错误?
吴恩达大神最新开课就指出来了:
ChatGPT不会反转单词!
比如让它反转下lollipop这个词,输出是pilollol,完全混乱。
哦豁,这确实有点大跌眼镜啊。
以至于听课网友在Reddit上发帖后,立马引来大量围观,帖子热度火速冲到6k。
而且这不是偶然bug,网友们发现ChatGPT确实无法完成这个任务,我们亲测结果也同样如此。
△实测ChatGPT(GPT-3.5)
甚至包括Bard、Bing、文心一言在内等一众产品都不行。
△实测Bard
△实测文心一言
还有人紧跟着吐槽, ChatGPT在处理这些简单的单词任务就是很糟糕。
比如玩此前曾爆火的文字游戏Wordle简直就是一场灾难,从来没有做对过。
诶?这到底是为啥?
关键在于token
之所以有这样的现象,关键在于token。token是文本中最常见的字符序列,而大模型都是用token来处理文本。
它可以是整个单词,也可以是单词一个片段。大模型了解这些token之间的统计关系,并且擅长生成下一个token。
因此在处理单词反转这个小任务时,它可能只是将每个token翻转过来,而不是字母。
这点放在中文语境下体现就更为明显:一个词是一个token,也可能是一个字是一个token。
针对开头的例子,有人尝试理解了下ChatGPT的推理过程。
为了更直观的了解,OpenAI甚至还出了个GPT-3的Tokenizer。
比如像lollipop这个词,GPT-3会将其理解成I、oll、ipop这三个部分。
根据经验总结,也就诞生出这样一些不成文法则。
单词如何划分还取决于语言。此前有人统计过,中文要用的token数是英文数量的1.2到2.7倍。
token-to-char(token到单词)比例越高,处理成本也就越高。因此处理中文tokenize要比英文更贵。
可以这样理解,token是大模型认识理解人类现实世界的方式。它非常简单,还能大大降低内存和时间复杂度。
但将单词token化存在一个问题,就会使模型很难学习到有意义的输入表示,最直观的表示就是不能理解单词的含义。
当时Transformers有做过相应优化,比如一个复杂、不常见的单词分为一个有意义的token和一个独立token。
就像annoyingly就被分成“annoying”和“ly”,前者保留了其语义,后者则是频繁出现。
这也成就了如今ChatGPT及其他大模型产品的惊艳效果,能很好地理解人类的语言。
至于无法处理单词反转这样一个小任务,自然也有解决之道。
最简单直接的,就是你先自己把单词给分开喽~
或者也可以让ChatGPT一步一步来,先tokenize每个字母。
又或者让它写一个反转字母的程序,然后程序的结果对了。(狗头)
不过也可以使用GPT-4,实测没有这样的问题。
△实测GPT-4
总之,token就是AI理解自然语言的基石。
而作为AI理解人类自然语言的桥梁,token的重要性也越来越明显。
它已经成为AI模型性能优劣的关键决定因素,还是大模型的计费标准。
甚至有了token文学