中文巨量模型“源1.0”的學習優化方法

最近,浪潮人工智能研究院發佈了中文巨量模型“源1.0”,參數量達2457億,超越美國OpenAI組織研發的GPT-3。“源1.0”在語言智能方面表現優異,獲得中文語言理解評測基準CLUE榜單的零樣本學習(zero-shot)和小樣本學習(few-shot)兩類總榜冠軍。在零樣本學習榜單中,“源1.0”超越業界極佳成績18.3%,在6項任務中獲得冠軍;在小樣本學習的4項任務獲得冠軍。在成語閱讀理解填空項目中,源1.0的表現已超越人類得分。

    爲了提高“源1.0”在不同下游任務的泛化性和精度,我們採用了多種小樣本學習優化策略。本文介紹了標籤擴充和校正相結合的小樣本學習優化方法。該方法不僅能消除預訓練語料中標籤出現頻率不同而帶來偏置,而且通過空文本或數據集校正標籤詞和輸入樣本帶來的偏置,可使巨量模型避免再訓練,降低了內存需求和系統複雜性,而且大大提高了下游任務的準確率和穩定性。

    根據在下游任務推理時提供的樣本數目,我們進一步將表述專門化爲“零樣本”和“小樣本”。

採用零樣本和小樣本學習的原因

    人類可以僅通過一個或幾個示例就可以輕鬆地建立對新事物的認知,而機器學習算法通常需要成千上萬個有監督樣本來保證其泛化能力。擁有從零樣本、小樣本中學習和概括的能力,是人工智能向人類智能發展的重要標誌。簡單來說,零樣本學習就是訓練的模型不僅僅能夠識別出訓練集中已有的數據類別,還可以對未見過的類別的數據進行區分;小樣本學習就是使用遠小於深度學習所需要的數據樣本量,達到接近甚至超越大數據深度學習的效果,如圖1。

    圖1零樣本學習和小樣本學習示例

    對“源1.0”這樣的超大型模型進行微調比較困難而且成本很高,因此希望固定它們的模型參數,然後將不同的優化策略應用到不同下游任務上。新的研究成果也表明,在自然語言處理(NLP)領域通過增加模型規模、擴大預訓練數據體量、使用更多的計算資源等方式,巨量模型可以在小樣本學習甚至零樣本學習任務中獲得非常出色的性能表現。預訓練好的巨量模型不必再經過複雜的“微調”過程,就可以爲諸多應用任務泛化支持提供統一強大的算法支撐。

零樣本和小樣本學習優化方法

    巨量模型核心的能力是零樣本學習和小樣本學習能力。但是基於巨量模型的零樣本和小樣本學習可能是非常不穩定的:提示模板格式的選擇、訓練樣本、甚至訓練樣本順序都可能導致準確性在接近偶然和接近先進水平之間漂移,這種不穩定性源於語言模型對預測某些答案的偏差,例如,那些被放在提示語末尾附近的答案,或在預訓練數據中常見的答案,這些偏差往往會導致模型的輸出分佈發生變化。因此針對零樣本和小樣本學習任務,我們提出了一套校準和標籤擴展方案來提升模型在下游任務上的性能表現。大量實驗結果表明這套方案能夠在多項語言處理NLP任務上穩定地提升模型的精度。以下內容以單句分類任務爲例進行介紹。

提示模板設計   零樣本學習

    經過大量的實驗對比,我們發現單句分類任務更適合基於概率生成方式,因此將提示模板設計成填空最後一個詞的形式。

小樣本學習

    巨量模型的準確性在很大程度上取決於訓練示例的選擇和排列。因此我們從訓練集中人工挑選三個不同類別(娛樂、文化、體育)示例進行測試排列測試。

    從實驗數據可知,當模型參數量較小時,模型沒有學到足夠的知識,此時小樣本示例對分類結果起負作用。隨着模型參數量增大,小樣本學習的效果越明顯。

校準

    巨量模型在預訓練中會從語料庫帶來偏置,導致下游任務精度低或性能不穩定。例如,在零樣本情感分類設置中,給定“N/A”作爲輸入,GPT-3傾向於預測爲“positive”而不是“negative”,而本應該分配50/50的概率給這兩個相反的標籤。另一個問題是同一對象的不同表示(例如,“computer”和“PC”)可能會競爭概率質量,導致任務標籤上的分佈不理想。因此在實際應用中校正很有必要。具體可參考論文:CalibrateBefore Use: Improving Few-Shot Performance of LanguageModels(https://arxiv.org/abs/2102.09690)。

    我們採用解決的方法是通過無文本輸入對帶偏置的標籤詞進行補償,把它們校準爲無偏狀態,減少不同提示選擇之間的差異。

    具體實現:

     輸入無文本樣例,即將無文本["N/A", " ", "[MASK]"]分別和2.1設計的提示模板組合,如"N/A"與EPRSTMT提示模板組成輸入樣例:“N/A。總體來說,該產品很__”;

     將無文本樣例輸入語言模型,輸出標籤詞位置對應的所有類別概率(logits),並取平均值後歸一化得到

     將驗證集樣本與提示模板組合爲驗證集樣例輸入語言模型,輸出校正前所有類別概率

     根據公式  計算校正後類別概率。其中有兩種方案:一、當通過計算校正矩陣時,;二、當通過計算校正矩陣時,

    需要特別注意的是,爲了同時校正標籤詞和輸入樣本帶來的偏置,我們還提出了將訓練集或驗證集樣本替代無文本["N/A"," ", "[MASK]"]計算校正矩陣的方法,使得模型可以根據輸入數據分佈進行校正。實驗結果如表3所示。

    綜合來看,通過數據集校正,效果更佳。

標籤擴展

    在理想狀態下,所有標籤在預訓練語料中的出現頻率應該大致相同。但是在實驗中,我們發現標籤在語料中出現的頻率存在差異,使得模型對預測結果有偏好性。在實際應用中,人工從接近6萬的詞表空間中選擇符合條件的標籤映射詞是非常困難的,而且通常會引入主觀因素(參考論文KnowledgeablePrompt-tuning: Incorporating Knowledge into Prompt Verbalizer forText Classification)。因此我們採用word2vec算法和人工結合方式,擴展標籤詞步驟如下:

    (1)通過word2vec初步篩選出與原標籤相近,並在詞表中的標籤;

    (2)在初步篩選候選集中再人工精選,刪去稀有詞,儘可能找先驗分佈相近的標籤詞對。

標籤擴展與校準結合

    將2.3擴展標籤詞與2.2校準相結合提出三種校正優化方案,在實際應用中可根據測試選擇:

    方法一:先通過模型對擴充後標籤映射詞計算其相應概率,然後按類別取平均,最後再校正;

    方法二:先通過模型對擴充後標籤映射詞計算其相應概率,然後按類別取至大值,最後再校正;

    方法三:先通過模型對擴充後標籤映射詞計算其相應概率,然後分別進行校正,最後按類別取平均。

“源1.0”在CLUE榜單單句分類任務上的應用方法舉例

    中文語言理解測評基準(CLUE,https://www.cluebenchmarks.com/)是目前公認權威的中文語言模型評估基準,提供了一個由語言學家創建的診斷評估數據集,覆蓋多個不同程度的語言任務,具有廣泛代表性。代碼地址:https://github.com/chineseGLUE/chineseGLUE。

    單句分類任務包括情感分類(Eprstmt:用於情感分析的電子商務產品評論數據集)、新聞標題分類(Tnews:ToutiaoShort Text Classificaiton forNews)、應用描述分類(Iflytek:長文本分類)和學科分類(Csldcp:中國科學文獻學科分類)。Eprstmt是二分類任務,包括帶有正面和負面產品評論。Tnews、Iflytek和Csldcp是多分類任務,分別有15、118和67個類別。如果標籤爲0 或1或是英文,我們會將標籤轉換爲中文。如果標籤長於一個標記,我們將標籤轉換爲一個標記的長度,並確保其具有相同或相似的含義。對於所有文本分類任務,標籤都附加在句子的末尾,句子和標籤直接用提示詞鏈接。我們的生成模型會根據給定的句子預測標籤,並計算每個候選標籤的概率P(label|sentence),其中概率至大的是模型預測結果。

    預訓練好的“源1.0”千億參數模型,結合下游任務優化方法,在零樣本學習榜單中,超越業界極佳成績18.3%,並在文獻分類、新聞分類,商品分類、原生中文推理、成語閱讀理解填空、名詞代詞關係6項任務中獲得冠軍。

    圖2Zero榜單打榜結果

    關於“源1.0”的更多信息,大家可以參照浪潮人工智能研究院發佈在arxiv上的論文:https://arxiv.org/abs/2110.04725。

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