如今,GPT-3、GPT-4或谷歌的BERT等大型語言模型(LLM)已經(jīng)成為人工智能理解和處理人類語言的重要組成部分。但在這些模型展現(xiàn)出令人印象深刻的能力背后,卻隱藏著一個很容易被忽視的過程:標(biāo)記化。本文將解釋標(biāo)記化的定義,標(biāo)記化如此重要的原因,以及在實際應(yīng)用中是否能夠規(guī)避這一步驟。
想象一下,你正在閱讀一本書,但書中的文本不是由單詞和句子組成,而是由一長串沒有空格或標(biāo)點符號的字母組成,這將很難理解。對于計算機(jī)來說,處理原始文本也是如此。為了使語言對機(jī)器來說可以理解,文本需要被拆分成更小、更易于消化的部分——這些部分被稱為標(biāo)記(tokens)。
什么是標(biāo)記化?
標(biāo)記化是將文本分割成更小的塊的過程,這些塊使模型更容易理解。這些塊可以是:
- 單詞:最自然的語言單位(例如,”I”、”am”、”happy”)。
- 子詞:當(dāng)模型不知道整個單詞時,更小的單位可以提供幫助(例如,”running”中的”run”、”ning”)。
- 字符:在某些情況下,是單個字母或符號(例如,“a”、”b”、”c”)。為什么需要標(biāo)記?
以一個例句為例:”The quick brown fox jumps over the lazy dog.”(敏捷的棕色狐貍跳過懶惰的狗。)
計算機(jī)把這個句子看作是一長串字母:Thequickbrownfoxjumpsoverthelazydog.
除非把它拆分成更小的部分或標(biāo)記,否則計算機(jī)無法理解。以下是這個句子的標(biāo)記化版本:
1.單詞級標(biāo)記化:
- ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"]2.子詞級標(biāo)記化:
- ["The", "qu", "ick", "bro", "wn", "fox", "jump", "s", "over", "the", "lazy", "dog"]
3.字符級標(biāo)記化:
- ["T", "h", "e", "q", "u", "i", "c", "k", "b", "r", "o", "w", "n", "f", "o", "x", "j", "u", "m", "p", "s", "o", "v", "e", "r", "t", "h", "e", "l", "a", "z", "y", "d", "o", "g"]
然后,大型語言模型(LLM)從這些標(biāo)記中學(xué)習(xí),理解模式和關(guān)系。如果沒有標(biāo)記,LLM可能不知道一個單詞從哪里開始,另一個單詞在哪里結(jié)束,或者單詞的哪一部分很重要。
標(biāo)記化如何在LLM中工作
大型語言模型并不能像人類那樣”理解”語言。與其相反,LLM分析文本數(shù)據(jù)中的模式。對此,標(biāo)記化是至關(guān)重要的,因為它有助于將文本拆分為易于模型處理的形式。
大多數(shù)LLM使用特定的標(biāo)記化方法:
1.字節(jié)對編碼(BPE)
這種方法將字符或子詞組合成常用的詞組。例如,”running”可以分為”run”和”ning”。BPE對于捕獲子詞級的模式很有用。
2.WordPiece
BERT和其他LLM使用這種標(biāo)記化方法。它的工作原理與BPE類似,但基于它們在語景中的頻率和含義來構(gòu)建標(biāo)記。
3.SentencePiece
這是一種更通用的標(biāo)記化方法,可以處理沒有明確單詞邊界的語言,例如中文或日語。
標(biāo)記化在LLM中的重要性
文本拆分的方式會顯著影響LLM的性能。以下深入探討標(biāo)記化至關(guān)重要的幾個關(guān)鍵原因:
1.高效處理
LLM需要處理大量的文本。標(biāo)記化將文本減少為可管理的部分,使LLM更容易處理大型數(shù)據(jù)集,而不會耗盡內(nèi)存或變得不堪重負(fù)。
2.處理未知單詞
有時,LLM會遇到以前從未見過的單詞。如果模型只理解整個單詞,遇到一些不尋常的單詞,例如“supercalifragilisticexpialidocious”,它可能不知道如何處理。子詞標(biāo)記化有助于將單詞拆分成更小的部分(例如”super”、”cali”和”frag”),使LLM仍然能夠理解。
3.多語言和復(fù)雜文本
不同的語言以獨特的方式構(gòu)造單詞。標(biāo)記化有助于拆分不同字母的語言中的單詞,例如阿拉伯語或中文,甚至可以處理社交媒體上的標(biāo)簽等復(fù)雜的事情(#ThrowbackThursday)。
標(biāo)記化如何提供幫助的示例
以下看看標(biāo)記化如何幫助模型處理包含復(fù)雜單詞的句子。
假設(shè)有這樣一個語言模型:“Artificial intelligence is transforming industries at an unprecedented rate. ”(人工智能正在以前所未有的速度改變各行業(yè)。)
如果沒有采用標(biāo)記化,LLM可能難以理解整個句子。然而,當(dāng)采用標(biāo)記化時,它看起來像這樣:
標(biāo)記化版本(子詞):
- [“Artificial”, “intelligence”, “is”, “transform”, “ing”, “industr”, “ies”, “at”, “an”, “unprecedented”, “rate”]
現(xiàn)在,盡管“transforming”和“industries”可能是棘手的單詞,但該模型將它們拆分為更簡單的部分(“transform”、“ing”、“industrir”、“ies”)。這使得LLM更容易從中學(xué)習(xí)。
標(biāo)記化的挑戰(zhàn)
雖然標(biāo)記化至關(guān)重要,但它并不完美,并且面臨一些挑戰(zhàn):
1.沒有空格的語言
有些語言(例如漢語或泰語)單詞之間沒有空格。這使得標(biāo)記化變得困難,因為模型必須決定一個單詞在哪里結(jié)束,另一個單詞從哪里開始。
2.模棱兩可的單詞
當(dāng)一個單詞有多重含義時,標(biāo)記化可能會遇到困難。例如,“l(fā)ead”這個單詞可以表示“鉛”或“領(lǐng)導(dǎo)”。標(biāo)記化過程不能總是僅根據(jù)標(biāo)記確定正確的含義。
3.罕見單詞
LLM經(jīng)常會遇到罕見單詞或新創(chuàng)單詞,尤其是在互聯(lián)網(wǎng)上。如果一個單詞不在模型的詞匯表中,那么標(biāo)記化過程可能會將其拆分為笨拙或無用的標(biāo)記。
能否避免標(biāo)記化?
考慮到它的重要性,下一個問題是:是否可以避免標(biāo)記化?
從理論上來說,通過直接在字符級別工作(即將每個字符視為標(biāo)記),可以構(gòu)建不依賴于標(biāo)記化的模型。但這種方法也有以下一些缺點:
1.更高的計算成本
處理字符需要更多的計算量。LLM不再只需處理句子的幾個標(biāo)記,而是要處理數(shù)百個字符,這顯著增加了模型的內(nèi)存占用和處理時間。
2.意義缺失
字符本身并不總是具有實際意義,例如,“apple”中的字母“a”和“cat”中的字母“a”是相同的,但是這兩個單詞的含義卻截然不同。如果沒有標(biāo)記來引導(dǎo)模型,LLM則難以把握語境。
盡管如此,仍有一些實驗性模型正嘗試擺脫標(biāo)記化。但就目前而言,標(biāo)記化仍然是LLM處理語言的最高效和最有效的方法。
結(jié)論
標(biāo)記化似乎是一項簡單的任務(wù),但它是LLM理解和處理人類語言的基礎(chǔ)。如果沒有它,LLM將很難理解文本、處理不同的語言或處理罕見單詞。雖然一些研究正在尋找標(biāo)記化的替代方案,但就目前而言,它是LLM工作的重要組成部分。
而人們在使用LLM時,無論是回答問題、翻譯文本還是寫詩,都要記住的是:這一切都是通過標(biāo)記化實現(xiàn)的,它將單詞拆分成多個部分,這樣人工智能就能更好地理解和回應(yīng)。
關(guān)鍵要點
- 標(biāo)記化是將文本拆解成更小、更易管理的單元(稱為標(biāo)記)的過程。
- 標(biāo)記可以是單詞、子詞或單個字符。
- 標(biāo)記化對于LLM高效地處理文本、處理未知單詞以及跨語言工作至關(guān)重要。
- 雖然存在替代方案,但標(biāo)記化仍然是現(xiàn)代LLM的重要組成部分。