DeepSeek 等模型訓練所依賴的合成數據,BARE 提出了新思路
大家好,我是肆〇柒,在AI圈,大型語言模型(LLM)的訓練對高質量、多樣化數據的需求日益增長。從去年到現在,一些模型在發布的時候,會有論文或者技術報告,里面多多少少都會提及合成數據,并且在多數情況下,合成數據的效果并不差。比如,我所看到的報告中,使用了合成數據的模型如下盤點(應該會有遺漏,它并不完整)。
- Phi-4Phi-4采用了合成數據生成方法,包括種子數據的精心策劃、多步驟提示工作流程、自我修正機制、指令反轉技術和多代理提示與自我反思等。
- Alpaca、Vicuna 和 WizardLM通過利用 LLM 生成指令遵循數據,然后對較弱的模型進行指令調優。例如,Alpaca使用GPT-3.5生成指令-響應對,然后微調Llama模型。
- Qwen2 和 Nemotron-4Nemotron-4在對齊階段利用獎勵模型產生的合成數據占比達到了98%,而Qwen2則在模型訓練中使用了合成數據來提升性能。
- GPT-4GPT-4在 post train 階段廣泛使用了合成數據,以增強模型的訓練。
- Llama 3通過讓 LLM 對自己生成的回復打分,并根據打分形成新的訓練數據,再繼續訓練模型。
- Stable Diffusion在一篇論文中,研究人員使用Stable Diffusion v1.5生成與真實數據集大小相同的合成數據,并結合最大均值差異(MMD)分布匹配損失和視覺引導策略進行訓練。
- DeepSeek在訓練的多環節采用合成數據,進行模型訓練。并且還是用蒸餾技術,合成高質量數據,實現推理能力從大模型遷移到小模型。
以上,可以看到,越來越多的模型訓練采用了合成數據。所以,人類“肉身”生成的數據其實是有限的,這促使研究人員和開發者轉向合成數據,以滿足模型訓練的需求。BARE(Base-Refine)方法應運而生,通過結合基礎模型(Base Models)和指令微調模型(Instruction-Tuned Models)的優勢,為合成數據生成提供了新的思路。
下面,我們來看一下這篇論文的要點。
背景與動機
隨著大型語言模型的不斷發展,模型的規模和能力都在迅速增長。這導致對高質量、多樣化訓練數據的需求超過了人類生成數據的能力,因此合成數據的使用變得尤為重要。合成數據不僅在低數據領域中發揮著重要作用,還在各種任務中展現出巨大潛力,如數學問題、代碼生成、功能調用和一般推理等。
挑戰與解決方案
盡管指令微調模型在復雜任務中表現出色,能夠生成高質量的內容,但它們在生成多樣化輸出方面存在挑戰。這主要是因為這些模型在后訓練過程中容易出現模式崩潰(Mode Collapse),即無法生成多樣化的輸出。相比之下,基礎模型雖然在指令遵循能力上較弱,但能夠生成更具多樣性的輸出。
下圖是,基礎模型與指令微調模型生成的小學數學問題的成對嵌入相似度直方圖
從上圖可以看出,基礎模型生成的內容(藍色)在成對嵌入相似度上分布更廣,表明其生成的內容更具多樣性,而指令微調模型生成的內容(橙色)則相似度更高,多樣性較低。
為了解決這一問題,研究人員提出了 BARE 方法。該方法通過兩階段過程,結合基礎模型的多樣性和指令微調模型的質量,生成高質量且多樣化的合成數據。具體來說,BARE 首先利用基礎模型生成多樣化的初始數據集,然后通過指令微調模型對每個數據項進行精細化調整,以提高數據質量。
BARE 方法
多樣性與質量的結合
BARE 方法的核心在于將基礎模型的多樣性和指令微調模型的質量結合起來。基礎模型在生成數據時不受后訓練偏差的限制,能夠更好地代表現實世界數據的多樣性。而指令微調模型則在生成高質量數據方面表現出色,能夠生成更符合人類語言習慣的內容。
不同生成方法在 GSM8K 上的準確率
從上圖可以看出,使用 BARE 方法生成的數據進行微調后,模型的準確率顯著提高,超過了僅使用基礎模型或指令微調模型生成的數據。
兩階段生成過程
- 基礎模型生成階段:利用基礎模型生成多樣化的初始數據集。這一階段只需提供少量的示例(few-shot examples)和基本的 prompt,以確保生成數據的格式正確。也就是,基礎模型會根據給定的 prompt 生成一系列多樣化的輸出。這些輸出可能在質量上參差不齊,但它們的多樣性為后續的精細化調整提供了豐富的素材。例如,在生成小學數學問題時,基礎模型會根據給定的示例生成類似的問題和答案。
- 指令微調模型精細化階段:對基礎模型生成的每個數據項進行精細化調整。指令微調模型根據具體的準則(如真實性、正確性)對數據進行優化,以提高數據質量。也就是,指令微調模型會對基礎模型生成的每個數據項進行逐一調整,確保其符合預期的質量標準。例如,在生成數學問題時,指令微調模型會檢查問題的邏輯性和答案的正確性,并進行必要的修正。
實驗結果
研究人員在多個領域對 BARE 方法進行了評估,包括數學問題(GSM8K)、代碼生成(LiveCodeBench)、問答任務(HotpotQA 和 PubMedQA)等。結果顯示,BARE 方法在生成多樣化且高質量數據方面表現優異,顯著提升了下游任務的性能。
數學問題(GSM8K)
在 GSM8K 數據集上,BARE 方法生成的數據顯著提高了模型的準確率。具體來說,使用 BARE 生成的數據進行微調后,模型的準確率從 22.4% 提升至 29.8%。而使用 GPT-4o 作為精細化模型時,準確率更是達到了 35.8%。
Enron 垃圾郵件生成的成對嵌入余弦相似度分布
從上圖可以看出,基礎模型生成的垃圾郵件內容在成對嵌入相似度上分布更廣,表明其生成的內容更具多樣性。這有助于模型在訓練過程中更好地泛化,提高對不同類型的垃圾郵件的識別能力。
代碼生成(LiveCodeBench)
在 LiveCodeBench 的測試輸出預測任務中,BARE 方法生成的數據使模型的準確率達到了 28.1%,與當前頂級模型的性能相當。這表明 BARE 方法在代碼生成領域具有巨大的潛力。
20 Newsgroups 數據集的生成主題覆蓋情況
從上圖可以看出,基礎模型在生成 20 Newsgroups 數據集時,覆蓋了更多的主題,表明其生成的內容更具多樣性。這有助于模型在訓練過程中更好地理解不同主題的內容,提高分類的準確性。
問答任務(HotpotQA 和 PubMedQA)
在 HotpotQA 和 PubMedQA 數據集上,BARE 方法生成的數據也顯著提升了模型的性能。BARE 方法在這些任務上的表現優于直接使用指令微調模型生成的數據。
總結
BARE 方法為合成數據生成提供了一種新的思路,未來還有許多值得探索的方向。例如,可以通過進一步優化精細化模型,或引入更多階段的生成過程,來進一步提升數據的多樣性和質量。此外,BARE 方法還可以應用于生成合成評估集,為低數據領域提供更多的支持。
BARE 方法通過結合基礎模型的多樣性和指令微調模型的質量,為合成數據生成提供了一種有效的解決方案。實驗結果表明,BARE 方法在多個領域中顯著提升了下游任務的性能,展示了其在實際應用中的巨大潛力。
看過本文,你有什么看法?歡迎在評論區留言,或加入“覺察流”社群與社區小伙伴一起學習、討論。加入方法,私信回復“入群”“加群”即可。
參考資料
- BARE: Combining Base and Instruction-Tuned Language Models for Better Synthetic Data Generation
https://arxiv.org/html/2502.01697v2
- BARE github Repo