【NLP】GPT:第一个引入Transformer的预训练模型
目前兩種最重要的預訓練語言模型,一種是前面介紹過的BERT,另外一種就是GPT。
GPT出了兩個版本,GPT1.0和GPT2.0,GPT2.0相對于GPT1.0差別不大,可以認為是它的增強版。本篇介紹GPT1.0和GPT2.0,看看它于BERT有什么不一樣。
作者&編輯 | 小Dream哥
1 GPT是什么
General Pre-Training(GPT),即通用預訓練語言模型,是一種利用Transformer作為特征抽取器,基于語言模型進行訓練的預訓練語言模型。?
所以,理解GPT主要熟悉兩個方面即可,即語言模型和其由Transformer組成的結構。
2 語言模型
一個語言模型通常構建為一句話的概率分布p(W),這里的p(W)實際上反映的是W作為一個句子出現的概率。?說成大白話,語言模型就是計算某個句子出現的概率。
?對于一個由T個詞按順序構成的句子,P(W)實際上求解的是字符串的聯合概率,利用貝葉斯公式,鏈式分解如下:
從上面可以看到,一個統計語言模型可以表示成,給定前面的的詞,求后面一個詞出現的條件概率。
我們在求P(W)時實際上就已經建立了一個模型,這里的諸多條件概率就是模型的參數。如果能夠通過語料,將這些參數都學習到,就能夠計算出一個句子出現概率。
GPT的預訓練過程就是利用語料,構造訓練數據,利用上述語言模型,不斷預測,學習參數的過程。
3 GPT模型結構
上述介紹了GPT如何利用無監督語料和語言模型構建任務進行訓練。那么GPT的網絡模型結構長什么樣呢?訓練過程優化的網絡,是個怎么樣的網絡呢?我們來看看。
GPT中引入的是Transformer中的解碼器部分,結構如下圖所示:
解碼器與編碼器的差異在于self-attention層上,解碼器加了一層掩碼,這是為了在自注意力計算的時候屏蔽了來自當前計算位置右邊所有單詞的信息。試想一下,在上述語言模型中,如果在預測下一個詞時,已經知道下一個詞的信息了,這不是作弊嗎?這一點是與BERT這種雙向結構不同的地方。
如上圖所示,GPT就是由12個這樣的解碼器堆疊而成,如果看過之前我們分析BERT文章的同學,對這種結構的理解,應該會游刃有余了。
這里還值得一說的是下游任務如何基于GPT預訓練之后進行Finetune。以分類為例,只需在樣本前后分別加上Start和Extract符號,然后輸入GPT,再接上分類器即可進行Finetune或者預測了。怎么樣?是不是非常的省心?
4 GPT2.0
其實相對于GPT1.0在模型結構和訓練模式上并沒有本質的區別,GPT2.0僅僅是加大了模型結構和訓練語料的規模。
GPT2.0使用了約 1000 萬篇文章的數據集,文本集合達 40GB。這樣訓練出來的語言模型優勢很明顯,比使用專有數據集來的通用性更強,更能理解語言和知識邏輯,可以用于任意領域的下游任務。
還有一個變化是,在GPT2.0中,OpenAI沒有再強調Finetune,也就說,OpenAI認為,只要模型能力夠強,語料夠好覆蓋面夠廣,Finetune的過程其實不是必要的。
5 總結
GPT,特別是GPT2.0是一個大型無監督語言模型,能夠生產連貫的文本段落,在許多語言建模基準上取得了 SOTA 表現。而且該模型在沒有任務特定訓練的情況下,能夠做到初步的閱讀理解、機器翻譯、問答和自動摘要。
OpenAI非常的倔強,一直沿用單向語言模型的思路。這個特點讓GPT2.0的語言生成能力令人驚嘆。GPT和BERT是目前為止影響力最大的兩種預訓練語言模型,至今為止,勝負還沒有定論,我們且關注。
總結
GPT是一種非常重要而且成功的預訓練語言模型,后續openAI肯定還會繼續更新他們的工作,對NLP從業者來說,這是非常值得期待的事情,我們拭目以待。
讀者們可以留言,或者加入我們的NLP群進行討論。感興趣的同學可以微信搜索jen104,備注"加入有三AI NLP群"。
下期預告:XLnet:BERT和GPT的結合
知識星球推薦
掃描上面的二維碼,就可以加入我們的星球,助你成長為一名合格的自然語言處理算法工程師。
知識星球主要有以下內容:
(1) 聊天機器人。考慮到聊天機器人是一個非常復雜的NLP應用場景,幾乎涵蓋了所有的NLP任務及應用。所以小Dream哥計劃以聊天機器人作為切入點,通過介紹聊天機器人的原理和實踐,逐步系統的更新到大部分NLP的知識,會包括語義匹配,文本分類,意圖識別,語義匹配命名實體識別、對話管理以及分詞等。
(2) 知識圖譜。知識圖譜對于NLP各項任務效果好壞的重要性,就好比基礎知識對于一個學生成績好壞的重要性。他是NLP最重要的基礎設施,目前各大公司都在著力打造知識圖譜,作為一個NLP工程師,必須要熟悉和了解他。
(3) NLP預訓練模型。基于海量數據,進行超大規模網絡的無監督預訓練。具體的任務再通過少量的樣本進行Fine-Tune。這樣模式是目前NLP領域最火熱的模式,很有可能引領NLP進入一個全新發展高度。你怎么不深入的了解?
轉載文章請后臺聯系
侵權必究
往期精選
【NLP】自然語言處理專欄上線,帶你一步一步走進“人工智能技術皇冠上的明珠”。
【NLP】用于語音識別、分詞的隱馬爾科夫模型HMM
【NLP】用于序列標注問題的條件隨機場(Conditional Random Field, CRF)
【NLP】經典分類模型樸素貝葉斯解讀
【NLP】 NLP專欄欄主自述,說不出口的話就交給AI說吧
【NLP】 深度學習NLP開篇-循環神經網絡(RNN)
【NLP】 NLP中應用最廣泛的特征抽取模型-LSTM
【NLP】 聊聊NLP中的attention機制
【NLP】 理解NLP中網紅特征抽取器Tranformer
【NLP】TransformerXL:因為XL,所以更牛
【NLP】 深入淺出解析BERT原理及其表征的內容
【NLP】XLnet:GPT和BERT的合體,博采眾長,所以更強
【每周NLP論文推薦】從預訓練模型掌握NLP的基本發展脈絡
【每周NLP論文推薦】 NLP中命名實體識別從機器學習到深度學習的代表性研究
【每周NLP論文推薦】 介紹語義匹配中的經典文章
【技術綜述】深度學習在自然語言處理中的應用
總結
以上是生活随笔為你收集整理的【NLP】GPT:第一个引入Transformer的预训练模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【每周NLP论文推荐】 开发聊天机器人必
- 下一篇: 【杂谈】一招,同时可视化18个开源框架的