吳恩達(dá)ChatGPT課爆火:AI放棄了倒寫(xiě)單詞,但理解了整個(gè)世界
沒(méi)想到時(shí)至今日,ChatGPT竟還會(huì)犯低級(jí)錯(cuò)誤?
吳恩達(dá)大神最新開(kāi)課就指出來(lái)了:
ChatGPT不會(huì)反轉(zhuǎn)單詞!
比如讓它反轉(zhuǎn)下lollipop這個(gè)詞,輸出是pilollol,完全混亂。
哦豁,這確實(shí)有點(diǎn)大跌眼鏡啊。
以至于聽(tīng)課網(wǎng)友在Reddit上發(fā)帖后,立馬引來(lái)大量圍觀(guān),帖子熱度火速?zèng)_到6k。
而且這不是偶然bug,網(wǎng)友們發(fā)現(xiàn)ChatGPT確實(shí)無(wú)法完成這個(gè)任務(wù),我們親測(cè)結(jié)果也同樣如此。
△實(shí)測(cè)ChatGPT(GPT-3.5)
甚至包括Bard、Bing、文心一言在內(nèi)等一眾產(chǎn)品都不行。
△實(shí)測(cè)Bard
△實(shí)測(cè)文心一言
還有人緊跟著吐槽, ChatGPT在處理這些簡(jiǎn)單的單詞任務(wù)就是很糟糕。
比如玩此前曾爆火的文字游戲Wordle簡(jiǎn)直就是一場(chǎng)災(zāi)難,從來(lái)沒(méi)有做對(duì)過(guò)。
誒?這到底是為啥?
關(guān)鍵在于token
之所以有這樣的現(xiàn)象,關(guān)鍵在于token。token是文本中最常見(jiàn)的字符序列,而大模型都是用token來(lái)處理文本。
它可以是整個(gè)單詞,也可以是單詞一個(gè)片段。大模型了解這些token之間的統(tǒng)計(jì)關(guān)系,并且擅長(zhǎng)生成下一個(gè)token。
因此在處理單詞反轉(zhuǎn)這個(gè)小任務(wù)時(shí),它可能只是將每個(gè)token翻轉(zhuǎn)過(guò)來(lái),而不是字母。
這點(diǎn)放在中文語(yǔ)境下體現(xiàn)就更為明顯:一個(gè)詞是一個(gè)token,也可能是一個(gè)字是一個(gè)token。
針對(duì)開(kāi)頭的例子,有人嘗試?yán)斫饬讼翪hatGPT的推理過(guò)程。
為了更直觀(guān)的了解,OpenAI甚至還出了個(gè)GPT-3的Tokenizer。
比如像lollipop這個(gè)詞,GPT-3會(huì)將其理解成I、oll、ipop這三個(gè)部分。
根據(jù)經(jīng)驗(yàn)總結(jié),也就誕生出這樣一些不成文法則。
- 1個(gè)token≈4個(gè)英文字符≈四分之三個(gè)詞;
- 100個(gè)token≈75個(gè)單詞;
- 1-2句話(huà)≈30個(gè)token;
- 一段話(huà)≈100個(gè)token,1500個(gè)單詞≈2048個(gè)token;
單詞如何劃分還取決于語(yǔ)言。此前有人統(tǒng)計(jì)過(guò),中文要用的token數(shù)是英文數(shù)量的1.2到2.7倍。
token-to-char(token到單詞)比例越高,處理成本也就越高。因此處理中文tokenize要比英文更貴。
可以這樣理解,token是大模型認(rèn)識(shí)理解人類(lèi)現(xiàn)實(shí)世界的方式。它非常簡(jiǎn)單,還能大大降低內(nèi)存和時(shí)間復(fù)雜度。
但將單詞token化存在一個(gè)問(wèn)題,就會(huì)使模型很難學(xué)習(xí)到有意義的輸入表示,最直觀(guān)的表示就是不能理解單詞的含義。
當(dāng)時(shí)Transformers有做過(guò)相應(yīng)優(yōu)化,比如一個(gè)復(fù)雜、不常見(jiàn)的單詞分為一個(gè)有意義的token和一個(gè)獨(dú)立token。
就像annoyingly就被分成“annoying”和“l(fā)y”,前者保留了其語(yǔ)義,后者則是頻繁出現(xiàn)。
這也成就了如今ChatGPT及其他大模型產(chǎn)品的驚艷效果,能很好地理解人類(lèi)的語(yǔ)言。
至于無(wú)法處理單詞反轉(zhuǎn)這樣一個(gè)小任務(wù),自然也有解決之道。
最簡(jiǎn)單直接的,就是你先自己把單詞給分開(kāi)嘍~
或者也可以讓ChatGPT一步一步來(lái),先tokenize每個(gè)字母。
又或者讓它寫(xiě)一個(gè)反轉(zhuǎn)字母的程序,然后程序的結(jié)果對(duì)了。(狗頭)
不過(guò)也可以使用GPT-4,實(shí)測(cè)沒(méi)有這樣的問(wèn)題。
△實(shí)測(cè)GPT-4
總之,token就是AI理解自然語(yǔ)言的基石。
而作為AI理解人類(lèi)自然語(yǔ)言的橋梁,token的重要性也越來(lái)越明顯。
它已經(jīng)成為AI模型性能優(yōu)劣的關(guān)鍵決定因素,還是大模型的計(jì)費(fèi)標(biāo)準(zhǔn)。
甚至有了token文學(xué)
正如前文所言,token能方便模型捕捉到更細(xì)粒度的語(yǔ)義信息,如詞義、詞序、語(yǔ)法結(jié)構(gòu)等。其順序、位置在序列建模任務(wù)(如語(yǔ)言建模、機(jī)器翻譯、文本生成等)中至關(guān)重要。
模型只有在準(zhǔn)確了解每個(gè)token在序列中的位置和上下文情況,才能更好正確預(yù)測(cè)內(nèi)容,給出合理輸出。
因此,token的質(zhì)量、數(shù)量對(duì)模型效果有直接影響。
今年開(kāi)始,越來(lái)越多大模型發(fā)布時(shí),都會(huì)著重強(qiáng)調(diào)token數(shù)量,比如谷歌PaLM 2曝光細(xì)節(jié)中提到,它訓(xùn)練用到了3.6萬(wàn)億個(gè)token。
以及很多行業(yè)內(nèi)大佬也紛紛表示,token真的很關(guān)鍵!
今年從特斯拉跳槽到OpenAI的AI科學(xué)家安德烈·卡帕斯(Andrej Karpathy)就曾在演講中表示:
更多token能讓模型更好思考。
而且他強(qiáng)調(diào),模型的性能并不只由參數(shù)規(guī)模來(lái)決定。
比如LLaMA的參數(shù)規(guī)模遠(yuǎn)小于GPT-3(65B vs 175B),但由于它用更多token進(jìn)行訓(xùn)練(1.4T vs 300B),所以L(fǎng)LaMA更強(qiáng)大。
而憑借著對(duì)模型性能的直接影響,token還是AI模型的計(jì)費(fèi)標(biāo)準(zhǔn)。
以O(shè)penAI的定價(jià)標(biāo)準(zhǔn)為例,他們以1K個(gè)token為單位進(jìn)行計(jì)費(fèi),不同模型、不同類(lèi)型的token價(jià)格不同。
總之,踏進(jìn)AI大模型領(lǐng)域的大門(mén)后,就會(huì)發(fā)現(xiàn)token是繞不開(kāi)的知識(shí)點(diǎn)。
嗯,甚至衍生出了token文學(xué)……
不過(guò)值得一提的是,token在中文世界里到底該翻譯成啥,現(xiàn)在還沒(méi)有完全定下來(lái)。
直譯“令牌”總是有點(diǎn)怪怪的。
GPT-4覺(jué)得叫“詞元”或“標(biāo)記”比較好,你覺(jué)得呢?
參考鏈接:
[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