大型的語言模型(LMS),比如gpt-3、gpt-4,或者谷歌的伯特,已經(jīng)成為人工智能(AI)如何理解和處理人類語言的一個重要組成部分。但是在這些模型背后隱藏著一個很容易被忽視的過程: 符號化 .本文將解釋什么是符號化,為什么它如此重要,以及它是否可以避免。
想象一下,你正在閱讀一本書,而不是單詞和句子,整個文本只是一堆沒有空格或標(biāo)點(diǎn)符號的大字母。什么都說不通!這就是計算機(jī)處理原始文本的方式。為了使機(jī)器能夠理解語言,文本需要被分解成更小的、可消化的部分.
什么是符號化?
符號化 將文本分解成更小的塊的過程,對模型來說更容易理解。這些塊可以是:
· 語言 : 大多數(shù)自然語言單位(例如:,"我","我","快樂"。
· 子詞 當(dāng)模型不知道整個單詞時,較小的單元會起作用。,"跑","寧"中的"跑"。
· 人物 ::在某些情況下,單獨(dú)的字母或符號(例如:、"A"、"B"、"C")。
為什么我們需要代幣?
我們來舉個例子:
" 一只敏捷的棕色狐貍跳過了那只懶狗 ."
計算機(jī)把這句話看作是一長串字母: Thequickbrownfoxjumpsoverthelazydog .
如果我們不把它分解成更小的部件或者 代幣 .以下是這個句子的符號化版本:
1.字級符號化 :
· ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"]
2.分字形化 :
· ["The", "qu", "ick", "bro", "wn", "fox", "jump", "s", "over", "the", "lazy", "dog"]
3.字符級符號化 :
· ["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"]
然后模型從這些標(biāo)記中學(xué)習(xí),了解模式和關(guān)系。沒有令牌,機(jī)器就不知道一個詞的起點(diǎn)和終點(diǎn),也不知道一個詞的哪一部分是重要的。
符號化如何在LLMS中運(yùn)作
大型語言模型 不要像人類那樣"理解"語言。相反,他們分析文本數(shù)據(jù)中的模式。符號化對這一點(diǎn)至關(guān)重要,因?yàn)樗兄趯⑽谋痉纸鉃橐粋€易于模型處理的表單。
大多數(shù)LLMS采用特定的符號化方法:
字節(jié)對編碼(BPE)
這個方法將字符或子詞組合成常用的組。例如,"跑"可以分為"跑"和"寧。BPE對于捕捉子字形層次的模式很有用。
字句
伯特等模型都采用了這種標(biāo)記化方法。它的工作原理與BPE相似,但基于它們在上下文中的頻率和意義構(gòu)建標(biāo)記。
句子部分
這是一種更通用的符號化方法,可以處理沒有明確的單詞邊界的語言,如漢語或日語。
符號化如何在LLMS中運(yùn)作
文本分解的方式可以顯著地影響LRAM的性能。讓我們來分析一下為什么符號化是必要的一些關(guān)鍵原因:
高效加工
語言模型需要處理大量的文本。標(biāo)記化將文本減少為可管理的片段,使模型更容易處理大型數(shù)據(jù)集,而不會使內(nèi)存耗盡或不堪重負(fù)。
處理未知詞
有時候,模特會遇到以前沒見過的詞。如果模型只懂得整個單詞,遇到一些不尋常的東西,比如" supercalifragilisticexpialidocious ,"它可能不知道該怎么做。子詞符號化可以幫助將這個詞分解成更小的部分,如"超級"、"卡利"和"弗拉格",這樣模型就有可能理解它。
多種語言和復(fù)雜文本
不同的語言以獨(dú)特的方式構(gòu)成單詞。符號化有助于用不同的字母來分解語言中的單詞,比如阿拉伯語或漢語,甚至處理復(fù)雜的事情,比如社交媒體上的標(biāo)簽(#后后文)。
符號化如何幫助
讓我們來看看符號化是如何幫助模型處理一個復(fù)雜單詞的句子的。
想象一個語言模型給出了這句話:
" 人工智能正在以前所未有的速度改變工業(yè) ."
沒有符號化,模型可能難以理解整個句子。但是,當(dāng)被標(biāo)記為:
有符號的版本(子詞) :
· ["Artificial", "intelligence", "is", "transform", "ing", "industr", "ies", "at", "an", "unprecedented", "rate"]
現(xiàn)在,盡管"轉(zhuǎn)換"和"產(chǎn)業(yè)"可能是個棘手的詞,但模型將它們分解為更簡單的部分("轉(zhuǎn)換"、"ING"、"INSTR"、"IES")。這使模型更容易向它們學(xué)習(xí)。
符號化的挑戰(zhàn)
雖然符號化是必要的,但它并不完美。有一些挑戰(zhàn):
沒有空格的語言
有些語言,如漢語或泰語,在單詞之間沒有空格。這使得符號化變得困難,因?yàn)槟P捅仨殯Q定一個詞的結(jié)尾和另一個詞的開頭。
含糊不清的話
當(dāng)一個詞有多重含義時,符號化會很困難。例如,"鉛"一詞可能是指金屬或負(fù)責(zé)人。符號化過程不能總是僅僅根據(jù)符號來確定正確的意義。
罕見的話
LMS經(jīng)常遇到罕見的詞匯或發(fā)明的術(shù)語,特別是在互聯(lián)網(wǎng)上。如果一個單詞不在模型的詞匯表中,那么符號化過程可能會將其劃分為笨拙或無用的符號。
我們能避免符號化嗎?
考慮到它的重要性,下一個問題是,是否可以避免符號化。
理論上,可以通過在字符級別直接工作來構(gòu)建不依賴于符號化的模型(即:,把每一個角色都當(dāng)作象征)。但這種辦法有缺點(diǎn):
較高的計算費(fèi)用
使用字符需要更多的計算。模型需要處理數(shù)百個字符,而不是僅僅處理一個句子的幾個令牌。這大大增加了模型的內(nèi)存和處理時間。
失去意義
人物本身并不總是有意義。例如,"蘋果"中的字母"A"和"貓"中的"A"是一樣的,但這兩個詞有完全不同的含義。沒有標(biāo)記來引導(dǎo)模型,人工智能就很難掌握上下文。
也就是說,一些實(shí)驗(yàn)?zāi)P驼噲D遠(yuǎn)離符號化。但是現(xiàn)在,符號化仍然是LLMS處理語言的最有效的方法。
結(jié)論
符號化看起來似乎是一個簡單的任務(wù),但它對于大的語言模型理解和處理人類語言是至關(guān)重要的。沒有它,LLMS將很難理解文本,處理不同的語言,或處理罕見的單詞。雖然一些研究正在尋找替代符號化的方法,但目前,它是LLMS工作方式的重要組成部分。
下一次你使用語言模型時,不管是回答問題、翻譯課文還是寫詩,記住:一切都是通過符號化實(shí)現(xiàn)的,它將單詞分解成部分,這樣人工智能就能更好地理解和回應(yīng)。
主要措施
· 符號化是將文本分解成更小、更容易處理的片段的過程。 代幣 .
· 符號可以是單詞、子單詞或單個字符。
· 符號化對于模型有效處理文本、處理未知單詞和跨語言工作至關(guān)重要。
· 雖然存在替代品,但標(biāo)記化仍然是?現(xiàn)代LLMS .