中文巨量模型“源1.0”:模型結構與生成效果解析

伺服器頻道發表於2021-12-22

浪潮人工智慧研究院

“源 1.0”自2021年9月底釋出以來收穫了廣泛的關注。其引數量達2457億,超越美國OpenAI組織研發的GPT-3。“源1.0”在語言智慧方面表現優異,獲得中文語言理解評測基準CLUE榜單的零樣本學習(zero-shot)和小樣本學習(few-shot)兩類總榜冠軍。測試結果顯示,人群能夠準確分辨人與“源1.0”作品差別的成功率低於50%。

在之前的部落格中,我們詳細論述瞭如何準備預訓練資料、模型本身如何訓練,以及在下游任務如何提升精度。在本篇中,我們將著重討論模型的結構問題,以及由模型結構帶來的效果。會回答以下三個問題:(1)“源1.0”基礎模型結構是怎樣的?(2)為什麼要選擇這樣的結構?(3)和模型結構相關的下游任務效果。

“源1.0”基礎模型結構的選擇

在介紹基礎模型結構之前,顯然要明確一件事情:我們想讓模型完成什麼呢?在自然語言處理(NLP)領域,所有的任務大體可以被分為兩類:自然語言理解(NLU)任務和自然語言生成(NLG)任務,前者偏重於對語義的理解,而後者偏重於文字的創作。如果可能的話,開發者當然期望這個模型在兩類任務上同樣出色,但事實上,不同型別的NLP模型結構對兩類任務總是有所偏重的。如果只考慮在榜單上的表現,偏重於NLU任務可能會比較合適,因為包括“源1.0”衝擊的CLUE榜單在內,幾乎所有相似的榜單都偏重於自然語言理解任務,在 《中文巨量模型浪潮“源1.0”的小樣本學習優化方法》(http://blog.itpub.net/31545803/viewspace-2847859/)這篇博文上也可以看到相關任務的介紹。為了在榜單上取得更好的成績,自然應該選擇一個偏重於NLU的模型結構。然而,當我們考慮到模型實際應用的時候,就會發現NLG的應用場景更廣泛,沒有NLG,也很難體先出NLU的價值。所以,在這個問題上,我們的認識是要優先保證模型具有出色的創作能力(NLG),而在NLU任務上也務必儘可能地提升效果。

帶著這樣的初衷,“源1.0”的基礎結構為一個單向的語言模型,即根據上文預測下文的概率。其中的Transformer解碼器(Decoder)採用自迴歸的方式輸出序列。當處理不同的下游任務時,則會根據任務型別使用一個從文字到文字的框架,將所有任務處理成相似的格式,以便直接將預訓練的語言模型應用於不同的下游任務上。過去的研究已經證實,經典的單向語言模型結構是擅長NLG任務的,而在NLU任務上則相對薄弱一些。為了進一步探索模型在NLU任務上的可能,在“源 1.0”的開發過程中,我們考慮了語言模型(Language Model,LM),和字首語言模型(Prefix Language Model,PLM)兩種結構。兩種結構的主要區別在於掩碼的方式,如圖1所示。

圖1 語言模型結構示意圖(左圖為LM,右圖為PLM)。桔紅色實線代表輸入在字首範圍內全可見掩碼,藍色虛線代表隨機掩碼

在t時刻,解碼器根據模型對輸出序列的預測概率,生成輸出序列中最右側的一位 (x5)的標記(token)。之後這個標記與輸入序列相連線,一起被送入模型以預測 t+1時刻的輸出(x6)的標記。我們用這兩種模型結構分別訓練了130億引數量的兩個模型,Yuan LM-13B和Yuan PLM-13B,並把這兩個模型放在小樣本學習(FewCLUE)和零樣本學習(ZeroCLUE)場景下做了評估(表1)。關於表格中任務的詳細介紹,請參考博文《中文巨量模型浪潮“源1.0”的小樣本學習優化方法》。

表1(a)和(b)表明LM和PLM在Zero-Shot和Few-Shot上都具有優異的表現能力。LM和PLM的零樣本平均得分都優於已往的最優結果。在Csldcp、Tnews和Iflytek任務上,模型的得分大大超過了以往零樣本學習的最優結果。模型在Ocnli上也取得了不錯的成績,比以往零樣本學習的最優結果高出6-8個點。我們的監督微調方法與GPT的設計一致。 LM和PLM的平均分數與以往最優分數相當,如表1(b)所示。與小樣本學習結果相比,微調對Bustm、Csl和Wsc有很大的改進。但是,對於在零樣本學習上表現出色的Chid、Eprsmt、Tnews和Ocnli,微調貢獻很小甚至會有負面影響。

比較 LM和 PLM的結果,我們注意到 LM在 Zero-Shot和 Few-Shot上表現更好,而 PLM在微調方面表現出色。微調通常會在大多數NLU的任務中帶來更好的準確性,這與我們一開始選擇模型結構的初衷相合。然而,當模型引數量從百億擴大到千億規模,比如對於我們的 “源1.0”模型,微調會消耗大量的計算資源,這是不經濟的。所以最終,我們選擇 LM作為“源1.0”的基礎架構。

2、“源1.0”的文字生成效果

“源 1.0”更加出色的能力是體現在創作上(NLG)。為了評價模型生成文字的效果,我們任意選擇了“源1.0”生成的24個文字,包括 4副對聯、5首中文傳統和現代詩歌、5篇新聞文章、5個故事和5段對話。對聯、詩歌和對話的創作可以看作是短文字任務(~10-20個標記),而新聞和故事生成可以看作是長文字任務(~300個標記)。與之對比的人工寫的文章來自名家所作的詩歌、經典小說、搜狐新聞的新聞文章和LCCC-large資料集中的對話。參與者被要求選擇文章是“由人類撰寫”還是“由模型撰寫”,我們收集了83份有效問卷。根據我們的採訪,大多數受訪者會傾向於選擇 “更好的”那一篇是由人類創作的,而“稍差”的那一篇是模型生成的。

圖2 人類檢測由“源 1.0”模型建立的文章的準確性

圖2展示了這次實驗的結果。“源 1.0”創作的文章有 49.16%的概率可以被正確識別為“由模型撰寫”,這意味著參與者難以區分人工撰寫和模型生成的文章,尤其是現代詩和文章。新聞(42.12%)和故事(49.15%)的生成結果讓我們可以相信模型出色的長文字生成能力。在我們的參與者看來,一些模型撰寫的文章甚至比部分出自大師之手的文章還要好。對聯和詩歌的生成表明,儘管我們的預訓練語料中沒有加強古漢語,“源1.0”也能夠建立具有一定形式的古漢語文字,如圖2所示。“源1.0”也可以進行符合人類期望的對話(45.68%)。“源1.0”目前能夠生成多種高質量的文字,如新聞稿件、故事續寫等。對於這些類別的任務,所產出的文章與人類創作的內容相差無,甚至達到了以假亂真的程度。

在表2中展示了一些“源 1.0”對不同文體的駕馭能力,讀者可以稍加體會。

從表2(b)(c)中,我們可以看到“源 1.0”的學習和模仿能力。在生成詩歌時,如果我們在輸入中給出某種風格的例子,模型就會傾向於生成相似風格的詩歌。在小說續寫中,模型也會依據輸入文字的風格,繼續文章的寫作。

除了基本的創作能力以外,“源 1.0”其實還有一些有趣的能力,比如,模型可以學習一些原本不存在的詞的用法,也能夠具備一定的推理能力。比如我們在輸入中給出了這個詞的定義和例句,模型將用給定的資訊編寫一個新句子。這個不存在詞包括名詞和形容詞。表3(a)顯示了模型在One-shot條件下的生成結果。在所有情況下,模型都對我們給出的新詞作出了近似正確的應用,這意味著我們的模型具有學習和模仿能力。這種能力在模型輔助科學文章寫作時特別有效,因為對“源 1.0”來說學術文章中的大量定義可能是陌生的。表3(b)則展示了模型的邏輯推理能力,這些推理題對於人類來說尚有一定的挑戰、需要相當程度的推理和計算,但是模型卻可以快速給出答案,且正確率遠高於隨機。

關於“源1.0”的更多資訊,大家可以參照浪潮人工智慧研究院釋出在arxiv上的論文:。

來自 “ 廠商稿 ”, 原文作者:浪潮人工智慧研究院;原文連結:123,如有侵權,請聯絡管理員刪除。

相關文章