gpt3(GPT3——少樣本示例推動下的通用語言模型雛形)結合提示詞和少樣本示例后,展示出了強大性能。但大語言模型的訓練門檻太高,普通研究人員無力,LM-BFF(Making Pre-trained Language Models Better Few-shot Learners)的作者受gpt3啟發后,將gpt3的少樣本學習思路與常規語言模型(如BERT、RoBERTa)相結合,最終提出了一種新穎的微調方法,大大降低了微調所需樣本量,也為我們理解提示詞的重要性帶來了新的啟發。
本文主要分享這種新穎微調方法的好處,不對細節做過多展開。
方法
傳統的微調方法是,給定訓練好的預訓練模型后,再利用該預訓練模型在各類監督數據集上結合標簽進行監督訓練。輸入和輸出由不同的數據集決定。
LM-BFF作者的思路是,在監督訓練時,通過引入提示模板 (prompt template) 和任務示例 (task demonstrations/examples),將原始輸入和輸出(標簽)轉換成一種更接近語言模型預訓練任務的格式(即完形填空或文本生成)進行訓練。
例如,對于一個傳統的文本分類任務:
- 傳統微調輸入(以RoBERTa為例):
[CLS] No reason to watch. [SEP]
,預測輸出通常是數據集的標簽(如positive,negative) - LM-BFF微調輸入示例:
[CLS] No reason to watch. [SEP] It was [MASK]. [SEP] A fun ride. It was great. [SEP] The drama discloses nothing. It was terrible. [SEP]
,預測輸出是標簽詞映射得到的詞(如great,terrible)
在這個LM-BFF的例子中:
No reason to watch.
是原始輸入文本。It was [MASK].
是應用于原始輸入文本的提示模板,模型需要預測[MASK]
位置最合適的詞。A fun ride. It was great.
和The drama discloses nothing. It was terrible.
是任務示例(demonstrations)。其中great
和terrible
是原始標簽(如“正面”、“負面”)通過標簽詞映射 (label word mapping) 轉換成的具體詞語。這些示例為模型提供了當前任務的上下文信息。
下圖是更詳細的過程:
LM-BFF的四個關鍵部分:
- 三個輸入部分:原始輸入 + 提示模板 + 任務示例
- 輸出標簽詞映射。
其中提示模板和輸出詞映射可以手動指定也可以自動得出,作者提出了自動推斷提示模板和輸出詞映射的方法。任務示例從訓練樣本中抽樣。
自動推斷輸出標簽映射詞的方法:
- 使用預訓練語言模型(如 RoBERTa)來預測與標簽語義最相關的詞。
- 對于每個標簽,構造一個模板(如“It was [MASK].”),然后通過模型預測 [MASK] 位置的詞,選擇概率最高的詞作為標簽映射詞。
- 例如,對于“positive”標簽,模型可能預測“great”作為映射詞;對于“negative”標簽,預測“terrible”。
- 這種方法減少了手動指定標簽詞的負擔,提高了方法的通用性。
自動推斷提示模板的方法:
- 利用 T5 模型的填空能力,將模板字符作為掩碼序列輸入T5,使其通過預測掩碼序列生成候選提示模板。
- 例如,對于文本分類任務,T5 可能生成“It was [MASK].”或“The sentiment is [MASK].”作為提示模板。
- 然后通過少量驗證數據評估每個模板的性能,選擇效果最好的模板。
- 這種方法通過自動化生成提示模板,減少了人工設計的成本。
實驗
作者在GLUE數據集和SNLI數據集上做了實驗。
在不同的數據集上,作者手工指定了提示模板和標簽詞映射。當然后面有手工,也有自動推斷的實驗結果。
實驗效果
作者對比了若干方法:
第一部分:
- Majority(選取數據最多的類做標簽)
- 使用作者手工指定的提示詞進行零樣本學習,不微調訓練
- 使用作者手工指定的提示詞 + 任務示例,不微調訓練
- 使用少量樣本進行傳統微調訓練
第二部分(LM-BFF):
- 手工指定提示詞(原始輸入 + 提示模板),微調訓練
- 手工指定提示詞+任務示例(原始輸入 + 提示模板+ 任務示例 ),微調訓練
- 自動指定提示詞(原始輸入 + 提示模板),微調訓練
- 自動指定提示詞+任務示例(原始輸入 + 提示模板+ 任務示例 ),微調訓練
第三部分:
全量樣本傳統微調訓練
實驗結果確實顯著的表明,在少樣本設定下,LM-BFF具有顯著的優勢,比傳統微調性能大幅提高(大多在百分之10以上)
結合提示詞微調的優勢
另一篇論文(How Many Data Points is a Prompt Worth?)通過實驗清楚的表明了結合提示微調的好處:
作者用SuperGLUE數據集對比了結合提示微調和傳統微調在不同數據量情況下的表現,橫坐標代表樣本量,黃色代表提示詞微調在使用不同樣本量數據時的性能,紫色為傳統微調的性能。大部分數據集上提示詞微調的效果都要好于傳統微調。
結果表明結合提示微調對訓練樣本的需求大大少于傳統微調,幾十個樣本可以達到較好效果,不同數據量下的效果也大多好于傳統微調。這也充分證明了語言模型的提示詞的重要性。