語言模型做數學題,能力又升級了。
當前,大型語言模型 (LLM) 在處理 NLP 領域的各種下游任務方面已經表現出卓越的能力。特別是,GPT-4、ChatGPT 等開創性模型已經接受了大量文本數據的訓練,使它們具備強大的文本理解和生成能力,能夠生成連貫且上下文相關的響應,在各種 NLP 任務中具有高度通用性。
然而,LLM 在數學推理方面的性能卻不盡如人意。LLM 很難準確地執行復雜的算術運算,尤其是涉及超過 8 位數字乘法的運算,還有涉及小數、分數的運算。
基于此,來自清華大學、TAL AI Lab 和智譜 AI 的研究者聯合提出了一個能夠完美執行復雜算術運算的新模型 ——MathGLM。
論文地址:https://arxiv.org/pdf/2309.03241v2.pdf
項目地址:https://github.com/THUDM/MathGLM#arithmetic-tasks
該研究表明:在足夠的訓練數據下,20 億參數的語言模型能夠準確地進行多位算術運算,準確率幾乎達到了 100%,且不會出現數據泄露(data leakage)。這個結果大幅超越了 GPT-4(其多位乘法運算準確率僅為 4.3%)。
方法介紹
本文提出了一個名為 MathGLM 的模型來探討 LLM 在數學推理方面的效率。
MathGLM 模型需要完成的算術任務大致可以分為兩類:基本算術運算和復雜混合運算。其中基本算術運算包含基本的數學任務,這些任務圍繞兩個數字的簡單計算。而復雜混合運算涉及不同算術運算和數字格式(例如整數、小數、分數等)的組合。表 1 為 MathGLM 任務分類。
為了增強 MathGLM 的算術能力,本文采用了基于 Transformer 的僅解碼器架構,并使用自回歸目標(autoregressive objective)在生成的算術數據集上從頭開始訓練它。
算術任務的學習
算術訓練數據集是精心設計的,包括加法、減法、乘法、除法和求冪等多種運算。此外,它還包含多種數字格式,例如整數、小數、百分比、分數和負數。數據集規模大小不一,范圍從 100 萬到 5000 萬條記錄不等。
在每個數據集中,單個算術表達式由 2 到 10 個運算步驟組成,涵蓋一系列數學運算,例如加法 (+)、減法 (-)、乘法 (×)、除法 (/) 和求冪 (^)。圖 3 為從算術數據集中提取的一些訓練示例:
表 2 概述了 MathGLM 模型的不同規模,包括 4 種不同類型的模型,每種模型都有不同的參數大小。最大的模型參數量為 2B,容量最強;其余參數量分別為 500M 、100M 以及最小的 10M 參數模型。
對數學應用問題的學習
除了算術任務外,本文還訓練(微調)了一系列基于 Transformer 的語言模型,稱為通用語言模型 (GLM,General Language Model)及其聊天版本來解決數學應用問題。訓練過程使用了公開的 Chinese Ape210K 數據集,該數據集包含 21 萬道中文小學數學題,每個題的答案都是直接計算得出的。
為了提高 MathGLM 在數學應用題上的性能,本文采用分步策略來重建 Ape210K 數據集,并將其轉換為逐步計算每個數學問題答案的版本。圖 4 展示了原始 Ape210K 數據集和本文重建版本之間的對比。
本文采用 GLM 的不同變體作為骨干來訓練 MathGLM,包括具有 335M 參數的 GLM-large、GLM-6B、GLM2-6B 和 GLM-10B。此外,本文還使用 ChatGLM-6B 和 ChatGLM2-6B 主干網絡訓練 MathGLM。這些骨干模型賦予 MathGLM 基本的語言理解能力,使其能夠有效理解數學應用題中包含的語言信息。
實驗
本文設計了兩種不同類型的實驗,包括算術任務和數學應用題。
對于算術任務,本文預訓練了一個基于 Transformer 的 MathGLM 模型,該模型具有 500M 參數,并將其與領先的大型語言模型 (LLM)(例如 GPT-4 和 ChatGPT)的性能進行了比較。結果如表 3 所示, MathGLM 優于所有其他模型,表明 MathGLM 在處理算術任務方面具有卓越的性能。
即使只有 1000 萬個參數的 MathGLM-10M,結果也令人驚訝。MathGLM-10M 在一系列綜合算術任務中的性能優于 GPT-4 和 ChatGPT。
此外,當比較不同參數規模的 MathGLM 時,本文觀察到 MathGLM 的算術性能與其參數數量的增加直接相關。這一發現表明,隨著模型尺寸的增加,它們的性能表現出相應的增強。
綜上所述,研究者對復雜算術任務的評估結果表明 MathGLM 具有卓越的性能。通過分解算術任務,這些模型的性能顯著超過了 GPT-4 和 ChatGPT。
此外,本文還對 GPT-4、ChatGPT、text-davinci-003、code-davinci-002、Galacica、LLaMA、OPT、BLOOM 和 GLM 進行了比較。本文從前面討論的大數據集中隨機抽取了一個包含 100 個測試用例的緊湊算術數據集。結果如表 4 所示。
通過以上分析結果可以看出,MathGLM 在 20 億參數下達到了 93.03% 的準確率,超越了所有其他 LLM。
對于數學應用問題,本文在 Ape210K 數據集上進行了實驗。表 8 報告了包括 MathGLM 變體、 GPT-4、ChatGPT 等在內的結果。
結果表明,當與 GLM-10B 配合使用時,MathGLM 在答案準確性方面達到了與最先進的 GPT-4 模型相當的性能水平。
此外,將 MathGLM 的性能與 GLM-Large、GLM-6B 和 GLM-10B 進行比較時,出現了一個明顯的趨勢:MathGLM 在算術準確性和答案準確性方面都表現出顯著增強。
為了評估模型在不同年級數學問題上的解決能力,該研究在 K6 數據集上測試評估了幾種模型的性能,包括:GPT-4、ChatGPT、Chinese-Alpaca-13B、MOSS-16B、Ziya-LLaMA-13B、Baichuan-7B、ChatGLM-6B、ChatGLM2-6B 和 MathGLM-GLM-10B,結果如下圖 8 所示。
感興趣的讀者可以閱讀論文原文,了解更多研究內容。
