GPT 原理解析

本文首發(fā)于我的個人博客 Sui Xin's Blog
原文:https://suixinblog.cn/2019/09/gpt.html
作者:Sui Xin

GPT(Generative Pre-Training)是一個典型的兩階段式模型:無監(jiān)督預(yù)訓(xùn)練+監(jiān)督下游任務(wù)微調(diào)。而在 NLP 任務(wù)中励两,上游的無監(jiān)督預(yù)訓(xùn)練任務(wù)多半采用語言模型來實現(xiàn)挫掏,下游的監(jiān)督任務(wù)直接對上游的模型進行簡單改造即可使用续挟。
GPT 為了能夠有效的抓取文本中的語義信息叹阔,使用了單向的 Transformer Decoder 模塊構(gòu)建標準的語言模型截酷,再使用預(yù)訓(xùn)練得到的網(wǎng)絡(luò)架構(gòu)與參數(shù)進行下游監(jiān)督任務(wù)的微調(diào)蔓同,取得了不錯的效果饶辙。
論文:Improving Language Understanding by Generative Pre-Training

模型架構(gòu)

無監(jiān)督預(yù)訓(xùn)練語言模型

對于語料 \mathcal{U}=\left(u_{1}, \dots, u_{n}\right),GPT 構(gòu)建標準的語言模型:
L_{1}(\mathcal{U})=\sum_{i} \log P\left(u_{i} | u_{i-k}, \ldots, u_{i-1} ; \Theta\right)
文章中使用 Transformer Decoder 模塊加上前饋神經(jīng)網(wǎng)絡(luò)斑粱,最后使用 softmax 輸出目標詞的分布:
\begin{aligned} h_{0} &=U W_{e}+W_{p} \\ h_{l} &=\text { transformer }_{-} \mathrm弃揽 1 \mathrm{ock}\left(h_{l-1}\right) \forall l \in[1, n] \\ P(u) &=\operatorname{softmax}\left(h_{n} W_{e}^{T}\right) \end{aligned}

注:(不確定部分)實驗中,語言模型中的 Transformer Decoder 模塊不同于標準的 Transformer 模型则北,而是使用了 Transformer 的另一個版本:GENERATING WIKIPEDIA BY SUMMARIZING LONG SEQUENCES矿微。其中,使用了名為 Local attention 和 Memory-compressed attention 的模塊尚揣。

下游監(jiān)督任務(wù)微調(diào)

對于通過第一階段的預(yù)訓(xùn)練得到的語言模型涌矢,對于特定的任務(wù)進行 fine-tuning。
對于一個監(jiān)督數(shù)據(jù)集 \mathcal{C}快骗,其中的數(shù)據(jù)為一個序列 x^{1}, \ldots, x^{m} 和一個標簽 y娜庇。將序列輸入預(yù)訓(xùn)練模型后得到輸出向量為 h_{l}^{m},接著使用一個線性層來預(yù)測標簽:
P\left(y | x^{1}, \ldots, x^{m}\right)=\operatorname{softmax}\left(h_{l}^{m} W_{y}\right)
需極大化的似然函數(shù)為:
L_{2}(\mathcal{C})=\sum_{(x, y)} \log P\left(y | x^{1}, \ldots, x^{m}\right)
另外方篮,作者發(fā)現(xiàn)思灌,使用語言模型來輔助監(jiān)督學(xué)習(xí)的任務(wù)進行微調(diào),有兩個好處:

  1. 提升監(jiān)督模型的泛化性恭取;
  2. 加速收斂泰偿。

所以,最終下游使用的監(jiān)督模型目標函數(shù)為:
L_{3}(\mathcal{C})=L_{2}(\mathcal{C})+\lambda * L_{1}(\mathcal{C})

不同類型下游任務(wù)的輸入變換

GPT 使用兩階段式模型的另外一個好處是蜈垮,作者期望通過第一階段的預(yù)訓(xùn)練語言模型耗跛,學(xué)習(xí)到盡可能多的自然語言信息,且對于大多數(shù)下游任務(wù)攒发,只需要簡單的修改輸入而不需要修改模型架構(gòu)即可完成微調(diào)调塌。對于 NLP 中的幾種主流任務(wù),GPT 分別做了如下的變換策略:


image

其他

模型還包括一些細節(jié):

  • Adam 優(yōu)化器的學(xué)習(xí)率使用了退火策略惠猿;
  • 使用了 bytepair encoding(BPE)羔砾;
  • 使用了 Gaussian Error Linear Unit(GELU) 激活函數(shù)
  • Position embedding 通過學(xué)習(xí)得來,而不是標準 Transformer 的正弦函數(shù)姜凄。

模型特點

優(yōu)點

  • 特征抽取器使用了強大的 Transformer政溃,能夠捕捉到更長的記憶信息,且較傳統(tǒng)的 RNN 更易于并行化态秧;
  • 方便的兩階段式模型董虱。

缺點

  • 標準的 LM 只對單向進行建模,不符合真實場景申鱼,建模能力受到限制愤诱。

GPT-2

論文:Language Models are Unsupervised Multitask Learners
GPT-2 是 GPT 的直接升級版,效果驚人捐友。相比之下淫半,GPT-2 有如下幾點改進:

  1. 構(gòu)建了一個更加龐大的數(shù)據(jù)集 WebText,其涵蓋的領(lǐng)域比較廣泛匣砖,共有 8 百萬文檔撮慨,40 GB;
  2. 使用了更加龐大的網(wǎng)絡(luò)架構(gòu):最大 48 層 Transformer脆粥,1542M 參數(shù)砌溺,1600 維;
  3. GPT-2 提出這樣訓(xùn)練得到的模型变隔,能夠在 zero-shot 情形下也有不錯的表現(xiàn)规伐,從而證明了語言模型預(yù)訓(xùn)練的意義。

參考

GPT 官方網(wǎng)址:https://openai.com/blog/language-unsupervised/
GPT 官方 GitHub:https://github.com/openai/finetune-transformer-lm
GPT-2 官方網(wǎng)址:https://openai.com/blog/better-language-models/
GPT-2 官方 GitHub:https://github.com/openai/gpt-2

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末匣缘,一起剝皮案震驚了整個濱河市猖闪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肌厨,老刑警劉巖培慌,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異柑爸,居然都是意外死亡吵护,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門表鳍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來馅而,“玉大人,你說我怎么就攤上這事譬圣∥凸В” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵厘熟,是天一觀的道長屯蹦。 經(jīng)常有香客問我维哈,道長,這世上最難降的妖魔是什么登澜? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任阔挠,我火速辦了婚禮,結(jié)果婚禮上帖渠,老公的妹妹穿的比我還像新娘。我一直安慰自己竭宰,他們只是感情好空郊,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著切揭,像睡著了一般狞甚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上廓旬,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天哼审,我揣著相機與錄音,去河邊找鬼孕豹。 笑死涩盾,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的励背。 我是一名探鬼主播春霍,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼叶眉!你這毒婦竟也來了址儒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤衅疙,失蹤者是張志新(化名)和其女友劉穎莲趣,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體饱溢,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡喧伞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了绩郎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片絮识。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖嗽上,靈堂內(nèi)的尸體忽然破棺而出次舌,到底是詐尸還是另有隱情,我是刑警寧澤兽愤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布彼念,位于F島的核電站挪圾,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏逐沙。R本人自食惡果不足惜哲思,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吩案。 院中可真熱鬧棚赔,春花似錦、人聲如沸徘郭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽残揉。三九已至胧后,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抱环,已是汗流浹背壳快。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留镇草,地道東北人眶痰。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像梯啤,于是被迫代替她去往敵國和親凛驮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355