AIxiv專欄是機(jī)器之心發(fā)布學(xué)術(shù)、技術(shù)內(nèi)容的欄目。過(guò)去數(shù)年,機(jī)器之心AIxiv專欄接收?qǐng)?bào)道了2000多篇內(nèi)容,覆蓋全球各大高校與企業(yè)的頂級(jí)實(shí)驗(yàn)室,有效促進(jìn)了學(xué)術(shù)交流與傳播。如果您有優(yōu)秀的工作想要分享,歡迎投稿或者聯(lián)系報(bào)道。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

本文來(lái)自南京大學(xué)計(jì)算機(jī)學(xué)院軟件研究所,聚焦于開放環(huán)境下的智能軟件新技術(shù)研究,定位國(guó)際學(xué)術(shù)前沿,面向國(guó)家關(guān)鍵需求,承擔(dān)了一系列國(guó)家科技部和基金委重大/重點(diǎn)科研項(xiàng)目。團(tuán)隊(duì)擁有包括中科院院士等多名國(guó)家級(jí)人才,重點(diǎn)關(guān)注軟件和智能方向,研究成果發(fā)表于NeurIPS/ICLR/SOSP/ATC/EuroSys/OOPSLA/PLDI/ICSE/FSE等國(guó)際頂級(jí)會(huì)議,其中多篇文章獲得相應(yīng)會(huì)議的最佳論文獎(jiǎng)。

大型語(yǔ)言模型 (LLM) 在各種自然語(yǔ)言處理和推理任務(wù)中表現(xiàn)出卓越的能力,某些應(yīng)用場(chǎng)景甚至超越了人類的表現(xiàn)。然而,這類模型在最基礎(chǔ)的算術(shù)問(wèn)題的表現(xiàn)上卻不盡如人意。當(dāng)遇到算術(shù)問(wèn)題時(shí),LLM 通常依賴記住特定的表達(dá)式及其對(duì)應(yīng)結(jié)果的方式輸出算術(shù)問(wèn)題的結(jié)果。通過(guò)簡(jiǎn)單的實(shí)驗(yàn)發(fā)現(xiàn),LLM 只在語(yǔ)言層面表達(dá)了對(duì)算術(shù)運(yùn)算的邏輯理解,但并沒有運(yùn)用計(jì)算邏輯解決算術(shù)問(wèn)題,這對(duì) LLM 在相關(guān)領(lǐng)域中的應(yīng)用造成了重大障礙,同時(shí)影響了其推廣到新場(chǎng)景的能力。

為了解決這個(gè)問(wèn)題,來(lái)自南京大學(xué)的研究者提出了一種面向 LLM 的可組裝算術(shù)執(zhí)行框架 (CAEF),使 LLM 能夠通過(guò)模仿圖靈機(jī)的方式來(lái)執(zhí)行算術(shù),從而理解計(jì)算邏輯。此外,CAEF 具有高度的可擴(kuò)展性,允許組合已經(jīng)學(xué)習(xí)到的運(yùn)算符,以降低復(fù)雜運(yùn)算符的學(xué)習(xí)難度。評(píng)估表明,LlaMA 3.1-8B 模型配合 CAEF 可在 7 種經(jīng)典數(shù)學(xué)算術(shù)運(yùn)算的測(cè)試中實(shí)現(xiàn)了近乎 100% 的準(zhǔn)確率,且能夠支撐 100 位操作數(shù)的計(jì)算,而同等難度下, GPT-4o 在一些算術(shù)問(wèn)題測(cè)試中無(wú)法正確給出計(jì)算結(jié)果。

打開網(wǎng)易新聞 查看精彩圖片

  • 論文標(biāo)題:Executing Arithmetic: Fine-Tuning Large Language Models as Turing Machines
  • 論文地址:https://arxiv.org/abs/2410.07896
  • 項(xiàng)目主頁(yè):https://github.com/NJUDeepEngine/CAEF

該工作的貢獻(xiàn)主要有以下部分:

  • 可組裝的算術(shù)執(zhí)行框架:提出了一種面向 LLM 的算術(shù)執(zhí)行框架,使 LLM 能夠通過(guò)模仿圖靈機(jī)的方式解決算術(shù)問(wèn)題、掌握運(yùn)算符的計(jì)算邏輯。此外,CAEF 還支持組合多個(gè)已學(xué)習(xí)的運(yùn)算符來(lái)實(shí)現(xiàn)更復(fù)雜的運(yùn)算符。
  • Executor 和 Aligners:基于框架 CAEF,實(shí)現(xiàn)了七個(gè)常見運(yùn)算符,分別構(gòu)造了對(duì)應(yīng)的 executor 和 aligner。其中,executor 負(fù)責(zé)以迭代方式分步執(zhí)行計(jì)算,而 aligner 充當(dāng)接口,完成 executor 的圖靈機(jī)風(fēng)格表示和原始文本表示之間的雙向轉(zhuǎn)換。
  • 計(jì)算準(zhǔn)確率:實(shí)驗(yàn)結(jié)果表明,基于 CAEF 的 LLaMA 3.1-8B 在這七個(gè)運(yùn)算符上的表現(xiàn)優(yōu)于現(xiàn)有的 LLM,且能夠在操作數(shù)高達(dá) 100 位時(shí)實(shí)現(xiàn)幾乎 100% 的準(zhǔn)確率。

相關(guān)工作

LLM 面對(duì)數(shù)學(xué)問(wèn)題:當(dāng)前研究主要集中如何在提高 LLM 面對(duì)數(shù)學(xué)任務(wù)的解題性能,通常引入外部工具來(lái)輔助 LLM 解決計(jì)算部分的內(nèi)容。一類常見的外部工具為計(jì)算器,如 Schick et al. (2024) [1] ,該工作引入了一種自監(jiān)督學(xué)習(xí)方法,模型在該方法中學(xué)習(xí)何時(shí)通過(guò) API 訪問(wèn)調(diào)用外部工具,類似的策略可以在 Gou et al. (2023) [2] 和 He-Yueya et al. (2023) [3] 中也能找到。另一類工具是編程語(yǔ)言解釋器,例如 Python,LLM 生成用于解決數(shù)學(xué)問(wèn)題的代碼,再交由外部解釋器執(zhí)行代碼以獲得最終的結(jié)果。一個(gè)典型的例子是 Lu et al. (2024) [4] ,它將 LLM 視為生成代碼并將其提交給外部 Python 執(zhí)行程序以處理表格上下文中的數(shù)學(xué)問(wèn)題。Wang et al. (2023) [5] 采用監(jiān)督學(xué)習(xí)的方式讓 LLM 學(xué)習(xí)如何通過(guò)構(gòu)建用于解決數(shù)學(xué)問(wèn)題的程序,而 Zhou et al. (2023) [6] 提出了一種零樣本提示方法,以實(shí)現(xiàn)代碼驅(qū)動(dòng)的自我驗(yàn)證,從而提高數(shù)學(xué)解題性能。

LLM 面對(duì)算術(shù)問(wèn)題:當(dāng)前也有一些專注于 LLM 算術(shù)方面的研究。這些研究的共同目標(biāo)是嘗試教會(huì) LLM 計(jì)算邏輯,并通過(guò)分步計(jì)算的方法拆解計(jì)算過(guò)程,以提高計(jì)算準(zhǔn)確性。在這些研究中,Nye et al. (2021) [7] 是一項(xiàng)早期且影響深遠(yuǎn)的 方法。它在算術(shù)領(lǐng)域引入了類似思維鏈 (CoT) 的思想拆分計(jì)算過(guò)程,讓語(yǔ)言模型把計(jì)算的中間步驟輸出到一個(gè)被稱為 “scratchpad” 的緩沖區(qū),顯著提高了 LLM 整數(shù)加法的性能。Hu et al. (2024) [8] 觀察到 transformers 傾向于使用 “基于記憶樣例的推理” 來(lái)處理算術(shù)問(wèn)題,并提出了一種遵循規(guī)則的微調(diào)技術(shù),指導(dǎo)模型逐步執(zhí)行計(jì)算。Zhou et al. (2024) [9] 結(jié)合了四種技術(shù)(FIRE 位置編碼、隨機(jī)位置編碼、反向格式(R2L 格式)和索引提示)開發(fā)了一種新模型,該模型在兩個(gè)整數(shù)加法問(wèn)題上實(shí)現(xiàn)了 2.5× 的長(zhǎng)度泛化能力。

方法描述

該工作設(shè)計(jì)了一種可以使 LLM 學(xué)習(xí)模擬圖靈機(jī)執(zhí)行的框架 CAEF。圖靈機(jī)中的轉(zhuǎn)移函數(shù)(transition function)描述了基于當(dāng)前計(jì)算狀態(tài)和紙帶信息應(yīng)該執(zhí)行什么操作,其中天然蘊(yùn)含了分步計(jì)算的邏輯。此外,組裝多個(gè)現(xiàn)有的圖靈機(jī)能夠?qū)崿F(xiàn)更加復(fù)雜的計(jì)算邏輯,因此圖靈機(jī)為計(jì)算提供了一個(gè)很好的思路。然而,LLM 是基于文本的生成式模型,因此如何將圖靈機(jī)的工作模式有效地轉(zhuǎn)移到 LLM 上成為了一個(gè)難點(diǎn)。

打開網(wǎng)易新聞 查看精彩圖片

圖 1. CAEF 框架圖示

打開網(wǎng)易新聞 查看精彩圖片

圖 2. 45+67 執(zhí)行過(guò)程

此外,由于計(jì)算的初始狀態(tài)和命令 < > 本身并不存在,CAEF 針對(duì)每個(gè)操作符需要設(shè)計(jì)兩個(gè)組件,一個(gè)是用于充當(dāng)自然語(yǔ)言表示和圖靈機(jī)風(fēng)格表示之間 “翻譯” 的 aligner,另一個(gè)是依照上述流程、負(fù)責(zé)實(shí)際執(zhí)行計(jì)算的 executor,兩者以獨(dú)立的 LoRA adapter 的形式存在。其中 executor 可進(jìn)一步細(xì)分為 basic executor 和 executor composer。針對(duì)像加法這樣相對(duì)容易的基礎(chǔ)運(yùn)算符,可由單一的 LoRA adapter 實(shí)現(xiàn)功能,被稱為 basic executor;而像乘法這樣可以做進(jìn)一步分解的復(fù)雜運(yùn)算符,其 executor 本身不負(fù)責(zé)實(shí)際運(yùn)算,它通過(guò)組織計(jì)算步驟、調(diào)用其他運(yùn)算符的 executor 來(lái)實(shí)現(xiàn)功能,被稱為 executor composer。

打開網(wǎng)易新聞 查看精彩圖片

Step 1 (aligner):

45+67=

Step 2 (executor):

state0: ADD, q0, [HEAD1] |5|4 [HEAD2] |7|6 [C] [OUTPUT]

command0: CMD: [C] 0, [HEAD1] RIGHT, [HEAD2] RIGHT, q1

Step 3 (executor):

state1: ADD, q1, [HEAD1]|5|4 [HEAD2]|7|6 [C] 0 [OUTPUT]

command1: CMD: [C] 1, [OUTPUT] 2, [OUTPUT] RIGHT, [HEAD1] RIGHT, [HEAD2] RIGHT, q1

Step 4 (executor):

state2: ADD, q1, |5 [HEAD1]|4 |7 [HEAD2]|6 [C] 1 |2 [OUTPUT]

command2: CMD: [C] 1, [OUTPUT] 1, [OUTPUT] RIGHT, [HEAD1] RIGHT, [HEAD2] RIGHT, q1

Step 5 (executor):

state3: ADD, q1, |5|4 [HEAD1] |7|6 [HEAD2] [C] 1 |2|1 [OUTPUT]

command3: CMD: [OUTPUT] 1, [OUTPUT], [C], qH

Step 6 (executor):

state4: ADD, qH, |5|4 [HEAD1] |7|6 [HEAD2] [C] 1 |2|1|1

command4: No command to execute. Halt state.

Step 7 (aligner):

45+67=112

Executor composer:以乘法為例,文章介紹 executor composer 的設(shè)計(jì)過(guò)程。乘法可以可以通過(guò)加法和小于兩個(gè)操作符實(shí)現(xiàn)。以形式 a×b=c 為例,一種簡(jiǎn)單的乘法實(shí)現(xiàn)可以大致視為循環(huán)結(jié)構(gòu)。在循環(huán)中使用兩個(gè)累加器:在每次循環(huán)中,一個(gè)累加器自增 1,另一個(gè)累加器在每次循環(huán)中累加 a。當(dāng)?shù)谝粋€(gè)累加器達(dá)到 b 時(shí),循環(huán)結(jié)束,第二個(gè)累加器的值即為結(jié)果 c。在該過(guò)程中,累加器通過(guò)現(xiàn)有的加法操作符實(shí)現(xiàn),循環(huán)終止條件由小于操作符實(shí)現(xiàn),而乘法自身不參與實(shí)際運(yùn)算,僅驅(qū)動(dòng)該流程的執(zhí)行。基于該思路,可以構(gòu)建乘法的抽象執(zhí)行流程,如圖 3 左側(cè)的自動(dòng)機(jī)圖所示。以 “89×2=” 這個(gè)問(wèn)題為例,圖 3 的右側(cè)展示了 executor 的完整執(zhí)行流程。

打開網(wǎng)易新聞 查看精彩圖片

圖 3. 89×2 執(zhí)行過(guò)程

通過(guò)上述設(shè)計(jì),CAEF 賦予了 LLM 執(zhí)行計(jì)算的能力,executor composer 的存在還使得該方法具有很高的擴(kuò)展性,能夠有效處理復(fù)雜計(jì)算。

實(shí)驗(yàn)結(jié)果

該工作評(píng)估了不同運(yùn)算符、不同位數(shù)情況下的算術(shù)準(zhǔn)確率。實(shí)驗(yàn)使用 LLaMA 3.1-8B 預(yù)訓(xùn)練模型作為基礎(chǔ)模型,在 +、?、×、÷、==、> 和 < 這 7 個(gè)運(yùn)算符上和三個(gè)基準(zhǔn)進(jìn)行了比較:1)LLaMA 3.1-8B 預(yù)訓(xùn)練模型基于 LoRA、在僅給出計(jì)算結(jié)果的數(shù)據(jù)集上直接微調(diào)得到的模型、2)LLaMA 3.1-8B-Instruct、3)GPT-4o。

打開網(wǎng)易新聞 查看精彩圖片

表 1. 七種運(yùn)算符的總體評(píng)估結(jié)果,“LLaMA 3.1 (L)” 代表 LoRA 微調(diào)后的 LLaMA 3.1-8B,“LLaMA 3.1 (I)” 代表 LLaMA 3.1-8B-Instruct 模型

表 1 展示了 7 個(gè)運(yùn)算符的 CAEF 方法和基準(zhǔn)的評(píng)估結(jié)果。與基準(zhǔn)相比,CAEF 在不同運(yùn)算符、不同長(zhǎng)度的操作數(shù)的設(shè)置下表現(xiàn)相對(duì)穩(wěn)定,準(zhǔn)確率高。特別是對(duì)于長(zhǎng)數(shù)字的任務(wù),例如 100 位加法,通過(guò) CAEF 指導(dǎo)的 LLM 可以有效地學(xué)習(xí)到計(jì)算邏輯。

為了進(jìn)一步探索 executor 和 aligner 在計(jì)算過(guò)程中的實(shí)際性能,該工作在同一數(shù)據(jù)集上分別進(jìn)行了評(píng)估。如表 2 所示,可以觀察到,即使 executor 必須以迭代方式反復(fù)生成中間計(jì)算步驟,而 aligner 只執(zhí)行兩個(gè)轉(zhuǎn)換步驟,但 executor 的整體性能仍然優(yōu)于 aligner。executor 在所有實(shí)驗(yàn)設(shè)置中都達(dá)到了 99% 以上的準(zhǔn)確率,說(shuō)明當(dāng)提供正確的初始狀態(tài)和命令時(shí),它在絕大多數(shù)情況下都能有效工作。另一方面,在大多數(shù)情況下,與轉(zhuǎn)換 executor 的輸出相比,aligner 在轉(zhuǎn)換原始輸入時(shí)表現(xiàn)出較低的精度,這表明整個(gè)計(jì)算過(guò)程的瓶頸在于操作數(shù)的翻轉(zhuǎn),而不是計(jì)算本身。

打開網(wǎng)易新聞 查看精彩圖片

表 2. 七種運(yùn)算符的 executor 和 aligner 準(zhǔn)確率,executor 的準(zhǔn)確率統(tǒng)計(jì)的是從初始狀態(tài)到最后一步中,每一步都正確、最終計(jì)算正確的情況。aligner 的精度分為兩部分:從原始輸入到 executor 表示的轉(zhuǎn)換,記為 aligner (I),以及從 executor 表示到輸出的轉(zhuǎn)換,記為 aligner (O)。

參考文獻(xiàn):

[1] Timo Schick, Jane Dwivedi-Yu, Roberto Dess`?, Roberta Raileanu, Maria Lomeli, Eric Hambro, Luke Zettlemoyer, Nicola Cancedda, and Thomas Scialom. Toolformer: Language models can teach themselves to use tools. Advances in Neural Information Processing Systems, 36, 2024.

[2] 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. arXiv preprint arXiv:2309.17452, 2023.

[3] Joy He-Yueya, Gabriel Poesia, Rose E Wang, and Noah D Goodman. Solving math word problems by combining language models with symbolic solvers. arXiv preprint arXiv:2304.09102, 2023.

[4] Pan Lu, Baolin Peng, Hao Cheng, Michel Galley, Kai-Wei Chang, Ying Nian Wu, Song-Chun Zhu, and Jianfeng Gao. Chameleon: Plug-and-play compositional reasoning with large language models. Advances in Neural Information Processing Systems, 36, 2024.

[5] Ke Wang, Houxing Ren, Aojun Zhou, Zimu Lu, Sichun Luo, Weikang Shi, Renrui Zhang, Linqi Song, Mingjie Zhan, and Hongsheng Li. Mathcoder: Seamless code integration in llms for enhanced mathematical reasoning. arXiv preprint arXiv:2310.03731, 2023.

[6] Aojun Zhou, Ke Wang, Zimu Lu, Weikang Shi, Sichun Luo, Zipeng Qin, Shaoqing Lu, Anya Jia, Linqi Song, Mingjie Zhan, et al. Solving challenging math word problems using gpt-4 code interpreter with code-based self-verification. arXiv preprint arXiv:2308.07921, 2023.

[7] Maxwell Nye, Anders Johan Andreassen, Guy Gur-Ari, Henryk Michalewski, Jacob Austin, David Bieber, David Dohan, Aitor Lewkowycz, Maarten Bosma, David Luan, et al. Show your work: Scratchpads for intermediate computation with language models. arXiv preprint arXiv:2112.00114, 2021.

[8] Yi Hu, Xiaojuan Tang, Haotong Yang, and Muhan Zhang. Case-based or rule-based: How do transformers do the math? arXiv preprint arXiv:2402.17709, 2024.

[9] Yongchao Zhou, Uri Alon, Xinyun Chen, Xuezhi Wang, Rishabh Agarwal, and Denny Zhou. Transformers can achieve length generalization but not robustly. arXiv preprint arXiv:2402.09371, 2024.