GPT-2:OpenAI的NLP商業化野望

AIBigbull2050發表於2020-02-09

自然語言處理(NLP)技術正在生活的方方面面改變著我們的生活。

客廳的智慧音響在跟你每天的對話中飛速進步,甚至開始跟你“插科打諢”來適應你的愛好習慣。

電商客服總是能在第一時間回覆,可能處理完你的問題,你也並未發覺TA可能只是一個智慧客服。現實版的“圖靈測試”每天都在發生。

經常查閱外文資料的你也許早已習慣網頁或幾家搜尋引擎的一鍵翻譯,譯文的質量好到讓你覺得學外語的時間純屬浪費。

閒來無聊當你刷資訊流或者短視訊,總是事後發現沉迷其中的時間越來越多,其實背後正是自然語言演算法平臺在根據你的瀏覽習慣、注意力時長來進行的優化推薦。

由果溯因,我們希望簡單回顧近幾年NLP的躍遷升級,沿著這條技術洪流一直溯源。回到水源充沛、水系林立的技術源頭,來理解NLP演進的脈絡。

NLP兩強爭霸: OpenAI與GPT-2 的“倔強”進擊

關注NLP的人們一定知道,2018年是NLP領域發展的大年。

2018年6月,OpenAI發表了題為《Improving Language Understanding by Generative Pre-Training》的論文,提出基於“預訓練語言模型”的GPT,它首先利用了Transformer網路代替了LSTM作為語言模型,並在12個NLP任務中的9個任務獲得了SO他的表現。但種種原因GPT並未獲得更大關注。

GPT的基本處理方式是在大規模語料上進行無監督預訓練,再在小得多的有監督資料集上為具體任務進行精細調節(fine-tune)的方式,不依賴針對單獨任務的模型設計技巧,可以一次性在多個任務中取得很好的表現。

直到10月,谷歌的BERT(Bidirectional Encoder Representation from Transformers)問世,一經發布便得到各界廣泛關注。BERT模型在11項NLP任務中奪得SO他的表現,更是令谷歌技術人員宣告“BERT開啟了NLP新時代”的宣言。而BERT其實採用了和GPT完全相同的兩階段模型,首先是無監督的語言模型預訓練;其次是使用Fine-Tuning模式解決下游任務。其不同之處在於BERT在預訓練階段採用了類似ELMO的雙向語言模型,且使用了更大資料規模用於預訓練。

BERT在改造NLP下游任務(包括序列標註,比如中文分詞、詞性標註、命名實體識別、語義角色標註等;第二類是分類任務,比如文字分類、情感計算等;句子關係判斷,比如Entailment,QA,語義改寫,自然語言推理等;生成式任務,比如機器翻譯、文字摘要、寫詩造句、看圖說話等)上面,強大的普適性和亮眼的任務表現,成為它爆紅NLP的底氣。

僅僅四個月後,OpenAI釋出GPT-2。這一大規模無監督NLP模型,可以生成連貫的文字段落,重新整理了7大資料集SOTA表現,並且能在未經預訓練的情況下,完成閱讀理解、問答、機器翻譯等多項不同的語言建模任務。

首先,CPT-2、BERT與GPT一樣,延續Transformer的Self-Attention(自注意)作為底層結構。OpenAI研究人員對無監督資料訓練的堅持也許來自於這樣一個思路:監督學習會造成語言模型僅能處理特定任務表現很好,而在泛化能力表現很差;而單純依靠訓練樣本的增加,很難有效實現任務擴充套件。因此,他們選擇在更通用的資料集基礎上使用自注意力模組遷移學習,構建在 zero-shot 情況下能夠執行多項不同NLP任務的模型。

與BERT的不同在於,CPT-2模型結構仍然延續了GPT1.0的“單向語言模型”。GPT-2似乎只有一個目標:給定一個文字中前面的所有單詞,預測下一個單詞。這一點倔強堅持,可以看出OpenAI的解決思路。它選擇把Transformer模型引數擴容到48層,包含15億引數的Transformer模型,找到一個800 萬網頁(WebText)資料集作為無監督訓練資料。簡單說,GPT-2 就是對 GPT 模型的直接擴充套件,在超出 10 倍的資料量上進行訓練,引數量也多出了 10 倍。這讓GPT-2採用更加直接“暴力”的方式,單靠提升模型引數容量和增加訓練資料的數量來超過BERT。

GPT-2作為一個文字生成器,只要在開始輸入隻言片語,這個程式會根據自己的判斷,決定接下來應該如何寫作。簡言之,GPT-2作為通用語言模型,可以用於建立AI 寫作助手、更強大的對話機器人、無監督語言翻譯以及更好的語音識別系統。OpenAI 設想,人們可能出於惡意目的利用GPT-2來生成誤導性新聞、網上假扮他人欺詐、在社交媒體自動生產惡意或偽造內容、自動生產垃圾或釣魚郵件等內容。所以,OpenAI在釋出GPT2的同時就宣稱“這種強力的模型有遭到惡意濫用的風險”,選擇不對訓練模型做完整開源,這一舉動引來機器學習&自然語言處理界研究人員的激烈討論。

無論是被外界嘲諷為對自家產品的“過分自負”,還是OpenAI出於PR目的的“故意炒作”,GPT-2 “刻意製造假新聞”的實力確實驚豔到了業內眾人。各位吃瓜群眾一邊實力吐槽,一邊又迫不及待想探究GPT-2的強大生成能力。

經過將近一年時間, GPT-2在謹慎開源和開發者的“嚐鮮”參與中,進行著眼花繚亂的更新演進。

GPT-2階段開源:帶給開發者的土味狂歡

伴隨爭議和開發者高漲的呼聲,OpenAI仍然出於謹慎考慮,選擇了分階段開源。8月以後,它分階段釋出了“小型的”1.24 億引數模型(有 500MB 在磁碟上),“中型的”3.55 億引數模型(有 1.5GB 在磁碟上 ),以及 7.74 億引數模型(有 3GB 在磁碟上 )。直到11月6日,它正式放出GPT-2最後一個部分的包含15億引數的最大版本的完整程式碼。

一直到完整版本公佈,OpenAI並未發現任何明確的程式碼、文件或者其他濫用實證,也就是說一直擔心的“GPT-2遭到濫用”的結果並沒有發生,但OpenAI仍然認為,全面版本釋出同時也會讓惡意人士有機會進一步提高檢測逃避能力。

所以,伴隨著GPT-2不同版本的陸續公佈,OpenAI自身與多家復現GPT-2模型的團隊進行交流,驗證GPT-2的使用效果,同時也在避免濫用語言模型的風險,完善檢測文字生成的檢測器。同時,OpenAI也還在與多家研究機構合作,比如對人類對語言模型產生的數字資訊的敏感性的研究,對惡意利用GPT-2的可能性的研究,對GPT-2生成文字的統計可檢測性的研究。

無論OpenAI出於怎樣的謹慎,隨著不同容量引數模型的釋出,外界開發人員已經迫不及待進行各種方向的探索了。

2019年4月,Buzzfeed 資料科學家 Max Woolf使用Python封裝了具有 1.17 億超引數的“較小”版本的 OpenAI GPT-2 文字生成模型進行微調和生成指令碼,開源了一個“GPT-2 精簡版”,從而更好地幫助人們生成一段文字,裡面可以給出很多出人意料的內容。

在OpenAI逐步開源的過程裡,來自布朗大學的兩位研究生就率先自己動手複製出一個 15 億引數量的 GPT-2,並將其命名為 OpenGPT-2。過程中,他們使用自己的程式碼從零開始訓練 GPT-2 模型大約只花費了 5 萬美元。所用的資料集也儘可能參照OpenAI論文裡公開的方法。有很多熱心網友的測試後表示,OpenGPT-2 的輸出文字效果優於 OpenAI 的 GPT-2 7.74 億引數版本。當然,也有人認為,並沒有比GPT-2模型生成的文字效果更好。

同時在國內,一個位於南京名叫“Zeyao Du”的開發者,在GitHub上開源了的GPT-2 Chinese,可以用來寫詩、新聞、小說和劇本,或是訓練通用語言模型。這一能夠實現逆天效果GPT-2模型,用到了15億個引數。目前他開源了預訓練結果與 Colab Demo 演示,只需要單擊三次,人們就可以生成定製的中文故事。

GPT-2模型還有更多嘗試。一個新加坡高中生Rishabh Anand開源了一個輕量級GPT-2“客戶端”——gpt2-client,它是一個GPT-2 原始倉庫的包裝器,只需5行程式碼就可以實現文字生成。

來自中國的幾個研究者正在用GPT模型生成高質量的中國古典詩歌。比如論文裡提到的一首《七律·一路平安》:“一聲天際雁橫秋,忽夢青城舊友遊。路入青林無去馬,手攜黃牒有歸舟。平生志業商山老,何日公卿漢署留。安得相從話疇昔,一樽同醉萬山頭”。一場平平淡淡的送別,寫得就飽含滄桑、充滿離愁。不難讓人懷疑:這個語言模型是否真的有了感情?

GPT-2模型還可以用在音樂創作上。OpenAI推出一種用於生成音樂作品的深層神經網路——MuseNet,正是GPT-2語言模型Sparse Transformer相同的通用無監督技術,允許MuseNet根據給定的音符組預測下一個音符。該模型能夠用10種不同的樂器製作4分鐘的音樂作品,並且能夠從巴赫,莫扎特,披頭士樂隊等作曲家那裡瞭解不同的音樂風格。它還可以令人信服地融合不同的音樂風格,以創造一個全新的音樂作品。

最讓筆者感興趣的是一位開發者通過GPT-2做出的一款AI文字冒險遊戲——“AI地牢”。通過多輪文字對話, AI就可以幫你展開一段意想不到的“騎士屠龍”征途或者“都市偵探”之旅。在未來的遊戲產業中,AI創造的故事指令碼,也許可能更具想象力?

GPT-2釋出的一年裡,以上開源帶來的應用足以稱之為眼花繚亂。喧鬧與繁榮背後,除了在在開源風險上的小心謹慎,OpenAI還面臨著哪些難題?

NLP的土豪賽:OpenAI聯姻微軟後的 GPT-2商業化

其實,我們從BERT和GPT-2的演進趨勢,可以看出人類利用更大容量的模型、無監督的無限訓練,可以去創造更多更好的合乎人類語言知識的內容。但這也同樣意味著要依靠超級昂貴的GPU計算時間、超大規模GPU機器學習叢集、超長的模型訓練過程。這意味著這種“燒錢”模式,使得NLP的玩家最終會更加向頭部公司聚集,成為少數土豪玩家的賽場。

可以預見,如果今年OpenAI再推出GPT-3.0,大概率還是會選擇單向語言模型,但會採取更大規模的訓練資料和擴充模型,來與BERT硬剛。NLP應用領域的成績也會再次重新整理。

但從另一個側面看到,如此“燒錢”的語言訓練模型的研發,尚無清晰的商業化應用前景。OpenAI也不得不面臨著“遵循技術情懷的初衷”還是“為五斗米折腰”的商業化的艱難選擇。

答案應該已然明瞭。就在2019年7月,OpenAI接受了微軟的10億美元投資。根據官方說法,OpenAI將與微軟合作,共同為微軟Azure雲平臺開發新的人工智慧技術,並將與微軟達成一項排他性協議,進一步擴充套件大規模人工智慧能力,“兌現通用人工智慧(AGI)的承諾”。其實質正是OpenAI在人工智慧研究上的“燒錢”與其商業化的尷尬,使得它更需要這樣一筆來自微軟的“贊助”。就以擁有15億引數的GPT-2模型為例,它使用256塊TPU v3訓練,每小時都要花費2048美元。可以預見,如果我們還想期待GPT-3.0的釋出,其費用將主要就花在雲端的計算資源上面。

微軟將成為OpenAI獨家雲端計算供應商。OpenAI的人工智慧技術也要通過Azure雲輸出。未來,OpenAI將把部分技術授權給微軟,然後由微軟把這些技術商業化,並將其出售給合作伙伴。

這筆鉅額費用的支援,讓OpenAI有了更充足的底氣。如上面所總結的,GPT-2在8月份後繼續開始分步驟釋出不同量級的引數模型,並在11月全部開源。顯然GPT-2未來在商業化方向上,可以更多的藉助微軟Azure的加持。比如可以未來更好的與Office365協作,參與到辦公協助的自動化文字寫作當中,參與語法錯誤修復,也可以建立更自然真實的問答系統。

曾經年少愛追夢,一心只想往前飛。AGI的理想也需要在商業實踐中照進現實。可以預見,2020年,谷歌面對微軟&OpenAI的組合,將給NLP商業化帶來更多波瀾。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561483/viewspace-2674599/,如需轉載,請註明出處,否則將追究法律責任。

相關文章