《ADVANCING MATHEMATICAL REASONING IN LAN- GUAGE MODELS: THE IMPACT OF PROBLEM-SOLVING DATA, DATA SYNTHESIS METHODS, AND TRAINING STAGES》全文閱讀
提升語言模型中的數學推理能力:問題求解數據、數據合成方法及訓練階段的影響
\begin{abstract}
數學推理一直是大型語言模型(LLMs)面臨的具有挑戰性的問題,這也促使學術界和產業界開發了諸如 LLEMMA、DeepSeekMath、Qwen2-Math 等針對數學領域的專門 LLMs。這些模型通常遵循兩階段訓練范式:在預訓練階段使用與數學相關的語料進行訓練,在后訓練階段則利用問題數據進行監督微調(SFT)。盡管做出了這些努力,但通過繼續預訓練(CPT)所獲得的數學推理能力的提升通常不如通過 SFT 所獲得的顯著。本研究針對這一現象展開探索,重點考察在預訓練階段采用問題求解數據而非一般數學語料的替代策略。我們探討了三個主要研究問題:
(1) 在 CPT 階段,是否比使用常規數學語料,通過提供問題求解數據更能有效地提升模型的數學推理能力?
(2) 如果問題求解數據能提升數學推理能力,那么來自同一來源的合成數據是否同樣有效?以及哪種合成方法最為高效?
(3) 當使用相同的問題求解數據時,CPT 階段與 SFT 階段培養出的能力有何差異?這些差異的根本因素是什么?
我們的發現表明,與常規數學語料相比,問題求解數據能顯著提升模型的數學能力。我們也確定了有效的數據合成方法,并證明了 tutorship amplification(導師放大)合成方法表現最佳。此外,雖然 SFT 能培養模型的指令跟隨能力,但在使用相同數據時,其效果不及 CPT;這部分歸因于 SFT 在學習更高難度問題求解數據時能力較弱。上述發現為優化 LLMs 的數學推理能力提供了寶貴的指導,最終促成了我們開發出一款高性能數學基礎模型 MathGPT-8B。
\end{abstract}
\section*{1 引言}
為了解決大型語言模型(LLMs)在數學推理能力不足的難題,各類專注于數學領域的 LLMs 應運而生。這些模型包括在預訓練階段提升性能的模型,如 LLEMMA (Azerbayev et al., 2023)、DeepSeekMath (Shao et al., 2024)、InternLM-Math (Ying et al., 2024) 以及 Qwen2-Math (Yang et al., 2024a);同時也包括在后訓練階段改進性能的模型,如 MetaMath (Yu et al., 2023)、WizardMath (Luo et al., 2023) 和 KwaiYiiMath (Fu et al., 2023)。這些模型通常遵循共同的訓練范式:在預訓練階段,從龐大的互聯網數據中篩選出與數學相關的語料來增強模型的數學知識;在后訓練階段,則利用問題數據及其增強版本(如 Program-of-Thought (PoT) (Chen et al., 2022)、evol-Instruct (Xu et al., 2023) 和 Tool-Integrated Reasoning (TIR) (Gou et al., 2023; Yin et al., 2024))構建監督數據集,進行監督微調(SFT),使得模型能夠遵循指令并以期望的格式輸出結果。近年來,研究者越來越關注構建旨在優化求解過程的偏好數據集,從而執行 Step-DPO (Lai et al., 2024) 或 online-RLHF (Dong et al., 2024) 等策略,以獲得更為準確的推理路徑,從而顯著提升模型的數學推理能力。
由于數學知識與普通知識之間存在內在的區別,兩者需要采用不同的策略來實現有效獲取和應用。獲取普通知識的主要挑戰在于記憶和理解大量信息,因此需要在預訓練階段使用大規模語料以增強知識儲備 (Roberts et al. 2020; Petroni et al., 2019; Dubey et al. 2024)。相比之下,數學知識包含的元素、概念、公理和定理數量較少,真正的挑戰并非在于回憶相關知識,而在于如何利用這些知識進行推理或規劃 (Hao et al., 2023)。
從以往的研究來看,似乎預訓練階段的繼續訓練(CPT)對數學推理能力的提升貢獻較小。然而,最近的研究(如 Physics of LLM (Allen-Zhu & Li, 2023) 和 MiniCPM (Hu et al., 2024))強調了在預訓練階段“教會”模型如何利用已記憶的知識的重要性。這些發現對目前主要集中在預訓練階段通過記憶更多數學知識,而在后訓練階段發展推理能力的范式提出了質疑。因此,我們提出:在預訓練階段利用數學問題及其推理步驟——即問題求解數據——來教會模型如何應用已記憶的知識,而不僅僅是增加相關數據量,可能會顯著提升數學推理能力。基于此,我們旨在探討以下根本性研究問題(RQ):\
RQ1:在 CPT 階段,提供問題求解數據能否比使用常規數學語料更有效地提升模型的數學推理能力?
RQ2:如果問題求解數據能夠提升數學推理能力,那么來自同一來源的合成數據是否同樣有效?哪種合成方法最為高效?\
RQ3:在使用相同問題求解數據的前提下,CPT 階段與 SFT 階段培養出的能力有何差別?導致這些差異的因素有哪些?
針對這三個研究問題,我們分別展開探討。在第 3 節中,我們通過比較提供問題求解數據與不提供的效果,以及考察各種數學數據混合比例,探討了 RQ1,從而得到結論 Result 1。在第 4 節中,我們針對 RQ2 考察了四種數據合成技術:response diversification(答案多樣化)、query expansion(查詢擴展)、retrospective enhancement(回顧性增強)和 tutorship amplification(導師放大),最終得到結論 Result 2。在第 5.1 節中,我們首先從整體角度鑒別了 CPT 階段與 SFT 階段利用問題求解數據培養數學能力的差異,隨后在第 5.2 節和第 5.3 節中,我們進一步將問題求解數據基于數據分布和難度水平進行劃分,探討了這些差異的成因,最終得到結論 Result 3 至 Result 5。
Result 1:提供數學問題求解數據相比于常規數學語料能顯著提升模型的數學能力;同時,問題求解數據所占比例越高,效果更佳。
Result 2:答案多樣化、查詢擴展和導師放大均為有效的數據合成技術,其中導師放大方法效果尤為突出。該方法利用教師模型根據學生模型的回答識別并糾正錯誤,旨在賦予模型自我糾錯的能力。
Result 3:總體而言,雖然 SFT 能在一定程度上培養數學能力,但其效果明顯不如 CPT。
Result 4:從數據分布的角度來看,無論是 SFT 還是 CPT 都主要培養與其訓練數據分布一致的能力。然而,SFT 在域內(IND)的學習能力弱于 CPT;而對于域外(OOD)能力學習,結論則不太明確,僅觀察到 SFT 更易受到數據分布擾動的影響。
Result 5:從難度水平角度看,提供更具挑戰性的問題求解數據能更有效提升學習效果,這一優勢在 CPT 中尤為明顯,這可能是導致 CPT 與 SFT 學習能力差異的主要因素。因此,我們建議在 CPT 階段準備更具挑戰性的問題求解數據。
在解決這三個研究問題后,我們確定了最優策略組合,并將其應用于 Llama3-8B 模型 (Dubey et al., 2024),最終獲得了高效的數學基礎模型 MathGPT-8B。MathGPT-8B 超越了 DeepSeekMath-Base-7B (Shao et al., 2024) 和 Qwen2-Math-7B (Yang et al. 2024a) 等多款數學專用模型,其能力可與 Qwen2-Math-72B 及新近發布的 Qwen2.5-Math-7B 相媲美。我們僅引入 100B 數學 token,相當于 Qwen2.5-Math-7B 的 1 / 10 1/10 1/10,并在較弱的基礎模型上進行了 CPT。這驗證了我們提出的方法相比于現有范式是一種更高效提升數學能力的方法。此外,MathGPT-8B 仍然保留了強大的普通知識能力,這一點已通過 MMLU (Hendrycks et al., 2020) 基準測試得到驗證。由于我們沒有進行后訓練,因此我們將發布 MathGPT-8B 的基礎版本,供研究界在后續進行進一步后訓練以增強其能力。
\section*{2 實驗準備}
本節詳細介紹實驗準備工作,包括數據、基線模型和評價指標。
訓練數據。訓練數據分為三大類:(1) 普通語料,包括來自 RedPajama 的 ArXiv 子集中的科學文本、來自 AlgebraicStack (Azerbayev et al. 2023) 和 StarCoder (Li et al. 2023) 的代碼數據集,以及 RedPajama 中 C4 和 Wikipedia 子集的自然語言數據,以防止災難性遺忘并保持模型魯棒性。(2) 數學語料,利用諸如 OpenWebMath (Paster et al. 2023) 等數學內容語料,以提升數學能力。(3) 問題求解數據,包括 NuminaMath (Li et al., 2024)、Lila (Mishra et al., 2022) 及內部專有數據,其中 1400 萬條數據用于合成數據增強。我們的實驗共使用了 483 億個普通語料 token,137 億個數學語料 token,72 億個問題求解數據 token 以及 305.4 億個合成數據 token。詳細說明見附錄 A.1。
基線模型。我們選用 Llama2 (Touvron et al., 2023) 作為基線模型,以確保結論的魯棒性;因為該模型發布早于 OpenWebMath (Paster et al., 2023) 的發布。通過選擇在最近數學語料尚未引入時已有的模型,我們有效降低了新語料污染的風險。更多詳細信息見附錄 A.2。
評價數據集。為減少數據污染并擴展能力評價,我們擴展了評價集,新增了 GAOKAO 與 ZHONGKAO 數據集,同時保留 GSM8K (Cobbe et al., 2021) 和 MATH (Hendrycks et al., 2021) 數據集。GAOKAO 和 ZHONGKAO 數據集均在 Llama2 之后開發,可以測量更大范圍的能力。詳細描述見附錄 A.3。
去重與去污染。我們使用 MinHash 去重(Lee et al., 2022)框架,通過去除重復內容較多的文檔來提升訓練數據質量。該過程包括設置特定的字節閾值進行去重和去污染,有效剔除了受污染的文檔,尤其是來自 OpenWebMath (Paster et al., 2023) 的文檔。更多說明見附錄 A.4。
評價指標。我們的評價采用三階段過程:使用零樣本和少樣本提示進行模型推理、對答案進行比較以處理不規則輸出、以及統計打分以確定準確率。在統計打分階段,我們為每個數據集選擇零樣本和少樣本中準確率更高的作為結果,以確保結果的可靠性和魯棒性,因為有的模型在零樣本設置下表現較好,有的則傾向于少樣本設置。我們報告各數據集準確率的算術平均值。詳細方法見附錄 A.5。
\section*{3 利用問題求解數據在 CPT 階段提升推理能力}
我們認為,與單純通過記憶和理解更多數學知識(來自大規模語料)相比,預訓練階段數學知識習得的重點主要在于學會應用這些知識進行推理或規劃。直觀的做法便是提供對應的問題求解數據。因此,本節首先旨在驗證 RQ1,即在 CPT 階段提供問題求解數據是否能有效提升模型能力。這不僅驗證了我們的核心觀點,也為后續研究問題奠定基礎。隨后我們繼續探討問題求解數據的比例影響,以確定合適的數據混合比例,并驗證提供問題求解數據的效率。
實驗。我們設計了四個實驗組,包括一個基線組和三個測試組。我們的目的是通過比較基線組與測試組來證明提供問題求解數據的有效性,并通過測試組之間的比較探索合適的數據混合比例。具體來說,基線組與測試組在所使用的數學數據總量上保持一致,其中基線組使用數學語料作為其數學數據;而測試組則使用數學語料和問題求解數據的混合數學數據,且三個測試組之間混合比例各不相同。具體數據如下:其中數據混合比例指普通數據與數學數據的混合比例,而數學數據混合比例反映數學語料與問題求解數據的混合比例。更多實驗設計討論見附錄 C。
\begin{itemize}
\item Base1:使用 483 億普通語料 token 和 147 億數學語料 token,以 4:6 的比例混合。
\item Test1:使用 483 億普通語料 token、75 億數學語料 token和 72 億問題求解數據 token,數據混合比例為 4:6,其中數學數據混合比例為 5:5。
\item Test2:與 Test1 相同,但數學數據混合比例為 3:7。
\item Test3:與 Test1 相同,但數學數據混合比例為 7:3。
\end{itemize}
訓練細節。我們以 Llama2 (Touvron et al., 2023) 作為基線模型進行 CPT,訓練 25,000 步,采用全局批量大小為 1024,序列長度為 4096 個 token。學習率先預熱至 1 e ? 4 1 \mathrm{e}-4 1e?4,隨后使用余弦衰減調度 (Loshchilov & Hutter, 2022) 衰減到 1 e ? 5 1 \mathrm{e}-5 1e?5。訓練數據中 95% 用于訓練,5% 用于驗證。在完成 25,000 步訓練后,我們選擇驗證集損失最低的檢查點作為結果進行評價。
\includegraphics[max width=\textwidth, center]{2025_04_15_262c644527836053857ag-04}
Figure 1:四組隨訓練步數變化的平均準確率。
結果。如圖 1 所示,藍色曲線代表遵循當前訓練范式的對照組,其結果表明,利用數學語料進行 CPT 能有效提升問題求解準確率。然而,與其他三條曲線相比,盡管 Base1 使用的 token 數量相同,但其數學能力提升的趨勢和幅度均明顯低于其他三個測試組。對于三個測試組,圖 1 中的綠色曲線顯示,隨著訓練步數增加,其平均準確率一直高于另外兩組。值得注意的是,我們沒有引入新 token,而僅僅是調整了數學數據混合比例。在附錄 D 中,我們加入了額外的測試組 Test4,該組僅使用問題求解數據作為數學數據。盡管沒有使用任何數學語料 token,其性能卻與綠色曲線相當甚至更優。另外,我們還報告了四個評價集的準確率以進行進一步比較。由此,我們獲得 Result 1:提供數學問題求解數據相比于常規數學語料能顯著提升模型數學能力,且更高比例的問題求解數據效果更佳。
\section*{4 高效數據合成方法的探索}
在前幾節中,Result 1 已突出表明了問題求解數據的有效性。然而,由于問題求解數據相比互聯網數據數量有限,因此亟需高效的數據合成方法。此外,目前尚未充分研究在預訓練階段是否可以利用同一問題求解數據進一步進行合成以提升模型性能。為了解決這一問題以及 RQ2,我們探討了四種數據合成方法:response diversification(答案多樣化)、query expansion(查詢擴展)、retrospective enhancement(回顧性增強)和 tutorship amplification(導師放大)。我們的目標是驗證合成數據的有效性,并找出最有效的合成方法。下面我們簡要介紹本研究中所使用的數據合成方法。\
Response Diversification 旨在通過生成多樣化的推理路徑來提升模型能力,常用方法如拒絕采樣。由于該方法不改變答案,因此不需要額外的標注,易于實現。已有多種實現方式證明了答案多樣化數據合成的有效性 (Yuan et al., 2023; Yu et al., 2023; Chen et al., 2024)。我們不采用采樣后去重的方式,而要求模型通過兩步來提升答案多樣化效率:(1) 根據問題及原始答案生成兩個不同的解答;(2) 從中選擇最終答案正確的方案作為一個多樣化訓練樣本。\
Query Expansion 旨在通過擴展問題集合來提升模型能力。然而,直接生成高質量問題極具挑戰。已有的方法(例如 Yu et al., 2023 和 Mitra et al., 2024)借鑒重構(reshaping)概念,即基于已有問題和答案通過改寫、反轉陳述等技術生成新問題。新問題的合成主要關注:(1) 新生成問題的準確性,以及 (2) 對應答案的正確性。我們綜合現有方法,強調以下關鍵點:要求 LLM 基于輸入的原始問題和解答進行四步擴充:(1) 將問題轉換為陳述,(2) 基于該陳述生成新問題,(3) 為新問題提供答案,(4) 對答案進行評估并解釋推理過程。我們從以下三個主要方面提升質量:首先,提供原始問題和答案;其次,步驟 (1) 和 (2) 確保生成的問題合法且可解;第三,步驟 (3) 和 (4) 通過自我評估來判斷新問題答案的質量。
Retrospective Enhancement 由 Ye et al. (2024) 提出,其觀點認為直接讓模型糾正錯誤具有益處。他們采用了一種低資源構建方法,該方法將后續步驟直接插入到前面的步驟中,使模型在“懊悔”時能夠重試。該方法使用特殊的 [back] token 進行標識,因此稱之為回顧性增強。該方法在 GSM8K 上使用小參數模型和少量預訓練得到了驗證。而在我們的情景中,存在兩方面的關鍵區別:(1) 我們使用了更為多樣化的問題集合,其中部分問題與 GSM8K 中較簡單的問題有顯著區別;(2) 我們在已有一定數學能力的主流模型上執行 CPT。我們旨在驗證這一簡單方法的有效性。
Tutorship Amplification 的靈感源于現實中教師指導學生糾正錯誤的做法。如 OpenAI (2024) 所證明,模型可以被訓練來發現錯誤。這與 Ye et al. (2024) 的觀點相符,即模型可以檢測錯誤,但缺乏糾正錯誤的機會。導師放大模擬了真實的錯誤糾正過程。在此過程中,一個“強”模型作為教師幫助“弱”模型(代表學生)。在學生模型對問題生成解答后,教師模型進行以下操作:檢查學生答案是否正確;若答案正確,則予以肯定;否則指出錯誤步驟,并從該點繼續求解。我們希望該過程能實現三個目標:首先,構造可能出現的真實錯誤;其次,使模型習得自我評估和錯誤識別能力;第三,促使及時糾正已識別錯誤。我們相信這三要素將幫助模型學會自我糾錯,從而提升推理準確率。
合成數據。我們首先從原始問題求解數據中篩選一子集,依據數據完整性和推理步驟數量構造種子集。隨后,對該種子集應用上述四種數據合成方法。表 1 中給出了各方法產生的合成數據數量及相應 token 數的詳細說明。
實驗。我們以控制組 Base2 作為對照,該組由 483 億普通語料 token、147 億數學語料 token和 72 億問題求解數據 token 組成。基于 Base2 所用數據,在其基礎上額外加入由四種數據合成方法產生的 token,以構建四個實驗組。這些模型均從原始 Llama2 基礎模型上進行繼續預訓練。每種數據組合訓練最多 25,000 步,并選擇驗證集損失收斂的檢查點。最終準確率基于該檢查點進行評價。其他訓練參數與第 3 節一致。
\begin{center}
\begin{tabular}{llllllll}
\hline
Model & Num & Tokens & GSM8K & MATH & GAOKAO & ZHONGKAO & Average \
\hline
Base2 & - & - & 47.84 & 20.12 & 22.98 & 67.05 & 39.50 \
\hline
Res-Div & 14 , 018 , 544 14,018,544 14,018,544 & 6.82 B & 52.99 & 23.22 & 23.83 & 65.15 & 41.30 \
\hline
Query-Exp & 24 , 459 , 192 24,459,192 24,459,192 & 4.78 B & 51.25 & 23.08 & 27.23 & 69.13 & 42.67 \
\hline
Retro-Enh & 14 , 707 , 792 14,707,792 14,707,792 & 5.04 B & 45.11 & 21.72 & 22.98 & 66.67 & 39.12 \
\hline
Tutor-Amp & 11 , 942 , 328 11,942,328 11,942,328 & 13.90 B & 64.44 & 35.88 & 32.77 & 69.32 & 50.60 \
\hline
\end{tabular}
\end{center}
表 1:對照組與使用不同合成數據方法的四個實驗組在四個評價集上的性能對比。“Num”表示使用的問題求解題目及對應解答的數量,“Tokens”表明總 token 數。模型縮寫分別代表:Res-Div(答案多樣化)、Query-Exp(查詢擴展)、Retro-Enh(回顧性增強)和 Tutor-Amp(導師放大)。
結果。表 1 展示了四種合成數據組合的實驗結果。從中可以得出 Result 2:答案多樣化、查詢擴展和導師放大均為有效的數據合成技術,其中導師放大效果尤為顯著。相反,回顧性增強似乎影響甚微。我們推測這可能是因為構造的錯誤數據并非基于實際采樣,發生概率較低,從而抑制了模型錯誤檢測及糾正能力的學習。我們還注意到查詢擴展和答案多樣化提升效果有限。對此我們提出一種假設:在數據生成過程中,模型的自我評估可能未能識別出自身錯誤,從而限制了合成數據的質量。至于導師放大的有效性,我們提出兩點假設:首先,模型通過導師放大數據習得了一套自查、錯誤檢測和糾正的推理框架;其次,該數據有助于學習如何利用知識正確解決問題,通過糾錯來增強推理能力。
\section*{5 CPT 階段與 SFT 階段的能力習得比較}
在前兩節中,我們已經證明在 CPT 階段提供問題求解數據能高效地教會模型應用數學知識并提升推理能力。然而,在 SFT 階段培養數學推理能力又有何不同呢?本節首先驗證問題求解數據使用階段的改變確實提升了模型最終能力,而不僅僅是數據不同導致的差異。接著,我們從數據分布和難度兩個角度探討了 CPT 和 SFT 階段數學學習能力的差異來源。
\subsection*{5.1 能力習得比較}
本節探討了在不同階段使用問題求解數據(CPT 與 SFT)對模型最終能力的顯著影響。我們共有 72 億問題求解數據,可分配在 CPT 或 SFT 階段。此外,我們另外抽取 0.72 億問題求解數據用于 1 % 1\% 1%-SFT,以賦予模型指令跟隨能力。我們設計以下實驗設置以比較 CPT 與 SFT 階段能力習得的差異:
\begin{itemize}
\item Base1:如第 3 節所述,使用 483 億普通語料 token 和 147 億數學語料 token 進行 CPT。
\item Base2:在 CPT 階段使用 483 億普通語料 token、75 億數學語料 token和 72 億問題求解數據 token。
\item Base1-SFT:基于 Base1 進行 SFT,使用 72 億問題求解數據。
\item Base1-1%SFT:基于 Base1 進行 SFT,僅使用 0.72 億問題求解數據。
\item Base2-1%SFT:基于 Base2 進行 SFT,僅使用 0.72 億問題求解數據。
\end{itemize}
需要注意的是,我們在 Base1 與 Base2 上均使用 1% 的問題求解數據進行 SFT。該設置可以隔離指令跟隨能力的提升影響,從而評估在 CPT 階段引入問題求解數據對數學推理能力帶來的真實提升。
實驗細節。在 SFT 階段,我們設置批量大小為 256,學習率采用余弦調度從 1e-5 衰減至 1e-6。訓練 3 個周期,確保訓練損失收斂。收斂后,我們從 10 個檢查點中選擇最優結果進行報告,該檢查點通常出現在 2 個周期左右。更多實驗設計討論見附錄 C。
\includegraphics[max width=\textwidth, center]{2025_04_15_262c644527836053857ag-07}
Figure 2:CPT 階段與 SFT 階段習得能力的比較
結果。四個數據集的評價結果見附錄 E,其平均準確率如圖 2 所示。首先,我們觀察紅色與藍色陰影區域,其中少量 SFT 數據在 Base1 與 Base2 上帶來了類似的提升。從評價結果來看,該提升源于模型原本不一致且重復輸出的大幅減少。我們認為這是由于 SFT 的監督方法所致,這引出了一個有趣的結論:少量 SFT 數據即可有效提升模型的指令跟隨能力。
接下來,我們在排除指令跟隨能力影響后進行對比,此時,記作 SFT Δ \Delta Δ 與 CPT Δ 2 \Delta_{2} Δ2? 分別代表在 SFT 與 CPT 階段使用相同數據所獲得的數學推理能力提升。結果顯示,SFT 階段獲得的能力提升僅約為 CPT 階段的 60% 。另外,對比 Base1-SFT 與 Base2,盡管二者使用相同數據,Base1-SFT因獲得了指令跟隨能力,其表現仍然遜于 Base2。因此,我們得出 Result 3:總體而言,雖然 SFT 能在一定程度上培養數學能力,但其效果明顯不如 CPT。
為了更好地理解 SFT 對能力習得的影響,我們增加了三個額外實驗組,分別使用 10%、20% 以及 50% 的問題求解數據進行 SFT,并與 Base1、1% SFT 及 100% SFT 進行比較,分析 SFT 數據量對推理提升效果的影響。結果如圖 6 所示。我們觀察到在 1 % 1\% 1% SFT 數據量處平均準確率有顯著提升,之后數據量與準確率提升呈對數線性關系。這進一步驗證了少量 SFT 數據能夠提升模型指令跟隨能力。此外,增加 SFT 數據量可能繼續以對數形式提升模型的推理能力。
\subsection*{5.2 不同數據分布的影響}
在上一節中,我們觀察到 SFT 階段所習得推理能力顯著弱于 CPT。在本節中,我們旨在探討這一差異的根源。我們的直覺認為,數據分布可能在不同階段對能力學習產生不同的影響,CPT 可能有助于提升域外(OOD)的表現。然而,我們的發現與這一假設相悖:無論是 CPT 還是 SFT,其主要培養的均為與其訓練數據分布一致的能力。
實驗。我們通過依據評價集對訓練數據進行劃分來設計實驗,具體來說,我們選擇一個評價集來代表域內(IND)能力,其余的數據集均視為域外(OOD)。相應地,我們僅保留與 IND 能力相匹配的訓練數據部分。不過需要注意兩個關鍵問題:首先,在去污染過程中,我們已排除了與評價集重疊的數據;其次,數學能力的涵蓋范圍本質上在不同領域間存在重疊。因此,很難將訓練數據與特定能力完全匹配。因此,我們利用原始問題求解數據中的知識點標簽,從中分離出對應于中學能力的 8.3 億 token(對應 ZHONGKAO)和對應于高中能力的 8.9 億 token(對應 GAOKAO)。域外能力則由與這些 IND 能力不匹配的其他評價集來表示。更多實驗設計討論見附錄 C。具體的實驗設計如下:
\begin{itemize}
\item Base1:與第 3 節描述一致。使用 483 億普通語料 token 和 147 億數學語料 token 進行 CPT。
\item Middle-school-SFT:在 Base1 上使用 8.3 億中學數據進行 SFT。
\item Middle-school-CPT:在 Base1 數據基礎上加入中學數據進行 CPT。
\item High-school-SFT:在 Base1 上使用 8.9 億高中數據進行 SFT。
\item High-school-CPT:在 Base1 數據基礎上加入高中數據進行 CPT。
\end{itemize}
\begin{center}
\begin{tabular}{llllll}
\hline
Model & GSM8K & MATH & GAOKAO & ZHONGKAO & Average \
\hline
Base1 & 28.20 & 9.48 & 8.09 & 30.68 & 19.11 \
\hline
Middle-school-SFT & 22.67 ( ? 5.53 ) 22.67(-5.53) 22.67(?5.53) & 16.3 6 ( + 6.88 ) 16.36_{(+6.88)} 16.36(+6.88)? & 10.2 1 ( + 2.12 ) 10.21_{(+2.12)} 10.21(+2.12)? & 52.28 ( + 21.60 ) \mathbf{52.28}{ }_{(+21.60)} 52.28(+21.60)? & 25.38 ( + 6.27 ) 25.38(+6.27) 25.38(+6.27) \
\hline
Middle-school-CPT & 29.4 2 ( + 1.22 ) 29.42_{(+1.22)} 29.42(+1.22)? & 15.0 4 ( + 5.56 ) 15.04_{(+5.56)} 15.04(+5.56)? & 8.0 9 ( 0.00 ) 8.09_{(0.00)} 8.09(0.00)? & 54.71 ( + 24.03 ) \mathbf{54.71}(+\mathbf{24.03}) 54.71(+24.03) & 26.81 ( + 7.70 ) 26.81(+7.70) 26.81(+7.70) \
\hline
High-school-SFT & 19.1 1 ( ? 9.09 ) 19.11_{(-9.09)} 19.11(?9.09)? & 13.4 8 ( + 4.00 ) 13.48_{(+4.00)} 13.48(+4.00)? & 16.60 ( + 8.51 ) \mathbf{16.60}(+8.51) 16.60(+8.51) & 36.7 8 ( + 6.10 ) 36.78_{(+6.10)} 36.78(+6.10)? & 21.4 9 ( + 2.38 ) 21.49_{(+2.38)} 21.49(+2.38)? \
\hline
High-school-CPT & 23.9 6 ( ? 4.24 ) 23.96_{(-4.24)} 23.96(?4.24)? & 13.8 2 ( + 4.34 ) 13.82_{(+4.34)} 13.82(+4.34)? & 22.98 ( + 14.89 ) \mathbf{22.98}(+\mathbf{14.89}) 22.98(+14.89) & 34.1 9 ( + 3.51 ) 34.19_{(+3.51)} 34.19(+3.51)? & 23.7 4 ( + 4.63 ) 23.74_{(+4.63)} 23.74(+4.63)? \
\hline
\end{tabular}
\end{center}
表 2:基于不同數據分布下能力學習的分析
結果。如表 2 所示,對于由粗體顯示的 IND 能力,CPT 階段的學習提升始終明顯大于 SFT 階段。這一效果在對于更具挑戰性的高中水平知識的學習中尤為明顯。此外,對于 OOD 能力,SFT 階段的學習受到的干擾明顯較大。這在 GSM8K 上表現尤為明顯(參見附錄 B 中的數據分布與能力維度圖), GSM8K 具有最大的數據分布差異。SFT 后,模型在 OOD 任務上的性能比 CPT 下受損更多。因此,我們得出 Result 4:無論是 SFT 還是 CPT,均主要培養與其訓練數據分布一致的能力。但是,SFT 在 IND 學習能力上弱于 CPT;而對于 OOD 能力的學習,僅觀察到 SFT 比 CPT 更容易受到數據分布擾動的影響。
\subsection*{5.3 不同難度水平的影響}
在上一節中,雖然我們闡明了無論 CPT 或 SFT 均涉及域內能力學習,但 SFT 學習表現為何弱于 CPT 仍不明確。然而,在 Result 4 中,對于高中訓練數據的結論比中學更明顯,這促使我們探討在不同問題難度數據下,CPT 與 SFT 階段能力習得的差異。
實驗。我們選取問題求解數據中的 50 億 token 子集,并根據解答推理步驟數將其分類:需要 1-3 步的歸為簡單,4-7 步歸為中等,8 步及以上歸為困難。樣本分布分別占整體數據的 36.0%、38.4% 和 25.6%,而 token 數分別占 23.0%、36.0% 和 41.0%。考慮到這種分類方法的不可避免的不精確性,我們僅選取簡單數據和困難數據進行 CPT 與 SFT 的對比實驗。更多實驗設計討論見附錄 C。實驗組設計如下:
\begin{itemize}
\item Base1:如第 3 節所述,使用 483 億普通語料 token 和 147 億數學語料 token 進行 CPT。
\item Easy-SFT:在 Base1 上使用簡單數據子集進行 SFT。
\item Easy-CPT:在 Base1 數據基礎上加入簡單數據子集進行 CPT。
\item Hard-SFT:在 Base1 上使用困難數據子集進行 SFT。
\item Hard-CPT:在 Base1 數據基礎上加入困難數據子集進行 CPT。
\end{itemize}
\begin{center}
\begin{tabular}{llllll|lll}
\hline
Model & GSM8K & MATH & GAOKAO & ZHONGKAO & Average & Easy & Medium & Hard \
\hline
Base1 & 28.20 & 9.48 & 8.09 & 30.68 & 19.11 & 14.86 & 6.69 & 4.85 \
\hline
Easy-SFT & 31.31 & 14.46 & 14.04 & 48.30 & 27.03 & 22.5 2 ( + 7.66 ) 22.52_{(+7.66)} 22.52(+7.66)? & 10.6 8 ( + 4.00 ) 10.68_{(+4.00)} 10.68(+4.00)? & 6.9 4 ( + 2.09 ) 6.94_{(+2.09)} 6.94(+2.09)? \
\hline
Easy-CPT & 37.98 & 15.70 & 17.02 & 52.46 & 30.79 & 27.6 1 ( + 12.75 ) 27.61_{(+12.75)} 27.61(+12.75)? & 13.3 3 ( + 6.64 ) 13.33_{(+6.64)} 13.33(+6.64)? & 6.2 7 ( + 1.42 ) 6.27_{(+1.42)} 6.27(+1.42)? \
\hline
Hard-SFT & 31.39 & 17.40 & 15.32 & 54.55 & 29.66 & 24.3 7 ( + 9.51 ) 24.37_{(+9.51)} 24.37(+9.51)? & 11.9 3 ( + 5.24 ) 11.93_{(+5.24)} 11.93(+5.24)? & 6.8 4 ( + 1.99 ) 6.84_{(+1.99)} 6.84(+1.99)? \
\hline
Hard-CPT & 45.79 & 23.96 & 26.38 & 69.89 & 41.51 & 35.7 8 ( + 20.92 ) 35.78_{(+20.92)} 35.78(+20.92)? & 20.1 7 ( + 13.48 ) 20.17_{(+13.48)} 20.17(+13.48)? & 9.3 2 ( + 4.47 ) 9.32_{(+4.47)} 9.32(+4.47)? \
\hline
\end{tabular}
\end{center}
表 3:CPT 與 SFT 模型在不同難度水平下性能的比較。表中顯示了平均表現以及在簡單、中等和困難數據子集上的具體表現。
結果。表 3 左半部分(由垂直線分隔)顯示,無論是 SFT 模型還是 CPT 模型,CPT 模型始終表現更優,其中 Hard-CPT 相較于 Easy-CPT 的相對提升更為顯著,這些提升不僅局限于困難領域的準確率,且體現在所有數據集上。此外,無論 SFT 或 CPT,在同一訓練階段中使用困難數據均比使用簡單數據獲得更好效果。由此可見,Result 5:提供更具挑戰性的問題求解數據能顯著提升學習效果,并且這一優勢在 CPT 中尤為明顯,這可能是導致 CPT 與 SFT 學習能力差異的主要原因。因此,在計算資源有限的情況下,我們建議在 CPT 階段準備更具挑戰性的問題求解數據。\
表 3 右半部分顯示,無論 SFT 或 CPT 模型在簡單問題上獲得的提升最高,而隨著問題難度增加,提升幅度依次下降。例如,Easy-SFT 與 Easy-CPT 在簡單數據上分別提升 +7.66 與 +12.75,而在困難數據上僅提升 +2.09 與 +1.42。同樣,Hard-SFT 與 Hard-CPT 分別在簡單數據上獲得最大提升(+9.51 和 +20.92),而在困難數據上僅分別提升 +1.99 和 +4.47。這些模式表明,不論訓練數據難度如何,SFT 與 CPT 均主要側重于學習求解較簡單、步驟較少的問題。
\section*{6 訓練數學專用強模型}
為進一步驗證我們實驗結果的有效性,我們基于 Llama3-8B (Dubey et al., 2024) 訓練了一款數學專用強模型,命名為 MathGPT-8B。我們遵循前述三個 RQ 得出的結論:(1)保持數學語料與問題求解數據的比例為 3:7;(2)利用 Query Expansion、Response Diversification 和 Tutorship Amplification 產生的合成數據,其中重點擴充數據采用最有效的 Tutorship Amplification 方法;(3)篩選并擴展原始數據,重點關注推理步驟多于 5 步的問題,利用這些作為種子數據生成更多合成數據。除此之外,我們還將新發布的數學語料(Han et al., 2024)納入訓練。最終,我們使用 396 億普通語料 token、467 億數學語料 token 以及 511 億問題求解數據和合成數據 token 訓練 MathGPT-8B 25,000 步,采用全局批量大小 1024,序列長度 8192 個 token。學習率預熱至 1 e ? 4 1 \mathrm{e}-4 1e?4 后,使用余弦調度衰減至 1 e ? 5 1 \mathrm{e}-5 1e?5。
結果。如表 4 所示,與基礎模型相比,我們顯著增強了 Llama3-8B 的基礎能力,甚至超越了 Llama3.1-70B 和 Qwen2-72B 這類參數超過 70 億的更大模型。此外,我們使用 Gao et al. (2024) 提出的 MMLU (Hendrycks et al. 2020) 基準對模型進行了評價,MathGPT-8B 得分為 0.6222,而 Llama3-8B 為 0.6211,這表明它在保持普通知識能力的同時提升了數學推理能力。\
與數學專用的基礎模型相比,MathGPT-8B 超越了 DeepSeekMath-Base-7B (Shao et al., 2024) 和 Qwen2-Math-7B (Yang et al. 2024a),并且其能力可與 Qwen2-Math-72B 和最近發布的 Qwen2.5-Math-7B (Yang et al. 2024b) 相媲美。與 Qwen2.5-Math-7B 相比,MathGPT-8B 僅使用了 1400 億 token(其中數學相關 token 為 1000 億),而 Qwen2.5-Math-7B 使用了 1 萬億 token(據報道)。此外,MathGPT-8B 起始于一個較弱的基礎模型。這些結果驗證了我們提出的方法在提升數學能力方面比現有范式更高效。關于相關工作的進一步討論見附錄 F。考慮到我們沒有進行完整的后訓練過程,因此我們發布的是模型的基礎版本,供研究界在后續根據需要進行進一步后訓練以增強其能力。
\begin{center}
\begin{tabular}{lccccc}
\hline
Model & GSM8K & MATH & GAOKAO & ZHONGKAO & Average \
\hline
\multicolumn{6}{c}{通用模型} \
\hline
Llama3-8B & 58.38 & 17.04 & 13.62 & 42.61 & 32.91 \
Llama3-70B & 82.34 & 38.42 & 28.09 & 64.02 & 53.21 \
Llama3.1-8B & 56.79 & 19.70 & 11.49 & 44.70 & 33.17 \
Llama3.1-70B & 81.73 & 39.66 & 31.06 & 64.77 & 54.31 \
Qwen2-7B & 80.44 & 47.82 & 27.23 & 70.45 & 56.49 \
Qwen2-72B & 86.58 & 56.88 & 45.11 & 73.67 & 65.56 \
Qwen2.5-7B & 84.61 & 53.22 & 45.53 & 80.30 & 65.92 \
Qwen2.5-72B & 90.60 & 59.38 & 56.60 & 82.95 & 72.38 \
\hline
\multicolumn{6}{c}{數學專用模型} \
\hline
LLEMMA-7B & 41.47 & 18.94 & 14.89 & 45.08 & 30.10 \
DeepSeekMath-Base-7B & 65.73 & 33.40 & 23.83 & 62.69 & 46.41 \
Qwen2-Math-7B & 80.67 & 53.02 & 42.13 & 77.08 & 63.22 \
Qwen2-Math-72B & 88.63 & 61.88 & 51.91 & 81.25 & 70.92 \
Qwen2.5-Math-7B & 85.44 & 59.10 & 53.19 & 78.79 & 69.13 \
Qwen2.5-Math-72B & 88.70 & 67.10 & 53.62 & 81.63 & 72.76 \
(MathGPT-8B) & 81.20 \mathbf{81.20} 81.20 & 60.38 \mathbf{60.38} 60.38 & 60.43 \mathbf{60.43} 60.43 & 80.49 \mathbf{80.49} 80.49 & 70.62 \mathbf{70.62} 70.62 \
\hline
\end{tabular}
\end{center}
表 4:各模型在 GSM8K、MATH、GAOKAO、ZHONGKAO 四個數據集上的性能指標 (通用模型及數學專用模型)
\section*{7 結論}
本研究探討了在預訓練階段采用替代策略以提升 LLMs 數學推理能力的問題。我們的發現促成了 MathGPT-8B 的開發,這是一款具有競爭力的模型,不僅超越了多數 7B 模型,其能力亦能與體量遠大于 7B 的模型相媲美,同時所使用的 token 數量更少。未來工作應在兩個關鍵方向擴展:首先,需要進一步改進數據合成方法。雖然我們證明了合成數據的有效性,但目前的方法仍較為初級;其次,應探討后訓練過程中對齊過程的作用及影響。對這些問題的研究將有助于進一步提升模型的數學推理能力。
\section*{致謝}
本研究部分得到了中國國家重點研發計劃(項目號 2022YFC3303600)的資助;部分得到了國家自然科學基金(項目號 62477025)的支持;部分得到了廣東高校智能教育重點實驗室、暨南大學(2022LSYS003)的支持;部分得到了北京市科學技術項目(項目號 Z241100001324011)的資助。
\section*{參考文獻}
Zeyuan Allen-Zhu and Yuanzhi Li. Physics of language models: Part 3.1, knowledge storage and extraction. In Forty-first International Conference on Machine Learning, 2023.
Zhangir Azerbayev, Hailey Schoelkopf, Keiran Paster, Marco Dos Santos, Stephen Marcus McAleer, Albert Q Jiang, Jia Deng, Stella Biderman, and Sean Welleck. Llemma: An open language model for mathematics. In The Twelfth International Conference on Learning Representations, 2023.
Wenhu Chen, Xueguang Ma, Xinyi Wang, and William W Cohen. Program of thoughts prompting: Disentangling computation from reasoning for numerical reasoning tasks. Transactions on Machine Learning Research, 2022.
Zui Chen, Yezeng Chen, Jiaqi Han, Zhijie Huang, Ji Qi, and Yi Zhou. An empirical study of data ability boundary in llms’ math reasoning. arXiv preprint arXiv:2403.00799, 2024.
Karl Cobbe, Vineet Kosaraju, Mohammad Bavarian, Mark Chen, Heewoo Jun, Lukasz Kaiser, Matthias Plappert, Jerry Tworek, Jacob Hilton, Reiichiro Nakano, et al. Training verifiers to solve math word problems. arXiv preprint arXiv:2110.14168, 2021.
Hanze Dong, Wei Xiong, Bo Pang, Haoxiang Wang, Han Zhao, Yingbo Zhou, Nan Jiang, Doyen Sahoo, Caiming Xiong, and Tong Zhang. Rlhf workflow: From reward modeling to online rlhf. arXiv preprint arXiv:2405.07863, 2024.
Abhimanyu Dubey, Abhinav Jauhri, Abhinav Pandey, Abhishek Kadian, Ahmad Al-Dahle, Aiesha Letman, Akhil Mathur, Alan Schelten, Amy Yang, Angela Fan, et al. The llama 3 herd of models. arXiv preprint arXiv:2407.21783, 2024.
Jiayi Fu, Lei Lin, Xiaoyang Gao, Pengli Liu, Zhengzong Chen, Zhirui Yang, Shengnan Zhang, Xue Zheng, Yan Li, Yuliang Liu, et al. Kwaiyiimath: Technical report. arXiv preprint arXiv:2310.07488, 2023.
Leo Gao, Jonathan Tow, Baber Abbasi, Stella Biderman, Sid Black, Anthony DiPofi, Charles Foster, Laurence Golding, Jeffrey Hsu, Alain Le Noac’h, Haonan Li, Kyle McDonell, Niklas Muennighoff, Chris Ociepa, Jason Phang, Laria Reynolds, Hailey Schoelkopf, Aviya Skowron, Lintang Sutawika, Eric Tang, Anish Thite, Ben Wang, Kevin Wang, and Andy Zou. A framework for few-shot language model evaluation, 2024.
Zhibin Gou, Zhihong Shao, Yeyun Gong, Yujiu Yang, Minlie Huang, Nan Duan, Weizhu Chen, et al. Tora: A tool-integrated reasoning agent for mathematical problem solving. In The Twelfth International Conference on Learning Representations, 2023.
Xiaotian Han, Yiren Jian, Xuefeng Hu, Haogeng Liu, Yiqi Wang, Qihang Fan, Yuang Ai, Huaibo Huang, Ran He, Zhenheng Yang, et al. Infimm-webmath-40b: Advancing multimodal pretraining for enhanced mathematical reasoning. In The 4th Workshop on Mathematical Reasoning and AI at NeurIPS’24, 2024.
Shibo Hao, Yi Gu, Haodi Ma, Joshua Hong, Zhen Wang, Daisy Wang, and Zhiting Hu. Reasoning with language model is planning with world model. In Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, pp. 8154-8173, 2023.
Dan Hendrycks, Collin Burns, Steven Basart, Andy Zou, Mantas Mazeika, Dawn Song, and Jacob Steinhardt. Measuring massive multitask language understanding. In The Eighth International Conference on Learning Representations, 2020.
Dan Hendrycks, Collin Burns, Saurav Kadavath, Akul Arora, Steven Basart, Eric Tang, Dawn Song, and Jacob Steinhardt. Measuring mathematical problem solving with the math dataset. In Thirty-fifth Conference on Neural Information Processing Systems Datasets and Benchmarks Track, 2021.
Shengding Hu, Yuge Tu, Xu Han, Chaoqun He, Ganqu Cui, Xiang Long, Zhi Zheng, Yewei Fang, Yuxiang Huang, Weilin Zhao, et al. Minicpm: Unveiling the potential of small language models with scalable training strategies. arXiv preprint arXiv:2404.06395, 2024.
Takeshi Kojima, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, and Yusuke Iwasawa. Large language models are zero-shot reasoners. Advances in neural information processing systems, 35:22199-22213, 2022.
Xin Lai, Zhuotao Tian, Yukang Chen, Senqiao Yang, Xiangru Peng, and Jiaya Jia. Step-dpo: Stepwise preference optimization for long-chain reasoning of llms. arXiv preprint arXiv:2406.18629, 2024.
Katherine Lee, Daphne Ippolito, Andrew Nystrom, Chiyuan Zhang, Douglas Eck, Chris CallisonBurch, and Nicholas Carlini. Deduplicating training data makes language models better. In Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics, pp. 8424-8445, 2022.
Jia Li, Edward Beeching, Lewis Tunstall, Ben Lipkin, Roman Soletskyi, Shengyi Huang, Kashif Rasul, Longhui Yu, Albert Q Jiang, Ziju Shen, et al. Numinamath: The largest public dataset in ai4maths with 860 k pairs of competition math problems and solutions. Hugging Face repository, 13:9, 2024.
Raymond Li, Yangtian Zi, Niklas Muennighoff, Denis Kocetkov, Chenghao Mou, Marc Marone, Christopher Akiki, LI Jia, Jenny Chim, Qian Liu, et al. Starcoder: may the source be with you! Transactions on Machine Learning Research, 2023.
Ilya Loshchilov and Frank Hutter. Sgdr: Stochastic gradient descent with warm restarts. In International Conference on Learning Representations, 2022.
Haipeng Luo, Qingfeng Sun, Can Xu, Pu Zhao, Jianguang Lou, Chongyang Tao, Xiubo Geng, Qingwei Lin, Shifeng Chen, and Dongmei Zhang. Wizardmath: Empowering mathematical reasoning for large language models via reinforced evol-instruct. arXiv preprint arXiv:2308.09583, 2023.
Swaroop Mishra, Matthew Finlayson, Pan Lu, Leonard Tang, Sean Welleck, Chitta Baral, Tanmay Rajpurohit, Oyvind Tafjord, Ashish Sabharwal, Peter Clark, et al. Lila: A unified benchmark for mathematical reasoning. In Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing, pp. 5807-5832, 2022.
Arindam Mitra, Hamed Khanpour, Corby Rosset, and Ahmed Awadallah. Orca-math: Unlocking the potential of slms in grade school math. arXiv preprint arXiv:2402.14830, 2024.
OpenAI. Finding GPT-4’s mistakes with GPT-4, 2024. URL \href{https://openai.com/index/}{https://openai.com/index/} finding-gpt4s-mistakes-with-gpt-4/.
Keiran Paster, Marco Dos Santos, Zhangir Azerbayev, and Jimmy Ba. Openwebmath: An open dataset of high-quality mathematical web text. In The Twelfth International Conference on Learning Representations, 2023.
Fabio Petroni, Tim Rockt?schel, Sebastian Riedel, Patrick Lewis, Anton Bakhtin, Yuxiang Wu, and Alexander Miller. Language models as knowledge bases? In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing, pp. 2463-2473, 2019.
Adam Roberts, Colin Raffel, and Noam Shazeer. How much knowledge can you pack into the parameters of a language model? In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing, pp. 5418-5426, 2020.
Zhihong Shao, Peiyi Wang, Qihao Zhu, Runxin Xu, Junxiao Song, Mingchuan Zhang, YK Li, Yu Wu, and Daya Guo. Deepseekmath: Pushing the limits of mathematical reasoning in open language models. arXiv preprint arXiv:2402.03300, 2024.
Hugo Touvron, Louis Martin, Kevin Stone, Peter Albert, Amjad Almahairi, Yasmine Babaei, Nikolay Bashlykov, Soumya Batra, Prajjwal Bhargava, Shruti Bhosale, et al. Llama 2: Open foundation and fine-tuned chat models. arXiv preprint arXiv:2307.09288, 2023.
Maurice Weber, Daniel Y Fu, Quentin Gregory Anthony, Yonatan Oren, Shane Adams, Anton Alexandrov, Xiaozhong Lyu, Huu Nguyen, Xiaozhe Yao, Virginia Adams, et al. Redpajama: an open dataset for training large language models. In The Thirty-eight Conference on Neural Information Processing Systems Datasets and Benchmarks Track, 2023.
Can Xu, Qingfeng Sun, Kai Zheng, Xiubo Geng, Pu Zhao, Jiazhan Feng, Chongyang Tao, and Daxin Jiang. Wizardlm: Empowering large language models to follow complex instructions. arXiv preprint arXiv:2304.12244, 2023.
An Yang, Baosong Yang, Binyuan Hui, Bo Zheng, Bowen Yu, Chang Zhou, Chengpeng Li, Chengyuan Li, Dayiheng Liu, Fei Huang, et al. Qwen2 technical report. arXiv preprint arXiv:2407.10671, 2024a.
An Yang, Beichen Zhang, Binyuan Hui, Bofei Gao, Bowen Yu, Chengpeng Li, Dayiheng Liu, Jianhong Tu, Jingren Zhou, Junyang Lin, et al. Qwen2.5-math technical report: Toward mathematical expert model via self-improvement. arXiv preprint arXiv:2409.12122, 2024b.
Tian Ye, Zicheng Xu, Yuanzhi Li, and Zeyuan Allen-Zhu. Physics of language models: Part 2.2, how to learn from mistakes on grade-school math problems. arXiv preprint arXiv:2408.16293, 2024.
Shuo Yin, Weihao You, Zhilong Ji, Guoqiang Zhong, and Jinfeng Bai. Mumath-code: Combining tool-use large language models with multi-perspective data augmentation for mathematical reasoning. arXiv preprint arXiv:2405.07551, 2024.
Huaiyuan Ying, Shuo Zhang, Linyang Li, Zhejian Zhou, Yunfan Shao, Zhaoye Fei, Yichuan Ma, Jiawei Hong, Kuikun Liu, Ziyi Wang, et al. Internlm-math: Open math large language models toward verifiable reasoning. arXiv preprint arXiv:2402.06332, 2024.
Longhui Yu, Weisen Jiang, Han Shi, YU Jincheng, Zhengying Liu, Yu Zhang, James Kwok, Zhenguo Li, Adrian Weller, and Weiyang Liu. Metamath: Bootstrap your own mathematical questions for large language models. In The Twelfth International Conference on Learning Representations, 2023.
Zheng Yuan, Hongyi Yuan, Chengpeng Li, Guanting Dong, Chuanqi Tan, and Chang Zhou. Scaling relationship on learning mathematical reasoning with large language models. arXiv preprint arXiv:2308.01825, 2023.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{附錄}
\section*{A 詳細實驗準備}
\section*{A.1 訓練數據詳情}
本研究中使用的訓練數據分為以下三大類:(1) 普通語料,包括來自 RedPajama 的 ArXiv 子集中的科學文本、來自 AlgebraicStack (Azerbayev et al., 2023) 和 StarCoder (Li et al., 2023) 的代碼數據集,以及來自 RedPajama 的 C4 與 Wikipedia 子集的自然語言數據。引入普通數據有助于防止模型在進行領域專精訓練時出現災難性遺忘;同時,保持普遍知識基底確保模型在各類任務上的魯棒性。(2) 數學語料,旨在提升模型的數學能力,主要包含從 CommonCrawl 網頁中提取的數學內容。主要目標是使預訓練模型具備數學相關的基礎知識,包括術語、定理、證明等。為此,我們利用 OpenWebMath (Paster et al., 2023) ——一項已被證明能有效提升數學能力的資源 (Azerbayev et al., 2023)。(3) 問題求解數據。我們認為該數據能更高效地提升模型的推理能力。我們收集了 2500 萬條問題求解數據,包括來自開源資源如 NuminaMath (Li et al., 2024) 和 Lila (Mishra et al., 2022) 的數據,以及內部專有數據。其中 1400 萬條作為種子數據用于增強生成合成數據。整體來說,基于 Llama2 (Touvron et al., 2023) 在 RQ 實驗上,我們分別使用了 483 億普通語料 token、137 億數學語料 token、72 億問題求解數據 token 以及 305.4 億合成數據 token。
\section*{A.2 基線模型選擇}
基線模型的選擇對我們的結論具有關鍵影響,因為它直接影響結論的可靠性與適用性。為確保我們關于研究問題的探索能夠產生具有實踐價值的見解,我們基于主流模型開展研究。由于 OpenWebMath 可能已廣泛被最新 LLMs 引入,使用該數學語料可能達不到預期效果,因此我們選擇 Llama2 (Touvron et al., 2023) 作為基線模型,因為其發布時間早于 OpenWebMath (Paster et al., 2023) 的發布。此舉旨在增強我們結論的魯棒性。
\section*{A.3 評價數據集}
考慮到既要降低數據污染風險,又需拓寬評價能力范圍,我們擴展了評價集,新增了 GAOKAO 和 ZHONGKAO 數據集,此外還保留了 GSM8K (Cobbe et al., 2021) 和 MATH (Hendrycks et al. 2021) 數據集。GAOKAO 數據集包括 GAOKAO-2023 與 GAOKAO-2024,來源于最新的中國高考。我們將問題格式轉換為數學文字題,并將問題進行翻譯,經過審核后保留 235 條題目。類似地,ZHONGKAO 數據集來源于 2023 年中考,包含 658 道翻譯后的數學文字題。這兩個數據集均在 Llama2 (Touvron et al., 2023) 發布之后創建,從而增強了我們的結論。新增的數據集在普通知識、數學知識以及推理步驟維度上提供了不同的考察。GAOKAO 與 MATH 類似,但需要更多普通知識;ZHONGKAO 與 GSM8K 類似,但可能需要更多數學知識且推理步驟更少。詳細的能力維度見附錄 B。本研究相信擴展后的評價集將帶來更全面的評估,并為后續改進提供有價值的參考。
\section*{A.4 去重與去污染}
我們使用 MinHash 去重框架(Lee et al., 2022)來去除訓練數據中重復文本超過某一閾值的整篇文檔。具體而言,我們設置去重閾值為 2048 字節以提升訓練數據質量。另外,我們設置閾值為 100 字節,以移除訓練集中與評價數據集(包括其子集)重疊超過 100 字節的部分。我們認為這可以解決因簡單改寫而引起的部分污染。(值得注意的是,對于 OpenWebMath (Paster et al., 2023) 的案例,我們剔除了 2594 篇受污染的文檔,這對我們初步實驗的結論產生了顯著影響。)
\section*{A.5 評價指標}
評價過程包含三個階段:模型推理、答案比較和統計打分。在模型推理階段,我們對每個數據集分別使用零樣本和少樣本提示模板。對于零樣本,我們采用簡單的鏈式思考(Chain-of-Thought, CoT)提示 (Kojima et al., 2022)。對于少樣本,我們在 GSM8K 與 MATH 數據集上分別采用 8-shot 與 4-shot 設置,并將相同的少樣本設置應用于 ZHONGKAO 與 GAOKAO 數據集。關于答案比較,我們使用答案比較模型 2 { }^{2} 2來解決基礎模型產生的輸出不規則問題,例如停止準則不一致或從 CoT 輸出中提取答案等問題。在統計打分階段,我們為每個數據集選擇零樣本與少樣本中準確率較高的一個,以確保結果的可靠性與魯棒性,因部分模型在零樣本下表現較優,部分則在少樣本下表現更好。最后,我們報告四個數據集準確率的算術平均值。
\section*{B 四個評價集的能力維度}
GSM8K、MATH、ZHONGKAO 與 GAOKAO 四個評價集被引入以豐富評價維度,如表 5 所示,并給出示例題目。
為了初步理解各評價集在不同能力維度上的差異,我們嘗試定義三個能力維度:普通知識、數學知識以及推理步驟。正如表 6 所示,每個能力維度均分為三個等級,要求從一級到三級逐步提高。普通知識描述了對常識(例如一天由 24 小時組成)的要求;數學知識指數學知識的復雜程度,包括算術、初等數學與高級數學;推理步驟描述了推理深度。圖 3 展示了四個評價集在不同維度上的表現。總體而言,GAOKAO 與 MATH 表現相似,但 GAOKAO 在某些題目上可能需要一定的普通知識;ZHONGKAO 與 GSM8K 都要求較高的普通知識,但在數學知識與推理步驟要求上有所不同。
此外,如圖 4 所示,我們通過對各評價集問題的數據分布進行 t-SNE 降維分析,并展示了數據分布圖及余弦相似度情況。顯然,MATH、ZHONGKAO 與 GAOKAO 之間存在一定相關性,而 GSM8K 數據分布差異最大。這可能也解釋了不同評價集在 OOD 能力表現上的差異(如表 2 中討論的情況)。
\begin{center}
\begin{tabular}{|l|l|}
\hline
數據集 & 題目示例 \
\hline
GSM8K & \begin{tabular}{l}
Josh 決定嘗試買房翻修。他以 $80,000 購買一處房產,\
隨后投入 $50,000 用于維修。此舉使房屋價值提高了 150%。\
他的利潤是多少?
\end{tabular} \
\hline
MATH & 求函數 y = 2 x 2 + x ? 6 y=\frac{2}{x^{2}+x-6} y=x2+x?62? 圖像的垂直漸近線個數。 \
\hline
ZHONGKAO & 4 的相反數是多少? \
\hline
GAOKAO & \begin{tabular}{l}
設 M = { x ∣ x + 2 ≥ 0 } , N = { x ∣ x ? 1 < 0 } M=\{x \mid x+2 \ge 0\},\, N=\{x \mid x-1 < 0\} M={x∣x+2≥0},N={x∣x?1<0},\
則 M ∩ N = ? M \cap N=? M∩N=?
\end{tabular} \
\hline
\end{tabular}
\end{center}
表 5:四個評價集示例題目
\section*{C 關于實驗設置的討論}
我們的實驗設計總體上遵循對比實驗原理,構成對照組以通過引入變量驗證假設。下文詳細介紹各實驗組設計的考慮因素。
在第 3 節中,為了減小數學數據總量對實驗結論的影響,如文中所述,我們在基線組與測試組中均控制了數學數據總量為 147 億 token,其中基線組使用全部 147 億數學語料,而測試組則使用 72 億問題求解數據與剩余 75 億數學語料分配,確保數學 token 總量亦為 147 億。隨后,在三個測試組中,我們調整數學數據混合比例以進一步驗證問題求解數據的有效性,并確定后續實驗的最優混合比例。具體來說,根據 75 億 token:72 億 token 的比例,我們從數學數據混合比例 5:5 開始;接著將比例調整為 3:7,此時較小的 75 億數學語料可在 10K 步內充分利用,并在 25K 步內使用超過兩次,從而確保數據得到充分利用;最后,我們補充了 7:3 的反比例實驗。
在第 4 節中,為區分不同合成數據的影響,我們引入了對照組 Base2,該組在 Base1 基礎上使用全部問題求解數據。實驗組在此基礎上額外加入合成數據,以驗證合成數據帶來的新價值,而不僅僅是替代原始數據。
\includegraphics[max width=\textwidth, center]{2025_04_15_262c644527836053857ag-17}
Figure 4:(a) 四個評價集問題的數據分布;(b) 基于數據分布計算的評價集相似度圖。
在第 5.1 節中,我們比較了將問題求解數據引入不同階段(CPT 與 SFT)對模型最終能力的影響。首先,參照 Base1 與 Base2 的設置,在 Base1 上進行 SFT 構成對比實驗 Base1-SFT,我們假設 Base1-SFT 會因擁有指令跟隨能力而受益,此為 Base2 所不具備。為驗證這一點,我們劃分出 1% 的數據,假設其對推理能力影響有限但對指令跟隨能力有提升,隨后在 Base1 與 Base2 上均進行 1% SFT。通過對比 Base1-1%SFT 與 Base1SFT,可以評估 SFT 帶來的推理能力提升;而對比 Base1-1%SFT 與 Base2-1%SFT,則評估 CPT 帶來的推理提升。
在第 5.2 節中,我們主要關注相同評價集在不同訓練階段下的能力差異。為此,我們復用 Base1 定義實驗組能力提升,并引入兩個實驗組 Middle-school-SFT 與 Middle-school-CPT,分別在 SFT 與 CPT 中使用中學數據子集,以構成比較,進而評估 SFT 與 CPT 在特定評價集上的 IND 學習差異。同時,對其他評價集中 OOD 學習的變化也進行分析。隨后,我們用高中數據子集替換中學數據子集,再構造兩個實驗組以重復實驗,強化結論的魯棒性。
在第 5.3 節中,實驗設計與第 5.2 節類似,主要區別在于側重于相同訓練階段中不同問題難度數據下的學習能力差異。因此,除了分別比較 SFT 與 CPT 下在簡單和困難數據子集上的表現外,我們還在同一訓練階段中比較不同訓練子集的表現。基于評價集數據分布的比較僅為補充分析。
\section*{D 問題求解數據有效性詳細實驗結果}
我們假設僅使用問題求解數據進行 CPT 已足夠,因此增加了實驗組 Test4,該組僅使用問題求解數據作為數學數據,具體為:
\begin{itemize}
\item Test4:使用 483 億普通語料 token 和 72 億問題求解數據 token,數據混合比例為 4:6。
\end{itemize}
結果如圖 5 所示。我們發現,即使數學數據量較少,代表 Test4 的紫色曲線與代表 Test2 的綠色曲線表現一致甚至更優,這進一步佐證了 Result 1,即問題求解數據具有顯著的提升效果,甚至能超越大規模新增 token 的影響。
下表(表 7)給出了 Base1、Test1、Test2、Test3 與 Test4 在四個評價集上的詳細準確率。特別指出,當不使用數學語料時,Test4 在四個評價數據集上的具體指標不再與 Test1 至 Test3 保持一致,此數據分布的變化降低了 GSM8K 的提升效果,而在 MATH 與 GAOKAO 上的提升反而更明顯。
\includegraphics[max width=\textwidth, center]{2025_04_15_262c644527836053857ag-18}
Figure 5:五個組隨訓練步數變化的平均準確率。
\begin{center}
\begin{tabular}{lllllc}
\hline
Model & GSM8K & MATH & GAOKAO & ZHONGKAO & Average \
\hline
Llama2-7b & 14.40 & 5.10 & 4.26 & 16.48 & 10.06 \
\hline
Base1 & 28.20 & 9.48 & 8.09 & 30.68 & 19.11 \
\hline
Test1 & 44.88 & 19.72 & 20.00 & 66.29 & 37.72 \
\hline
Test2 & 48.29 & 20.78 & 23.40 & 67.05 & 39.88 \
\hline
Test3 & 42.15 & 19.48 & 22.55 & 63.26 & 36.86 \
\hline
Test4 & 40.11 & 25.12 & 29.79 & 68.18 & 40.80 \
\hline
\end{tabular}
\end{center}
表 7:所有實驗組在四個評價集上的準確率
\section*{E 能力習得比較的詳細結果}
四個評價集的詳細評價結果見表 8,而平均準確率與 SFT 數據量之間的關系如圖 6 所示。
\section*{F 相關工作}
我們在此討論有關數學 CPT 的相關工作。LLEMMA (Azerbayev et al., 2023) 首次關注繼續預訓練以提升數學推理能力,通過收集包括 OpenWebMath (Paster et al., 2023) 在內的開源數據并提供 Proof-Pile-2 數據集,初步嘗試了數學領域的繼續預訓練,并分享了其經驗。DeepSeekMath (Shao et al., 2024) 通過提升數據質量推動了數學繼續預訓練的效果,主要訓練了 fastText 模型以召回更多 OpenWebMath 類數學網頁,并迭代該過程,這也為數學推理之外的研究提供了有價值的經驗。InternLM-Math (Ying et al., 2024) 利用開源數據集與內部數據集,并訓練了評分模型以篩選高質量數據。Qwen2-Math (Yang et al., 2024a) 以及近期發布的 Qwen2.5-Math (Yang et al., 2024b) 已開始關注使用合成數據,并有效地取得了顯著提升。
\begin{center}
\begin{tabular}{|l|l|l|l|l|l|}
\hline
Model & GSM8K & MATH & GAOKAO & ZHONGKAO & Average \
\hline
Base1 & 28.20 & 9.48 & 8.09 & 30.68 & 19.11 \
\hline
Base1-1%SFT & 31.08 & 12.10 & 12.34 & 39.39 & 23.73 \
\hline
Base1-10%SFT & 32.37 & 13.74 & 11.49 & 42.42 & 25.01 \
\hline
Base1-20%SFT & 34.65 & 16.26 & 13.62 & 46.40 & 27.73 \
\hline
Base1-50%SFT & 36.92 & 19.34 & 14.04 & 57.20 & 31.88 \
\hline
Base1-SFT & 42.84 & 21.88 & 18.30 & 59.47 & 35.62 \
\hline
Base2 & 47.84 & 20.12 & 22.98 & 67.05 & 39.50 \
\hline
Base2-1%SFT & 51.40 & 27.10 & 25.96 & 69.70 & 43.54 \
\hline
\end{tabular}
\end{center}
表 8:帶 SFT 模型的性能指標
\includegraphics[max width=\textwidth, center]{2025_04_15_262c644527836053857ag-19}
Figure 6:平均準確率與 SFT 數據量之間的關系
\section*{G 合成數據 Prompt}
\section*{Response Diversification}
你是數學老師,請用英文完成以下任務。\
任務:對于下面的數學題,在給定的解答之外,請額外提供兩種不同的解法。
如果你能提供兩種不同解法,請以 < < <response > > >accept < / r e s p o n s e > </response> </response> 開頭,然后依次以 ‘Solution2:’ 和 ‘Solution3:’ 展示額外的解法。\
如果你認為無法提供兩種不同的解法,或提供的解法可能不準確,請以 < < <response > > >refuse < / r e s p o n s e > </response> </response> 開頭。\
請確保解法是正確且彼此不同。如果你對解法的正確性有疑問,或認為該題目不允許有多解,請直接以 < < <response > > >refuse < / r e s p o n s e > </response> </response> 開頭,并說明原因。
\section*{Query Expansion}
你的目標是從給定的題目及其解答中生成不同的數學文字問題及解答。請按照以下步驟進行:
\begin{enumerate}
\item 將問題轉換為陳述,并在 < < <statement > > > 中填寫 < < <statement > > > FILL IN HERE < / s t a t e m e n t > </statement> </statement>。
\item 基于該陳述生成一個新問題,并在 < < <question > > > 中填寫 < < <question > > > FILL IN HERE < / q u e s t i o n > </question> </question>。
\item 給出新問題的解答,并在 < < <solution > > > 中填寫 < < <solution > > > FILL IN HERE < / s o l u t i o n > </solution> </solution>。
\item 檢查解答,并在 < < <check > > > 中回復 < < <check > > >Accept < / c h e c k > </check> </check> 或 < < <check > > >Refuse < / c h e c k > </check> </check>;然后在 < < <reason > > > 中說明理由,格式為 < < <reason > > > FILL IN HERE < / r e a s o n > </reason> </reason>。
\item 重復該過程,總計生成 2 個問題及解答。
\end{enumerate}
\section*{Tutorship Amplification}
作為數學老師,請檢查下列數學題的解答。如果解答正確,請僅回復 < < <check > > >correct < / c h e c k > </check> </check>。
若解答錯誤,請首先回復 < < <check > > >wrong < / c h e c k > </check> </check>,然后指出錯誤的步驟,糾正錯誤并繼續給出正確解答。\
請注意,你的回復必須以 < < <check > > >correct < / c h e c k > </check> </check> 或 < < <check > > >wrong < / c h e c k > </check> </check> 開頭。