小模型如何比肩大模型,北理工發(fā)布明德大模型MindLLM,小模型潛力巨大
大型語言模型 (LLMs) 在各種自然語言任務(wù)中展現(xiàn)出了卓越的性能,但是由于訓(xùn)練和推理大參數(shù)量模型需要大量的計算資源,導(dǎo)致高昂的成本,將大語言模型應(yīng)用在專業(yè)領(lǐng)域中仍存在諸多現(xiàn)實問題。因此,北理團隊先從輕量級別模型入手,最大程度發(fā)揮數(shù)據(jù)和模型的優(yōu)勢,立足更好地服務(wù)特定領(lǐng)域,減少下游任務(wù)的訓(xùn)練與推理成本。
10 月 24 日,北京理工大學(xué)自然語言處理團隊發(fā)布系列雙語輕量級大語言模型明德 (Ming De LLM)——MindLLM,全面介紹了大型模型開發(fā)過程中積累的經(jīng)驗,涵蓋了數(shù)據(jù)構(gòu)建、模型架構(gòu)、評估和應(yīng)用過程的每個詳細步驟。MindLLM 從頭開始訓(xùn)練,具有 1.3B 和 3B 兩個版本, 在某些公共基準(zhǔn)測試中始終匹配或超越其他開源大型模型的性能。MindLLM 還引入了專為小型模型量身定制的創(chuàng)新指令調(diào)整框架,來有效增強其能力。此外,在法律和金融等特定垂直領(lǐng)域的應(yīng)用,MindLLM 也具有出色的領(lǐng)域適應(yīng)能力。
- 論文地址:https://arxiv.org/abs/2310.15777
MindLLM 亮點
- 我們分享了數(shù)據(jù)處理方面的經(jīng)驗,包括維護高質(zhì)量和高比例的網(wǎng)絡(luò)文本、保留書籍和對話等長期數(shù)據(jù)、對數(shù)學(xué)數(shù)據(jù)進行下采樣,同時對代碼數(shù)據(jù)進行上采樣。我們建議均勻地打亂數(shù)據(jù)以進行能力學(xué)習(xí),并將一些樣本分塊以用于小樣本學(xué)習(xí)場景。
- 我們的評估結(jié)果優(yōu)于部分大型模型,在未使用指令微調(diào)和對齊時,MindLLM模型 在 MMLU 和 AGIEval 評測上的性能優(yōu)于 MPT-7B 和 GPT-J-6B 等大型模型。在中文方面,MindLLM 在 C-Eval 和 CMMLU 上表現(xiàn)出與更大參數(shù)模型相當(dāng)?shù)男阅堋>唧w來說,MindLLM-3B 在數(shù)學(xué)能力上優(yōu)于 MOSS-Base-16B、MPT-7B 等較大模型,在雙語能力上超過 Baichuan2-7B 和 MOSS-Base-16B。而且,MindLLM-1.3B 在數(shù)學(xué)上比同等大小的 GPT-Neo-1.3B 更好。
- 我們比較了雙語學(xué)習(xí)中兩種不同的訓(xùn)練策略,并研究在預(yù)訓(xùn)練期間是否保持數(shù)據(jù)均勻分布的影響。我們得出的結(jié)論,對于容量規(guī)模有限的輕量級模型(≤7B)來說,通過預(yù)訓(xùn)練然后遷移訓(xùn)練的策略來實現(xiàn)數(shù)學(xué)、推理或雙語對齊等復(fù)雜能力并不是最優(yōu)的,因為整合新知識和現(xiàn)有知識是困難的。相比之下,更有效的策略是從頭開始,結(jié)合下游任務(wù)的需求,對多種數(shù)據(jù)類型進行整合,從而確保所需能力能夠穩(wěn)定且有效地獲取。
- 我們發(fā)現(xiàn)在指令調(diào)優(yōu)過程中利用針對特定能力的定制數(shù)據(jù),可以顯著增強輕量級模型的特定能力,例如綜合推理能力或?qū)W科知識能力。
- 我們介紹了使用基于熵的質(zhì)量過濾策略構(gòu)建指令集的方法,并證明了其在過濾輕量級模型的高質(zhì)量指令調(diào)整數(shù)據(jù)方面的有效性。我們證明,在輕量級模型的背景下,通過改善指令調(diào)優(yōu)數(shù)據(jù)質(zhì)量可以更有效地實現(xiàn)模型性能的優(yōu)化,而不是僅僅增加數(shù)據(jù)量。
- 我們的模型在特定領(lǐng)域展現(xiàn)出了出色表現(xiàn),特別是在法律和金融等領(lǐng)域。我們發(fā)現(xiàn)模型參數(shù)大小的差異不會在特定領(lǐng)域內(nèi)產(chǎn)生顯著差異,并且較小的模型可以優(yōu)于較大的模型。我們的模型在特定領(lǐng)域優(yōu)于參數(shù)大小從 1.3B 到 3B 的所有模型,同時與參數(shù)大小從 6B 到 13B 的模型保持競爭力,而且模型在特定領(lǐng)域內(nèi)的分類能力在 COT 方法下顯著增強。
數(shù)據(jù)相關(guān)
數(shù)據(jù)處理
我們使用英文和中文兩種語言的訓(xùn)練數(shù)據(jù)。英文數(shù)據(jù)源自Pile數(shù)據(jù)集,經(jīng)過進一步處理。中文數(shù)據(jù)包括來自Wudao、CBooks等開源訓(xùn)練數(shù)據(jù),以及我們從互聯(lián)網(wǎng)上爬取的數(shù)據(jù)。為確保數(shù)據(jù)質(zhì)量,我們采用了嚴格的數(shù)據(jù)處理方法,特別是對于從網(wǎng)絡(luò)爬取的數(shù)據(jù)。
我們采用的數(shù)據(jù)處理方法包括如下幾個方面:
- 格式清洗:我們使用網(wǎng)頁解析器從源網(wǎng)頁中提取和清理文本內(nèi)容。這一階段包括去除無用的HTML、CSS,JS標(biāo)識和表情符號,以確保文本的流暢性。此外,我們處理了格式不一致的問題。我們還保留了繁體中文字符,以便我們的模型能夠?qū)W習(xí)古代文學(xué)或詩歌。
- 低質(zhì)量數(shù)據(jù)過濾:我們根據(jù)網(wǎng)頁中的文本與內(nèi)容的比例來評估數(shù)據(jù)質(zhì)量。具體來說,我們會排除文本密度低于75%或包含少于100個中文字符的網(wǎng)頁。這一閾值是通過對抽樣網(wǎng)頁進行初步測試確定的。
- 數(shù)據(jù)去重:鑒于WuDao的數(shù)據(jù)也源自網(wǎng)頁,某些網(wǎng)站可能會重復(fù)發(fā)布相同的信息。因此,我們采用了局部敏感哈希算法,用以去除重復(fù)內(nèi)容,同時保留了我們訓(xùn)練數(shù)據(jù)的多樣性。
- 敏感信息過濾:鑒于網(wǎng)頁通常包含敏感內(nèi)容,為構(gòu)建一個積極正向的語言模型,我們采用了啟發(fā)式方法和敏感詞匯詞庫來檢測和過濾這些內(nèi)容。為了保護隱私,我們使用正則表達式來識別私人信息,如身份證號碼、電話號碼和電子郵件地址,并用特殊標(biāo)記進行替換。
- 低信息數(shù)據(jù)過濾:低信息數(shù)據(jù),如廣告,通常表現(xiàn)為重復(fù)內(nèi)容。因此,我們通過分析網(wǎng)頁文本內(nèi)容中的短語頻率來鑒別這類內(nèi)容。我們認為來自同一網(wǎng)站的頻繁重復(fù)短語可能對模型學(xué)習(xí)不利。因此,我們的過濾器主要關(guān)注廣告或未經(jīng)認證的網(wǎng)站中的連續(xù)重復(fù)短語。
最終我們獲得了數(shù)據(jù)如下表:
Scaling Law
為了確保在深度學(xué)習(xí)和大型語言模型的訓(xùn)練成本不斷增加的情況下獲得最佳性能,我們進行了數(shù)據(jù)量和模型容量之間的關(guān)系研究,即Scaling Law。在著手訓(xùn)練具有數(shù)十億參數(shù)的大型語言模型之前,我們首先訓(xùn)練較小的模型,以建立訓(xùn)練更大模型的擴展規(guī)律。我們的模型大小范圍從1千萬到5億參數(shù)不等,每個模型都在包含高達100億tokens的數(shù)據(jù)集上進行了訓(xùn)練。這些訓(xùn)練采用了一致的超參數(shù)設(shè)置,以及前文提到的相同數(shù)據(jù)集。通過分析各種模型的最終損失,我們能夠建立從訓(xùn)練FLOP(浮點運算數(shù))到Loss之間的映射。如下圖所示,不同大小的模型飽和的訓(xùn)練數(shù)據(jù)量不同,隨著模型大小的增加,所需的訓(xùn)練數(shù)據(jù)也增加。為了滿足目標(biāo)模型的精確數(shù)據(jù)需求,我們使用了冪律公式來擬合模型的擴展規(guī)律,并預(yù)測出3B參數(shù)模型的訓(xùn)練數(shù)據(jù)量與Loss數(shù)值,并與實際結(jié)果進行對照(圖中星標(biāo))。
數(shù)據(jù)混雜與數(shù)據(jù)課程
數(shù)據(jù)對模型的影響主要涵蓋兩個方面:(1)混合比例,涉及如何將來自不同來源的數(shù)據(jù)組合在一起,以在有限的訓(xùn)練預(yù)算下構(gòu)建一個特定大小的數(shù)據(jù)集;(2)數(shù)據(jù)課程,涉及來自不同來源的數(shù)據(jù)的排列方式,以訓(xùn)練模型特定的技能。
我們將每個數(shù)據(jù)來源等比例縮小,用于訓(xùn)練15M參數(shù)量的模型。如下圖所示,不同類型的數(shù)據(jù)對學(xué)習(xí)效率和模型最終結(jié)果有不同的影響。例如,數(shù)學(xué)題數(shù)據(jù)的最終損失較低,學(xué)習(xí)速度較快,表明它具有更為明顯的模式且容易學(xué)習(xí)。相比之下,來自信息豐富的書籍或多樣化的網(wǎng)絡(luò)文本的數(shù)據(jù)需要更長的適應(yīng)時間。一些領(lǐng)域相似的數(shù)據(jù)可能在損失上更為接近,例如技術(shù)相關(guān)數(shù)據(jù)和百科全書。
為了進一步探究模型從單一數(shù)據(jù)泛化到其他數(shù)據(jù)的性能,我們使用這些在單一數(shù)據(jù)上訓(xùn)練好的模型在其他數(shù)據(jù)上進行測試,結(jié)果如下圖所示:
不同數(shù)據(jù)集展現(xiàn)出不同程度的泛化能力,例如:網(wǎng)頁文本、百科全書和問答數(shù)據(jù)訓(xùn)練的模型在多個數(shù)據(jù)源上展現(xiàn)出較強的泛化能力,表明它們的內(nèi)容包含了各個領(lǐng)域的多樣信息。相比之下,學(xué)術(shù)論文數(shù)據(jù)和代碼數(shù)據(jù)訓(xùn)練的模型在數(shù)學(xué)能力上表現(xiàn)出色,但在泛化方面較弱,可能是由于領(lǐng)域特定性和獨特的格式信息。
此外,我們進行了多次的數(shù)據(jù)比例調(diào)整,以平衡模型在各種技能和數(shù)據(jù)類型之間的表現(xiàn)。基于我們的實驗,我們最終確定了數(shù)據(jù)混合比例的一些原則:
- 保持高質(zhì)量網(wǎng)絡(luò)文本和百科全書數(shù)據(jù)的比例,因為它們具有多樣性。
- 降低數(shù)學(xué)數(shù)據(jù)的比例,以避免過擬合。
- 利用代碼和學(xué)術(shù)數(shù)據(jù)來增強數(shù)學(xué)能力,同時通過多樣化的抽樣和相關(guān)處理減輕格式的影響。
- 保留一些對話和書籍?dāng)?shù)據(jù),有助于學(xué)習(xí)長程依賴關(guān)系。
除了混合比例,數(shù)據(jù)課程(數(shù)據(jù)的訓(xùn)練順序)也會影響模型的能力學(xué)習(xí)。實驗表明,不同來源的數(shù)據(jù)將使模型學(xué)習(xí)不同的技能,由于技能之間的相關(guān)性,采用特定的學(xué)習(xí)順序可能有助于模型學(xué)習(xí)新的技能。我們的實驗集中于非均勻混合數(shù)據(jù)和語言遷移學(xué)習(xí)對模型能力的影響。我們的實驗表明,非均勻混合數(shù)據(jù)會導(dǎo)致模型在同一類型數(shù)據(jù)上進行連續(xù)訓(xùn)練,這更接近于上下文內(nèi)學(xué)習(xí)的情境,因此在少樣本學(xué)習(xí)方面表現(xiàn)更好;然而,由于學(xué)習(xí)的不均勻性,后期可能會出現(xiàn)明顯的遺忘現(xiàn)象。此外,語言遷移學(xué)習(xí)有助于模型獲得雙語能力,通過語言對齊可能提高整體性能,但我們認為使用混合語言數(shù)據(jù)進行訓(xùn)練更有利于模型能力的分配與習(xí)得。
MindLLMs 模型架構(gòu)
MindLLM-1.3B采用的是GPTNeo-1.3B相同的模型架構(gòu),而MindLLM-3B則是在此基礎(chǔ)上增加了一些改進?;谟?xùn)練穩(wěn)定性和模型能力方面的考慮,我們使用旋轉(zhuǎn)位置編碼(RoPE)DeepNorm、RMS Norm、FlashAttention-2、GeGLU等優(yōu)化算子。
我們在GPTNeo-1.3B的基礎(chǔ)上增加了中文詞表,并采用遷移學(xué)習(xí)的策略訓(xùn)練MindLLM-1.3B的雙語能力。而MindLLM-3B,我們則是使用來自SentencePiece的BPE來對數(shù)據(jù)進行分詞,我們的Tokenizer的最終詞匯量大小為125,700。通過兩種不同的雙語訓(xùn)練方式,我們總結(jié)了一些普遍實用的預(yù)訓(xùn)練方法。
預(yù)訓(xùn)練
預(yù)訓(xùn)練細節(jié)
我們使用了兩種不同的策略從頭訓(xùn)練雙語模型MindLLM。對于MindLLM-3B,我們直接在混合的中英文雙語數(shù)據(jù)上預(yù)訓(xùn)練了800,00步,同時學(xué)習(xí)中英文能力;對于MindLLM-1.3B,我們首先在英文數(shù)據(jù)集上進行預(yù)訓(xùn)練101,100步,然后使用中英文混合數(shù)據(jù)訓(xùn)練了105,900步。預(yù)訓(xùn)練細節(jié)如下:
預(yù)訓(xùn)練階段評估
較小的模型可以擊敗更大的模型
為評估模型的中英文能力,我們使用MMLU(5-shot)和AGIEval(4-shot)評估模型英文能力,使用C-Eval(5-shot)和CMMLU(4-shot)評估模型的中文能力。其中AGIEval采用英文部分的多選題部分。評估結(jié)果如下:
在英文表現(xiàn)上,MindLLMs平均水平超過了GPT-J-6B,MPT-7B,MOSS-Base-16B等更大的模型,并接近Falcon-7B,而后者均有更大的模型規(guī)模和更多的預(yù)訓(xùn)練數(shù)據(jù)。在中文能力上,MindLLMs則和開源的LLMs表現(xiàn)相當(dāng)。值得說明的是,目前MindLLMs仍在訓(xùn)練增強中。
此外,我們發(fā)現(xiàn)數(shù)據(jù)量更少,但是使用了中英文數(shù)據(jù)訓(xùn)練的MindLLM-1.3B在MMLU上的表現(xiàn)優(yōu)于GPT-Neo-1.3B,我們推測這可能是雙語學(xué)習(xí)帶來的增益,因為不同語種在能力之間也存在共通性。詳細實驗和分析可查看論文4.4節(jié)。
較小的模型在具體能力上存在巨大的潛力
對于輕量級模型,在應(yīng)用于下游任務(wù)時,只需要存在相關(guān)的能力上展現(xiàn)出出色的表現(xiàn)即可。因此,我們本部分想要探究MindLLMs和其他輕量級LLM在(≤7B)具體能力上的表現(xiàn)和影響因素。
我們主要從數(shù)學(xué)能力、推理能力和雙語對齊能力三個角度評估不同模型表現(xiàn),因為這三種能力復(fù)雜且對于雙語模型的應(yīng)用相對重要。
(1) 數(shù)學(xué)
我們使用Arithmetic(5-shot)數(shù)據(jù)集評估模型的算數(shù)能力,使用GSM8K(4-shot)和MATH(4-shot)評估模型的通用數(shù)學(xué)能力。評估結(jié)果如下:
我們發(fā)現(xiàn),MindLLM-3B在數(shù)學(xué)能力上的平均分數(shù)達到了16.01,超過了MOSS-Base-16B(15.71)和MPT-7B(13.42),GPT-J-6B(13.15)。此外MindLLM-1.3B的數(shù)學(xué)平均水平也超過了相同大小的GPT-Neo-1.3B。以上結(jié)果表明,輕量級模型在數(shù)學(xué)上有著巨大的潛力,較小的模型也可以在具體領(lǐng)域表現(xiàn)出超越或者與更大模型相當(dāng)?shù)乃?。進一步,我們可以看到數(shù)學(xué)能力較為出色的(均分≥15),除MindLLM-3B,均為7B左右的模型。這表明,如數(shù)學(xué)能力類似的復(fù)雜能力的全面獲取可能會收到模型規(guī)模的限制,這一猜測可以進一步在模型雙語能力和推理能力的評估進一步體現(xiàn)。
(2) 推理
我們使用HellaSwag、WinoGrande評估模型語言推理能力(5-shot),使用LogiQA評估模型邏輯推理能力(5-shot),使用PubMedQA、PIQA、MathQA評估模型知識推理能力(5-shot),使用BBH評估模型綜合推理能力(3-shot)。具體評估結(jié)果如下:
首先,在模型容量有限的條件下,雙語帶來的能力增益可能需要和語言學(xué)習(xí)對模型能力容量的消耗進行平衡。語言學(xué)習(xí)會占據(jù)部分模型能力容量,使得復(fù)雜能力如推理能力可能無法全面獲取。比如MindLLM-1.3B在英文MMLU評估指標(biāo)上均優(yōu)于GPT-Neo-1.3B,但在推理能力的平均水平上弱于后者(35.61 vs 38.95)。而Blooms的推理能力沒有特別出色,但后續(xù)評估的雙語能力出色,這也一定程度上印證了以上觀點。其次,規(guī)模越大的預(yù)訓(xùn)練數(shù)據(jù)集可能包含的世界知識更多,這樣邊有助于模型進行推理任務(wù),例如Open-LLaMA-3B的推理表現(xiàn)和較大的模型表現(xiàn)相當(dāng),而其預(yù)訓(xùn)練數(shù)據(jù)為1T B,超過了其它同規(guī)模的模型所使用的預(yù)訓(xùn)練數(shù)據(jù)。因此,較小規(guī)模的模型依舊能夠有潛力在推理能力上獲得和較大模型相當(dāng)?shù)谋憩F(xiàn)。另外,我們發(fā)現(xiàn)MOSS在推理上的水平似乎沒有從前期代碼數(shù)據(jù)的學(xué)習(xí)獲得增益而表現(xiàn)更好(MOSS在CodeGen上進行了繼續(xù)訓(xùn)練),但相關(guān)工作表明,代碼確實有利于模型推理能力的提升,那么到底代碼數(shù)據(jù)如何以及何時加入訓(xùn)練來增強模型的推理能力值得進一步探討。
(3) 雙語能力
我們使用Flores-101(8-shot)中的zh-en部分評估雙語或者多語模型在中英文上的對齊能力。我們加入Chinese-LLaMA-2-7B進行評估,其為在LLaMA-2-7B基礎(chǔ)上進行中文領(lǐng)域適應(yīng)的模型。結(jié)果如下所示:
我們發(fā)現(xiàn),模型在英文到繁體中文的翻譯表現(xiàn)均不佳,這主要是預(yù)訓(xùn)練數(shù)據(jù)中的繁體中文占比很少。除此外,只有Blooms和MindLLM-3B在中文到英文和英文到中文雙向的語言對齊上表現(xiàn)出色,其次為LLaMA-2-7B和MOSS-Base-16B。而LLaMA-7B和Open-LLaMA-7B則只能在中文到英文上對齊。結(jié)合模型預(yù)訓(xùn)練的數(shù)據(jù)可以知道,Blooms和MindLLM-3B的預(yù)訓(xùn)練數(shù)據(jù)中中英文比例較平衡,而LLaMA-2-7B中中文數(shù)據(jù)比例遠低于英文,在LLaMA-7B和Open-LLaMA-7B的預(yù)訓(xùn)練數(shù)據(jù)中中文比例更少。
因此,我們有兩個結(jié)論,其一是模型可以通過在某種語言上進行大量的訓(xùn)練學(xué)習(xí)到通過的語言表示,同時混入少量的另一種語言就可以理解并進行單向?qū)R,如LLaMA-7B和Open-LLaMA-7B的表現(xiàn)。其二則是,若需要獲得更好的雙語或多語對齊能力,那么在預(yù)訓(xùn)練開始階段就需要有較平衡的雙語或多語數(shù)據(jù)比例,如Blooms和MindLLM-3B。進一步,我們發(fā)現(xiàn)MOSS-Base-16B和Chinese-LLaMA-2-7B存在較合理的中英文數(shù)據(jù)比例,單依舊沒有表現(xiàn)出雙向?qū)R,我們的假設(shè)是雙語對齊能力在遷移訓(xùn)練的時候加入是困難的,因為此時的模型已經(jīng)存在了大量的知識,這在容量較小的情況下會產(chǎn)生矛盾沖突。這也解釋了容量更小,前期單語訓(xùn)練的數(shù)據(jù)量少的MindLLM-1.3B也沒有獲得雙語對齊能力的現(xiàn)象。而Baichuan2-7B在其他表現(xiàn)方面非常出色,可能也就占據(jù)了較大的能力容量,無法學(xué)習(xí)到較好的雙向?qū)R能力。
(4) 總結(jié)
通過評估預(yù)訓(xùn)練階段的評估結(jié)果,我們有一下兩個結(jié)論:
- 輕量級模型在特定的領(lǐng)域或者能力上有巨大的潛力超過或者達到更大模型的水平。
- 對于容量有限的模型(≤7B),我們可以在預(yù)訓(xùn)練數(shù)據(jù)中根據(jù)下游任務(wù)的具體能力需求合理分配數(shù)據(jù)比例,這樣有利于模型從頭穩(wěn)定地學(xué)習(xí)獲取目標(biāo)能力,并進行不同知識與能力的融合和促進。
此外,論文中還對比了是否保持數(shù)據(jù)均勻分布對模型預(yù)訓(xùn)練性能的影響,實驗結(jié)果顯示類似課程學(xué)習(xí)的數(shù)據(jù)構(gòu)造方式可能在前期和均勻混合的數(shù)據(jù)構(gòu)造方式下訓(xùn)練的模型表現(xiàn)相當(dāng),但是最終可能出現(xiàn)災(zāi)難性遺忘而導(dǎo)致表現(xiàn)突然下降,而后者表現(xiàn)則更持續(xù)穩(wěn)定,獲取的預(yù)訓(xùn)練數(shù)據(jù)知識也更加全面,這也佐證了以上第二點結(jié)論。另外我們發(fā)現(xiàn)類似課程學(xué)習(xí)的數(shù)據(jù)構(gòu)造方式可能產(chǎn)生更多有利于增強模型上下文學(xué)習(xí)能力的數(shù)據(jù)分布。具體細節(jié)可以查看論文4.5部分。
指令微調(diào)
我們想要探討在輕量級模型上,不同類別數(shù)據(jù)集的指令微調(diào)會有什么樣的性能表現(xiàn)。下表是我們使用的指令微調(diào)數(shù)據(jù)集,包含我們重新構(gòu)造的中文數(shù)據(jù)集MingLi、公開數(shù)據(jù)集Tulu(英文)和中英雙語數(shù)據(jù)集MOSS。
對于MindLLM來說,指令微調(diào)的數(shù)據(jù)質(zhì)量要比數(shù)據(jù)數(shù)量更加重要。
MindLLM-1.3B和MindLLM-3B模型在不同數(shù)據(jù)下指令微調(diào)后在C-Eval上的性能表現(xiàn)如下。從實驗結(jié)果看,使用精心挑選的50,000條指令微調(diào)數(shù)據(jù)集訓(xùn)練的模型性能要高于多樣性高、數(shù)據(jù)量大的指令微調(diào)數(shù)據(jù)集訓(xùn)練的模型性能。同樣,在英文指標(biāo)MMLU上,模型也表現(xiàn)出相同的性能(詳見論文Table 14)。因此,對于輕量級模型來說,如何定義和篩選出高質(zhì)量的指令微調(diào)數(shù)據(jù)集是非常重要的。
基于數(shù)據(jù)熵的指令微調(diào)數(shù)據(jù)篩選策略
如何定義高質(zhì)量的指令微調(diào)數(shù)據(jù)?有學(xué)者提出指令微調(diào)數(shù)據(jù)的多樣性可以代表指令微調(diào)數(shù)據(jù)集的數(shù)據(jù)質(zhì)量。然而根據(jù)我們的實驗發(fā)現(xiàn),指令微調(diào)的數(shù)據(jù)熵和數(shù)據(jù)長度會更加影響輕量級模型的性能。我們將每條數(shù)據(jù)在預(yù)訓(xùn)練模型上的交叉熵損失定義為該數(shù)據(jù)的數(shù)據(jù)熵,并通過K-Means算法依據(jù)數(shù)據(jù)熵對數(shù)據(jù)進行聚類得到不同的數(shù)據(jù)簇。MindLLM經(jīng)過每個數(shù)據(jù)簇的指令微調(diào)后再C-Eval的結(jié)果如下表所示(MMLU的結(jié)果詳見論文Table19):
依據(jù)表中結(jié)果可知,MindLLM-1.3B和MindLLM-3B在不同數(shù)據(jù)簇上的表現(xiàn)相差明顯。進一步的,我們對數(shù)據(jù)熵和模型在C-Eval和MMLU上的準(zhǔn)確率的關(guān)系進行和函數(shù)擬合分析,如圖所示:
圖像中紅色五角星的點為預(yù)訓(xùn)練模型的熵值。根據(jù)分析可知,當(dāng)數(shù)據(jù)的熵比預(yù)訓(xùn)練模型的熵高1-1.5時,模型經(jīng)過該區(qū)間的數(shù)據(jù)指令微調(diào)后性能最佳。因此,我們通過數(shù)據(jù)熵定義了高質(zhì)量數(shù)據(jù),并且提出了篩選高質(zhì)量數(shù)據(jù)的方法。
MindLLM可以經(jīng)過指定指令微調(diào)數(shù)據(jù)集獲得特定能力
為了探究MindLLM能否經(jīng)過指令微調(diào)有效的提升其特定能力,我們使用萬卷數(shù)據(jù)集中的exam數(shù)據(jù)部分微調(diào)模型,目的是為了增強模型的學(xué)科知識能力。我們在C-Eval上進行了評估,結(jié)果如下:
可以看到,經(jīng)過指令微調(diào)之后,模型在學(xué)科知識能力上有了很大的提升,1.3B的MindLLM的性能甚至超過ChatGLM-6B、Chinese-Alpaca-33B等更大規(guī)模的模型。因此我們認為MindLLM在指令微調(diào)后可以提升其特定能力,又鑒于其輕量級的特點,更適合部署在下游垂直領(lǐng)域任務(wù)之中。
領(lǐng)域應(yīng)用
為了展示小模型在具體領(lǐng)域應(yīng)用的效果,我們采用了在金融和法律兩個公開數(shù)據(jù)集來做出驗證。從結(jié)果中可以觀察到,模型的參數(shù)大小對領(lǐng)域性能有一定影響,但表現(xiàn)并不明顯。MindLLM的性能在領(lǐng)域應(yīng)用內(nèi)超越了其它同等規(guī)模的模型,并且與更大的模型有可比性。進一步證明了小模型在領(lǐng)域應(yīng)用落地有極大潛力。
金融領(lǐng)域
在該領(lǐng)域,對金融數(shù)據(jù)進行情緒感知分類任務(wù)。首先,我們從東方財富網(wǎng)爬取了2011年5月13日至2023年8月31日的數(shù)據(jù),并根據(jù)接下來的股價波動對數(shù)據(jù)進行了標(biāo)記。隨后,按照日期將數(shù)據(jù)劃分為訓(xùn)練集和測試集??紤]到類別的不平衡性,我們對數(shù)據(jù)進行了采樣,最終使用了32萬條數(shù)據(jù)作為訓(xùn)練集,而測試集則采用了2萬條數(shù)據(jù)。
我們通過兩種不同的訓(xùn)練方法來比較不同模型的表現(xiàn)。第一,僅適用簡單的監(jiān)督微調(diào)(Supervised Fine-Tuning, SFT)對文本進行分類訓(xùn)練。第二,從ChatGPT中蒸餾推理過程數(shù)據(jù),并將其作為輔助數(shù)據(jù)添加到訓(xùn)練中,具體采用了COT(Chain-Of-Thought)訓(xùn)練方式。
實驗結(jié)果表明,通過補充輔助信息,可以在不同程度上提升所有baseline模型和MindLLM模型效果。進一步可觀察到,COT 訓(xùn)練使得 MindLLM-1.3B 和 3B 的性能比 SFT訓(xùn)練性能分別提高了 27.81% 和 26.28%,除了Baichuan-7B以外,MindLLM比其他模型提高幅度更加顯著。此外,MindLLM-1.3B 和 3B 在相同規(guī)模下達到了最佳性能,而且超過了 ChatGLM2-6B 和 Open-LLaMA-7B。
法律領(lǐng)域
我們收集了一些公開的法律相關(guān)數(shù)據(jù),并結(jié)合了一些通用指令數(shù)據(jù)對 MindLLM 進行指令微調(diào) (SFT)。為了探究數(shù)據(jù)的 token 長度是如何影響模型在具體領(lǐng)域上的性能的,我們使用不同數(shù)據(jù)長度的數(shù)據(jù)來分別訓(xùn)練 MindLLM。我們首先篩選了長度小于450的全部數(shù)據(jù),然后分別使用 MindLLM-1.3B 和 MindLLM-3B 的Tokenizer篩選出長度在200-300和300-450之間的數(shù)據(jù)。數(shù)據(jù)統(tǒng)計和所對應(yīng)的訓(xùn)練模型如下表所示:
為了避免人類評估產(chǎn)生的偏差和專業(yè)知識不足造成的錯誤,我們使用采用chatgpt作為評估器,具體方法如下。由ChatGPT生成的多輪法律咨詢對話數(shù)據(jù)集,提取了其中100個對話作為我們的評估數(shù)據(jù)。我們使用ChatGPT來評估模型對于法律咨詢的回復(fù),讓ChatGPT對于模型的回復(fù)進行排序,再根據(jù)排序結(jié)果計算Elo分數(shù)。最終篩選出一個最佳模型作為 MindLLM-Law 和其它開源模型相比較。
對于 Bloom,GPT-Neo 和 Open-LLaMA 模型使用了和 MindLLM-Law 一樣的數(shù)據(jù)集進行了微調(diào),比較結(jié)果如下所示:
結(jié)果顯示 MindLLM-Law 尚未超越具有 13B 參數(shù)的模型和 ChatGLM2-6B,其主要原因是我們在預(yù)訓(xùn)練階段法律方面數(shù)據(jù)不足,未能帶來更大的增益。但是,MindLLM相較于 Baichuan2-7B-Chat、微調(diào)后的 Open-LLaMA-7B 和其他同規(guī)模模型來講,整體優(yōu)勢非常明顯。
總結(jié)
本文介紹了 MindLLM 系列模型,目前包括兩款輕量級大語言模型。我們詳細探討了它們的訓(xùn)練過程,包括數(shù)據(jù)處理、預(yù)訓(xùn)練、微調(diào)、以及領(lǐng)域應(yīng)用,分享了在這些領(lǐng)域所積累的寶貴經(jīng)驗和技術(shù)應(yīng)用。盡管 MindLLM 的參數(shù)規(guī)模相對較小,但它們在多個性能評測中表現(xiàn)出色,甚至在某些方面超越了一些更大體量的模型。MindLLM 在領(lǐng)域適應(yīng)方面相對于其他輕量模型表現(xiàn)出更卓越的性能。同時,與更大規(guī)模的模型相比,它們能夠以更快的訓(xùn)練速度和更少的訓(xùn)練資源取得相當(dāng)?shù)某煽儭;谝陨戏治?,我們認為小模型仍然具有極大的潛力。我們將進一步提升數(shù)據(jù)質(zhì)量,優(yōu)化模型訓(xùn)練過程和擴展模型規(guī)模,以多維度方式提升 MindLLM 的性能。未來,我們計劃在更多下游任務(wù)和特定領(lǐng)域進行嘗試,以更深入地實現(xiàn)輕量級大模型的具體應(yīng)用。