數學推理是現代大型語言模型(LLM)的重要能力。儘管這個領域近來有了一些進展,但是閉源和開源的LLM之間仍然存在明顯的差距。閉源模型如GPT-4、PaLM-2和Claude 2在GSM8K和MATH等常見數學推理基準上佔據主導地位,而開源模型如Llama、Falcon和OPT在所有基準上都明顯落後
#為了解決這個問題,研究界正朝著兩個方向努力
(1)Galactica 和MINERVA 等持續型預訓練方法,可以在超過千億個數學相關網路資料的基礎上對LLM 進行持續訓練。這種方法可以提高模型的一般科學推理能力,但計算成本較高
拒絕採樣微調(RFT)和WizardMath等特定資料集微調方法,即使用特定資料集的監督數據對LLM進行微調。雖然這些方法可以提高在特定領域內的效能,但無法泛化到微調資料之外的更廣泛數學推理任務。例如,RFT和WizardMath可以將在GSM8K(其中之一是微調資料集)上的準確性提高30%以上,但會損害在MMLU-Math和AQuA等領域之外資料集上的準確性,使其降低多達10%
近日,來自滑鐵盧大學和俄亥俄州立大學等機構的研究團隊提出了一種輕量級卻又可泛化的數學指令微調方法,可用於增強LLM 的一般性(即不限於微調任務)數學推理能力。
重寫後的內容:在過去,關注的方法主要是思維鏈(CoT)方法,即透過逐步自然語言描述來解決數學問題。這種方法非常通用,可以應用於大多數數學學科,但在計算精度和複雜的數學或演算法推理過程(例如求解二次方程式根和計算矩陣特徵值)方面存在一些困難
##相較之下,像是思考程式(PoT)和PAL 這樣的程式碼格式prompt 設計方法則是利用外部工具(即Python 解譯器)來大幅簡化數學求解過程。這種方法是將計算過程卸載到外部 Python 解釋器來求解複雜的數學和演算法推理(例如使用 sympy 求解二次方程式或使用 numpy 計算矩陣特徵值)。但是,PoT 難以應付更抽象的推理場景,例如常識推理、形式邏輯和抽象代數,尤其是沒有內建的 API 時。
為了兼顧CoT和PoT兩種方法的優點,團隊引入了一個新的數學混合指令微調資料集MathInstruct,該資料集具有兩個主要特點:(1)廣泛涵蓋不同的數學領域和複雜程度,(2) 將CoT和PoT原理融合在一起
#MathInstruct 基於七個現有的數學原理資料集和六個新整理出的數據集。他們使用 MathInstruct 微調了不同大小(從 7B 到 70B)的 Llama 模型。他們將所得到的模型稱為 MAmmoTH 模型,結果發現 MAmmoTH 的能力是前所未有的,就像是個數學通才。
為了評估MAmmoTH,研究團隊使用了一系列評估資料集,其中包括領域內的測試集(GSM8K 、MATH、AQuA-RAT、NumGLUE)和領域外的測試集(SVAMP、SAT、MMLU-Math、Mathematics、SimulEq)
研究結果顯示,MAmmoTH 模型正在泛化到領域外資料集方面表現較好,同時也顯著提升了開源LLM 在數學推理方面的能力
值得注意的是,在常用的競賽級MATH資料集上,MAmmoTH的7B版本能夠以3.5倍的優勢(35.2% vs 10.7%)擊敗WizardMath(這是MATH上之前最佳的開源模型),而經過微調的34B MAmmoTH-Coder甚至可以超過使用CoT的GPT-4
這項研究的貢獻可以總結為兩個方面:(1)在資料工程方面,他們提出了一個高品質的數學指令微調資料集,其中包含了多種不同的數學問題和混合原理。 (2)在建模方面,他們訓練和評估了大小從7B到70B的50多個不同的新模型和基準模型,以探究不同資料來源和輸入-輸出格式的影響
研究結果表明,MAmmoTH和MAmmoTH-Coder等新模型在準確度方面明顯超過了先前的開源模型
該團隊已經發布了他們整理得到的資料集,並開源了新方法的程式碼,同時在Hugging Face上發布了訓練好的不同大小的模型
#重新整理一個多樣化的混合指令微調資料集
該團隊的目標是編制一份列表,其中包含高品質且多樣化的數學指令微調資料集,其應具有兩個主要特徵:(1) 廣泛涵蓋不同的數學領域和複雜程度,(2) 將CoT 和PoT 原理組合在一起。
對於第一個特徵,研究人員首先選擇了一些廣泛使用的高品質資料集,這些資料集涉及不同的數學領域和複雜程度,例如GSM8K、MATH、AQuA 、Camel和TheoremQA。然後他們注意到現有的資料集中缺乏大學程度的數學知識,例如抽象代數和形式邏輯。為了解決這個問題,他們利用網路上找到的少量種子範例,使用GPT-4合成了TheoremQA中問題的CoT原理,並透過自我指導的方式創建了「問題-CoT」配對
對於第二個特徵,將CoT 和PoT 原理組合到一起可以提升資料集的多功能性,使其訓練的模型有能力解決不同類型的數學問題。但是,大多數現有資料集提供的程序原理有限,導致 CoT 和 PoT 原理之間不平衡。為此,團隊又用到了 GPT-4,來為所選資料集補充 PoT 原理,包括 MATH、AQuA、 GSM8K 和 TheoremQA。然後再對這些 GPT-4 合成的程序進行過濾,做法是將它們的執行結果與人類標註的基本真值進行比較,這能確保所添加的都是高品質的原理。
遵循這些準則,他們建立了一個新的資料集 MathInstruct,詳見下表 1。
其中包含26 萬對(指令,回應),涵蓋廣泛的核心數學領域(算術、代數、機率學、微積分和幾何等),包含混合的CoT 和PoT 原理,並有不同的語言和難度。
重新設定訓練
MathInstruct 的所有子集都被統一變成了類似Alpaca 的指令資料集的結構。這種標準化操作可以確保微調得到的模型能夠一致地處理數據,無論原始數據集的格式如何
在基礎模型方面,該團隊選擇了Llama-2和Code Llama
透過在MathInstruct 上進行調整,他們得到了不同尺寸的模型,包括7B、13B、34B和70B
評估資料集
為了評估模型的數學推理能力,團隊選擇了一些評估資料集,見下表2,其中包含許多不同領域內和領域外樣本,涉及多個不同數學領域。
評估資料集包含不同難度等級,包括小學、中學和大學程度。有些資料集也包含形式邏輯和常識推理
所選的評估資料集既有開放式問題,也有多項選擇題。
對於開放式問題(如 GSM8K 和 MATH),研究者採用了 PoT 解碼,因為大多數這類問題可以透過程式求解。 、
對於多項選擇題(如 AQuA 和 MMLU),研究者採用了 CoT 解碼,因為這個資料集中的大部分問題都可以透過 CoT 更好地處理。
CoT 解碼不需要任何觸發詞,而 PoT 解碼需要一個觸發語:「Let’s write a program to solve the problem」。
主要結果
#下表 3 和表 4 分別報告了在領域內外資料上的結果。
在整體而言,在不同的模型大小上,MAmmoTH 和 MAmmoTH-Coder 都優於之前最佳的模型。新模型在領域外資料集上取得的效能成長多於在領域內資料集上所獲成長。這些結果顯示新模型確實有成為數學通才的潛力。 MAmmoTH-Coder-34B 和 MAmmoTH-70B 在某些資料集上的表現甚至超過了閉源 LLM。
研究人員也比較了使用不同的基礎模型的情況。具體而言,他們進行了實驗,比較了Llama-2和Code-Llama這兩種基礎模型。從上述兩個表格可以看出,Code-Llama整體優於Llama-2,尤其是在領域外資料集。 MAmmoTH和MAmmoTH-Coder之間的差距甚至可達到5%
#消融研究在資料來源上的探索
##他們透過進行研究來探索性能增益的來源。為了更能理解MAmmoTH相對於現有的基準模型的優勢來源,研究者進行了一系列對照實驗,結果如圖2所示
### ###總結起來,MAmmoTH 的顯著效能優勢可以歸功於:1) 涵蓋不同的數學領域和複雜程度的多樣化資料來源,2) CoT 和PoT 指令微調的混合策略。 ############他們也研究了主要子集的影響。對於用於訓練 MAmmoTH 的 MathInstruct 的多樣化來源,理解各個來源對模型整體表現的貢獻程度也很重要。他們關注的重點是四個主要子集:GSM8K、MATH、 Camel 和 AQuA。他們進行了一項實驗:將每個資料集逐漸加入訓練中,並將效能與在整個 MathInstruct 上微調的模型進行比較。 ###########################根據表5的結果可以看出,如果訓練資料集的多樣性不足(例如只有GSM8K時) ,模型的泛化能力非常差:模型只能適應資料分佈內的情況,難以解決GSM問題之外的問題############多樣化資料來源對MAmmoTH的重要影響在這些結果中得到了凸顯,這也是使MAmmoTH成為數學通才的核心關鍵。這些結果也提供了寶貴的見解,對於我們未來的數據整理和收集工作提供了指導,例如我們應該始終收集多樣化的數據,避免只收集特定類型的數據######
以上是透過MAmmoT,讓LLM成為數學通才:從形式邏輯進階到四則運算的詳細內容。更多資訊請關注PHP中文網其他相關文章!