熱門資訊> 正文
2025-06-17 16:30
當前數學領域的數據生成方法常常侷限於對單個問題進行改寫或變換,好比是讓學生反覆做同一道題的變種,卻忽略了數學題目之間內在的關聯性。
爲了打破這種侷限,讓大模型學會「串聯」與「並聯」知識,上海AI Lab、人大高瓴等團隊聯合提出了MathFusion,通過指令融合增強大語言模型解決數學問題的能力。
僅使用45K的合成指令,MathFusion在多個基準測試中平均準確率提升了18.0個百分點,展現了卓越的數據效率和性能。
△越靠左上角,模型表現越好且數據效率越高。
MathFusion通過三種「融合策略」,將不同的數學問題巧妙地結合起來,生成封裝了二者關係和結構的新問題。
將兩個問題串聯起來,前一個問題的答案作為后一個問題的某個輸入條件。這就像解決一個多步驟問題,模型需要先解出第一步,才能進行第二步,從而學會處理問題間的依賴關係。
將兩個相似的問題融合在一起,對它們的數學概念進行識別和融合,在原來問題的基礎上提出一道新的問題。
創造一個需要對兩個問題的解進行比較和選擇的問題場景。
首先從現有數據集(GSM8K、MATH)中識別出適合融合的問題對(主要通過embedding search),然后應用融合策略生成新問題,並利用GPT-4o-mini來生成解答。通過這三種策略,生成了一個全新的融合數據集MathFusionQA。
爲了更直觀地理解這三種融合策略,來看一個具體的例子:
原始問題
問題A:一天內,一艘船在湖中航行4次,每次最多可載12人。請問在2天內,這艘船可以運送多少人?
問題B:學校組織去博物館。他們租了4輛巴士來接送孩子和老師。第二輛巴士的人數是第一輛的兩倍,第三輛比第二輛少6人,第四輛比第一輛多9人。如果第一輛巴士上有12人,請問總共有多少人去了博物館?
順序融合
學校組織一次去博物館的旅行,需要運送學生和老師。首先,請計算一艘船在2天內的載客量,這艘船每天航行4次,每次最多可載12人。然后,將這個總載客量作為第一輛巴士的人數。已知第二輛巴士的人數是第一輛的兩倍,第三輛比第二輛少6人,第四輛比第一輛多9人。請問總共有多少人去了博物館?
並列融合
一所學校組織一次到博物館的實地考察,並租用了4輛巴士和一艘船6。這艘船一天航行2次,每次載客12人。每輛巴士的人數不同:第一輛巴士有12人,…,第四輛比第一輛多9人。請計算在2天內,船和所有巴士總共可以運送多少人?
條件融合
一個社區正在組織兩種不同的郊遊活動。對於湖上游覽,一艘船每天運營4次,載客量為12人,他們計劃讓這艘船服務2天。與此同時,一所學校正在安排一次有4輛巴士的博物館之旅11。第一輛巴士有12人,第二輛是第一輛的兩倍,第三輛比第二輛少6人,第四輛比第一輛多9人。考慮到這些安排,哪種交通方式的載客能力更強?
在MathFusionQA的基礎上,使用三種融合策略——順序、並行和條件——對模型(DeepSeekMath-7B、Mistral-7B、Llama3-8B)進行微調。實驗得到以下發現:
顯著提升模型性能與效率:與標準訓練方法(只在GSM8K和MATH上訓練)相比,MathFusion在多個base模型(包括DeepSeekMath-7B、Llama3-8B、Mistral-7B)上都取得了穩定的性能提升。並且,MathFusion在大幅提升性能的同時,保持了極高的數據效率,用遠少於其他方法的數據量就達到了良好的效果。
策略之間優勢互補:將順序融合、條件融合和並行融合三種策略結合使用,組合融合策略始終優於每種單一融合策略。另外,基礎模型性能越弱,組合融合策略帶來的提升就越大。在所有基準測試中,組合融合策略在DeepSeekMath-7B上平均提升了3.1分,在Llama3-8B上提升了4.9分,在Mistral-7B上提升了7.5分。
強大的泛化與擴展能力:MathFusion不僅在in-domain測試中表現優異,在更具挑戰性的out-of-domain基準測試中同樣超越了標準模型。
對MathFusion做進一步的分析,有以下幾點發現:
總的來説,通過生成結構更多樣、邏輯更復雜的合成問題,MathFusion有效地增強了模型捕捉問題間深層聯繫的能力。
但目前MathFusion還只在GSM8K、MATH這種比較簡單的數學問題,以及short cot solution的數據集上進行了驗證,有待進一步擴展到更難的數學問題、long cot solution以及其他領域的數據上。
論文鏈接: https://arxiv.org/abs/2503.16212
代碼庫:https://github.com/QizhiPei/MathFusion
本文來自微信公眾號「量子位」,作者:MathFusion團隊,36氪經授權發佈。