GPT-3:一個令人失望的語言模型

2021-01-11 InfoQ技術實驗室

本文作者是 GPT-2 的熱心用戶,GPT-2 風靡 AI 領域的那段時間裡,他撰寫了不少相關的文章。然而當 GPT-3 的論文發布後,身為忠實用戶的他卻感覺到了一些失望,本文他將深扒 GPT-3 中那些令人失望的地方。另註:這篇文章是作者最近在 tumblr 上發表的兩篇文章的匯總。

利益相關:我一直是 GPT-2 的熱心用戶,也寫過很多關於 GPT-2 和 transformer 模型的文章,包括 "human psycholinguists: a critical appraisal" 和 "the transformer … 「explained?」。我還用 GPT-2 作為核心組件做了一個 tumblr bot 。

第一部分

這篇論文( https://arxiv.org/pdf/2005.14165.pdf )我還沒特別仔細地研究過,但下面幾點是我可以肯定的:

1.1:GPT-3 有多大開創性

「GPT-3」只是 GPT-2 的放大版。換句話說,這只是「就讓 transformers 變大就行了」這種方法的粗暴延伸。自 GPT-2 誕生以來,很多研究小組都在使用這種方法。

論文摘要就這一點講得很清楚:

有一些工作主要是增加語言模型中的參數數量和 / 或計算量,以此作為改進生成或任務性能的手段。[……] 一項工作直接增加了 transformer 模型的大小,並按接近的比例增加了參數量和每個令牌的 FLOPS。這方面的工作讓模型大小不斷擴張:原始論文中有 2.13 億個參數 [VSP+17],3 億個參數 [DCLT18],15 億個參數 [RWC+19],80 億參數 [SPP+19],110 億參數 [RSR+19],最近更是來到了 170 億參數 [Tur20]。

這裡提到的前兩篇論文分別是機器翻譯的原始 transformer(VSP+17)和 BERT(DCLT18)。這兩篇論文之間的參數量還沒膨脹那麼多。

第三篇(RWC+19)是 GPT-2,其參數量擴大到了 5 倍。GPT-2 論文的重點大概就是「雖然看起來這方法很笨很粗暴,但只要你擴大 transformer 就會看到神奇的結果」——而這篇 "GPT-3" 論文的論點還是一樣,只不過數字變得更大了。

「GPT-3」是一個擁有 1750 億個參數的 transformer。數字上這又是一次飛躍,但是基礎架構並沒有太大變化。

從某種意義上說,把它叫做 "GPT-3" 也挺合理的:它就是 GPT-2 帶起來的這種風氣的延續而已。

但換個角度來說,把它叫做「GPT-3」也很礙眼,而且會誤導人。GPT-2(可以說)是一項開創性的進步,因為它第一次向人們展示了大規模的 transformer 擁有多大的力量。現在大家都知道了這個道理,所以GPT-3 完全稱不上什麼本質上的進步。(既然他們這個新的大模型能叫 "GPT-3",那麼上一段引文裡最後提到的那仨大模型也有資格叫這個名字了。)

1.2:「小樣本學習」

這篇論文好像要討好的就是 NLP 社區,只不過他們完全走反了方向。

GPT-2 論文認為,語言模型(文本預測器)在用作 NLP 基準測試的一些特定任務上可以做得很好,或者在某些場景下「至少不是很糟糕」——即使模型事先並不了解這些任務的細節。這主要是為了證明語言模型的能力有多強。

他們在論文中展示的「零樣本(zero-shot)」學習——就是「在文本後添加一句話總結,並將 GPT-2 的續寫(continuation)當作』摘要』來看待」這種東西——又怪又蠢,實踐中沒人想要這麼幹。這種方法更適合用來證明優秀的語言模型 " 無所不能 ",就算不是它們設計目標的任務也能搞定;重點不是說它們在這些任務中 " 表現優秀 ",而是說它們即便沒有充分的準備也能獲得不錯的性能水平。這有點像在誇獎一個小神童。

在 GPT-3 論文中,他們為語言模型引入了一種新方法,以提升模型在標準測試中的表現。現在的關鍵是根據文本的走向來 " 搞清楚 " 它們應該做什麼事情。以前是給模型一個提示(prompt),比如說:

問:法國的首都是哪裡?答:

現在則給出多個提示:

問:法國的首都是什麼?答:巴黎

問:西班牙的首都是什麼?答:馬德裡

問:立陶宛的首都是什麼?答:維爾紐斯

問:巴西的首都是什麼?答:

對 NLP 社區來說,"GPT-3" 中值得關注的一點是,語言模型在標準測試集上的表現可以比我們想的要強很多,途徑就是這種多提示方法和更大的參數量。將這兩種方式結合起來後,你甚至可以在一部分任務中獲得最頂尖的成績。

我覺得有些人會認為這是很重要的,他們會覺得這表明 transformer 語言模型具備像人類那樣,只需很少的數據就 " 迅速抓住重點 " 的能力。這和 Gary Marcus 的某些看法也有關係。

但在 " 直接學習(learning on-the-fly)" 這個層面,這篇論文似乎完全沒興趣可言,這很古怪。論文中有一大堆圖表,展示的都是各種參數條件下的性能表現,總之就是為了說明越大越好。但是我只找到了一個圖表展示的是和參數 K 相關的性能表現,K 就是提示中不同任務示例的數量。

而且這張圖展示的數據並沒那麼好看:

一個任務示例的表現要好於零個示例(GPT-2 論文就是零),但示例數量繼續增長下去就沒什麼效果了;顯然這裡 " 越大越好 " 的理論沒怎麼生效。

奇怪的是,這張圖的標題說明了這些是開發數據集的結果,因此不能直接與水平線給出的測試集結果對比——可他們還是這麼畫了!他們的確在其他地方報告了 SuperGLUE 的測試集結果,但是只適用於 K=32。此外,這張圖缺少誤差線也是個問題。

1.3:基準測試

他們在這篇論文中談的全是如何在測試集的某些指標上取得出色的成績。

所以我說它就是為了討好 NLP 社區:整個社區都用這些指標衡量自己的水平,因此理所當然地,社區「必須」重視這些結果。可是到這一步,這就有點像古德哈特定律的樣子了(為刷分而刷分)。

GPT-2 並不是因為在這些任務上表現出色才脫穎而出的。它之所以有那麼高的地位,是因為它是一個非常好的語言模型,展示了一種對語言的全新理解方式。它在標準測試中做的好不好對我來說沒那麼重要,強調這一點就好像是習慣用右手的人只用左手畫了一幅畫(還畫得不怎麼樣),以此來證明他多有藝術天賦一樣。

GPT-2 的優秀之處並不在於它擅長「回答問題」,而在於它擅長所有任務,因此只盯著 " 回答問題 " 就顯得目光很短淺了。

GPT-2 為 transformer 帶來的進步太大了,所以社區甚至創建了一個新的基準測試「SuperGLUE」,因為以前的黃金標準(GLUE)現在顯得太簡單了。

GPT-3 實在沒什麼進步,甚至在 SuperGLUE 上表現都不怎麼樣。它也就相當於把人的右手綁背後還能勉強畫一幅畫的水平。

可能有人會說,10 歲的數學神童並沒有證明什麼新定理,但是他用 10 分鐘就能在高考數學卷上拿到不錯的成績,這難道不算是突破性的進步嗎?

也許是吧?有那麼一點?

1.4:煩惱

我思考這篇論文思考得越多,它就越讓我心煩意亂。本來 transformer 是非常有趣的事物。可是在 2020 年,這可能是關於 transformer 最無趣的論文了。

第二部分

2.1:再談「小樣本學習」

初讀時,我以為論文中只有一個圖展示了性能隨 K(小樣本數量)變化的情況,但我沒注意論文第 4 頁的圖 1.2。

這張圖比前文提到的那張給的數據要好些,但並不足以改變我的看法,那就是作者並沒有多大興趣來展示在文本走向上的 " 漸進式學習 "。

他們試圖用圖 1.2 證明的論點是,更大的模型會帶來更多的漸進式學習,因此,他們的整體策略——「使用大模型 + 小樣本學習以提升基準測試表現」——是讓兩個部分(大型模型,少量學習)產生一加一大於二的效果。

同樣,如果你關心的是 NLP 基準測試上的成績,那他們的說法還是很有趣的。但就整體的語言理解水平而言,我看不到有什麼明顯的進展。

2.2:關於新穎詞

他們其中一項實驗,「學習和使用新單詞」給我留下了深刻的印象,但其他實驗就沒這效果了。可是這篇論文並沒有在這裡著墨很多,這讓我很奇怪。(這部分在第 3.9.5 節和表 3.16。)這個任務與 Wug 測試聯繫很緊密——這也是 Gary Marcus 在批評 GPT-2 時很關注的一件事:

[人類的提示]「farduddle」的意思是快速地蹦蹦跳跳。這個詞的例句:[GPT-3 延續] 有一天我和妹妹玩耍時,她越玩越興奮,開始撒歡兒似的蹦蹦跳跳。

語言學家研究人類兒童時就會涉及這類任務,過去的 NLP 模型在這方面表現很差。這方面的進展本應該得到最高的認可。作者顯然提到了他們在這方面取得的成就,但卻只是隨口一提:論文說他們嘗試了 6 次並全部成功(100%的準確度?!),但他們顯然沒把它當回事,並沒有在較大的樣本上重複實驗,測一個真實指標,並展示 w/r/t 參數下的表現,等等。可是他們在其他 40 項任務上都做了這套流程,而我覺得那些任務根本沒這麼有趣,真是讓人困惑!

2.3:關於抽象推理

除了常見的 NLP 基準測試外,他們還嘗試了一些「綜合或定性」任務(第 3.9 節)。他們的目標是闡明「小樣本學習」中學習的實際作用:

在小樣本(或單樣本和零樣本)設置下探究 GPT-3 的能力範圍的一種方法,是賦予它要求執行簡單的即時計算推理的任務,識別一種新穎的模式,即不太可能在訓練中發生,或迅速適應異常任務。

這裡的「綜合或定性」任務是:

各種形式的簡單算術(例如「加兩個 2 位數」)對單個單詞的字母所做的各種解謎 / 反轉等任務SAT 類比感覺這項工作的理論基礎還不夠牢固,所以解釋起來很困難。

拿算術任務來說。我們先認可作者的前提,那就是模型不僅存儲了一些算術問題的查找表,而且還可以即時「解決問題」。這樣,模型在這裡可能有兩種狀態(也可能是同時做的):

在訓練文本中看到許多相關數字後,模型可能已經在內部開發出了一個真正的算術模型,並且正在應用該模型來解決你我會遇到的問題;它可能為各種抽象任務發展出了一些通用推理能力,進而可以將算術作為更通用的問題類別的特殊情況來做處理(比如說,如果有合適的提示,它也會考慮很多算術符號沒有實際含義的場景。)只要第 1 種情況出現了,小樣本學習中的多次提示就沒什麼意義了:如果模型知道真正的(不是虛假的)算術是如何進行的(它從文本中學到了這一點),那麼再多的示例也無助於 " 定位任務 "。就是說,如果它只學會了真實的算術,就不需要告訴它「在這個任務中,+ 號是加號的標準含義」,因為它的能力就是基於這一假設的。

因此,如果我們在這裡主要看到的是第 1 種情況,那麼這個演示就並不能像作者想的那樣展示小樣本學習的意義。

如果是第 2 種情況,那麼小樣本提示確實很重要:它們在可能的形式系統的大空間中「定位了符號的含義」。但是這種情況太瘋狂了:它意味著語言模型獲得了更加一般化的智力,這可不是什麼小事情。

我不覺得作者的目的是要證明這一點。如果他們認為語言模型是通用的推理機,為什麼不強調這一點呢?人們已經充分探索過 transformer 的抽象推理能力,並且沒理由認為非常大型的特定於語言的模型可以發展出強大的通用推理能力。(當然了,也可以認為這種能力是作者的方法沒能檢測出來的文本識別 / 記憶能力的某種變體。)

我覺得作者應該是把任務分解為「知道如何做」和「知道我們現在正在做」兩個部分。用文本訓練模型可以告訴它如何做(真實的)算術,而小樣本提示會告訴模型「現在我們正在做(真實的)算術,不是你學會的其他那些內容」。

但如果你想探索這個方向,算術是非常糟糕的選項!作者在此處使用了 K=50,也就是說他們為模型提供了 50 個簡單的數學問題的正確示例,以使其「定位任務」。但如果需要 50 個示例這麼多的話,沒人可以完成這項任務。

第 50 個示例包含哪些第 49 個示例中所沒有的信息?這裡我們要排除什麼內容?難道是要排除大部分時間都像加法的陷阱系統嗎?" 加法,只是 52 實際等於 37,其他都一樣?" 當模型必須學習真正的加法時,我們真的應該排除它嗎?

我不知道作者在這裡想做什麼,我想他們自己也許也不知道。

編者註:最後附上圖靈獎得主 Geoffrey Hinton 對 GPT-3 的評價——鑑於 GPT-3 在未來的驚人前景,可以得出結論:生命、宇宙和萬物的答案,就只是 4.398 萬億個參數而已。

原文連結:

https://www.lesswrong.com/posts/ZHrpjDc3CepSeeBuE/gpt-3-a-disappointing-paper

相關焦點

  • GPT-3親自撰文回應「為什麼人類不必懼怕AI?」,答案令人毛骨悚然
    其原因,一是文中一系列令人毛骨悚然的觀點;二是這篇文章是出自人工智慧—GPT-3之手。「AI不會毀滅人類, 請相信我」GPT-3是有史以來最強大的自然語言處理模型,自從OpenAI開放其API以後,其以令人驚嘆的功能頻頻刷屏。簡單來說,GPT-3是一款文本生成器,它可以根據短文本提示,自動續寫長篇文章,而且內容質量堪比人類。
  • 我用GPT-2創造了3000個寵物小精靈,完美復刻《神奇寶貝》!
    而這個AI正是自然語言模型GPT-2.提到NLP模型,我們印象最深的可能是GPT-3。今年該模型因1750億超大參數量和超強應用,在各大媒體平臺頻頻刷屏。GPT-2,與GPT-3師出同門,都是OpenAI研發的自然語言處理模型,兩個模型最大的不同是它的參數量,GPT-2僅為15億。但這並不影響它的應用範圍。與GPT-3類似,GPT-2也可以用來寫故事、畫圖表,或者玩西洋棋。
  • GPT-2沒什麼神奇的,PyTorch 就可以復現代碼
    另一個關於 GPT-2 本身的優秀資源,是 Jay Alammar 的 The Illustrated GPT-2(http://jalammar.github.io/illustrated-gpt2/)。本文從語言模型的基本介紹開始,以一種非常容易理解的方式逐步解釋 GPT-2 模型。我強烈建議讀者閱讀這篇文章。
  • GPT-4前奏?OpenAI發布120億參數圖像版GPT-3
    1月5日,剛剛開工的OpenAI同時發布了兩個與 GPT 有關的文本-圖像工作: DALL·E:一個利用文本-圖像數據集,有著120億參數的「GPT-3」,可以根據文本生成各種各樣的圖像; CLIP:可以通過自然語言的監督來有效學習視覺概念,只需要提供要識別的視覺類別名稱,利用CLIP便能夠做任意的視覺分類,類似於GPT-2和GPT
  • 圖像版GPT3問世!打破語言與視覺界線,AI將更加聰明
    繼 OpenAI 推出史上最強語言模型 GPT-3 後,這家舊金山 AI 研究公司又有新動作。  這次,他們一連推出兩款強大的多模態模型 CLIP 和 DALL?E,CLIP 可以對圖像進行理解、歸類,而 DALL?E 則可以直接藉助文本生成圖像,簡直就是 「圖像版 GPT-3」。
  • GPT-3: 我為那個藏在二進位背後的人賦予了聲音
    無疑是現有自然語言生成程序中最「優秀」的那一個,且在諸多行業都有應用潛力,包括教育業、新聞業、顧客服務業等等。 與Mitra和他的學生們所編寫的自動程序不同,GPT-3生成的語言流暢自然,就像人寫出來的一樣。GPT-3無疑是現有自然語言生成程序中最「優秀」的那一個,且在諸多行業都有應用潛力,包括教育業、新聞業、顧客服務業等等。
  • 與GPT-3對話:疫情何時結束?宇宙大爆炸之前是什麼?它的回答令人細...
    今年 6 月,特斯拉創始人 Elon Musk 等人創立的非盈利性 AI 科研機構 OpenAI 發布了一個名為 GPT-3 的語言模型,堪稱具有劃時代的意義。在舊有的語言模型中,一直存在著通用性不高的問題,即一個模型往往只能在某一個特定領域發揮較好的效果。 此次 OpenAI 發布的 GPT-3 在這一層面做出了突破,它是一個通用的語言模型,且在訓練過程中更少地依賴人類,也即可以大量節省科研人員的工作。 與此同時,GPT-3 的回答準確度並沒有因此而下降,反而在某些任務上能夠超過過去並不通用且需耗費繁瑣精力的語言模型。
  • 如何選擇分別在一個特定的工作空間中選擇人工智慧
    曾經在看openai的文章[7]的時候,看到了gpt-2的中間網絡擴展,進一步用於實現模型和降低模型複雜度,然後自己嘗試寫了一個,把整個過程記錄下來,將成為cnn的入門筆記。下面就是乾貨,如果對我說的感興趣,可以看源碼(gpt-2文檔)。訓練了一個例子gpt-1a,發現通過使用改進過的注意力機制(簡稱a2g)結合了gpt-1b所有參數,在單一語言文件中訓練更快速,而且更加靈活。
  • 大學生用GPT-3寫「雞湯文」,騙過一堆人登...
    GPT-3是OpenAI最新、最大的語言人工智慧模型,由1750億個參數組成。總部位於舊金山的OpenAI研究實驗室今年5月開始逐步推出了該模型,並引起越來越大的反響。這個龐大的語言模型幾乎可以勝任所有可以用文字表達的工作:從回答問題、寫文章、寫詩歌、甚至寫代碼……無一不包。那麼,現實中它究竟有多厲害呢?
  • 超越BERT 和 GPT,微軟亞洲研究院開源新模型 MASS!
    當 k = 1 時,根據 MASS 的設計,編碼器端的一個標記被掩蔽,而解碼器端則會預測出該掩蔽的標記,如圖 3 所示。解碼器端沒有輸入信息,因而 MASS 等同於 BERT 中掩蔽的語言模型。圖 3 k = 1時,編碼器端一個標記被掩蔽,而解碼器端則會預測出該掩蔽的標記當 k = m(m 是序列的長度)時,在 MASS 中,編碼器端的所有標記都被掩蔽,而解碼器端會預測所有的標記,如圖 4 所示。解碼器端無法從編碼器端提取任何信息,MASS 等同於 GPT 中的標準語言模型。
  • OpenAI 發布兩個 GPT-3 模型,圖像匹配文本 CLIP 和 文本生成圖像...
    此前,GPT-3 的輸出可能會看上去與實際脫節,讓人感覺莫名其妙,這是因為它確實不知道自己在說什麼。CLIP,「另類」的圖像識別目前,大多數模型學習從策劃好的數據集的帶標籤的示例中識別圖像,而 CLIP 則是學習從網際網路獲取的圖像及其描述中識別圖像——即通過一段描述而不是「香蕉」、「蘋果」這樣的單詞標籤來認識圖像。
  • 網際網路原子彈,算力吞噬者:1750 億參數的 AI 模型 GPT-3 引爆矽谷
    GPT 模型主要包含兩個階段。第一個階段,先利用大量未標註的語料預訓練一個語言模型,接著,在第二個階段對預訓練好的語言模型進行微改,將其遷移到各種有監督的 NLP 任務,並對參數進行 fine-tuning。簡而言之,在算法固定的情況下,預訓練模型使用的訓練材料越多,則訓練好的模型任務完成準確率也就越高。那麼 1750 億是什麼概念?
  • 熱門的模型跨界,Transformer、GPT做CV任務一文大盤點
    原創 Synced 機器之心機器之心原創作者:陳萍可能大家心裡都有一種錯誤認知,做自然語言處理任務的模型不能夠用來進行計算機視覺任務。由於該研究採用的是用於語言任務的 GPT-2 的通用序列 Transformer,所以需要大量計算:iGPT-L 在 V100 上大約需要訓練 2500 天,而性能類似的 MoCo 模型大約只需要訓練 70 天。
  • BP:2018年的全球碳排放令人失望
    BP:2018年的全球碳排放令人失望   氣候變化早已成為全球性議題之一,與此息息相關的一次能源消費和碳排放更加引人關注,然而與所期望的碳排放逐漸可控進而實現轉型遞減的理想恰恰相反,2018年的令人失望數據再次為氣候變化鳴鐘
  • 什麼是GPT-3,它將如何影響人們目前的工作?
    據外媒MSPoweruser報導, GPT是Generative Pre-training Transformer的簡稱,是由Alec Radford編寫的語言模型,2018年由埃隆·馬斯克的人工智慧研究實驗室OpenAI發布。
  • 語言識別模型源於一個數學家讀小說的故事
    語言識別模型源於一個數學家讀小說的故事。1913 年,俄羅斯數學家安德雷 · 安德耶維齊 · 馬爾科夫拿起一本俄羅斯文學的經典作品,亞歷山大 · 普希金的歌劇小說《尤金 · 奧涅金》。不過馬爾科夫只是為了測試自 1909 年發展起來的概率論。數學家更想看到一個個字母後面的數學結構。
  • 超越BERT、GPT,微軟提出通用預訓練模型MASS
    藉助於BERT和GPT等預訓練模型,人類在多個自然語言理解任務中取得了重大突破。然而,在序列到序列的自然語言生成任務中,目前主流預訓練模型並沒有取得顯著效果。為此,微軟亞洲研究院的研究員在ICML 2019上提出了一個全新的通用預訓練方法MASS,在序列到序列的自然語言生成任務中全面超越BERT和GPT。
  • 這款「狗屁不通」文章生成器火了,效果確實比GPT 2差太遠
    GPT 2 是 OpenAI 推出的一個中文生成模型,由加拿大工程師 Adam King 製作的網站上,任何人都能調教簡化版的 GPT-2,它能夠識別從新聞、歌詞、詩歌、食譜、代碼的各種輸入,甚至還為《復仇者聯盟》寫了一個細節豐富的續集,內容可讀性相當高。
  • "妙筆"生花:一個易用、高效的文本生成開源庫
    除了模塊化的設計之外,TextBox還包含了廣泛的基準文本生成模型,其涵蓋了變分自編碼器(VAE)、生成式對抗網絡(GAN)、循環神經網絡(RNN),基於Transformer的模型,以及預訓練語言模型(PLM)等類別。TextBox通過配置文件或命令行提供靈活的參數指定來運行、比較和測試這些傳統的基準模型和目前最先進的模型。