生成式人工智能模型處理文本的方式與人類不同。了解它們基于"標記"的內部環境可能有助于解釋它們的一些奇怪行為和頑固的局限性。從 Gemma 這樣的小型設備上模型到 OpenAI 業界領先的 GPT-4o 模型,大多數模型都建立在一種稱為轉換器的架構上。由于轉換器在文本和其他類型數據之間建立關聯的方式,它們無法接收或輸出原始文本–至少在沒有大量計算的情況下是如此。
因此,出于實用性和技術性的考慮,今天的轉換器模型使用的文本已經被分解成更小、更小的片段,這些片段被稱為標記–這一過程被稱為標記化。
詞元可以是單詞,如"fantastic"。也可以是音節,如"fan"、“tas"和"tic”。根據標記化器(標記化模型)的不同,它們甚至可以是單詞中的單個字符(例如,“f”、“a”、“n”、“t”、“a”、“s”、“t”、“i”、“c”)。
使用這種方法,轉換器可以在達到稱為上下文窗口的上限之前接收更多信息(語義意義上的)。但標記化也會帶來偏差。
有些標記符有奇特的間距,這會使轉換器出錯。例如,詞元轉換器可能會將"once upon a time"編碼為"once"、“on”、“a”、“time”,而將"once upon a"(有尾部空白)編碼為"once"、“on”、“a”、“.”。根據對模型的提示方式–“once upon a"還是"once upon a ,”–結果可能完全不同,因為模型并不能理解(就像人一樣)意思是一樣的。
標記符號化器處理大小寫的方式也不同。對模型來說,“Hello"并不一定等同于"HELLO”;"hello"通常是一個標記(取決于標記化器),而"HELLO"可能有三個標記(“HE”、“El"和"O”)。這就是許多轉換器無法通過大寫字母測試的原因。
東北大學研究大型語言模型可解釋性的博士生 Sheridan Feucht 對此表示:"對于語言模型來說,'詞’到底應該是什么,這個問題有點難以解決,即使我們讓人類專家就完美的標記詞匯達成一致,模型可能仍然會認為進一步’分塊’是有用的。“我的猜測是,由于這種模糊性,不存在完美的標記符號生成器。”
這種"模糊性"給英語以外的語言帶來了更多問題。許多標記化方法都認為句子中的空格表示一個新詞。這是因為它們是針對英語設計的。但并非所有語言都使用空格來分隔單詞。漢語和日語不使用空格,韓語、泰語和高棉語也不使用。
2023 年牛津大學的一項研究發現,由于非英語語言的標記化方式不同,轉換器完成一項非英語語言任務所需的時間可能是英語任務的兩倍。同一項研究和另一項研究發現,"標記效率"較低的語言的用戶很可能會看到更差的模型性能,但卻要支付更高的使用費用,因為許多人工智能供應商是按標記收費的。
標記化器通常將邏各斯書寫系統中的每個字符(在這種系統中,印刷符號代表單詞,而與發音無關,如中文)視為一個獨立的標記,從而導致標記數較高。同樣,標記化器在處理凝集語(單詞由稱為詞素的有意義的小詞元組成,如土耳其語)時,往往會將每個詞素變成一個標記,從而增加總體標記數。(在泰語中,"hello"的對應詞??????有六個標記)。
2023 年,Google DeepMind 人工智能研究員 Yennie Jun進行了一項分析,比較了不同語言的標記化及其下游效果。通過使用一個翻譯成 52 種語言的平行文本數據集,Jun 發現有些語言需要多達 10 倍的標記才能表達英語中的相同含義。
除了語言上的不平等,標記化也可以解釋為什么今天的模型數學不好。
數字標記化很少能保持一致。因為它們并不真正了解數字是什么,標記符號化器可能會將"380"視為一個標記符號,而將"381"表示為一對(“38"和"1”)–這實際上破壞了數字之間的關系以及方程和公式中的結果。結果就是轉換器混亂;最近的一篇論文表明,模型很難理解重復的數字模式和上下文,尤其是時間數據。(參見:GPT-4認為7735 大于 7926)。
這也是模型不擅長解決變位問題或顛倒單詞的原因。標記化顯然給生成式人工智能帶來了挑戰。它們能被解決嗎?也許吧。
Feucht 指出,像MambaByte 這樣的"字節級"狀態空間模型,通過完全取消標記化,可以攝取比轉換器多得多的數據,而不會影響性能。MambaByte 可直接處理代表文本和其他數據的原始字節,在語言分析任務方面可與某些轉換器模型媲美,同時還能更好地處理"噪音",如帶有交換字符、間距和大寫字母的單詞。
不過,像 MambaByte 這樣的模式還處于早期研究階段。
"最好的辦法可能是讓模型直接查看字符,而不強加標記化,但現在這對變換器來說在計算上是不可行的,"Feucht 說。“特別是對于變換器模型來說,計算量與序列長度成二次方關系,因此我們真的希望使用簡短的文本表示”。
如果不能在詞元化方面取得突破,新的模型架構似乎將成為關鍵。