博客專欄

EEPW首頁 > 博客 > 從馬爾可夫鏈到GPT,字節(jié)跳動AI Lab總監(jiān)李航細說語言模型的前世今生

從馬爾可夫鏈到GPT,字節(jié)跳動AI Lab總監(jiān)李航細說語言模型的前世今生

發(fā)布人:機器之心 時間:2022-07-24 來源:工程師 發(fā)布文章

本文描述了語言模型的發(fā)展歷史,指出未來可能的發(fā)展方向。

近年來,自然語言處理 (NLP) 領域發(fā)生了革命性的變化。由于預訓練語言模型的開發(fā)和應用,NLP 在許多應用領域取得了顯著的成就。預訓練語言模型有兩個主要優(yōu)點。一、它們可以顯著提高許多自然語言處理任務的準確性。例如,可以利用 BERT 模型來實現(xiàn)比人類更高的語言理解性能。我們還可以利用 GPT-3 模型生成類似人類寫的文章。預訓練語言模型的第二個優(yōu)點是它們是通用的語言處理工具。在傳統(tǒng)的自然語言處理中,為了執(zhí)行機器學習任務,必須標記大量數(shù)據(jù)來訓練模型。相比之下,目前只需要標記少量數(shù)據(jù)來微調預訓練語言模型,因為它已經獲得了語言處理所需的大量知識。
本文從計算機科學的發(fā)展歷史和未來趨勢的角度簡要介紹語言建模,特別是預訓練語言模型,對 NLP 領域的基本概念、直觀解釋、技術成就和面臨的挑戰(zhàn)展開了綜述,為初學者提供了關于預訓練語言模型的參考文獻。
自然語言處理是計算機科學(CS)、人工智能(AI)和語言學的一個交叉領域,包括機器翻譯、閱讀理解、對話系統(tǒng)、文本摘要、文本生成等應用。近年來,深度學習已成為自然語言處理的基礎技術。
借助數(shù)學知識對人類語言建模主要有兩種方法:一種是基于概率,另一種是基于形式語言。這兩種方法也可以結合使用。從基本框架的角度看,語言模型屬于第一類。語言模型是定義在單詞序列(句子或段落)上的概率分布。
本文首先介紹馬爾可夫和香農的研究中關于語言建模的基本概念;然后討論了諾姆 ? 喬姆斯基提出的語言模型(基于形式語言理論),描述了神經語言模型的定義及其對傳統(tǒng)語言模型的擴展;接下來解釋了預訓練語言模型的基本思想,討論了神經語言建模方法的優(yōu)勢和局限性,并對 NLP 的未來進行了展望。
馬爾可夫與語言模型
安德烈 · 馬爾可夫可能是第一個研究語言模型的科學家。盡管當時還沒有「語言模型」這個詞。
假設w1w2, ···, wN是一個單詞序列。我們可以按如下公式計算單詞序列的概率:

圖片


設 p(w1|w0) = p(w1)。
不同類型的語言模型使用不同的方法計算條件概率 p(wi|w1w2, ···, wi-1)。學習和使用語言模型的過程稱為語言建模。
n-gram 模型是一種基本模型,它假設每個位置的單詞僅取決于前 n-1 個位置的單詞。也就是說,該模型是一個 n–1 階馬爾可夫鏈。

圖片


馬爾可夫鏈模型非常簡單,只涉及兩個狀態(tài)之間的轉移概率。馬爾可夫證明,如果根據(jù)轉移概率在兩個狀態(tài)之間跳躍,則訪問兩個狀態(tài)的頻率將收斂到期望值,這是馬爾可夫鏈的遍歷定理。在接下來的幾年里,他擴展了模型,并證明了上述結論在更一般的情況下仍然成立。
為了提供一個具體的例子,馬爾可夫將他提出的模型應用于亞歷山大 · 普希金 1913 年的詩體小說《尤金 · 奧涅金》。去掉空格和標點符號,將小說的前 20000 個俄語字母分為元音和輔音,他得到了小說中的元音和輔音序列。然后,馬爾可夫使用紙和筆計算元音和輔音之間的轉換概率。然后,使用數(shù)據(jù)驗證最簡單馬爾可夫鏈的特征。非常有趣的是,馬爾可夫鏈的初始應用領域是語言。馬爾可夫模型是最簡單的語言模型。
香農和語言模型
1948 年,克勞德 · 香農發(fā)表了開創(chuàng)性的論文《通信的數(shù)學理論》,開創(chuàng)了信息論領域。在該論文中,香農引入了熵和交叉熵的概念,并研究了 n-gram 模型的性質。
熵表示概率分布的不確定性,而交叉熵表示概率分布相對于另一概率分布的不確定性。熵是交叉熵的下限。
假設語言(單詞序列)是由隨機過程生成的數(shù)據(jù)。n-gram 的概率分布熵定義如下:

圖片


其中 p(w1w2, ···, wn表示 n-gram 中 w1w2, ···, wn 的概率。n-gram 概率分布相對于數(shù)據(jù)「真實」概率分布的交叉熵定義如下:

圖片


其中q(w1w2, ···, wn表示 n-gram 中w1w2, ···, wn 的概率,p(w1w2, ···, wn表示 n-gram 中 w1w2, ···, wn 的真實概率。那么,以下關系成立:

圖片


Shannon-McMillan-Breiman 定理指出,當語言的隨機過程滿足平穩(wěn)性和遍歷性條件時,以下關系成立:

圖片


換句話說,當單詞序列長度趨于無窮大時,可以定義語言的熵,從語言的數(shù)據(jù)中估計出熵的常數(shù)值。
如果一種語言模型能比另一種語言模型更準確地預測單詞序列,那么它應該具有更低的交叉熵。因此,香農的工作為語言建模提供了一個評估工具。
注意,語言模型不僅可以建模自然語言,還可以建模形式和半形式語言,例如 Peng 和 Roth。
喬姆斯基和語言模型
與此同時,諾姆 · 喬姆斯基在 1956 年提出了喬姆斯基語法層次,用于表示語言的語法。他指出,有限狀態(tài)語法(n-gram 模型)在描述自然語言方面具有局限性。
喬姆斯基的理論認為,一種語言由一組有限或無限的句子組成,每個句子是一系列長度有限的單詞,單詞來自有限的詞匯,語法是一組生成規(guī)則,可以生成語言中的所有句子。不同的語法可以產生不同復雜性的語言,其中存在一些層次結構。
能夠生成有限狀態(tài)機可接受句子的語法是有限狀態(tài)語法或正則語法,而能夠生成非確定性下推自動機(PDA)可接受句子的語法是上下文無關語法(CFG),有限狀態(tài)語法正確地包含在上下文無關語法中。有限馬爾可夫鏈(或 n-gram 模型)背后的「語法」是有限狀態(tài)語法。有限狀態(tài)語法在生成英語句子方面確實有局限性。
然而,有限狀態(tài)語法不能描述所有的語法關系組合,有些句子無法涵蓋。因此,喬姆斯基認為,用有限狀態(tài)語法(包括 n-gram 模型)描述語言有很大的局限性。相反,他指出上下文無關語法可以更有效地建模語言。受他的影響,在接下來的幾十年里,上下文無關語法在自然語言處理中更為常用。喬姆斯基的理論目前對自然語言處理影響不大,但仍具有重要的科學價值。
神經語言模型
n-gram 模型的學習能力有限。傳統(tǒng)的方法是使用平滑方法從語料庫中估計模型中的條件概率 p(wi|wi-n+1wi-n+2, ···, wi-1。然而,模型中的參數(shù)數(shù)量為指數(shù)級O(Vn),其中 V 表示詞匯量。當 n 增加時,由于訓練數(shù)據(jù)的稀疏性,無法準確地學習模型的參數(shù)。
2001 年,Yoshua Bengio 等人提出了第一個神經語言模型,開啟了語言建模的新時代。
Bengio 等人提出的神經語言模型從兩個方面改進了 n-gram 模型。首先,實值向量(稱為單詞嵌入)用于表征單詞或單詞的組合。
詞嵌入作為一種「分布式表征」,可以比 one-hot 向量更有效地表征一個詞,具有泛化能力、穩(wěn)健性和可擴展性。并且,用神經網絡表征語言模型,大大減少了模型中的參數(shù)數(shù)量。條件概率由神經網絡確定:

圖片


其中(wi-n+1wi-n+2, ···, wi-1) 表示單詞 wi-n+1wi-n+2, ···, wi-1 的嵌入;f(·) 表示神經網絡;? 表示網絡參數(shù)。模型中的參數(shù)數(shù)量僅為 O(V)。圖 1 顯示了模型中表征之間的關系。每個位置都有一個中間表征,它取決于前 n–1 個位置處的詞嵌入(單詞),這適用于所有位置。然后,使用當前位置的中間表征為該位置生成一個單詞。

圖片

圖 1:原始神經語言模型中表征之間的關系

在 Bengio 等人的工作之后,研究人員開發(fā)了大量的詞嵌入方法和神經語言建模方法,從不同角度進行了改進。幾個有代表性的方法包括:文字嵌入方法 Word2Vec、遞歸神經網絡(RNN)語言模型,包括長短期記憶(LSTM)網絡。在 RNN 語言模型中,每個位置的條件概率由 RNN 確定:

圖片


其中w1w2, ···, wi-1 表示單詞w1w2, ···, wi-1的嵌入;f(·) 表示 RNN;? 表示網絡參數(shù)。RNN 語言模型不再使用馬爾可夫假設,每個位置的詞取決于之前所有位置的詞。RNN 中的一個重要概念是其中間表征或狀態(tài)。在 RNN 模型中,詞之間的依賴關系以狀態(tài)之間的依賴關系為特征。模型的參數(shù)被不同位置共享,但在不同位置獲得的表征不同。
下圖 2 顯示了 RNN 語言模型中表征之間的關系。到目前為止,每個位置的每一層都有一個中間表征,表示單詞序列的「狀態(tài)」。當前層在當前位置的中間表征由同一層在前一位置的中間表征和下面層在當前位置的中間表征確定。當前位置的最終中間表征用于計算下一個單詞的概率。

圖片

圖 2:RNN 語言模型中表征之間的關系
語言模型可用于計算語言(詞序列)的概率或生成語言。后一種情況通過從語言模型中隨機采樣來生成自然語言句子或文章。眾所周知,從大量數(shù)據(jù)中學習的 LSTM 語言模型可以生成非常自然的句子。
語言模型的擴展是條件語言模型,它計算給定條件下單詞序列的條件概率。如果條件是另一個詞序列,則問題變成從一個詞序列到另一個詞序列的轉換,即所謂的序列到序列問題。機器翻譯 、文本摘要和生成對話都是這樣的任務。如果給定的條件是圖片,那么問題就變成了從圖片到文字序列的轉換。圖像字幕就是這樣一項任務。
條件語言模型可用于多種應用。在機器翻譯中,系統(tǒng)將一種語言的句子轉換為另一種語言的句子,具有相同的語義。在對話生成中,系統(tǒng)生成對用戶話語的響應,兩條消息形成一輪對話。在文本摘要中,系統(tǒng)將長文本轉換為短文本,使后者代表前者的要點。模型的條件概率分布表示的語義因應用程序而異,并從應用程序的數(shù)據(jù)中學習。

序列到序列模型的研究有助于新技術的發(fā)展。典型的序列到序列模型是 Vaswani 等人開發(fā)的 transformer。transformer 完全基于注意力機制。并利用注意力在編碼器和****之間進行編碼、解碼和信息交換。目前,幾乎所有的機器翻譯系統(tǒng)都采用 transformer 模型,機器翻譯已經達到了幾乎可以滿足實際需要的水平。由于 transformer 在語言表示方面的強大功能,它的體系結構現(xiàn)在幾乎被所有預訓練語言模型所采用。
預訓練語言模型
基于 transformer 編碼器或****的語言模型分兩個階段進行學習:預訓練,通過無監(jiān)督學習(也稱為自監(jiān)督學習)使用非常大的語料庫訓練模型參數(shù);微調,將經過預訓練的模型應用于特定任務,并通過監(jiān)督學習使用少量標記數(shù)據(jù)進一步調整模型參數(shù)。下表 1 中的鏈接提供了學習和使用預訓練語言模型的資源。

圖片

表 1:學習和使用預訓練語言模型的資源。

有三種類型的預訓練語言模型:單向、雙向和序列到序列。由于篇幅限制,本文僅涵蓋前兩種類型。所有主要的預訓練語言模型都采用 transformer 的架構。表 2 提供了現(xiàn)有預訓練語言模型的簡介。

圖片

表 2 現(xiàn)有預訓練語言模型概述

Transformer 具有很強的語言表征能力,大型語料庫包含豐富的語言表達(這樣的未標記數(shù)據(jù)很容易獲得),使得訓練大規(guī)模深度學習模型變得更加高效。因此,預訓練語言模型可以有效地表示語言的詞匯、句法和語義特征。預訓練語言模型,如 BERT 和 GPT(GPT-1、GPT-2 和 GPT-3),已成為當前 NLP 的核心技術。
預訓練語言模型的流行,為自然語言處理帶來了巨大的成功。BERT 在語言理解任務(如閱讀理解)的準確性方面優(yōu)于人類。GPT-3 在文本生成任務中也達到了驚人的流利程度。請注意,這些結果僅表明機器在這些任務中具有非常高的性能,而不應簡單地解釋 BERT 和 GPT-3 能比人類更好地理解語言,因為這也取決于如何進行基準測試。正確理解和期望人工智能技術的能力對于該領域的發(fā)展至關重要。
Radford 和 Brown 等人開發(fā)的 GPT 具有以下架構。輸入是一系列單詞w1w2, ···, wN。首先,通過輸入層創(chuàng)建一系列輸入表征,表示為矩陣H(0)。
再通過 L transformer ****層后創(chuàng)建一系列中間表征,表示為矩陣H(L)

圖片


最后,根據(jù)每個位置的最終中間表征,計算每個位置的單詞概率分布。GPT 的預訓練與傳統(tǒng)的語言建模相同,目的是預測單詞序列的可能性。對于給定的詞序列w = w1w2, ···, wN,我們計算并最小化交叉熵或負對數(shù)似然來估計參數(shù):

圖片

其中? 表示 GPT 模型的參數(shù)。

圖 3 顯示了 GPTs 模型中表征之間的關系。每個位置的輸入表征由單詞嵌入和「位置嵌入」組成每個位置處每個層的中間表征是根據(jù)之前位置處下方層的中間表征創(chuàng)建的。從左到右在每個位置重復執(zhí)行單詞的預測或生成。換句話說,GPT 是一種單向語言模型,其中單詞序列從一個方向建模。(請注意,RNN 語言模型也是單向語言模型。)因此,GPTs 更適合解決自動生成句子的語言生成問題。

圖片

圖 3:GPT 模型中表征之間的關系
BERT,由 Devlin 等人開發(fā)。它的輸入是一個單詞序列,可以是單個文檔中的連續(xù)句子,也可以是兩個文檔中連續(xù)句子的串聯(lián)。這使得該模型適用于以一個文本作為輸入的任務(如文本分類),以及以兩個文本作為輸入的任務(如回答問題)。該模型首先通過輸入層創(chuàng)建一系列輸入表征,表示為矩陣H(0)。通過L transformer編碼器層創(chuàng)建一系列中間表征,表示為H(L)。

圖片


最后,可以根據(jù)每個位置的最終中間表征,計算每個位置的單詞概率分布。BERT 的預訓練作為所謂的 mask 語言建模進行。假設單詞序列是 w = w_1, w_2, ···, w_N。序列中的幾個詞被隨機 mask,即更改為特殊符號——產生新的詞序列。學習的目標是通過計算并最小化以下負對數(shù)似然來估計參數(shù),從而恢復「mask 詞」:

圖片


其中? 表示BERT模型的參數(shù),δi 取1或0,表示位置 i 處的單詞是否被 mask。請注意,mask 語言建模已經是一種不同于傳統(tǒng)語言建模的技術。
圖 4 顯示了 BERT 模型中表征之間的關系。每個位置的輸入表征由單詞嵌入、位置嵌入等組成。每個位置的每個層的中間表征是從下面所有位置的層的中間表征創(chuàng)建的。字的預測或生成在每個 mask 位置獨立執(zhí)行。也就是說,BERT 是一種雙向語言模型,其中單詞序列從兩個方向建模。因此,BERT 可以自然地應用于語言理解問題,這些問題的輸入是一個完整的單詞序列,輸出通常是一個標簽或標簽序列。

圖片

圖 4:BERT 模型中表征之間的關系
對預練語言模型的直觀解釋是,計算機在預訓練中基于大型語料庫進行了大量的單詞接龍(GPT)或單詞完形填空(BERT)練習,從單詞中捕獲各種構詞模式,然后從句子中構詞,并表達和記憶模型中的模式。文本不是由單詞和句子隨機創(chuàng)建的,而是基于詞匯、句法和語義規(guī)則構建的。GPT 和 BERT 可以分別使用 transformer 的****和編碼器來實現(xiàn)語言的組合性。(組合性是語言最基本的特征,也是由喬姆斯基層次結構中的語法建模的。)換句話說,GPT 和 BERT 在預訓練中獲得了大量的詞匯、句法和語義知識。因此,當適應特定任務時,可以僅使用少量標記數(shù)據(jù)來微調模型,以實現(xiàn)高性能。例如,BERT 的不同層具有不同的特征。底層主要代表詞匯知識,中間層主要代表句法知識,頂層主要代表語義知識。
預訓練語言模型,如 BERT 和 GPT-3,包含大量事實知識。例如,它們可以用來回答諸如「但丁出生在哪里?」只要他們從訓練數(shù)據(jù)中獲得了知識,就可以進行簡單的推理,例如「48 加 76 等于多少?」
然而,語言模型本身沒有推理機制。他們的「推理」能力是基于聯(lián)想而不是真正的邏輯推理。因此,他們在需要復雜推理的問題如論點推理、數(shù)值推理和話語推理等方面并沒有很好的表現(xiàn)。將推理能力和語言能力集成到自然語言處理系統(tǒng)中將是未來的一個重要課題。

未來展望
當代科學(腦科學和認知科學)對人類語言處理機制(語言理解和語言生成)的理解有限。在可預見的未來,很難看到出現(xiàn)重大突破,永遠不突破的可能性也存在。另一方面,我們希望不斷推動人工智能技術的發(fā)展,開發(fā)對人類有用的語言處理機器。

神經語言建模似乎是迄今為止最成功的方法。語言建模的基本特征沒有改變,即它依賴于在包含所有單詞序列的離散空間中定義的概率分布。學習過程是找到最優(yōu)模型,以便根據(jù)交叉熵預測語言數(shù)據(jù)的準確性最高(見圖 5)。神經語言建模通過神經網絡構建模型。其優(yōu)點是,通過利用復雜的模型、大數(shù)據(jù)和強大的計算能力,它可以非常準確地模擬人類的語言行為。從 Bengio 等人提出的原始模型到 RNN 語言模型和預訓練語言模型,如 GPT 和 BERT,神經網絡的架構變得越來越復雜(參見圖 1, 2 ,3 ,4 ),而預測語言的能力越來越高(交叉熵越來越?。H欢?,這并不一定意味著這些模型具有與人類相同的語言能力,這種方法的局限性也是不言而喻的。

圖片

圖 5:該機器通過調整其 “大腦” 內神經網絡的參數(shù)來模擬人類的語言行為最終,它可以像人類一樣處理語言
還有其他可能的發(fā)展途徑嗎?目前尚不清楚??梢灶A見,神經語言建模方法仍有許多可改進的方面。當前的神經語言模型與人腦在表示能力和計算效率(在功耗方面)方面仍有很大差距。成年人的大腦處理語言問題只需要 12 瓦功耗與之形成鮮明對比的是,根據(jù)作者的說法,訓練 GPT-3 模型已經消耗了數(shù)千萬億次浮點計算。能否開發(fā)出更接近人類語言處理的更好的語言模型是未來研究的一個重要方向。技術改進仍有很多機會。我們仍然可以從腦科學的有限發(fā)現(xiàn)中繼續(xù)探索。
人們認為,人類語言處理主要在大腦皮層的兩個大腦區(qū)域進行:布羅卡區(qū)和韋尼克區(qū)(圖 6)。前者負責語法,后者負責詞匯。有兩種典型的由腦損傷引起的失語癥。布羅卡區(qū)受傷的患者只能用零星的單詞而不是句子說話,而韋尼克區(qū)受傷的患者可以構造語法正確的句子,但單詞往往缺乏意義。一個自然的假設是,人類的語言處理是在兩個大腦區(qū)域并行進行的。是否有必要采用更人性化的處理機制是一個值得研究的課題。語言模型不明確使用語法,也不能無限組合語言,這是喬姆斯基指出的人類語言的一個重要屬性。將語法更直接地納入語言模型的能力將是一個需要研究的問題。

圖片

圖 6 人腦中負責語言處理的區(qū)域
腦科學家認為,人類語言理解是一個在潛意識中激活相關概念表達并在意識中生成相關圖像的過程。表征包括視覺、聽覺、觸覺、嗅覺和味覺表征。它們是視覺、聽覺、觸覺、嗅覺和味覺等概念的內容,這些概念通過一個人在成長和發(fā)展過程中的經歷在大腦的各個部分被記住。因此,語言理解與人們的經驗密切相關。生活中的基本概念,如貓和狗,是通過視覺、聽覺、觸覺等傳感器的輸入來學習的。聽到或看到單詞 “貓” 和“狗”也會激活人們大腦中相關的視覺、聽覺和觸覺表征。機器能否從大量多模式數(shù)據(jù)(語言、視覺、語音)中學習更好的模型,以便能夠更智能地處理語言、視覺和語音?多模態(tài)語言模型將是未來探索的一個重要課題。
結論
語言模型的歷史可以追溯到 100 多年前。馬爾可夫、香農和其他人無法預見他們研究的模型和理論會在以后產生如此大的影響;這對 Bengio 來說甚至可能出乎意料。未來 100 年,語言模型將如何發(fā)展?它們仍然是人工智能技術的重要組成部分嗎?這超出了我們的想象和預測。我們可以看到,語言建模技術在不斷發(fā)展。在未來幾年,很可能會有更強大的模型取代 BERT 和 GPT。對我們來說,我們有幸成為第一代看到技術巨大成就并參與研發(fā)的人。
原文鏈接:https://cacm.acm.org/magazines/2022/7/262080-language-models/fulltext


*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。

紅外熱像儀相關文章:紅外熱像儀原理


關鍵詞: AI

相關推薦

技術專區(qū)

關閉