今天小編分享的科學經驗:吳恩達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