SFT是目前最常見的調(diào)節(jié)模型效果的手段,然而它雖然看起來簡單(準備好數(shù)據(jù)->啟動),真正優(yōu)化起效果來卻困難重重,尤其是當我們有一堆能力項要優(yōu)化時(推理能力、閑聊能力等),事情往往不會像我們預想的那樣發(fā)展,單獨調(diào)節(jié)能力和混合調(diào)節(jié)能力完全是兩個難度。
今天就和大家分享我們在近期的一篇工作,探索混合數(shù)據(jù)后的模型優(yōu)化姿勢:
什么是SFT階段的數(shù)據(jù)組成(Data Composition)問題?
在大語言模型的監(jiān)督微調(diào)階段(Superviesd Finetuning, SFT),我們通過混合注入不同能力項的數(shù)據(jù)(數(shù)學推理,翻譯,代碼,通用能力等),來解鎖大模型多樣化的能力。然而由于不同能力項的數(shù)據(jù)的來源、領域、分布,以及數(shù)據(jù)規(guī)模的不同,這些因素都將對模型性能產(chǎn)生劇烈的影響。因此,SFT的數(shù)據(jù)組成問題旨在探究模型能力與各種能力項數(shù)據(jù)之間的關系,包括不同能力項的數(shù)據(jù)量、數(shù)據(jù)配比、模型參數(shù)量和微調(diào)訓練策略等,這對未來全面提升大模型的奠定了堅實的基礎。
本文聚焦于SFT階段的數(shù)學推理能力,代碼生成能力,以及通用指令遵循能力,這三個能力的數(shù)據(jù)集及評測指標的介紹如下:
? GSM8K RFT [1] 是一個增強的數(shù)學推理數(shù)據(jù)集,它基于GSM8K數(shù)據(jù)集[4]并結合RFT策略整合了多條推理路徑。訓練集中包含7.5K個問題和110K個回答,我們所有實驗數(shù)學的評測指標為GSM8k測試集分數(shù)。
? Code Alpaca [2] 旨在構建一個遵循指令,生成代碼的LLaMA模型,構建方式完全基于Stanford Alpaca,包含20K對的代碼數(shù)據(jù),我們代碼生成的評測指標為HumanEval。
? ShareGPT [3] 使用多輪對話歷史記錄,包括約9w條來自人類的提問和來自ChatGPT和其他聊天機器人的回復。我們通用能力的評測指標為MT-Bench。
本文旨在從Data Scaling的視角,全面性地研究模型性能與不同因素之間的關系,包括數(shù)據(jù)量,數(shù)據(jù)配比,模型參數(shù)量和SFT訓練策略。我們的文章以4個研究問題(RQ)為主線進行探究。
RQ1: 隨著數(shù)據(jù)量的增加,數(shù)學推理、代碼生成和通用能力的性能變化趨勢如何?
實驗設置:
我們使用來自數(shù)學,代碼,通用能力的訓練集按比例{1, 1/4, 1/16, 1/64, 1/256}對不同參數(shù)量的LLaMA進行監(jiān)督微調(diào)。來評估每種單獨能力項在不同數(shù)據(jù)量/模型參數(shù)量下的表現(xiàn)。
核心結論(圖2):
? 不同能力項有不同的Data Scaling曲線:數(shù)學推理能力,通用能力與數(shù)據(jù)量呈正相關模型的性能縮放曲線。值得注意的是通用能力只需要大約 1k數(shù)據(jù)樣本便會產(chǎn)生性能激增(數(shù)據(jù)量從1/256 到 1/64),并在達到一定閾值提高緩慢(1/64),這契合于LIMA[5]文中所提到的“Less is more”。然而代碼能力在7B,13B則呈現(xiàn)不規(guī)則的性能曲線,33B呈現(xiàn)log-linear的趨勢。
? 數(shù)據(jù)充足的情況下,更大參數(shù)量的模型往往有更強大的性能
RQ2: 在SFT階段中,將三種能力項數(shù)據(jù)直接混合是否會產(chǎn)生性能沖突?
實驗設置:
單數(shù)據(jù)源:分別使用{1, 1/4, 1/16, 1/64, 1/256}數(shù)量的數(shù)學,代碼,通用能力數(shù)據(jù)對LLaMA模型微調(diào)。
混合數(shù)據(jù)源:分別使用{1, 1/4, 1/16, 1/64, 1/256}數(shù)量的三種能力項數(shù)據(jù),三種數(shù)據(jù)按照同等的數(shù)據(jù)比例直接混合,來對LLaMA模型微調(diào)。
核心結論(圖3):
? 與單數(shù)據(jù)源相比,混合數(shù)據(jù)源設置呈現(xiàn)低資源性能增益,而高資源性能沖突: 三種能力的性能放縮曲線一致呈現(xiàn)高資源下(1/1)混合數(shù)據(jù)源設置弱于單數(shù)據(jù)源,然而隨著數(shù)據(jù)量下降二者產(chǎn)生性能轉(zhuǎn)折,最終低資源(1/256)下混合數(shù)據(jù)源產(chǎn)生明顯性能增益。
? 隨著模型參數(shù)量的提高,數(shù)學推理與通用能力在低資源下的性能增益更加顯著
RQ3: 什么是產(chǎn)生性能沖突的關鍵因素:
實驗設置:
我們將代碼生成與數(shù)學推理數(shù)據(jù)視為特定能力數(shù)據(jù)源,而ShareGPT則為通用能力數(shù)據(jù)源。我們設計了以下三種設置來探究通用數(shù)據(jù)和特定能力數(shù)據(jù)之間的比例變化:
固定通用數(shù)據(jù),放縮特定能力數(shù)據(jù):Fix general + k (code, math)
固定特定能力數(shù)據(jù),放縮通用數(shù)據(jù):Fix (code, math)l + k general
固定1/64通用數(shù)據(jù),放縮特定能力數(shù)據(jù):Fix 1/64 general+ k (code, math)
核心結論(圖4):
? 當不同的SFT能力之間存在顯著的任務格式和數(shù)據(jù)分布差異時(數(shù)學和通用數(shù)據(jù)之間),數(shù)據(jù)比例的影響較小。然而,當存在一定程度的相似性時(代碼和通用數(shù)據(jù)之間),數(shù)據(jù)比例可能會導致明顯的性能波動。(數(shù)據(jù)分布的討論見D1)
? 即便在通用數(shù)據(jù)資源非常有限的情況下,特定能力的數(shù)據(jù)比例的放縮也沒有對通用能力造成明顯影響。
RQ4: 不同的SFT訓練策略對數(shù)據(jù)組成的影響是什么?
實驗設置:
如圖1所示,我們探究以上SFT訓練策略對性能的影響:
多任務學習:直接混合不同的SFT能力項數(shù)據(jù)進行SFT。若將每個數(shù)據(jù)源視為不同任務,則可視為多任務學習。
順序訓練:按順序依次在各能力項數(shù)據(jù)集上微調(diào)。由于通用能力是人類對齊的核心能力,我們將通用能力數(shù)據(jù)放在最后階段微調(diào)。
混合順序訓練:首先在特定能力數(shù)據(jù)集(代碼、數(shù)學)上進行多任務學習,然后在通用能力數(shù)據(jù)集上進行SFT。
兩階段混合微調(diào)(DMT):我們綜合RQ1-3的結論與上述訓練策略的優(yōu)缺點,提出DMT策略。在第一階段我們首先在特定能力數(shù)據(jù)集(代碼、數(shù)學)上進行多任務學習。在第二階段我們使用混合數(shù)據(jù)源進行SFT,其中包括通用數(shù)據(jù)和一定比例k的特定能力數(shù)據(jù)(k = 1, 1/2, 1/4, 1/8, 1/16, 1/32),這有助于緩解模型對特定能力的災難性遺忘。
核心結論(表1):
? 多任務學習在盡可能保留了特有能力,但是通用能力性能下降顯著。
? 兩種順序訓練保留了通用能力能力,但是由于多階段的微調(diào)產(chǎn)生災難性遺忘,使得他失去了太多的特定能力(尤其是數(shù)學)。
? 在不同的模型參數(shù)量下(7B,13B,33B),DMT (k = 1/256)策略在特定能力方面(數(shù)學,代碼)均有顯著改善,甚至對于通用能力也有一定程度的優(yōu)化。
Discussion
D1:不同能力的語義表示的可視化
實驗發(fā)現(xiàn):如上圖所示,通過對 LLaMA-13b [左]和 DMT-13b (k=1/256) [右]策略下 LLaMA-13b 的第15層的語義表示進行可視化,我們發(fā)現(xiàn)雖然這兩個模型可以分離開數(shù)學能力的語義表示,但是在代碼數(shù)據(jù)與通用能力數(shù)據(jù)的語義表示間,仍存在一定程度的坍縮重疊現(xiàn)象。
D2: 消融通用能力數(shù)據(jù)中的代碼和數(shù)學樣本
實驗設計:為了消融通用能力數(shù)據(jù)中的特定能力數(shù)據(jù),我們使用InsTag[1]工具對通用能力數(shù)據(jù)中的樣本標注標簽。并通過正則匹配過濾掉“數(shù)學”,“代碼”相關數(shù)據(jù)(從90K減少到63K)。與RQ2中的設置對齊,我們從數(shù)學,代碼,與過濾后的通用能力數(shù)據(jù)集中抽樣不同比例的訓練數(shù)據(jù)(1, 1/4, 1/16, 1/64, 1/256),并按照相應的比例直接混合后來微調(diào)LLaMA。
實驗結論:如圖6所示,移除通用能力數(shù)據(jù)中的代碼和數(shù)學后,低資源設置下依舊保持了穩(wěn)定的增益。這個消融實驗也表明通用能力中的代碼和數(shù)學樣本不是導致低資源性能增益的關鍵因素,而是數(shù)據(jù)的多樣性和可變性。
D3:雙階段混合微調(diào)(DMT)中第二階段特定能力數(shù)據(jù)的比例K
實驗發(fā)現(xiàn):如上圖所示,當我們將k從0調(diào)整到1/256(k = 0等于混合順序訓練)時,發(fā)現(xiàn)模型在特定能力和通用能力方面都表現(xiàn)出顯著的提升。相反,當k從1/4增加到1時,模型的通用能力出現(xiàn)下降。我們認為這與RQ2的發(fā)現(xiàn)一致,即高資源環(huán)境會導致沖突,而低資源環(huán)境會導致混合來源的增益。此外,當k從1/256增加到1/4時,特定能力與通用能力呈現(xiàn)此消彼長的趨勢。這表明需要根據(jù)具體大模型SFT需求調(diào)整k值,以在多種能力之間實現(xiàn)平衡。
總結
大模型混合多種能力項數(shù)據(jù)進行微調(diào)時,會呈現(xiàn)高資源沖突,低資源增益的現(xiàn)象。我們提出的DMT策略通過在第一階段微調(diào)特定能力數(shù)據(jù),在第二階段微調(diào)通用數(shù)據(jù)+少量的特定能力數(shù)據(jù),可以在保留通用能力的同時,極大程度地挽救大模型對特定能力的災難性遺忘,這為SFT的數(shù)據(jù)組成問題提供了一個簡單易行的訓練策略。值得注意的是,第二階段微調(diào)時混合的特定能力數(shù)據(jù)量需要根據(jù)需求而定。
一句話概括:訓通用大模型就少混點,訓特定能力就著重多混合點!
編輯:黃飛
-
數(shù)據(jù)
+關注
關注
8文章
7002瀏覽量
88943 -
語言模型
+關注
關注
0文章
520瀏覽量
10268 -
SFT
+關注
關注
0文章
9瀏覽量
6815 -
大模型
+關注
關注
2文章
2423瀏覽量
2643
原文標題:總結
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論