來源:量子位沒想到時至今日,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][2][3]
吳恩達ChatGPT課爆火:AI放棄了倒寫單詞,但理解了整個世界
來源:量子位
沒想到時至今日,ChatGPT竟還會犯低級錯誤?
吳恩達大神最新開課就指出來了:
比如讓它反轉下lollipop這個詞,輸出是pilollol,完全混亂。
以至於聽課網友在Reddit上發帖後,立馬引來大量圍觀,帖子熱度火速沖到6k。
甚至包括Bard、Bing、文心一言在內等一眾產品都不行。
還有人緊跟著吐槽, ChatGPT在處理這些簡單的單詞任務就是很糟糕。
比如玩此前曾爆火的文字遊戲Wordle簡直就是一場災難,從來沒有做對過。
關鍵在於token
之所以有這樣的現象,關鍵在於token。 token是文本中最常見的字符序列,而大模型都是用token來處理文本。
它可以是整個單詞,也可以是單詞一個片段。大模型了解這些token之間的統計關係,並且擅長生成下一個token。
因此在處理單詞反轉這個小任務時,它可能只是將每個token翻轉過來,而不是字母。
根據經驗總結,也就誕生出這樣一些不成文法則。
單詞如何劃分還取決於語言。此前有人統計過,中文要用的token數是英文數量的1.2到2.7倍。
可以這樣理解,token是大模型認識理解人類現實世界的方式。它非常簡單,還能大大降低內存和時間複雜度。
但將單詞token化存在一個問題,就會使模型很難學習到有意義的輸入表示,最直觀的表示就是不能理解單詞的含義。
當時Transformers有做過相應優化,比如一個複雜、不常見的單詞分為一個有意義的token和一個獨立token。
就像annoyingly就被分成**“annoying”和“ly”**,前者保留了其語義,後者則是頻繁出現。
這也成就瞭如今ChatGPT及其他大模型產品的驚艷效果,能很好地理解人類的語言。
至於無法處理單詞反轉這樣一個小任務,自然也有解決之道。
最簡單直接的,就是你先自己把單詞給分開嘍~
總之,token就是AI理解自然語言的基石。
而作為AI理解人類自然語言的橋樑,token的重要性也越來越明顯。
它已經成為AI模型性能優劣的關鍵決定因素,還是大模型的計費標準。
甚至有了token文學
正如前文所言,token能方便模型捕捉到更細粒度的語義信息,如詞義、詞序、語法結構等。其順序、位置在序列建模任務(如語言建模、機器翻譯、文本生成等)中至關重要。
模型只有在準確了解每個token在序列中的位置和上下文情況,才能更好正確預測內容,給出合理輸出。
因此,token的質量、數量對模型效果有直接影響。
今年開始,越來越多大模型發佈時,都會著重強調token數量,比如穀歌PaLM 2曝光細節中提到,它訓練用到了3.6萬億個token。
以及很多行業內大佬也紛紛表示,token真的很關鍵!
今年從特斯拉跳槽到OpenAI的AI科學家安德烈·卡帕斯(Andrej Karpathy)就曾在演講中表示:
比如LLaMA的參數規模遠小於GPT-3(65B vs 175B),但由於它用更多token進行訓練(1.4T vs 300B),所以LLaMA更強大。
以OpenAI的定價標準為例,他們以1K個token為單位進行計費,不同模型、不同類型的token價格不同。
嗯,甚至衍生出了token文學……
直譯“令牌”總是有點怪怪的。
GPT-4覺得叫“詞元”或“標記”比較好,你覺得呢?