大模型微調技巧 | 高質量指令數據篩選方法-MoDS
寫在前面
大家好,我是劉聰NLP。
大模型時代,指令微調已經成了算法工程師們必不可少的技能。而在指令微調過程中,我們往往會從數據數量和數據質量兩個維度來對模型進行調優。
今天給大家帶來一個新的方法-MoDS,一種面向模型的指令數據選擇方法-《MoDS: Model-oriented Data Selection for Instruction Tuning》,核心是從數據質量、覆蓋范圍、必要性三個角度來對原始數據集進行數據過濾,最終獲取對于不同模型的高質量數據集。并且相較于自動識別方法,在使用更少數據的情況下,就可以獲取更好的效果。
paper: https://arxiv.org/pdf/2311.15653.pdf
github: https://github.com/CASIA-LM/MoDS
MoDS方法
MoDS方法主要通過質量、覆蓋范圍、必要性三個指標來進行數據的篩選,其中數據質量是為了保證所選的指令數據的問題和答案都足夠好;數據覆蓋范圍是為了讓所選擇的數據中指令足夠多樣、涉及知識范圍更廣;數據必要性是選擇對于大模型較復雜、較難或不擅長的數據以填補大模型能力的空白。整體流程如下圖所示,
圖片
質量篩選
對于數據進行質量過濾時,采用OpenAssistant的reward-model-debertav3-large-v2模型(一個基于DeBERTa架構設計的獎勵模型)對數據進行質量打分。講原始數據的Instruction、Input、Output的三個部分進行拼接,送入到獎勵模型中,得到一個評分,當評分超過α時,則認為數據質量達標,構建一份高質量數據集-Data1。
圖片
多樣性篩選
為了避免所選質量數據高度相似,通過K-Center-Greedy算法進行數據篩選,在最大化多樣性的情況下,使指令數據集最小。獲取種子指令數據集(Seed Instruction Data)-SID。
圖片
在該步驟中,采用BERT模型為指令數據生成句向量來計算不同數據之間的距離。
必要性篩選
不同的大型語言模型在預訓練過程中所學到的知識和具有的能力不同,因此在對不同的大型語言模型進行指令微調時,所需的指令數據也需要不同。
對于一條指令,如果給定的大型語言模型本身能夠生成較好的回答,則說明給定的大型語言模型具有處理該指令或者這類指令的能力,反之亦然,并且哪些不能處理的指令對于模型微調來說更為重要。
- 使用SID數據集對模型進行一個初始訓練
- 用訓練好的初始模型對整個高質數據集-Data1中的指令進行結果預測
- 利用獎勵模型對結果進行評分,當分值小于β時,說明初始模型不能對這些指令生成優質的回復,不具有處理這些類型指令的能力,獲取必要性數據集-Data2
- 對Data2進行多樣性篩選,獲取增強指令數據集(Augmented Instruction Data)-AID。
模型訓練
最終利用種子指令數據集和增強指令數據集一起對模型進行指令微調,獲得最終模型。
實驗結果
訓練數據
訓練數據有兩種,一種是單獨的Alpaca數據集(52k),一種時混合數據集(214k),包含HC3數據集、Alpaca數據集、Alpaca-evol-instruct數據集、Dolly-v2數據集、InstructWild數據集和LIMA數據集。
測試數據主要包含5個測試集,分別為Koala數據集(180)、WizardLM數據集(218)、Self-instruct數據集(252)、Vicuna數據集(80)和LIMA數據集(300)。
訓練超參
模型基座采用LLaMA2-7B模型,訓練過程中學習率為2e-5,warmup的比率為0.03,權重衰減為0.0,批大小為128,訓練輪數為3。在質量評價和必要性評價過程中,Alpaca數據集的α和β均設置為0.0,混合數據集的α和β分別設置為1.0和-1.0。
在模型測試過程中,采用ChatGPT和GPT4作為裁判,對模型生成結果從相關性和準確性兩個角度進行打分,每個角度的評分從1到10。在評價兩個模型勝、平、負時,當兩個角度評分都高時為勝;當兩個角度評分一高一低時為平;當兩個角度評分都低時為負。
結果分析
在Alpaca數據集中通過MoDS方法獲取1k數據的效果要優于全量數據訓練的結果,如下圖所示。
圖片
在Alpaca數據集中MoDS方法在選擇2k數據時,訓練效果優于基于IFD的自動選擇方法,如下表所示。
圖片
在混合數據及中MoDS方法獲取4k數據的效果全面優于全量數據訓練的結果,如下圖所示。
圖片
驗證指令多樣性選擇的重要性,與隨機選擇進行對比,如下圖所示。
圖片
驗證必要性篩選的重要性,與僅用種子數據訓練的模型進行對比,如下圖所示。
圖片
寫在最后
大模型時代,大多數算法工程師已經變成了數據工程師,如何構造出讓模型表現更好地數據,變成了大家的日常工作,但千萬不要小看這份工作,往往細節決定成敗。
本文轉載自 ??NLP工作站??,作者: 劉聰NLP
