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

2月15日,OpenAI在官博介紹了一個大規模無監督NLP模型:GPT 2.0,被稱爲“史上最強通用NLP模型”。該模型可以生成連貫的文本段落,刷新了7大數據集基準,並且能在未經預訓練的情況下,完成閱讀理解、問答、機器翻譯等多項不同的語言建模任務。

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

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

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

下午有位技術媒體的朋友問我說是不是寫點看法,我覺得貌似從技術上看算是正常進展,所以寫不寫都行,看了論文再決定。結果一直開會開到晚上,回家找來論文仔細看了一看,再結合前幾天媒體廣泛傳播的微軟的MT-DNN 技術,它們之間以及和Bert之間,是有內在聯繫的,所以覺得可以放一起簡單談談看法,於是動手熬夜寫了這篇。本來我春節期間寫好了三篇推薦系統召回模型系列的文章,想最近先發一篇的,想了想既然GPT 2.0熱度高,不如蹭個熱度先發了,召回模型以後再慢慢陸續發出來吧。

進入正題。

GPT 2.0到底做了什麼

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

image

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

image

那麼GPT 2.0本質上是怎麼做的呢?最大的改進是什麼?其實幾句話就能說明白,就是上圖寫的內容。

它的大框架其實還是GPT 1.0的框架,但是把第二階段的Finetuning做有監督地下游NLP任務,換成了無監督地做下游任務,爲啥這麼做?後面會講。我相信如果你理解GPT 1.0或者Bert,那麼是非常容易理解GPT 2.0的創新點在哪裏的。

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

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

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

其實,如果你不是非常專業的前沿NLP研究者的話,瞭解GPT 2.0,這就足夠了,這即使不是GPT 2.0的百分之百,也有它的百分之80了。至於它提到的對Transformer結構的微調,以及BPE輸入方式,我相信都是不太關鍵的改動,應該不影響大局。

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

第一問題是:爲什麼GPT 2.0第二階段不通過Finetuning去有監督地做下游任務呢?

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

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

下面談隱含的第二個問題,第二個問題其實比較相對有那麼點意思,什麼問題呢,就是:“在預訓練階段,爲什麼GPT 2.0仍然固執地用單向語言模型,而不是雙向語言模型呢?”你可以想想這背後可能是什麼原因。關於這點,我講講我的看法,當然你別太嚴肅地看我下面的說法,就當是個我編撰的科技版八卦,今天不是“情人節後第二天紀念日”嗎?我開個玩笑調節下氣氛,哈哈。技術科普沒必要老板着臉推公式,是吧,反正這是我的理念。

image

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

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

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

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

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

上面內容應該就是我覺得關於GPT 2.0,最值得了解的部分以及它的核心思路和思想了。

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

image

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

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

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

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

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

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

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

Bert的另外一種改進模式:進一步的多任務預訓練

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

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

image

這種做法一個典型的模型是最近微軟推出的MT-DNN,改進思路就如上所述,可以參考上圖示意。核心思想如上,結構上底層就是標準的Bert Transformer,在上層針對不同任務構造不同優化目標,所有不同上層任務共享底層Transformer參數,這樣就強迫Transformer通過預訓練做很多NLP任務,來學會新的知識,並編碼到Transformer的參數中。

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

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

我覺得如果你是做應用,這條路也可以走得更遠一些,引入更多的有監督NLP任務,集成更多的知識,無疑這麼做是有好處的。

NLP領域的一些發展趨勢

最後,我結合最近兩個月一些熱門技術新聞的做法,順便再談談我的一些關於NLP技術趨勢的看法,有些觀點之前提過,再強調一下,有些觀點比較細,算是一個歸納吧。

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

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

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

第三個趨勢,從最近的幾個工作,我們可以看出Bert兩階段模式中,第一個預訓練階段的兩種改進方向:當然基礎是越來越深(意味着模型參數容量大,各種知識和數據?就是死記硬揹我也要記住你,大致就是這個意思)的Transformer作爲特徵抽取器;第一階段的改進工作花開兩隻:

一種是強調通用性好以及規模大。加入越來越多高質量的各種類型的無監督數據,GPT 2.0指出了個明路,就是淨化的高質量網頁,這個跟無限也差不多了,就看你捨得花多少錢去訓練模型。通俗點說,就是靠數據規模和金錢堆出來的。它的最明顯好處是通用性好,訓練好後什麼場合都適用。但是因爲單純做純語言模型任務的話,學習效率低一些,只能靠量大取勝,這是種“瘦死的駱駝比馬大”的策略;

第二種是通過多任務訓練,加入各種新型的NLP任務數據,它的好處是有監督,能夠有針對性的把任務相關的知識編碼到網絡參數裏,所以明顯的好處是學習目標明確,學習效率高;而對應的缺點是NLP的具體有監督任務,往往訓練數據量少,於是包含的知識點少;而且有點偏科,學到的知識通用性不強。

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

那麼好奇的你問了:這種模式的發展盡頭在哪裏?

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

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

玩法的轉向

上面簡單談談我個人認爲的幾個技術趨勢,其實最近的一些技術進展,隱隱地透漏出NLP研發模式的一個轉向,那麼是怎樣的一個轉向呢?

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

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

這對於身處公司裏的同事們,其實是個好事情,因爲我們本身就是做應用的,追求短平快,簡單有效最好不過,但是這對學術圈來說,意味着什麼呢?這個問題值得您深入思考。

好了,今天囉嗦到這裏,就此別過。

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

作者簡介

張俊林,中國中文信息學會理事,中科院軟件所博士。目前在新浪微博 AI Lab 擔任資深算法專家。在此之前,張俊林曾經在阿里巴巴任資深技術專家並負責新技術團隊,以及在百度和用友擔任技術經理及技術總監等職務。同時他是技術書籍《這就是搜索引擎:核心技術詳解》(該書榮獲全國第十二屆優秀圖書獎)、《大數據日知錄:架構與算法》的作者。

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章