
社群是國內外知名的機器學習與自然語言處理社群,受眾覆蓋國內外NLP碩博生、高校老師以及企業研究人員。
數學推理能力作為大模型的核心能力之一,近年來受到學術界廣泛關注,其效能表現也取得了顯著提升。研究表明,高質量的訓練資料是提升大語言模型數學推理能力的關鍵基礎。然而,由於數學領域專業標註成本高昂、優質監督資料稀缺,大規模高質量資料集的獲取成為制約模型效能提升的主要瓶頸。為突破這一限制,研究者們提出了多種創新性的資料合成方法,這些方法不僅有效解決了資料稀缺問題,還為模型效能提升提供了新的思路。本文將介紹大模型數學推理資料合成的幾種相關方法和研究工作。
增強現有資料
MetaMath: Bootstrap Your Own Mathematical Questions for Large Language Models
MetaMath透過重寫技術來增加訓練資料集中的數學問題多樣性,並在新的資料集MetaMathQA上微調模型。重寫包括以下幾種:
1. Answer Augmentation (答案增強):給定問題,透過大語言模型生成能得到正確結果的思維鏈作為資料增廣。
2. Rephrasing Question (問題改寫增強):給定元問題,透過大語言模型重寫問題並生成得到正確結果的思維鏈作為資料增廣。
3. FOBAR Question (FOBAR 逆向問題增強):給定元問題,透過掩碼條件中的數字為 x,給定原有答案並反推 x 來產生逆向問題,並基於該逆向問題生成正確的思維鏈過程來進行資料增廣(反推樣例:“If we know the answer to the above question is 110, what is the value of unknown variable x?”)。
4. Self-Verification Question (Self-Verification 逆向問題增強):在 FOBAR 的基礎上,透過大語言模型改寫逆向問題部分為陳述的語句來進行資料增廣(改寫樣例:“How much did he pay?” (with the answer 110) 被改寫成 “He paid 110”)。
實驗表明,MetaMathQA提高了思維鏈資料的質量和多樣性,顯著提升了模型準確率。相比之下,簡單地使用答案增強會導致明顯的準確率飽和。

MuggleMath: Assessing the Impact of Query and Response Augmentation on Math Reasoning
論文試圖回答以下三個問題:
1. 哪些資料增強策略更有效?論文研究了不同的資料增強策略,以確定哪些方法在提升數學推理任務中最為有效。
2. 增強資料量與模型效能之間的擴充套件關係是什麼?論文探討了增加增強資料量對模型效能的影響,並試圖找到它們之間的量化關係。
3. 資料增強是否能促進模型對領域外數學推理任務的泛化?論文考察了透過資料增強訓練得到的模型是否能夠泛化到不同的數學推理領域。
透過對原有問題進行改寫(後文稱作問題增強),並透過對改寫後的新問題取樣不同的回答(後文稱作回覆增強),文章獲得了新的增強資料集。
問題增強的改寫方式為根據人類知識設計的五條規則:Change specific numbers; Introduce fractions or percentages; Combine multiple concepts; Include a conditional statement; Increase the complexity of the problem.
回覆增強則是透過對 GPT-3.5 和 GPT-4 推理時的溫度係數進行設定,獲得多樣化的推理路徑。

作者發現不同問題增強的方式都可以對不同尺度的 LLaMA 模型有效的增強,但是 Increase complexity 這種方式的相對效果最好。隨著資料增強產生的問題-答覆增加時,這些模型在 GSM8K 的測試集上的準確率也保持增長,而這個關係可以用對數線性關係表示;但僅僅做回覆增強則會出現效能增長上限。最後,作者發現不論是問題增強還是回覆增強對於領域內的數學推理能力提升都是巨大的,但是對於其他領域的數學問題的是否同樣有效是一個值得探究的問題:例如相對於GSM8K資料增強在本基準上的效能提升,在 MATH 上的提升則不穩定且不明顯。
WizardMath: Empowering Mathematical Reasoning for Large Language Models via Reinforced Evol-Instruct
受WiazrdLM提出的Evol-Instruct方法及其在WizardCoder上的有效應用的啟發,本工作試圖合成具有各種複雜性和多樣性的數學指令,以增強大語言模型的數學能力。具體而言,本文采用了包含兩條進化線的新範例。
1. 下行演化:透過降低問題難度來改進指導,例如將高難度問題改為低難度問題,或者產生一個新的、與原題不同的簡單問題。
2. 上行演化:源自原始的Evol-Instruct方法,透過增加限制條件、具體化和增加推理來深化和生成新的更難的問題。
作者訓練了兩個獎勵模型來分別預測指令的質量和答案中每一步的正確性,並最終進行強化學習PPO訓練。

以上合成數據方法通常基於有限的預設問題和知識生成新問題。然而,隨著資料規模的擴大,這種生成方式逐漸暴露出侷限性,導致生成的問題趨於重複和同質化,降低了資料的多樣性。結果是,隨著訓練資料的不斷擴充套件,模型效能難以持續提升,形成了擴充套件瓶頸。研究人員逐漸轉向根據知識點/種子資料/直接合成大規模新問題。
直接合成新問題
Key-Point-Driven Data Synthesis with its Enhancement on Mathematical Reasoning
這篇工作提出了關鍵點驅動的資料合成(KPDDS)框架,這是一種新穎的資料合成方法。研究利用來自真實資料來源的關鍵點和示例對來合成問題-答案對,確保了生成具有嚴格的質量控制和可擴充套件性的新問題整個框架包括以下幾個步驟:1)知識提取與構建;2)透過質量評估合成問題;3)透過共識評估合成答案;4)問題-答案對構建。
1. 知識提取與構建:使用標籤模型(Labeling Model)從種子問題提取與數學問題相關的主題和關鍵點(KPs)。透過聚類演算法對提取的KPs進行去重和整合,確保每個聚類包含至少10個KPs,從而構建了包含多個主題和KPs的數學實踐資料集(MPKP)。計算MPKP資料集中主題對的共現頻率,構建TCPM,用於理解資料集中主題對的出現頻率和分佈情況。
2. 透過質量評估合成問題:利用TCPM作為指導,從MPKP中隨機取樣多個主題和KPs,形成基礎資訊集,用於生成新的問題。使用GPT-4根據這些資訊集生成新的問題,並進行質量評估,確保問題符合預設的關鍵點且無邏輯或事實錯誤。
3. 透過共識評估合成答案:採用少樣本策略和核取樣為問題生成多種可能的解答。並透過投票機制,從多個生成的解答中整合出共識解答,確保答案的正確性和可靠性。
4. 問題-答案對構建:為了增加資料的數量和多樣性,對共識的問答對進行了問題改寫。因此,對於每個唯一的問題,我們生成了一系列改寫的問題和一組答案,儘管它們具有相同的最終答案,但其推理過程是不同的。透過隨機配對這些問題和答案,為每個唯一的問題生成了30對。透過篩選機制,保留質量最高的問答對,構建最終的合成數據集KPMath。

MAmmoTH2: Scaling Instructions from the Web
本文提出了一種正規化,從預訓練的網路語料庫中高效地收集1000萬個自然存在的指令資料,以增強LLM推理。該方法使用一個三步流程:1) 檢索相關文件,2) 提取指令-響應對,以及 3) 使用開源LLMs精煉提取。
1. 檢索相關文件:透過爬取幾個測驗網站建立一個多樣化的種子資料集。論文使用這些種子資料訓練一個fastText模型,並用它從Common Crawl中召回文件。使用GPT-4根據根URL對召回的文件進行修剪。透過這一步驟,論文獲得了1800萬份文件。
2. 提取指令-響應對:論文利用開源LLM如Mixtral從這些文件中提取問答對,產生大約500萬個候選問答對。
3. 精煉提取:提取後,進一步採用Mixtral-8x7B和Qwen-72B來最佳化這些候選問答對。這一最佳化操作旨在去除無關內容,修正措辭,併為候選問答對補充缺失的解釋。這一最佳化操作對於保持挖掘問答對的質量至關重要。
最終,論文透過這些步驟收穫了總計1000萬個指令-響應對。與現有的指令微調資料集不同,論文的WEBINSTRUCT資料集完全是從網路挖掘獲得的,而無需任何人工眾包或GPT-4蒸餾。

JiuZhang3.0: Efficiently Improving Mathematical Reasoning by Training Small Data Synthesis Models
論文透過提出一個高效的方法來解決提升大型語言模型數學推理能力的問題,核心是訓練一個小型的LLM根據種子資料來合成高質量的數學問題。JiuZhang3.0的資料合成流程包含以下關鍵階段:
1. 構建多源語料庫:考慮不同型別的資料,如網頁、書籍、論文、問答資料和維基百科等,以構成豐富的數學相關多源語料庫。
2. 初始化資料合成模型:首先,透過訓練一個小型的LLM,使用知識蒸餾(KD)資料集來模仿GPT-4的資料合成能力。這個KD資料集由一系列手工製作的提示、隨機抽樣的數學相關文字以及GPT-4生成的相應數學問題和解決方案組成。
3. 提升資料合成模型:在初始化之後,透過使用高價值的KD資料來進一步提升資料合成LLM的能力。這裡採用了基於梯度的方法來估計每個合成例項對下游數學相關任務的影響力,並選擇排名最高的例項來更新KD資料集,以便重新訓練資料合成LLM。
合成數據用於預訓練JiuZhang3.0:使用資料合成模型基於多源語料庫生成大量的數學問題和解決方案,這些合成數據用於預訓練JiuZhang3.0模型。

Unleashing Reasoning Capability of LLMs via Scalable Question Synthesis from Scratch
ScaleQuest首先透過QFT和QPO訓練出一個問題生成器(僅僅給模型提供一個“<bos>”詞元就可以讓模型逐詞生成一個問題,和Magpie類似),然後利用這些生成器進行開放式問題取樣,並對生成的問題進行進一步篩選,最終基於篩選出的高質量問題生成相應的解答。
1. 問題微調 (Question Fine-Tuning, QFT)
為了啟用模型的問題生成能力,首先進行問題微調(QFT),即使用一小部分問題對現有模型進行訓練。基於DeepSeekMath-7B-RL和Qwen2-Math-7B-Instruct,使用了來自GSM8K和MATH訓練集的約15,000道問題訓練了兩個問題生成器。
2. 問題偏好最佳化(Question Preference Optimization, QPO)
我們進一步透過偏好微調(QPO)優化了這兩個問題生成器,重點關注問題的可解性(solvability)和難度(difficulty)。ScaleQuest使用經過QFT訓練後的模型生成問題集合,並透過GPT-4o-mini對問題的可解性和難度進行進一步最佳化。最佳化後的問題作為正樣本,源問題作為負樣本,構建偏好對進行DPO最佳化。
3. 問題篩選
生成的問題至此仍存在一些小問題,因此採用了篩選方法進行處理,包括語言篩選、可解性篩選和難度取樣。
語言篩選: 問題生成模型仍然會生成大量其他語言的數學問題,約佔 20%。由於我們的重點是英文數學問題,因此我們透過識別包含非英文字元的問題並篩除這些樣本,來去除非英文問題。
可解性篩選: 儘管 QPO 有效地提升了生成問題的可解性,但仍有一些問題不合邏輯。主要原因包括:(1) 問題約束不完善,出現缺失條件、冗餘條件或邏輯不一致的情況,(2) 問題沒有產生有意義的結果(例如,涉及人數的問題應得到非負整數作為答案)。為篩除此類樣本,我們使用 Qwen2-Math-7B-Instruct 評估問題是否有意義以及條件是否充分。
難度取樣: 基於DeepSeekMath-7B訓練了一個難度打分器模型,然後去除生成資料中難度很低的一些樣本。
4. 回答生成與獎勵篩選
使用Qwen2-Math-7B-Instruct生成回答,並將獎勵模型的評分作為評估回答質量的指標。從5個候選回答中選擇獎勵評分最高的回答,作為最終的回答。


掃描二維碼新增小助手微信
關於我們
