CMU&清華新作:讓LLM自己合成資料來學習,特定任務效能同樣大幅提升

机器之心發表於2024-08-01
圖片
AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

本文主要作者來自清華大學和卡內基梅隆大學(CMU)。共同一作為清華大學計算機系本科畢業生趙晨陽,卡內基梅隆大學碩士生賈雪瑩。

雖然大規模語言模型(LLM)在許多自然語言處理任務中表現優異,但在具體任務中的效果卻不盡如人意。為了提升模型在特定自然語言任務上的表現,現有的方法主要依賴於高質量的人工標註資料。這類資料的收集過程既耗時又費力,對於資料稀缺的任務尤為困難。

為了解決這個問題,一些研究嘗試透過強大的 Teacher Model 生成訓練資料,來增強 Student Model 在特定任務上的效能。然而,這種方法在成本、可擴充套件性和法律合規性方面仍面臨諸多挑戰。在無法持續獲得高質量人類監督訊號的情況下,如何持續迭代模型的能力,成為了亟待解決的問題。

來自卡內基梅隆大學和清華大學的研究團隊提出了 SELF-GUIDE 方法。該方法透過語言模型自身生成任務特定的資料集,並在該資料集上進行微調,從而顯著提升模型在特定任務上的能力,無需依賴大量外部高質量資料或更強大的 Teacher Model。具體來說,在外部輸入大約 3 個樣例的情況下,SELF-GUIDE 採用多階段的生成和過濾機制,利用模型生成的合成資料進行微調,使模型在特定任務上的表現更加出色。

圖片

  • 論文地址:https://arxiv.org/abs/2407.12874

  • 程式碼倉庫:https://github.com/zhaochenyang20/Prompt2Model- SELF-GUIDE

圖片

圖 1:SELF-GUIDE 利用模型自主合成資料的能力提升模型執行特定任務的能力。

方法

具體來說,研究團隊將 SELF-GUIDE 方法分解為三個主要階段:輸入資料生成、輸出資料生成和質量最佳化。

輸入資料生成

在 SELF-GUIDE 框架的設計和實現過程中,研究者首先根據任務型別(生成型任務或分型別任務)指定不同的提示模板。對於生成型任務, SELF-GUIDE 框架使用一個相對簡單的提示模板。而對於分型別任務, SELF-GUIDE 框架則採用了另一種策略。對於分類任務, SELF-GUIDE 框架首先從全部標籤空間中隨機選擇一個標籤,將其作為條件生成的偽標籤,指導輸入資料的生成。選定偽標籤後, SELF-GUIDE 框架使用較為複雜的條件生成模板,引導模型生成與所選偽標籤相對應的輸入內容。

圖片

圖 2:SELF-GUIDE 的核心在於一個高效的多階段生成機制,其中語言模型逐步生成輸入資料輸出資料組合。經過生成和過濾後,自生成的資料進一步用於微調語言模型本身。此圖描述了 SELF-GUIDE 針對生成任務的流程。

選定模板並填充示例(few-shot examples)後,完整的提示被傳遞給 LLM,以生成輸入資料。每輪提示後,新生成的輸入會被新增到輸入庫中。從這個庫中隨機抽取一部分輸入,並與初始示例中的輸入合併,形成新的提示,逐步擴充套件 LLM 生成的輸入集並且減少重複。SELF-GUIDE 僅進行一輪輸入生成,隨後在質量最佳化階段,應用基於規則的過濾器來去除低質量的輸入。

圖片

圖 3:此圖描述了 SELF-GUIDE 完成分類任務的過程。對於分類任務的資料,SELF-GUIDE 首先生成偽標籤,然後生成對應的輸入,最後重新生成真實標籤。

輸出資料生成

輸出資料生成階段採用了典型的上下文學習方法:研究者向模型提供任務指令和原始示例,使模型對輸入生成階段產生的每一個輸入進行標註。在獲取所有輸出後,再進行一輪基於規則的過濾,以選擇最終的合成資料集。

質量最佳化

生成資料的質量對於下游訓練的成功至關重要。SELF-GUIDE 採用了兩種策略來提高質量:調整生成引數以提高生成質量並基於規則過濾掉低質量樣本。

調整溫度:調整溫度是一種平衡多樣性和質量的常見策略。SELF-GUIDE 框架在輸入生成階段使用較高的溫度以鼓勵多樣性,在其他階段透過使用較低的溫度確保得到機率最高的輸出,從而保證整體資料質量。然而,僅依靠溫度調整不足以實現所需的平衡。因此, SELF-GUIDE 還在輸入生成後和輸出註釋後分別進行了兩輪基於規則的資料過濾。

噪聲過濾(Noise Filter):研究者手動整理了一份噪聲術語列表,包括常見的問候語和噪聲字元(例如,生成內容中的”\\”)。如果生成示例的輸入或輸出中出現了任何來自這份列表的噪聲術語, SELF-GUIDE 將丟棄整個示例。

長度過濾(Length Filter):雖然示例的長度可能存在偏差,但是研究者認為這些示例在特定任務的長度分佈方面仍然具有代表性。SELF-GUIDE 假設示例的長度遵循正態分佈,並計算出輸入樣例的均值 μ 和標準差 σ,研究者假定生成示例的輸入和輸出長度應符合同一正態分佈,並要求長度在 (μ − 2σ, μ + 2σ) 範圍內。

整體引數微調(One Parameter Fits All):為了使 SELF-GUIDE 生成符合指令和示例指定目標分佈的訓練資料,需要在標註資料點上最佳化各種超引數,包括生成輸入輸出的個數、輸入資料生成的溫度、輸出資料生成的溫度、微調引數等。研究者將實驗測試任務分為兩部分:一部分可以利用所有資料進行驗證以調整生成引數,稱為驗證任務;另一部分的資料僅用於測試而不可用於調整引數,稱為測試任務。研究者在驗證任務上搜尋 “最大化最差任務效能” 的引數,並將其固定用於測評 SELF-GUIDE 在測試任務上的表現。

實驗結果

為了評估 SELF-GUIDE 的有效性,研究者從 Super-NaturalInstructions V2 基準中選擇了 14 個分類任務和 8 個生成任務。研究者隨機選擇了一半任務用於超引數搜尋,剩餘的一半用於評估。在模型方面,研究者選擇了 Vicuna-7b-1.5 作為輸入生成、輸出生成和微調的基礎模型。在評估指標方面,研究者採用了與 Super-NaturalInstructions 基準相同的評估指標,即分類任務的 Exact Match 和生成任務的 ROUGE-L。

為了體現 SELF-GUIDE 的效果,研究者將 SELF-GUIDE 與其他指令跟隨和上下文學習方法進行了比較:

1.Few-Shot ICL:作為主要基準,研究者與直接提示語言模型進行了比較。這種方法直接依賴於模型固有的指令跟隨能力。

2.Self-ICL:Self-ICL 使用自生成的示例來提高零樣本指令跟隨。研究者在 Self-ICL 工作的基礎上進行了修改,透過自生成儘可能多的示例(而不是固定個數的示例)填充提示詞,從而增加參考樣本數目。

3.Few-Shot Finetuning:直接利用輸入的少量示例進行微調。

SELF-GUIDE 原文主要實驗結果如下所示。在基準的評估指標上,分類任務的絕對提升達到了 14.5%,而生成任務的絕對提升則達到了 17.9%。這些結果表明, SELF-GUIDE 在指導 LLM 向任務特定專業化方向發展方面具有顯著效果,即使在資料極其有限的情況下。這突顯了自我生成資料在大規模適應 LLM 到特定任務中的潛力。更多實驗結果和消融實驗請參考論文原文。

圖片

圖 4:對於每類任務(分類和生成任務),研究者將任務隨機分成兩半,一半用於除錯 “One Parameter Fits All” 策略的引數,另一半用於使用這些除錯好的引數測試 SELF-GUIDE 的效能。我們使用相同的解碼引數和提示模板來評估模型在 SELF-GUIDE 前後的表現。

總結

SELF-GUIDE 框架鼓勵模型自主生成訓練資料並在此資料上進行微調。實驗結果表明,這種方法在提升大規模語言模型特定任務的專業能力方面具有巨大潛力,尤其是在資料有限的情況下,SELF-GUIDE 可以有效解決缺少訓練資料的問題。同時,這也為探索自主模型適應和持續學習的技術提供了參考。研究者希望這一工作能夠推動 AI 系統在自主對齊和改進機制方面的發展,使其更加符合人類的意圖。

相關文章