你每次在ChatGPT、Claude或Copilot的對(duì)話框里敲下的字句,并不是以“單詞”的形式直接喂給模型的。它們會(huì)先被一種叫作分詞器的東西,切成一段一段的小片。這些碎片就是token。有時(shí)候一個(gè)token是一個(gè)完整的詞,比如“the”;有時(shí)候是半個(gè)詞,比如“accessibility”可能會(huì)被拆成“access”和“ibility”兩部分;還有時(shí)候,一個(gè)逗號(hào)或一個(gè)空格也可以是一個(gè)單獨(dú)的token。模型自始至終都沒有看過你輸入的完整句子長(zhǎng)什么樣,它看到的只是一串代表這些小碎片的數(shù)字序列。
這個(gè)看似不起眼的技術(shù)細(xì)節(jié),恰好解釋了你在使用大模型時(shí)會(huì)遇到的很多困惑。為什么長(zhǎng)提示要花更多錢?為什么某些詞會(huì)讓模型卡殼?以及那個(gè)經(jīng)典問題——為什么讓一個(gè)語言模型數(shù)出“strawberry”這個(gè)單詞里有幾個(gè)字母“r”,對(duì)它來說會(huì)出奇地困難?答案都藏在token化那一瞬間。
![]()
整個(gè)過程可以拆成兩步來看。第一步是切分文本。拿“accessibility”來說,分詞器不會(huì)把它當(dāng)成一個(gè)不可分割的整體。雖然它足夠常見,有資格作為一個(gè)token存在,但在真實(shí)世界中,大量文本都會(huì)被拆成更小的、可辨認(rèn)的語塊。那些又長(zhǎng)、出現(xiàn)頻率又低或者技術(shù)性更強(qiáng)的詞,經(jīng)常會(huì)被分解成兩個(gè)甚至更多片段。第二步就是把這些片段轉(zhuǎn)換成數(shù)字。每個(gè)token都在模型訓(xùn)練時(shí)用到的固定詞匯表里對(duì)應(yīng)著一個(gè)數(shù)字。“access”可能是5426,“ibility”可能是9821。模型不直接處理字母或語義,它只是處理一串?dāng)?shù)字,然后去預(yù)測(cè)統(tǒng)計(jì)上最有可能出現(xiàn)的下一個(gè)數(shù)字是幾,預(yù)測(cè)完之后再把這個(gè)數(shù)字翻譯回文本,顯示給你看。這就是為什么大模型在“把一個(gè)單詞倒過來寫”或者“數(shù)出strawberry里有多少個(gè)r”這類任務(wù)上表現(xiàn)掙扎。它不是在逐字母地盯著s-t-r-a-w-b-e-r-r-y看,而是面對(duì)著幾個(gè)不透明的token塊,并沒有直接通往塊內(nèi)字母的路徑。
token化這件事還帶來了一些反直覺的邊界效應(yīng)。空格和標(biāo)點(diǎn)符號(hào)也算作token。一個(gè)全是短單詞和空格組成的句子,最終消耗的token數(shù)量,反而可能比一個(gè)由更少但更長(zhǎng)的單詞構(gòu)成的短句要多。因此,token數(shù)并不直接等同于你看見的單詞數(shù),更不等于字符數(shù)。更值得注意的是,非英文文本在token化時(shí)往往表現(xiàn)更差。絕大多數(shù)模型主要使用英文數(shù)據(jù)進(jìn)行訓(xùn)練,這就導(dǎo)致表達(dá)完全相同的意思,用另一種語言寫出來,可能會(huì)被拆成明顯更多的token。
對(duì)于只是偶爾用用這些模型的人來說,到這里就夠了。但如果你打算在這些模型之上構(gòu)建產(chǎn)品,那token限制所定義的“上下文窗口”,才是真正影響大局的部分。每一個(gè)模型都有一個(gè)最大token容量,它一次性能在內(nèi)存中保有的token數(shù)量是固定的。你輸入的提示、先前的對(duì)話歷史,以及模型即將生成的回答,所有這些都在共享著同一個(gè)token預(yù)算。一旦你超出了這個(gè)限制,上下文就會(huì)被壓縮:要么更早的消息被丟掉,要么輸入被截?cái)啵锤纱嘀苯訄?bào)錯(cuò)。這意味著你精心設(shè)計(jì)的長(zhǎng)提示,可能并沒有被模型完整地看到。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.