今天小编分享的科学经验:吴恩达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这三个部分。
根据经验总结,也就诞生出这样一些不成文法则。
1 个 token ≈ 4 个英文字元≈四分之三个词;
100 个 token ≈ 75 个单词;
1-2 句话≈ 30 个 token;
一段话≈ 100 个 token,1500 个单词≈ 2048 个 token;
单词如何划分还取决于语言。此前有人统计过,中文要用的 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 文学
正如前文所言,token 能方便模型捕捉到更细粒度的语义信息,如词义、词序、语法结构等。其顺序、位置在序列建模任务(如语言建模、机器翻译、文本生成等)中至关重要。
模型只有在准确了解每个 token 在序列中的位置和上下文情况,才能更好正确预测内容,给出合理输出。
因此,token 的质量、数量对模型效果有直接影响。
今年开始,越来越多大模型发布时,都会着重强调 token 数量,比如谷歌 PaLM 2 曝光细节中提到,它训练用到了 3.6 万亿个 token。
以及很多行业内大佬也纷纷表示,token 真的很关键!
今年从特斯拉跳槽到 OpenAI 的 AI 科学家安德烈 · 卡帕斯(Andrej Karpathy)就曾在演讲中表示:
更多 token 能让模型更好思考。
而且他强调,模型的性能并不只由参数规模来决定。
比如 LLaMA 的参数规模远小于 GPT-3(65B vs 175B),但由于它用更多 token 进行训练(1.4T vs 300B),所以 LLaMA 更强大。
而凭借着对模型性能的直接影响,token 还是 AI 模型的计费标准。
以 OpenAI 的定价标准为例,他们以 1K 个 token 为部門进行计费,不同模型、不同类型的 token 价格不同。
总之,踏进 AI 大模型领網域的大门后,就会发现 token 是绕不开的知识点。
嗯,甚至衍生出了 token 文学……
不过值得一提的是,token 在中文世界里到底该翻译成啥,现在还没有完全定下来。
直译 " 令牌 " 总是有点怪怪的。
GPT-4 觉得叫 " 词元 " 或 " 标记 " 比较好,你觉得呢?
参考链接:
[ 1 ] https://www.reddit.com/r/ChatGPT/comments/13xxehx/chatgpt_is_unable_to_reverse_words/
[ 2 ] https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them
[ 3 ] https://openai.com/pricing