小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

效果逆天的通用語言模型GPT 2.0來了!它告訴了我們什么?

 黃爸爸好 2019-02-18
AI 前線導(dǎo)讀:2 月 15 日,OpenAI 在官博介紹了一個大規(guī)模無監(jiān)督 NLP 模型:GPT 2.0,被稱為“史上最強通用 NLP 模型”。該模型可以生成連貫的文本段落,刷新了 7 大數(shù)據(jù)集基準(zhǔn),并且能在未經(jīng)預(yù)訓(xùn)練的情況下,完成閱讀理解、問答、機器翻譯等多項不同的語言建模任務(wù)。

一時間,GPT 2.0 的消息在全網(wǎng)刷屏,有關(guān)這一模型是否被過譽的討論也在熱烈進行中。今天這篇文章,來著新浪微博 AI Lab 的算法專家張俊林將談一談自己對 GPT 2.0 的一些想法。

更多優(yōu)質(zhì)內(nèi)容請關(guān)注微信公眾號“AI 前線”(ID:ai-front)

最近朋友圈被 NLP 的技術(shù)大新聞刷屏刷得有點多,今天(2 月 15 日)中午開始又被 GPT 2.0 刷屏了,大致看了下新聞大致了解了下思路,覺得好像思路還好,但是看 GPT 2.0 那個生成的續(xù)寫故事的例子確實嚇了我一跳,這個效果好到出人意料。我看網(wǎng)上有些有才的朋友評論說:“應(yīng)該讓 GPT 去續(xù)寫紅樓夢后 40 回”,我估計高鶚聽后,正在地下或者天上凝視著說這句話的朋友瑟瑟發(fā)抖(這位有才的朋友,你想到這個場景會瑟瑟發(fā)抖嗎,哈哈),被人批評水平不夠 100 年,本來就郁悶,結(jié)果目前還冒出一個替代者,嘿嘿。還有的朋友說,也可以讓 GPT 去把那些挖坑不填坑的垃圾網(wǎng)絡(luò)小說作品續(xù)完。我覺得把 GPT 當(dāng)作垃圾文學(xué)回收站,也是個不錯的主意,但是我想問的是你問過 GPT 本人的意見嗎?寫小說這種工作,目前 NLP 技術(shù)很明顯還差得遠(yuǎn),不過如果再發(fā)展一步的話,還真有這種可能。

我的預(yù)感,未來兩年 NLP 可能會不斷爆出類似的刷屏新聞,真的進入一個技術(shù)快速發(fā)展期。按理說,這是 NLP 研發(fā)者的黃金期,這種時期最容易出好的成果,但是事實上,很可能你只能作為看熱鬧的看客,眼看他起高樓,眼看他宴賓客,但是別人的紅火與你無關(guān)。我想這種心情,昨天估計不敢刷朋友圈怕心靈創(chuàng)傷難以愈合的的單身狗朋友們,他們對這種類似的感受是理解最深的。那么為什么說 NLP 很可能進入快速發(fā)展期但是與你無關(guān)呢?原因我后面會說。

下午有位技術(shù)媒體的朋友問我說是不是寫點看法,我覺得貌似從技術(shù)上看算是正常進展,所以寫不寫都行,看了論文再決定。結(jié)果一直開會開到晚上,回家找來論文仔細(xì)看了一看,再結(jié)合前幾天媒體廣泛傳播的微軟的 MT-DNN 技術(shù),它們之間以及和 Bert 之間,是有內(nèi)在聯(lián)系的,所以覺得可以放一起簡單談?wù)効捶ǎ谑莿邮职疽箤懥诉@篇。本來我春節(jié)期間寫好了三篇推薦系統(tǒng)召回模型系列的文章,想最近先發(fā)一篇的,想了想既然 GPT 2.0 熱度高,不如蹭個熱度先發(fā)了,召回模型以后再慢慢陸續(xù)發(fā)出來吧。

進入正題。

GPT 2.0 到底做了什么

之前在介紹 Bert 的文章里:從 Word Embedding 到 Bert 模型—自然語言處理中的預(yù)訓(xùn)練技術(shù)發(fā)展史,我說 GPT 有個缺點,就是作者不太會炒作,因為它是個非常扎實的重大 NLP 進展,出生證日期顯示年齡比 Bert 大,但是 Bert 哇哇墜地就引來各界慈愛的目光,和交口稱贊,GPT 只能躲在無人角落里暗地淚垂,演繹了算法模型界的真正的同人不同命,冰火兩重天。沒想到時過不到 4 個月,GPT 2.0 就爆紅,被推上打著聚光燈的華美舞臺,驚艷亮相。炒作能力見長進,其實挺好,好工作其實是應(yīng)該 PR 的,這樣能讓更多人跟進真正有價值的工作,而這會更進一步促進領(lǐng)域的進步和發(fā)展,形成正循環(huán)。而不是特別好的工作過度 PR,會錯誤地引導(dǎo)大量人力/時間/機器等資源投入到錯誤的方向,這個其實是種資源浪費。

在談 GPT 2.0 之前,先回顧下它哥 GPT 1.0,這個之前我在介紹 Bert 模型的時候介紹過,過程參考上圖,簡述如下:GPT 1.0 采取預(yù)訓(xùn)練 +FineTuning 兩個階段,它采取 Transformer 作為特征抽取器。預(yù)訓(xùn)練階段采用“單向語言模型”作為訓(xùn)練任務(wù),把語言知識編碼到 Transformer 里。第二階段,在第一階段訓(xùn)練好的模型基礎(chǔ)上,通過 Finetuning 來做具體的 NLP 任務(wù)。GPT 1.0 本身效果就很好,不過之前說過,因為不會 PR,所以默默無聞,直到 Bert 爆紅后,才被人偶爾提起。從大框架上來說,Bert 基本就是 GPT 1.0 的結(jié)構(gòu),除了預(yù)訓(xùn)練階段采取的是“雙向語言模型”之外,它們并沒什么本質(zhì)差異,其它的技術(shù)差異都是細(xì)枝末節(jié),不影響大局,基本可忽略。

那么 GPT 2.0 本質(zhì)上是怎么做的呢?最大的改進是什么?其實幾句話就能說明白,就是上圖寫的內(nèi)容。

它的大框架其實還是 GPT 1.0 的框架,但是把第二階段的 Finetuning 做有監(jiān)督地下游 NLP 任務(wù),換成了無監(jiān)督地做下游任務(wù),為啥這么做?后面會講。我相信如果你理解 GPT 1.0 或者 Bert,那么是非常容易理解 GPT 2.0 的創(chuàng)新點在哪里的。

那么它最大的改進在哪里?本質(zhì)上,GPT2.0 選擇了這么一條路來強化 Bert 或者是強化 GPT 1.0 的第一個預(yù)訓(xùn)練階段:就是說首先把 Transformer 模型參數(shù)擴容,常規(guī)的 Transformer Big 包含 24 個疊加的 Block,就是說這個樓層有 24 層高,GPT 2.0 大干快上,加班加點,把樓層連夜蓋到了 48 層,高了一倍,參數(shù)規(guī)模 15 億,這個還是很壯觀的,目前貌似還沒有看到過 Transformer 樓層有這么高的模型。那么,為什么要擴容呢?這個只是手段,不是目的。真正的目的是:GPT 2.0 準(zhǔn)備用更多的訓(xùn)練數(shù)據(jù)來做預(yù)訓(xùn)練,更大的模型,更多的參數(shù),意味著更高的模型容量,所以先擴容,免得 Transformer 樓層不夠多的房間(模型容量)容納不下過多的住戶(就是 NLP 知識)。

水庫擴容之后,我們就可以開閘放水了。本質(zhì)上 GPT 2.0 主要做的是:找更大數(shù)量的無監(jiān)督訓(xùn)練數(shù)據(jù),這個其實好辦,反正是無監(jiān)督的,網(wǎng)上有的是,估計未來有一天我寫的這篇文章也能住進 GPT 2.0 的 Transformer 客房里。所以,GPT2.0 找了 800 萬互聯(lián)網(wǎng)網(wǎng)頁作為語言模型的訓(xùn)練數(shù)據(jù),它們被稱為 WebText。當(dāng)然,光量大還不夠,互聯(lián)網(wǎng)網(wǎng)頁還有個好處,覆蓋的主題范圍非常廣,800 萬網(wǎng)頁,主題估計五花八門,你能想到的內(nèi)容,除了國家禁止傳播的黃賭毒,估計在里面都能找到。這帶來另外一個好處:這樣訓(xùn)練出來的語言模型,通用性好,覆蓋幾乎任何領(lǐng)域的內(nèi)容,這意味著它可以用于任意領(lǐng)域的下游任務(wù),有點像圖像領(lǐng)域的 Imagenet 的意思。GPT 2.0 論文其實更強調(diào)訓(xùn)練數(shù)據(jù)的通用性強這點。當(dāng)然,除了量大通用性強外,數(shù)據(jù)質(zhì)量也很重要,高質(zhì)量的數(shù)據(jù)必然包含更好的語言及人類知識,所以 GPT 2.0 還做了數(shù)據(jù)質(zhì)量篩選,過濾出高質(zhì)量的網(wǎng)頁內(nèi)容來。

之后,GPT 2.0 用這些網(wǎng)頁做“單向語言模型”,我這里強調(diào)下,仍然是類似 GPT 1.0 的單向語言模型,而不是 Bert 的雙向語言模型任務(wù),后面我會單獨講下對這個事情的看法。這樣 GPT 就可以訓(xùn)練出一個更好的預(yù)訓(xùn)練模型了,盡管 GPT 2.0 沒有像 Bert 或者 1.0 版本一樣,拿這個第一階段的預(yù)訓(xùn)練模型有監(jiān)督地去做第二階段的 Finetuning 任務(wù),而是選擇了無監(jiān)督地去做下游任務(wù),盡管這看著和 Bert 差異很大,其實這點并不重要,甚至你都可以忽略掉這個過程(當(dāng)然,最吸引眼球的是第二個過程),要記住對于 GPT 2.0 來說最重要的其實是第一個階段。

其實,如果你不是非常專業(yè)的前沿 NLP 研究者的話,了解 GPT 2.0,這就足夠了,這即使不是 GPT 2.0 的百分之百,也有它的百分之 80 了。至于它提到的對 Transformer 結(jié)構(gòu)的微調(diào),以及 BPE 輸入方式,我相信都是不太關(guān)鍵的改動,應(yīng)該不影響大局。

如果你細(xì)致思考的話,上面講述的 GPT 流程,其實隱含了三個問題。

第一問題是:為什么 GPT 2.0 第二階段不通過 Finetuning 去有監(jiān)督地做下游任務(wù)呢?

其實 GPT 的作者是想通過這種方式說明:你看,通過這種改造,GPT 2.0 的 Transformer 學(xué)到了多少知識呀,通用性多強啊,做下游任務(wù)的時候,包括語言模型,QA,摘要,機器翻譯這么多任務(wù),即使不用有監(jiān)督的方式,直接拿第一階段用語言模型訓(xùn)練好的模型,都能比較好地做這些任務(wù)(從無監(jiān)督的角度比,效果確實挺好,但是跟目前有監(jiān)督的方法比很多效果差的還遠(yuǎn),這也正常)。GPT 作者心里想對你說的是:兄 dei(說起這個流行詞,我就有點哭笑不得,因為它讓我想起一件往事:我那 7 歲的娃今年春節(jié)期間竟然對她媽媽說:兄 dei,給我買個玩具小狗可好?),我就問你神奇不神奇?驚喜不驚喜?嗯,其它任務(wù)其實不驚奇,但是能做機器翻譯這個確實有點意思,不展開講了,建議機器翻譯的實驗部分可以好好看看想想為什么,論文里說了,這其實是個事故和意外,哈哈。

所以,第一個問題的答案是:無監(jiān)督地去做很多第二階段的任務(wù),只是 GPT 作者想說明在第一階段 Transformer 學(xué)到了很多通用的包含各個領(lǐng)域的知識,第二部分各種實驗是對這點的例證,如此而已。這是為何說第二階段其實不重要,因為它不是論文的中心思想,而是說明中心思想的例子。

下面談隱含的第二個問題,第二個問題其實比較相對有那么點意思,什么問題呢,就是:“在預(yù)訓(xùn)練階段,為什么 GPT 2.0 仍然固執(zhí)地用單向語言模型,而不是雙向語言模型呢?”你可以想想這背后可能是什么原因。關(guān)于這點,我講講我的看法,當(dāng)然你別太嚴(yán)肅地看我下面的說法,就當(dāng)是個我編撰的科技版八卦,今天不是“情人節(jié)后第二天紀(jì)念日”嗎?我開個玩笑調(diào)節(jié)下氣氛,哈哈。技術(shù)科普沒必要老板著臉推公式,是吧,反正這是我的理念。

我的不太準(zhǔn)的第六感隱隱約約地告訴我:貌似 GPT 的作者們,對于 GPT 作為本來該火的前輩模型,結(jié)果默默無聞,而后來居上的 Bert 爆紅,可能對這點有點意見?因為它們兩者僅有的大的不同就是 GPT 用的單向語言模型,Bert 用的雙向語言模型做預(yù)訓(xùn)練。所以感覺他們在做 GPT 2.0 的時候憋著一口氣。為啥這么講呢?因為 Bert 在論文的實驗部分已經(jīng)證明了:Bert 的效果比 GPT 好主要歸因于這個雙向語言模型(參考上圖 Bert 的實驗結(jié)果,去掉雙向語言模型的對比模型其實就等價于 GPT 1.0)。按理說,正常的思考模式,后面的改進模型應(yīng)該采納雙向語言模型,原因很簡單,因為它比單向的效果好。

但是,GPT 2.0 仍然固執(zhí)地選擇單向語言模型(也許 GPT 作者只想強調(diào)他們想做語言模型這個事情,畢竟生成內(nèi)容后續(xù)單詞這種模式,單向語言模型更方便,這估計是真正原因。不過既然我已經(jīng)開始編八卦了,就索性編完,畢竟我不是個輕言放棄的人,哈哈),貌似作者們選擇了另外一種打算趕超 Bert 的方式,就是提升模型參數(shù)容量和增加訓(xùn)練數(shù)據(jù)的數(shù)量,選了這么條路。我估計意思是說,Bert 你別得意得太早,盡管我用單向語言模型,一樣能干翻你。GPT 2.0 的論文在末尾留了個引子,說打算試試看 GPT 2.0 的單向語言模型是不是就比 Bert 的雙向語言模型差。估計他們還會推出 GPT 3.0,但是肯定還是單向語言模型,就是說人家不服氣,要靠其它方法用單向語言模型超過 Bert。嘿嘿,當(dāng)然,在強調(diào)一下,這是我編的八卦,或者是臆斷,未必是事實,但是我死活想不明白為啥他們做下游任務(wù)的時候不用雙向語言模型,想來想去貌似只有這個解釋最合理,哈哈,這是我的小人之心和玩笑話,別當(dāng)真。

下面嚴(yán)肅起來,不過我的感覺是,如果 GPT 2.0 采取雙向語言模型,然后再把目前增加訓(xùn)練數(shù)據(jù)質(zhì)量和數(shù)量的路子搭配起來,估計八九成做下游任務(wù)是能超過 Bert 的效果的,那為啥不這么做呢?覺得簡單擴充數(shù)據(jù),這么做創(chuàng)新性不夠酷,所以走了無監(jiān)督做下游任務(wù)的不尋常的路子?我估計后面 GPT 3.0 出來我們會知道真正的答案。當(dāng)然,話講回來,假設(shè) Bert 也在第一階段采取類似的擴充數(shù)據(jù)的改進方式,我相信 GPT 3.0 如果仍然采取單向語言模型的話,很大概率估計還是 Bert 贏。

最后是隱含的第三個問題,第三個問題也很有意思,這個問題其實跟第一個問題有點關(guān)系,問題是:“GPT 2.0 既然第二階段是無監(jiān)督的任務(wù),而它不做 Finetuning,那么你訓(xùn)練好一個語言模型,它當(dāng)然會根據(jù)輸入的一句話,給你蹦出后面可能緊跟那個單詞,這是標(biāo)準(zhǔn)的語言模型過程,這個正常。但是如果這時候讓它去做一個文本摘要任務(wù),它怎么知道它現(xiàn)在在做什么事情呢,根據(jù)輸入,應(yīng)該輸出什么東西呢?”就是這么個問題,你不細(xì)想可能容易忽略,但是細(xì)想其實挺有意思。

其實 GPT 2.0 在做下游無監(jiān)督任務(wù)的時候,給定輸入(對于不同類型的輸入,加入一些引導(dǎo)字符,引導(dǎo) GPT 正確地預(yù)測目標(biāo),比如如果做摘要,在輸入時候加入“TL:DR”引導(dǎo)字符串),它的輸出跟語言模型的輸出是一樣的,就是蹦出一個單詞。那么問題來了:對于比如摘要任務(wù),我們期待的輸出結(jié)果是一句話或者幾句話,你給我一個單詞,有點太小氣,那該怎么辦?很簡單,繼續(xù)一個字一個字往出蹦,按照這些字從系統(tǒng)里蹦出來的時間順序連起來,就是你想要的摘要結(jié)果,這種所有任務(wù)采取相同的往出蹦字的輸出模式也是有點意思的。就是說,GPT2.0 給出了一種新穎的生成式任務(wù)的做法,就是一個字一個字往出蹦,然后拼接出輸出內(nèi)容作為翻譯結(jié)果或者摘要結(jié)果。傳統(tǒng)的 NLP 網(wǎng)絡(luò)的輸出模式一般需要有個序列的產(chǎn)生結(jié)構(gòu)的,而 GPT 2.0 完全是語言模型的產(chǎn)生結(jié)果方式:一個字一個字往出蹦,沒有輸出的序列結(jié)構(gòu)。

上面內(nèi)容應(yīng)該就是我覺得關(guān)于 GPT 2.0,最值得了解的部分以及它的核心思路和思想了。

我的感覺,GPT 2.0 作為語言模型,用來生成自然語言句子或者段落的能力特別強,要理解有多強,看下面的例子就知道了:

參考上圖,系統(tǒng)提示出一個故事開始的幾句話,然后后面的內(nèi)容就靠 GPT2.0 的語言模型一個字一個字往出蹦,蹦出很多字后,形成后它補充的故事,如果你英文還可以的話,建議還是看看里面的內(nèi)容。文章開始說我看了 GPT 的例子嚇了一跳,就是說的這個例子。無論是語法,可讀性,語義一致性,都是很強的,這個超出我對目前技術(shù)的期待。也許未來我們會擁有 GPT 版莎士比亞,也未可知,我對此很期待。

歸納一下,我覺得,我們可以從兩個不同的角度來理解 GPT 2.0。

一個角度是把它看作采取類似 Elmo/GPT/Bert 的兩階段模型解決 NLP 任務(wù)的一種后續(xù)改進策略,這種策略可以用來持續(xù)優(yōu)化第一階段的預(yù)訓(xùn)練過程。畢竟目前 GPT 2.0 還只采用了 800 萬的網(wǎng)頁。你說用一億網(wǎng)頁去訓(xùn)練可以嗎?理論上看是可以的,方法都是現(xiàn)成的,就是 Bert 那種方法,可能連改都不用改。但是實際上要看你自己或者公司的賬戶余額,你數(shù)數(shù)后面有幾個零,你沒數(shù)我都遙遠(yuǎn)地隔著屏幕聽到了你的嘆息聲了,是吧?

當(dāng)然,從 GPT 2.0 的做法和結(jié)果來看,可能意味著這一點是可行的:后面我們也許可以通過現(xiàn)在的 Transformer 架構(gòu),持續(xù)增加高質(zhì)量網(wǎng)頁數(shù)量,就能夠不斷讓 Transformer 學(xué)到更多的知識,繼而進一步持續(xù)對下游任務(wù)有更高的提升。這是一條簡單有效的技術(shù)發(fā)展路徑。這也是為何我在開頭說,隱隱地預(yù)感到未來兩年我們會持續(xù)看到不同的 NLP 任務(wù)記錄被刷新,以及不斷爆出的新紀(jì)錄。為什么?很簡單,加大預(yù)訓(xùn)練數(shù)據(jù)量很可能就能做到這點。是否真的會是這樣,我們拭目以待,我對此也很有期待。當(dāng)然,你會問:這么做的收益有邊界嗎,如果無限增加數(shù)據(jù),就能持續(xù)提升任務(wù)效果,沒有終點嗎?事實肯定不是這樣,如果真是這樣那真是個天大的好消息,而這不可能,不過話說回來,但是目前 GPT 只用了 800 萬網(wǎng)頁,這肯定還只是一個開始,距離這種優(yōu)化模式的天花板還遠(yuǎn)。

那么另外一個問題是:GPT 2.0 和 Bert 兩階段模型是什么關(guān)系?其實答案上面都說了,GPT 2.0 其實進一步驗證了 Bert 這種兩階段是個非常有效的無監(jiān)督 NLP 語言知識編碼方法。進一步在哪里?它說明了第一個階段的預(yù)訓(xùn)練過程,如果采用更高質(zhì)量的數(shù)據(jù),采用更寬泛的數(shù)據(jù)(Web 數(shù)據(jù)量大了估計包含任何你能想到的領(lǐng)域),采用更大量的數(shù)據(jù)(WebText,800 萬網(wǎng)頁),Transformer 采用更復(fù)雜的模型(最大的 GPT2.0 模型是 Transformer 的兩倍層深),那么在 Transformer 里能學(xué)會更多更好的 NLP 的通用知識。為什么是通用的?因為第二階段不做任何 fine-tuning 就能達到更好的效果,而且是各種任務(wù),說明通用性好,通用性好說明了學(xué)到了各種類型的語言知識;而這無疑,如果我們第二階段仍然采取 Finetuning,對下游任務(wù)的提升效果是可以很樂觀地期待的。

另外一個角度也可以把 GPT 2.0 看成一個效果特別好的語言模型,可以用它來做語言生成類任務(wù),比如摘要,QA 這種,再比如給個故事的開頭,讓它給你寫完后面的情節(jié),目前看它的效果出奇的好。當(dāng)然,僅僅靠拼數(shù)據(jù)量做純語言模型能讓機器產(chǎn)生情節(jié)合理的文章嗎?我覺得可能性不太大,GPT 2.0 的生成內(nèi)容質(zhì)量好,很可能只是它的記憶能力強導(dǎo)致的,我估計可能是它在把它從大量網(wǎng)頁中記憶的語言片段往外直接拋出來的,不代表它真有編寫合理故事的能力。為什么 GPT 2.0 通過語言模型能夠在 QA 任務(wù)中能夠不做訓(xùn)練,回答正確一定比例的問題?我覺得很可能是因為預(yù)訓(xùn)練數(shù)據(jù)集合太大,又比較寬泛,這些問題及答案在網(wǎng)頁里面很接近的地方出現(xiàn)過。而看它的實驗部分,起碼 QA 任務(wù)確實也是這樣的。

但是不論如何,GPT 2.0 的結(jié)果起碼告訴我們,走這條路子對于產(chǎn)生高質(zhì)量的生成文章是很有幫助的,我覺得起碼對于生成句子的流暢性,可讀性這些語言表層的方面有直接幫助,但是涉及到情節(jié),這個估計就純粹靠蒙了。但是寫到這句話的時候,我突然想到了一個改進它的思路,讓它能夠受到你想要的情節(jié) context 的約束去生成內(nèi)容,有點跑題,就不展開講了。我覺得對于 GPT 2.0 的改進方向來說,如何加入情節(jié)約束,產(chǎn)生特別好的生成文章,這個是個很有前途的方向。而在這點上,GPT 2.0 的貢獻是給我們指出了一條路,就是 Transformer+ 刷數(shù)據(jù)量,省心省力費機器的一條路。另外,Transformer 之前在語言模型上通常做不過 RNN,雖然有后續(xù)研究表明它可以達到 RNN 類似的效果,但是 GPT 2.0 無疑進一步突破了這個障礙,為 Transformer 的進一步攻城略地打下了堅實的基礎(chǔ)。

Bert的另一種改進模式:進一步多任務(wù)預(yù)訓(xùn)練

上面介紹的是 GPT 2.0 的改進模式,如上歸納,它采取的大的策略是:優(yōu)化 Bert 的第一個預(yù)訓(xùn)練階段,方向是擴充數(shù)據(jù)數(shù)量,提升數(shù)據(jù)質(zhì)量,增強通用性,追求的是通過做大來做強。那么如果讓你來優(yōu)化 Bert 模型,除了這種無監(jiān)督模式地把訓(xùn)練數(shù)據(jù)做大,還有其它模式嗎?

當(dāng)然有,你這么想這個問題:既然 Bert 的第一個階段能夠無監(jiān)督模式地把訓(xùn)練數(shù)據(jù)做大,我們知道,機器學(xué)習(xí)里面還有有監(jiān)督學(xué)習(xí),NLP 任務(wù)里也有不少有監(jiān)督任務(wù)是有訓(xùn)練數(shù)據(jù)的,這些數(shù)據(jù)能不能用進來改善 Bert 第一階段的那個學(xué)習(xí)各種知識的 Transformer 呢?肯定是可以的呀,所以很自然的一個想法是:把 Bert 第一階段改成多任務(wù)學(xué)習(xí)的訓(xùn)練過程,這樣就可以把很多 NLP 任務(wù)的有監(jiān)督訓(xùn)練數(shù)據(jù)里包含的知識引入到 Transformer 中了。

這種做法一個典型的模型是最近微軟推出的 MT-DNN,改進思路就如上所述,可以參考上圖示意。核心思想如上,結(jié)構(gòu)上底層就是標(biāo)準(zhǔn)的 Bert Transformer,在上層針對不同任務(wù)構(gòu)造不同優(yōu)化目標(biāo),所有不同上層任務(wù)共享底層 Transformer 參數(shù),這樣就強迫 Transformer 通過預(yù)訓(xùn)練做很多 NLP 任務(wù),來學(xué)會新的知識,并編碼到 Transformer 的參數(shù)中。

對 Bert 的多任務(wù)改造其實是個非常自然的 Bert 的拓展思路,因為本來原始版本的 Bert 在預(yù)訓(xùn)練的時候就是多任務(wù)過程,包括語言模型以及 next-sentence 預(yù)測兩個任務(wù)。新的多任務(wù)的目標(biāo)是進一步拓展任務(wù)數(shù)量,以此來進行模型優(yōu)化。

這種改進在效果上也有直接的效果提升,在 11 項 NLP 任務(wù)中 9 項超過了原始版本的 Bert。

我覺得如果你是做應(yīng)用,這條路也可以走得更遠(yuǎn)一些,引入更多的有監(jiān)督 NLP 任務(wù),集成更多的知識,無疑這么做是有好處的。

NLP 領(lǐng)域的一些發(fā)展趨勢

最后,我結(jié)合最近兩個月一些熱門技術(shù)新聞的做法,順便再談?wù)勎业囊恍╆P(guān)于 NLP 技術(shù)趨勢的看法,有些觀點之前提過,再強調(diào)一下,有些觀點比較細(xì),算是一個歸納吧。

目前可以看出,從 NLP 主流模型進化的角度,有以下幾個趨勢:

第一個趨勢:采取 Bert 的兩階段模式,Bert 雖然還沒多大歲數(shù),還不到一歲,但是最近兩個月,目前各種 NLP 評測刷榜的基本都是它。據(jù)我所知很多具備一定規(guī)模的互聯(lián)網(wǎng)公司已經(jīng)都開始在評估部署 Bert 模型了,微博也用 Bert 大幅度改進了標(biāo)簽分類的精度,目前正在其它各種 NLP 應(yīng)用任務(wù)進一步推廣。沒辦法,Bert 效果確實好,你不得不服。所以這個趨勢已經(jīng)開始彰顯了;

第二個趨勢:特征抽取器采用 Transformer,這個之前在做 NLP 特征抽取器的文章里,我說明過原因,根本原因是效果比 CNN 和 RNN 好,至于它們之間的比較,可以參考之前的文章:放棄幻想,全面擁抱 Transformer:自然語言處理三大特征抽取器(CNN/RNN/TF)比較。當(dāng)然,Transformer 也有幾個重點改進方向,這個后面找機會詳細(xì)說一下。

第三個趨勢,從最近的幾個工作,我們可以看出 Bert 兩階段模式中,第一個預(yù)訓(xùn)練階段的兩種改進方向:當(dāng)然基礎(chǔ)是越來越深(意味著模型參數(shù)容量大,各種知識和數(shù)據(jù)?就是死記硬背我也要記住你,大致就是這個意思)的 Transformer 作為特征抽取器;第一階段的改進工作花開兩只:

一種是強調(diào)通用性好以及規(guī)模大。 加入越來越多高質(zhì)量的各種類型的無監(jiān)督數(shù)據(jù),GPT 2.0 指出了個明路,就是凈化的高質(zhì)量網(wǎng)頁,這個跟無限也差不多了,就看你舍得花多少錢去訓(xùn)練模型。通俗點說,就是靠數(shù)據(jù)規(guī)模和金錢堆出來的。它的最明顯好處是通用性好,訓(xùn)練好后什么場合都適用。但是因為單純做純語言模型任務(wù)的話,學(xué)習(xí)效率低一些,只能靠量大取勝,這是種“瘦死的駱駝比馬大”的策略;

第二種是通過多任務(wù)訓(xùn)練,加入各種新型的 NLP 任務(wù)數(shù)據(jù),它的好處是有監(jiān)督,能夠有針對性的把任務(wù)相關(guān)的知識編碼到網(wǎng)絡(luò)參數(shù)里,所以明顯的好處是學(xué)習(xí)目標(biāo)明確,學(xué)習(xí)效率高;而對應(yīng)的缺點是 NLP 的具體有監(jiān)督任務(wù),往往訓(xùn)練數(shù)據(jù)量少,于是包含的知識點少;而且有點偏科,學(xué)到的知識通用性不強。

當(dāng)然,我相信,我們很快會看到兩者的合流,就是同時用超大規(guī)模的無監(jiān)督語言模型 + 各種花樣的有監(jiān)督 NLP 多任務(wù)訓(xùn)練。這很正常,因為其實語言模型也是多任務(wù)的一種,本來 Bert 原始的預(yù)訓(xùn)練過程就是多任務(wù)的:一個是語言模型,一個是 next sentence 預(yù)測。多任務(wù)無非是把 Bert 的兩個任務(wù)拓展到更多任務(wù)中去。所以兩者本來就是從 Bert 很自然能夠引出來的自然而然,又一體化的事情。

那么好奇的你問了:這種模式的發(fā)展盡頭在哪里?

我指指銀行的方向:那就是你這個問題的答案。當(dāng)然,我不是在唆使你去搶銀行啊,別會錯意,否則迎接你的不是美酒,而會是手銬和獵槍。

第四個趨勢:GPT2.0 其實真正能夠吸引人眼球的是它生成的高質(zhì)量內(nèi)容,讓人印象深刻。從 GPT 2.0 的結(jié)果看,這種 采取超深層 Transformer+ 更大量的網(wǎng)頁數(shù)據(jù)去做更好的語言模型,并進而做各種生成式任務(wù),看樣子是有前途的。當(dāng)然,我前面提到,估計要引入情節(jié)規(guī)劃的約束,這個事情才能真正做好。

玩法的轉(zhuǎn)向

上面簡單談?wù)勎覀€人認(rèn)為的幾個技術(shù)趨勢,其實最近的一些技術(shù)進展,隱隱地透漏出 NLP 研發(fā)模式的一個轉(zhuǎn)向,那么是怎樣的一個轉(zhuǎn)向呢?

我們從 Bert/GPT 2.0 也可以看出 NLP 研發(fā)模式在將來的一個發(fā)展趨勢:充分利用更大容量的模型,利用無限的無監(jiān)督的人寫好的文章,去編碼其中蘊含的語言學(xué)知識,以及,人類的知識。很明顯 NLP 已經(jīng)在往這個方向轉(zhuǎn)向,而這背后隱藏著什么?超級昂貴的 GPU 計算時間,超大規(guī)模 GPU 機器學(xué)習(xí)集群,超長的模型訓(xùn)練過程。歸根結(jié)底一句話:靠燒錢??繜X背后又有兩層意思,一個意思是你沒錢就玩不起,就會被清除出 NLP 的競賽場;另外一個意思是:即使你們公司有錢,但是錢讓不讓你花在這上面?當(dāng)然這是另外一個問題。

總而言之,這說明 NLP 值得一提的技術(shù)進展的玩法已經(jīng)變了,以后 游戲規(guī)則變成了:土豪大科技公司靠暴力上數(shù)據(jù)規(guī)模,上 GPU 或者 TPU 集群,訓(xùn)練好預(yù)訓(xùn)練模型發(fā)布出來,不斷刷出大新聞。通過暴力美學(xué)橫掃一切,這是土豪端的玩法。而對于大多數(shù)人來說,你能做的是在別人放出來的預(yù)訓(xùn)練模型上做小修正或者刷應(yīng)用或者刷各種榜單,逐步走向了應(yīng)用人員的方向,這是大多數(shù) NLP 從業(yè)者未來幾年要面對的 dilemma。原因很簡單,如果上數(shù)據(jù)能夠推進 NLP 效果,這其實是非常好的事情,這意味著我們會進入技術(shù)發(fā)展快車道,因為目標(biāo)和手段非常簡單明確,但是這背后的潛臺詞技術(shù):目前變成了已經(jīng)進入燒錢比進展的時代了,而很明顯,在未來的 1 到 2 年里,類似 Google/Facebook 這種財大氣粗而且創(chuàng)始人具備極端的科學(xué)熱情的的土豪科技公司,會積累越來越明顯的軍備競賽優(yōu)勢,我們會看到未來這些公司不斷爆出在各個 NLP 應(yīng)用領(lǐng)域的各種刷新記錄,及更巨無霸的新模型的出現(xiàn)。

這對于身處公司里的同事們,其實是個好事情,因為我們本身就是做應(yīng)用的,追求短平快,簡單有效最好不過,但是這對學(xué)術(shù)圈來說,意味著什么呢?這個問題值得您深入思考。

好了,今天啰嗦到這里,就此別過。

對了,忘了提了,本文作者欄那個名字其實是個筆名,隱藏在幕后的真實作者是:GPT 2.0。

作者簡介

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多