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

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

浪潮人工智慧研究院

最近,浪潮人工智慧研究院釋出了中文巨量模型“源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 零樣本學習和小樣本學習示例

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

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

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

2.1 提示模板設計

2.1.1 零樣本學習

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

表1 單句分類任務最佳提示模板

2.1.2 小樣本學習

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

表2 TNEWS任務3-shot不同示例排序結果對比

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

2.2 校準

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

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

具體實現:

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

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

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

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

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

表3不同校正方法在多分類任務上實驗結果對比(10億引數模型)

綜合來看,通過資料集校正,效果更佳。

2.3 標籤擴充套件

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

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

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

表4 TNEWS任務標籤擴充結果

2.4 標籤擴充套件與校準結合

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

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

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

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

表5 標籤擴充與校正結合不同方案結果對比(10億引數模型)

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

中文語言理解測評基準(CLUE,)是目前公認最權威的中文語言模型評估基準,提供了一個由語言學家建立的診斷評估資料集,覆蓋多個不同程度的語言任務,具有廣泛代表性。程式碼地址:。

表6 CLUE中小樣本學習榜單下游任務資料集介紹

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

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

圖2 Zero榜單打榜結果

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

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

相關文章