預訓練語言模型:還能走多遠?

AIBigbull2050發表於2020-11-13

預訓練語言模型:還能走多遠?

作者 | 戚路北

編輯 | 青暮

以 BERT 和 GPT 為代表的預訓練語言模型自從 2017 年提出以來取得了巨大的成功,改變了整個自然語言 處理的面貌,幾乎重新整理了所有自然語言處理任務的成績,而且在工業界也開始獲得廣泛的應用,其影響甚至遠遠超出了 NLP 的範圍。

最近新出現的 GPT-3 模型更是表現出了驚人的能力,似乎再一次印證了“大力出奇跡” 這樣一個道理。

在10月23日,由華為諾亞方舟實驗室首席科學家劉群主持的CNCC論壇《預訓練語言模型:還能走多遠?》上,微軟亞研自然語言計算組首席研究員韋福如、復旦大學電腦科學技術學院教授邱錫鵬、百度自然語言處理部傑出架構師孫宇、華為諾亞方舟實驗室研究員尚利峰,作為學術界和工業界在這一領域的代表,探討了預訓練語言模型所面臨的問題和發展趨勢。

劉群是自然語言處理和機器翻譯領域的國際著名專家,研究方向包括多語言資訊處理、機器翻譯模型、方法與評價等。2012 年 7 月之前,劉群是中國科學院計算技術研究所的研究員和自然語言處理研究組負責人。2012 年 7 至 2018 年 6 月,劉群任都柏林城市大學教授、愛爾蘭 ADAPT 研究中心(前身 CNGL 研究中心)自然語言處理主題負責人。

2018 年 7 月開始,他正式加入華為諾亞方舟實驗室,任語音語義首席科學家,主導語音和自然語言處理領域的前沿研究和技術創新,除了語音、對話、翻譯、多模態以外,其實驗室也在重點佈局預訓練語言模型。

在論壇中,專家們討論的話題包括但不限於:預訓練語言模型還能給我們帶來哪些驚喜?“大力出奇跡” 這條路還能繼續下去嗎?預訓練語言模型還有哪些潛在的突破口?預訓練語言模型亟待解決的問題有哪些?在最後的討論環節,眾專家將圍繞這些話題進行討論。

韋福如對現有的語言模型預訓練工作進行總結和比較,然後介紹面向自然語言理解和生成任務的統一預訓練語言模型 UniLM 以及多語言預訓練模型 InfoXLM(演講內容請觀看CNCC回放影片)。

邱錫鵬總結了預訓練語言模型目前的一些改進方向,包括遷移方法、知識嵌入、多模態、跨語言、特定領域等。

孫宇分享了百度文心 (ERNIE) 在預訓練語言模型方面的技術創新及產業應用方面的進展。

尚利峰主要介紹華為諾亞方舟實驗室語音語義團隊在預訓練語言模型方向上的研究和商業化探索。

以下是論壇全文,AI科技評論進行了不改變原意的整理。

1 邱錫鵬:預訓練語言模型的發展暢享

我談一點預訓練語言模型的未來發展暢想,聊聊預訓練模型裡面還有哪些東西是需要深入思考的。

預訓練語言模型:還能走多遠?

預訓練語言模型的主要架構如上圖所示,先把詞向量化,然後經過一個上下文的編碼器,得到每個詞的上下文相關表示,即上下文embedding,最後輸入到特定任務的模型當中去預測。

我們現在知道,一個非常好的上下文Encoder能夠大幅度簡化下游任務特定模型的複雜度。換言之就是表示學的越好,下游任務越簡單。

為了得到更好的上下文表示,我們需要思考,要學習一個好的語言表示需要考慮什麼因素。

預訓練語言模型:還能走多遠?

首先從最宏觀的認知層面看,語言就是一個符號,在人腦中它代表某種資訊。我們需要考慮它隱含的東西是什麼?如何把它表示出來?比如如何設計常識或者知識?

第二個就是模型層面,即模型驅動,如何設計出更適合自然語言的編碼器。

第三個就是學習層面,有了模型之後,就需要去透過資料去學習模型的引數,即資料驅動。

預訓練語言模型:還能走多遠?

預訓練模型,稱之為PTM,即Pre-Trained Models,它有三個主要關鍵,其一是它的架構設計,其二就是它的資料型別,其三是二者的結合。不同的預訓練模型主要區別是這三個部分的不同。

下面簡單談談對未來方向的思考。

第一是預訓練模型的上限是多少?

雖然現在GPT-3已經出來了,但我個人感覺GPT-3不是一個正確的方向,因為它不僅受限於它的任務形態,而且有相當的侷限性。我們依然用更大的資料,用更加開放性的架構去推動 PTMs,是不是能夠繼續往前發展?到底是資料重要還是設計好任務更重要?

Richard Sutton有個觀點,AI發展到今天,大部分是靠算力的發展來推動的。儘管我們每個人都會加入自己的一些先驗的東西,但最終證明都不如算力的突破來的有效。

第二個是,Transformer最大的問題就是它的複雜度,很難去處理長文件而且容易過擬合。

所以這個模型肯定不是最終形態,一定會有所改進。我們在這方面也進行了一些嘗試,比如Star-Transformer,BP-Transformer等。Star-Transformer在兩兩連線之間加一箇中繼節點,可以大幅降低它的複雜度。雖然這個模型比較有效,但它在GPU上的效能反而不如Transformer,因為Transformer更利於大塊矩陣的計算,這就是目前的現狀,但我覺得還是可以往這個方向繼續去改進。

第三個就是預訓練模型裡面到底隱含了哪些知識?

我們要理解一個語言或者一段文字,要分成兩方面的知識,一是語言知識,二是世界知識。而目前大家一般認為語言知識是有限的,換言之,我們不需要見過非常多的資料才能掌握語言知識。透過增大訓練資料可能大部分帶來的知識增長都是world knowledge,但是world knowledge不是一定要隱含在PTMs裡面的。

預訓練語言模型:還能走多遠?

第四個就是任務定向的預訓練以及任務定向的模型壓縮。

主要目的是為了不讓資源成為瓶頸,否則參與研究的人就會越來愈少。所以我覺得小規模、小型化或者任務定向的設計會比較有優勢。

第五個就是怎麼用PTM。

現在很多的文章都在討論PTM怎麼訓練、設計和改進。其實還有一個方向是如何將它用好。其實BERT剛出來的時候,我們就去探討了怎麼用它,然後提了一個 Two-stage和Three-stage的一個knowledge transfer,這個工作發表在CCL上,並獲得了最佳論文獎。

另外關於怎麼用好,我們可以根據BERT的訓練性質,把比如一個普通的文字分類問題變成一個匹配的問題。這種學習正規化上的變化在很多工上都得到了非常有效的驗證。

總的說來, Fine-tuning並不是一個引數有效的方法。因為有很多個不同任務,而每一個任務都需要保持一個很大的Fine-tuning後的模型,這樣非常低效。因此我們需要探索更有效的預訓練模型使用方法。比如用PTMs去做資料增強,用它本身去產生資料,然後用資料去訓練新的模型,或者直接把它作為一個外部knowledge,然後做一個結構化的knowledge去查詢。

第六個就是可解釋性以及可信賴性。

我們有個工作在做BERT-Attack,即將BERT作為一個攻擊器去攻擊另外一個BERT,因為BERT是masked language model,所以更容易產生和原句類似的欺騙句子。

最後我們引用一句我們古人的話叫“讀萬卷書,行萬里路”。現在預訓練模型是做到了前半句,但後半句也非常重要。


2孫宇:百度語義理解技術與平臺——文心(ERNIE)

我這裡主要介紹百度在預訓練語言模型這方面的工作。我們去年釋出了第一版預訓練語言模型,名字叫ERNIE,中文名叫“文心”。

預訓練語言模型:還能走多遠?

我們的工作主要有兩大方面:一是預訓練演算法,在演算法方面我們佈局了包括基礎技術、應用技術、領域技術和擴充技術,對於不同的語言粒度和任務層次構建不同的預訓練模型,同時在類似金融和法律等多領域去探索相關行業模型。二是平臺,我們基於預訓練模型構建成了一個平臺,提供給企業NLP開發者使用,助力產業智慧化發展。

預訓練語言模型:還能走多遠?

接下來我介紹一下ERNIE的整體發展歷程。在2019年3月,我們釋出了ERNIE1.0模型,它在中文上超越了BERT。在7月份,我們發現持續的引入知識對預訓練模型有一定的效果,於是又提出了ERNIE2.0。

在11月份,我們將ERNIE進行了開源,為企業開發者提供給基於ERNIE預訓練技術的NLP產業化的工具。在12月份,我們在ERNIE2.0的基礎上又做了很多的改進,最後在GLUE上獲得了第一。

今年1月份,我們在語言生成的領域也取得了一些新的突破。3月,我們基於ERNIE做了SemEval國際語義測評,在情感分析和文字稽核等方面都取得了冠軍,文心這個工作也獲得了中國人工智慧學會的優秀成果獎。7月份,我們又在跨模態領域進行了預訓練的遷移,提出了ERNIE-ViL,即一個語言與視覺的模型,效果也非常好。在9月份,我們把預訓練模型產品化,釋出了文心平臺,助力整個產業的智慧化升級。

第一部分,主要介紹文心(ERNIE)演算法與應用。重點介紹幾個典型的演算法工作和它們在百度的一些應用。

ERNIE1.0是一個知識增強的語義表示模型,它透過把詞、短語、實體進行掩碼,再去預測,讓模型去學習這個知識,這個效果其實很明顯,提升也比較大。我們後來也將之擴充套件到英文上,發現可推廣性也是很強的。

七月份的時候我們發現,雖然mask看起來手段比較簡單,但確實能學習知識,能預測出丟失的知識,因而我們思考是否能引入更多的類似知識來進行學習。然而我們在進行這項工作的時候發現一個了問題,就是學新忘舊。

所以我們提出了一個比較巧妙的思想,即透過持續不斷地學習新任務的方式,多階段地去學習海量資料,這就是ERNIE2.0核心方法之一。

這裡面我們提了三個比較有意思的任務。第一個剛才已經講過,即預測掩碼。第二個是小學語文題,比如說我們讓模型去排序被我們打亂了的句子,讓模型去學習邏輯關係。這些知識是我們透過人工構建的,比如去掉句子中的邏輯關係詞等。

前面的工作都是面向語言理解領域的,其實我們在語言生成的領域也做了一些比較有意思的工作,這也是第三個任務。這個工作跟剛才ERNIE1.0的思路比較像,它核心思想就是逐詞生成。例如當我們想到New York的時候,其實是New York兩個詞是一個整體,因而在生成的時候,是直接片段的生成,即在生成York的時候是看不到New的。而傳統的方法是在生成York的時候,再看到New的這種機制。這個技術也在百度內部取得了很多應用。

跨模態學習也是非常熱門的一個方向。我們終於能看到NLP技術運用在視覺領域。在這裡跨模態任務其實是起一箇中間橋樑作用。例如視覺模態和語言模態是兩個模態,我們讓機器去看一些影像,然後去理解並回答一些問題,以及去做跨模態的檢索,這在工業界是非常有應用價值的。

預訓練語言模型:還能走多遠?

這裡我們也延續了知識增強的思路,例如語言維度其實是難以正確預測這個詞是什麼,所以它必須去借助視覺知識去預測細粒度的語義。

應用方面,預訓練語言模型在產業界也非常有應用價值。ERNIE的技術用到了百度搜尋、影片推薦、百度地圖、小度音響裡等,都取得了很多的不錯的效果,這在百度內部已經用得非常廣泛了。

以上講的都是演算法方面的工作,接下來再講講我們最近釋出的文心ERNIE平臺。

預訓練語言模型:還能走多遠?

先從產業的角度去分析預訓練語言模型的特點,首先這個技術非常通用,它在絕大部分自然語言處理任務上提升都十分顯著;它的使用方式也很標準,透過預訓練微調的方式就可以適配應用。所以,我們推出了文心平臺,把一整套的預訓練語言模型和NLP演算法整合到平臺裡面,然後讓企業界的開發者使用我們的平臺,能夠透過平臺Fine-tuning他們自己的模型,定製自己的演算法。因為NLP演算法的定製需要投入大量人力、物力、財力,但是透過我們的平臺去開展工作會降低相當大的成本。我們這個平臺自推出來以後,國內大概有2萬個的開發者都在使用,包含了金融、通訊、教育等行業。


3尚利峰:華為諾亞預訓練語言模型的研究與思考

各位老師同學下午好,非常高興有這個機會跟大家一起分享我們華為諾亞最近在預訓練語言模型上的一些研究和思考。主要是我們最近兩年的研究工作,從三個方面來進行分享。

第一點是關於如何做一個更好的大模型。第二點是如何對大模型進行壓縮加速,以實現模型的產品化。第三點是我們對未來的一些思考,即如何更好地進行知識的獲取。

預訓練語言模型:還能走多遠?

首先來看一下我們今年ACL的一個模型解釋分析的工作。我們想知道預訓練語言模型到底學到了什麼東西?它是否學到了一些底層的句法結構?

我們提出了一個比較簡單的無監督非參的分析方法,首先定義了一個任何兩個詞之間的影響函式。有了它之後,便可以很容易地得到這樣一個熱力圖,可以算出任何兩個詞之間的相互關係。之後便可以按照一個簡單的演算法來抽取出一些句法結構。這種自動抽取的句法結構可以達到和人工設計相當的一個效果,這是非常令人震驚的。當然,我們也可以把它用到下游任務上,發現效果也是非常不錯的。除了句法結構,我們還擴充套件到了文件的篇章結構。

預訓練語言模型在抽取句法結構上是不錯,那麼它是否也學到了淺層語義呢?例如:一些類似語義角色標註的能力。我們在CoQA任務上進行了驗證。DistilBERT、BERT、和RoBERTa,是三個非常典型的預訓練模型,它們在結構上非常一致,主要的差別在於模型的大小以及訓練語料的多少。

最終,我們得出了結論:BERT或者DistilBERT非常依賴於詞序的一些表面特徵,很多時候並非真的理解了語義。雖然RoBERTa的表現有進一步提升,但它還是不能解決合成語義的問題。

預訓練語言模型:還能走多遠?

除了更好地理解預訓練語言模型,我們在預訓練語言模型本身創新上也做了一些研究工作。

我們知道預訓練模型非常依賴於預訓練任務的設計,剛才大家也提到了機率掩碼已經被驗證是非常成功的,但是原始的掩碼機率是一個固定的值,為什麼是0.15這樣的一個值呢?

後來我們就假設它服從一個先驗分佈,如果它是一個均勻分佈的話,我們從理論上證明了它其實等效於一個autoregressive permutated language model。

基於這樣的一個簡單方式,我們就可以把文字生成和BERT這樣的理解任務結合起來放到一個模型裡面。可以看到無論是在生成,還是分類任務上都有非常不錯的效果,和XLNet相比效果上相當,但更加簡潔。

獲得一個好的預訓練語言模型依賴於五個關鍵因素:即算力、資料、結構、任務、訓練。華為諾亞釋出了自己的預訓練模型,叫作NEZHA。

算力是非常重要的,因此我們也和華為晶片團隊進行合作,來訓練更大的模型;我們不是網際網路公司,沒有那麼多的資料;模型結構方面,我們做了相對位置編碼的創新;在訓練任務方面,我們提出了機率掩碼,取得了不錯的效果。在CLUE總榜和小模型榜上排名第一,後來我們訓練了NEZHA的英文版本,在SuperGLUE榜上僅次於T5模型。

我們在工業界實驗室除了攀登珠峰,也非常關注落地工作。如何將預訓練模型用到我們的產品中?我們做了三個壓縮工作TinyBERT、TernaryBERT和DynaBERT。除了壓縮演算法上的創新,我們還和諾亞AI使能團隊合作進行更加底層的加速。

預訓練語言模型壓縮加速,本質上可以類比為老師/學生的教學場景。老師如何教出好學生?有四個核心要素:老師、知識、方法和學生,也就是我們如何來抽取一些特徵函式或者評價函式,讓學生更好地模擬老師的行為。

我們知道模型壓縮在視覺領域已經被廣泛研究,而NLP存在自己的問題。其中一個重要的差異是,除了壓縮本身是一種知識遷移外,預訓練模型包含了預訓練和下游任務微調階段,本身也是一種知識遷移。我們如何考慮這麼多不同的知識遷移?如何在Transformer這種結構上來做更好的遷移?

預訓練語言模型:還能走多遠?

我們在蒸餾、量化和剪枝上面做了三個不同的壓縮技術,分別是TinyBERT、TernaryBERT和DynaBERT。

第一個工作是我們在去年年初的時候開始做的,當時的情況是大家覺得這個東西很熱門,效果也很好,但是能否幫助到我們的產品是有疑問的。

首先基於華為手機助手場景做了一個非常簡單的任務,同時做短文字意圖分類和關鍵內容抽取的任務。發現效果非常好,但是在終端和雲端的CPU上執行無法滿足產品的要求。

我們提出了TinyBERT,兩步Transformer蒸餾的工作。在NLP領域DA也非常有用,是屢試不爽的一個技巧。不過當前我們的DA方法不夠高效,最近也在進行這方面的改良。我們測了兩種結構,一個是TinyBERT-4層,一個是6層。在6層上,我們看到平均值是79.4,幾乎已經達到和老師差不多的一個效果。但是在4層上還是有2.5的差距。大家知道,一個瘦高的模型,其實比一個矮胖的模型效果上要更好,但是現實中很多產品不能用太多層。

預訓練語言模型:還能走多遠?

第二個工作是我們從去年年底開始的,研究怎麼來做BERT的量化。我們把蒸餾和量化進行了融合,用蒸餾來引導整個量化過程。這類想法比較自然,在其他領域也得到了驗證,但是在預訓練領域還是有很多自己的問題。

預訓練語言模型:還能走多遠?

第三個工作DynaBERT是一個動態壓縮的技術,我們希望能夠一次訓練,多端部署。實際中有很多不同的硬體,針對不同的平臺需要適配不同大小的模型。我們在寬度和深度方面做了不同的伸縮,最終得到一個包含多個子網路的超網路,訓練好之後,可以根據不同的應用場景抽取不同的子網路來滿足我們生產的需求。

如何做到使模型變小的情況下依舊保持良好的效果?針對這個問題,我們對attention模式做了視覺化,發現小網路的中間層Attention模式實現了某種功能融合。

預訓練語言模型:還能走多遠?

現實生產中有許多不同的要求,端的或者雲的,得將模型推理做到很快。我們和諾亞AI使能團隊進行合作,基於他們開發的深度學習加速庫BOLT,實現了不同硬體平臺的進一步加速。

預訓練語言模型:還能走多遠?

下面是我們對未來的一些思考,首先做一個非常簡單的預訓練模型發展歷史回顧。我從兩個維度來說,即更好的大模型和更快的小模型。

關於更好的大模型,大家已經做了很多解釋分析,在NLP這一塊已經非常成功了。那怎麼來擴充套件到其他領域,比如視覺、資訊檢索和軟體工程,還包括怎麼來做多模態視覺文字實現更好的影片內容理解。

在更快的小模型研究這塊,首先存在一個現實挑戰是,很多工業應用仍然部署在CPU或端側裝置上。有一個非常核心的問題,就是不同業務或者硬體平臺上,最逼近大模型的小模型是什麼?它的結構到底是怎麼樣的?其實不同的任務還是非常不一樣的。

最後一個問題就是 GPT-3出來之後,我們是否就可以做知識的表示和推理了,是否就可以做所謂的第三代人工智慧了?

我們回過頭來再看一下這個問題,語言是我們研究的物件,那它到底是什麼?剛才邱老師講到有兩類知識,一個是語言知識,一個是世界知識。語言的本質是什麼?我很喜歡的一句話“語言其實是生活形式論下的世界萬物流變”,語言不僅僅是一個序列,其實還依賴於真實的世界,而真實世界又是不斷變化的。所以很多知識是非常離散的,要用一個統計模型來表達世界知識還是很難的。

但是不可否認預訓練模型已經在語言結構知識建模方面發展到了一個極致。無論如何預訓練語言模型還是一種統計方法,因此必然存在“語義盲區”的問題。我們現實中也發現它非常傾向於給出一些安全的預測。

我們再看另外一個問題,即推理的問題。到現在為止還沒有一個通用的推理工具。就算Transformer是這麼強大的模型,那它是否可以來實現通用推理呢?

我們推理是為了舉一反三,是為了建模一種獲取新知識的能力。但我們知道人類獲得新知識的能力是豐富多樣的,不僅僅依靠理性推理,可能還依靠直覺等其他方式。所以用一個通用的GPT大模型來表達知識和推理,還是存在一些問題的。

預訓練語言模型:還能走多遠?

既然要完全實現知識表達和推理,還有一定的距離。那我們是否可以思考另外一個問題,是否可以透過預訓練模型從現有的大規模的文字知識裡快速獲取知識?換言之,現有的海量文字、影像、影片等已經包含大量的知識,怎麼從現有的海量知識中更加準確快速地來獲取想要的資訊?


4討論環節

問題綱要:

  • 預訓練語言模型還能給我們帶來哪些驚喜?
  • “大力出奇跡”這條路還能繼續下去嗎?
  • 預訓練語言模型還有哪些潛在的突破口?
  • 預訓練語言模型亟待解決的問題有哪些?

劉知遠:GPT-3依賴超大算力,別說小公司,可能很多大公司也都承受不起。那麼這條路還能不能走下去?大家可以暢想一下。

然後就是預訓練語言模型可能還有潛在的突破口?它的面臨的問題有哪些,有什麼樣的解決辦法?

我覺得目前預訓練語言模型應該是NLP一個非常前沿的方向,從很多今年的論文來看,基本上都在和這個相關。

關於未來的發展方向,我認為光“大力出奇跡”可能不行。很多學者都提到:其實我們的大腦並不是一個白板,可能是有一些更高階或者結構性的東西。

這一點,也可以從GPT-3的表現上看到,有很多問題它會亂答。我覺得它之所以會亂答,是因為它沒有從這麼大規模的資料裡面學會所謂的抽象思考。

我本身是做知識圖譜的,我覺得未來自然語言深度理解的發展應該要有知識的支援,但可能有的老師會覺得,其實這些知識也可以從大規模資料裡面去學。當然這樣這是沒問題的,不過在我看來,即使要學,也應該有一些更高層的meta knowledge來支援你去學這些底層的知識,然後一層一層地去往上學,這是我覺得未來可能比較重要的一個探索方向。

也就是說“大力出奇跡”或者純粹“data-driven”的方法,雖然在這幾十年已經驗證是一個非常有效的方式,不過單純地把模型規模變大應該不是終極路線。

提問者:如何讓預訓練模型除了知道哪些東西是常識,是應當知道的,還有哪一些東西是自己沒有學到的,不能瞎猜的?

尚利峰:我認為通用AI的發展還有很長的一段路要走。一個很重要的問題是我們下一步該怎麼走?

因為知識如此多樣而稀疏,而很多時候業務邏輯等是各個公司或者應用場景的硬性規定,沒有辦法進行統計分析,這種情況很難解決。

預訓練模型在語言表示上已經非常成功,在知識表示和推理方面,我們暫且不要對預訓練模型過於苛求。

至於下一步工作,我認為重點應該放在如何更好地進行知識獲取方面。其實這也是工業界非常關注的一個問題。例如百度或者谷歌的搜尋引擎,可以返回可能包含答案的相關段落,並且高亮可能的答案,幫助使用者更加便捷地獲取資訊。

除此之外,我認為閱讀理解是非常重要的研究方向。一個有趣的問題是在預訓練階段我們如何去設計一些任務,使得語言模型有動力去學習各種長依賴關係來得到答案。

提問者:如何讓預訓練語言模型在經過一段時間的訓練之後更好地發現各種業務資訊之間的不相似性?

尚利峰:問題很好,這也是我們在工業界經常遇到的兩個問題。具體就是說如何讓模型知道它自己不知道。這實際上是一種邊界的問題。

預訓練模型無法做到包治百病,因為有很多領域的東西不具有可統計的特性。真實的系統還是需要寫不少的規則。我們目前的想法就是去將神經的東西和符號的東西進行融合。目前只是在進行初步的嘗試。大家也可以多進行這方面的研究。

劉知遠:我稍微也發表一點感想,首先是領域與領域之間的差別特別大。比如有些領域很小,你隨便弄點資料就能解決這個問題;而有些領域很大,你多少資料都不夠去解決問題。舉一個我原來做統計機器翻譯的一個例子,中醫領域可能十萬句對就能基本解決所有問題,但你真正要說醫學領域那就不得了了,醫學領域無邊無際,所以我認為是跟領域的大小非常相關。

再一個就是規則,現在神經網路雖然非常強大,但是規則這個東西還是離不開工業界,比如前些年我們國家的一個高考機器人專案,結果最後他們開發出來的系統,基本上還是個規則系統。所以說真正在解決問題的時候,還是得各種方法一起上,神經網路並不能包治百病。

提問者:由於我們對大腦研究的水平有限,人類也不知自己是怎麼在進行決策和推理。但我們知道它是數以千億計的神經元的一個堆疊。我的問題是有沒有可能等神經網路大到一定程度的時候會發生質變?

孫宇:這個問題比較大,我個人覺得應該是不太可能的。因為我們都不太明白人腦是如何去思考的,只是覺得有很多的神經元,而且比我們現在所有模型的神經元都多。

其實關於認知,我覺得還是得讓生物學界加入進來去一起研究一下。而現在電腦科學基於一種統計的方法,基於深度學習的方法,本質上還是一種數學。

我覺得現有的神經網路模型,還是去解決某一些他能夠學到的那些任務,而它能夠學到的無非是語言的貢獻。

而為什麼它可以在語言的貢獻的任務裡去提升效果呢?因為它學到了語言之間的模式,比如說詞跟詞之間的一些相似度、一些搭配。這些知識對於我們現有的這些NLP任務確實有幫助。

為什麼對現有的任務有幫助呢?因為我覺得我們現有的NLP任務其實資料規模都不算大。而在翻譯裡面解決問題的效果不太好或許是因為資料量的問題。比如百度搜尋在搜尋相關資訊之前,就是用大資料去訓練相關性,使用使用者的反饋去學相關性。所以我覺得與其說“大力出奇跡”還不如說“大資料出奇跡”,當然也加上算力。

接下來我談一談自己的感想。

我覺得我們可以去更多地研究為什麼預訓練模型變好了,因為這樣才便於我們更多的去指導怎麼最佳化這個方向。而現在的所有的思路都是人是怎麼想,人覺得我們要加知識,那是因為人自己覺得要學了知識才有用,這是從人的認知上角度去講的。

而在過去的很長一段時間,整個NLP的研究都在做建模,都在做針對任務的,基於下面大資料怎麼做語義表示,這塊其實一直沒有這麼研究。為什麼現在透過這種Transformer加這種預訓練模型就好了?這個事情我覺得其實是因為工業界還有一些限制,但學術界可以多研究。

然後再講一下“大力出奇跡”,例如GPT-3。我們發現算力擴大了以後,確實表現會很不一樣,我也比較認同。我們也發現其實你在不同的算力下,你得到的結論不一樣。這個是我們工業界可能會去做的事情。那麼從預訓練模型上,我們也想探索一下,到底做到多大,能夠效果還能夠有多大的空間,這是我們後面想去解答的問題。

最後就是跨模態,我覺得NLP現在把自監督的方法從傳統方法中提出來以後,確實能夠幫助視覺,我覺得未來視覺可能會做一些突破,因為視覺大部分的任務都是基於一個標註的大規模資料去預訓練模型。這種大資料自監督怎麼去用?我覺得這個方向肯定會有突破,可能會帶來別的領域的驚喜。

自由提問:預訓練模型在短文字有很好的效果,但是一旦碰到長文字,尤其是圖文互動的時候,就很難得到一個好的結果。想請問老師們我們應該如何去處理長文字?

劉群:長文字與短文字相比本身就會更難。這是一個客觀的現實。由於長文字蘊含有更多的語義資訊,在執行過程中也更容易丟失語義。由於Transformer的時間複雜度是句子長度的平方,如果模型複雜度能夠降低到線性的話,這個問題可能會好處理一些。現在已經有一些這樣的模型,但在真正的困難的問題面前還沒有體現出它的威力。

邱錫鵬:我補充一下,如果從解決問題的方向上去思考,可能有很多工程性的方法,最簡單就是你用一個層次化的結構。

孫宇:我想問一下我們們在座各位,試過GPT-3嗎?有人有什麼感想嗎?

劉群:據我所知國內學者還沒有人獲得GPT-3賬號。







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

相關文章