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

面向K近鄰分類性能的遺傳訓(xùn)練集優(yōu)化算法
設(shè)計(jì)模式最佳實(shí)踐探索—策略模式
微軟開源“傻瓜式”類ChatGPT模型訓(xùn)練工具
YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練策略詳解

評(píng)論