摘 要:
盡管使用思維鏈(chain of thought,CoT)的大模型(large language model,LLM)在單未知數(shù)的數(shù)學(xué)問題求解(math word problem,MWP)任務(wù)上取得了顯著成果。但是,目前的研究缺乏適用于方程數(shù)學(xué)問題的方法。由于數(shù)學(xué)問題求解對(duì)推理步驟具有很高的敏感性,列方程出錯(cuò)會(huì)導(dǎo)致后續(xù)步驟連環(huán)出錯(cuò),所以提出一種漸近式驗(yàn)證糾正的方法2ERP,一邊驗(yàn)證一邊糾正步驟錯(cuò)誤,輸出最有可能的正確答案。在驗(yàn)證環(huán)節(jié)使用等式和答案的雙重驗(yàn)證,回代答案到等式確保計(jì)算的正確,從數(shù)學(xué)表達(dá)式獲取數(shù)值關(guān)系來(lái)驗(yàn)證等式的正確性。在糾正流程中,根據(jù)回代的結(jié)果和雙重驗(yàn)證的一致性排除錯(cuò)誤的推理路徑,逼近正確結(jié)果。與其他CoT方法相比,2ERP方法在6個(gè)數(shù)據(jù)集上均取得了性能上的提升,平均準(zhǔn)確率達(dá)到了66.2%,尤其是方程問題的數(shù)據(jù)集上,平均提高了6.9百分點(diǎn)。2ERP方法是一種設(shè)計(jì)提示的零樣本方法,通過(guò)多次迭代提高數(shù)學(xué)問題的準(zhǔn)確率,并輸出具有詳細(xì)步驟的求解過(guò)程,該方法在方程問題上的提升更加明顯。
關(guān)鍵詞:數(shù)學(xué)問題求解;思維鏈;大語(yǔ)言模型;零樣本
中圖分類號(hào):TP183"" 文獻(xiàn)標(biāo)志碼:A""" 文章編號(hào):1001-3695(2024)12-027-3729-06
doi: 10.19734/j.issn.1001-3695.2024.05.0153
Double validation and rectification progressive prompt for equations in math word problem based on large language model
Zhang Yinglin, Liu Changhui, Huang Shufen
(School of Computer Science amp; Engineering, Wuhan Institute of Technology, Wuhan 430205, China)
Abstract:
Although large language model using CoT method has achieved remarkable results in solving math word problem(MWP) with one unknown, there is currently a lack of methodology that is applicable to MWP involving equations. Equation problems are highly sensitive to the reasoning step, and an error in the equation-laying step can lead to a cascade of errors in subsequent steps. Therefore, this paper proposed a progressive prompt method called 2ERP, which rectified incorrect reaso-ning paths after validation and output the most likely answer. During the validation module, it substituted the answer back into the equation to ensure the accuracy of the calculation. Then, the method obtained numerical relationships from the mathematical expression to verify the equation. The rectification process approximated the correct result by eliminating incorrect reaso-ning paths based on the consistency of the double validation. 2ERP method outperformed other CoT methods, achieving an ave-rage accuracy of 66.2% on six datasets. Notably, it achieved an average improvement of 6.9% on equation problems. In conclusion, 2ERP method is a prompt-based zero-shot method, which improves the accuracy of MWP through multiple iterations and outputs a solving process with detailed steps. This method has a more significant improvement in equation problems.
Key words:math word problem; chain-of-thought(CoT); large language model(LLM); zero-shot
0 引言
數(shù)學(xué)是基礎(chǔ)教育中不可或缺的一門學(xué)科。它既是基礎(chǔ)學(xué)科發(fā)展的基石,也是人工智能研發(fā)的基礎(chǔ)。通過(guò)數(shù)學(xué)問題求解,研究者們能改進(jìn)算法程序,開發(fā)出類人思考的推理模型。人類的思考方式會(huì)將復(fù)雜問題求解分解成逐個(gè)步驟,思維鏈(CoT)[1]就是采用這種直覺上的推理方法,在保證可解釋性的同時(shí),降低一步輸出結(jié)果的難度。
數(shù)學(xué)問題求解類似做決策的過(guò)程,因此,首選自洽(self-consistency)方法[2],它通過(guò)多次投票得到票選最多的結(jié)果。自洽采用的邊緣化采樣的解碼方式能避免每次推導(dǎo)出不同的答案,得到一致的推理結(jié)果。但是,該方法同樣會(huì)導(dǎo)致模型犯下經(jīng)驗(yàn)主義錯(cuò)誤,一個(gè)問題采樣錯(cuò)誤遺留,則一類問題均會(huì)采用遺留的錯(cuò)誤路徑。再者,推理的校正過(guò)程中,要么在問題后添加之前答案的提示[H][3],如答案在[H]附近。要么是排除錯(cuò)誤的推導(dǎo)結(jié)論[4],如答案可能不是[H]。前者采用的附近提示,如果上次推導(dǎo)的路徑錯(cuò)誤,在錯(cuò)誤路徑的附近尋找仍可能導(dǎo)致錯(cuò)誤推導(dǎo)。后者采用的排除提示,在方程組列錯(cuò)的情況下,即使計(jì)算無(wú)誤也不一定得到正確答案。最后,數(shù)學(xué)問題的求解步驟敏感性高,步驟中的任何錯(cuò)誤都可能影響到求解答案的正確性。
即使是小學(xué)階段的數(shù)學(xué)問題,也涵蓋不止一種類型的數(shù)學(xué)題目。通過(guò)對(duì)小學(xué)數(shù)學(xué)問題的分析與實(shí)驗(yàn)評(píng)估,發(fā)現(xiàn)以下問題:a)缺乏適用于六個(gè)年級(jí)的大模型數(shù)學(xué)應(yīng)用題求解方法,主要關(guān)注單未知數(shù)的問題求解;b)局限于英文數(shù)學(xué)問題,缺乏適用多語(yǔ)言的數(shù)學(xué)問題求解方法;c)對(duì)等式理解不足,計(jì)算能力強(qiáng)但求解過(guò)程容易出錯(cuò)。
為了解決以上問題,本文結(jié)合方程思想,用原始的數(shù)學(xué)表達(dá)式關(guān)系表示文本關(guān)系,然后進(jìn)行純粹的數(shù)學(xué)計(jì)算。既減少了推理的步驟,也專注于方程的計(jì)算求解。如下面方程數(shù)學(xué)問題的例子:
問題 青山村種的水稻產(chǎn)量逐年增長(zhǎng),2013年平均每公頃產(chǎn)7 200 kg,2015年平均每公頃產(chǎn)量比2014年多792 kg,求水稻每公頃產(chǎn)量的年平均增長(zhǎng)率。
方程 7 200.0×(1.0+x)^2.0=7 200.0×(1.0+x)+792.0√
7 200.0×(1.0+x)^2.0=7 200.0×(1.0+x)×
已知設(shè)水稻每公頃產(chǎn)量的年平均增長(zhǎng)率為x,等式左邊代表2015年平均每公頃產(chǎn)量,右邊代表2014年平均每公頃產(chǎn)量,再次審視發(fā)現(xiàn)等式并不成立,漏掉了題目中792的條件。通過(guò)方程推斷數(shù)值關(guān)系,發(fā)現(xiàn)等式存在錯(cuò)誤,能避免重復(fù)檢查的投票流程中出現(xiàn)的錯(cuò)誤遺留問題。
其次,未知數(shù)和方程數(shù)量增多,搜索的求解空間大小會(huì)呈指數(shù)級(jí)增長(zhǎng)[4]。采用答案在[H]附近的提示能快速找到潛在答案,但也會(huì)局限搜索范圍降低準(zhǔn)確度。而采用答案不是[H]的提示,在方程組和多未知數(shù)的情況下,排除效率過(guò)低。因此,結(jié)合潛在可能和排除兩種提示方法,逐步縮小求解空間大小,逼近正確求解答案。
最后,《決策與理性》[5]提到了三重心智:自主心智、算法心智和反省心智,其中反省心智輔助人類心智作出決策與判斷。大模型使用的思維鏈方法是基于直覺而非深思熟慮的,本文通過(guò)添加雙重驗(yàn)證環(huán)節(jié)作為反省機(jī)制,促使大模型輸出經(jīng)過(guò)考量的結(jié)果,并采用等式的驗(yàn)證模塊,加強(qiáng)對(duì)表達(dá)式中數(shù)值的理解, 從而糾正錯(cuò)誤計(jì)算結(jié)果。
對(duì)于直白的數(shù)值關(guān)系,可以按順序邏輯推理出答案。對(duì)于更復(fù)雜的問題來(lái)說(shuō),列出等式后反而將其轉(zhuǎn)換為純粹的數(shù)值計(jì)算。所以,方程求解的關(guān)鍵在于正確的數(shù)值內(nèi)部關(guān)系和正確的計(jì)算結(jié)果。本文提出了一種適用于方程問題的雙重驗(yàn)證漸進(jìn)提示方法2ERP,這種零樣本方法既在文本理解上保證數(shù)值關(guān)系的正確,又在數(shù)值上保證計(jì)算結(jié)果的正確。本文的主要貢獻(xiàn)如下:
a)提出了適用于方程組求解的提示方法,并且適用于單未知數(shù)推導(dǎo)。
b)通過(guò)在6個(gè)數(shù)據(jù)集上進(jìn)行驗(yàn)證,2ERP方法在中文與英文數(shù)學(xué)問題上均適用,并且達(dá)到了66.2%的準(zhǔn)確率。
c)通過(guò)對(duì)數(shù)學(xué)表達(dá)式和方程的數(shù)值解釋,提高了方程問題求解步驟的可解釋性,理解性更強(qiáng)。
1 相關(guān)工作
1.1 數(shù)學(xué)問題求解
早期,研究者們使用規(guī)則庫(kù)和統(tǒng)計(jì)[7,8]的方法,設(shè)計(jì)復(fù)雜的邏輯模板,并注釋文本,以識(shí)別出文本中的實(shí)體、數(shù)值和操作符號(hào)。該時(shí)期需要大量的人工標(biāo)注來(lái)解決單步加減計(jì)算問題。接下來(lái),進(jìn)入到應(yīng)用seq2seq和遞歸神經(jīng)網(wǎng)絡(luò)的階段[9,10],將問題輸入神經(jīng)網(wǎng)絡(luò),用樹結(jié)構(gòu)[11,12]生成歸一化的算術(shù)方程,減少生成重復(fù)方程的情況,但生成的方程存在無(wú)解和無(wú)效的問題。深度學(xué)習(xí)[13~15]的方法同樣采用樹結(jié)構(gòu)解碼,而且探尋了多種表達(dá)式的求解方式[16],大幅度提高了數(shù)學(xué)問題求解的準(zhǔn)確率。然而,優(yōu)秀的數(shù)據(jù)源是深度學(xué)習(xí)方法的前提,也因此,它難以泛化到其他數(shù)學(xué)問題相關(guān)的數(shù)據(jù)集中。在前人的研究基礎(chǔ)上,本文的研究工作目標(biāo)是生成詳細(xì)的步驟描述,通過(guò)提示大語(yǔ)言模型,不進(jìn)行注釋和微調(diào),求解單未知數(shù)和方程組的數(shù)學(xué)應(yīng)用題。
1.2 思維鏈提示方法
思維鏈方法在自然語(yǔ)言的推理任務(wù)中取得了顯著成果,這些方法都根據(jù)實(shí)際應(yīng)用任務(wù)有所改進(jìn)。目前主流使用兩種提示方法:零樣本[17]和少樣本[18]。啟發(fā)式的零樣本方式是將問題分解,使子問題回答正確,確定分步推理的正確性。為了保證子問題的正確性,最少到最多提示(least to most)[19]從最簡(jiǎn)單的子問題開始提問,將提問和答案合并到問題中,引導(dǎo)模型回答最初的提問。但是,這種方式顯露出遺漏步驟和計(jì)算錯(cuò)誤的問題。因此,計(jì)劃-解決(plan-and-solve)方法[20]提出先制定解決方案,即具體的求解計(jì)劃,再根據(jù)計(jì)劃生成求解步驟,減少遺漏的問題。為了減少計(jì)算錯(cuò)誤,PHP-CoT[3]和RPR-CoT[4]通過(guò)多次迭代使模型自我糾正錯(cuò)誤。少樣本提示中,Manual-CoT[1]人工設(shè)計(jì)符合任務(wù)的有效提示,再提供多個(gè)例子激發(fā)模型的學(xué)習(xí)能力。Auto-CoT[21]則省去了人力成本,采用零樣本方法生成的例子,讓大模型自動(dòng)構(gòu)造跨任務(wù)的提示,生成合理論證。以上方法均受到人類思考方式的啟發(fā),讓模型模仿人類處理自然語(yǔ)言。Program-of-Thought[22]認(rèn)為編程語(yǔ)言是使模型理解和應(yīng)用更高效的語(yǔ)言,所以使用編程語(yǔ)言和編程邏輯解釋文本。2ERP屬于零樣本方式,該方法明確步驟的重要性,在逐步驗(yàn)證和糾正的過(guò)程中,核驗(yàn)方程解計(jì)算過(guò)程的正確性,以保證步驟無(wú)誤,接著以方程核驗(yàn)作為中間環(huán)節(jié)串聯(lián)起附近提示和排除錯(cuò)誤提示,確保推導(dǎo)正確。
1.3 答案選擇策略
許多模型精心設(shè)計(jì)了適合構(gòu)造提示的答案選擇策略,并傾向于生成一眾候選答案,再選出最佳答案。自洽方法的選擇思路是,最佳答案通過(guò)多數(shù)投票取勝,獲得任務(wù)性能的提升。另一種思路是將候選答案全部評(píng)分,取最高分為最佳答案。Cobbe等人[23]訓(xùn)練獨(dú)立的生成器與驗(yàn)證器,兩套系統(tǒng)合作監(jiān)督推理步驟與路徑選擇,根據(jù)評(píng)分高低挑選最合適的路徑和答案。Shen等人[24]則是將結(jié)果排名作為影響因素,聯(lián)合訓(xùn)練生成器和排名器,選擇了排名第一的生成方案作為答案。Cobbe等人[25]同樣選擇用最高分的挑選方式,但使用大模型本身作為評(píng)估者。2ERP方法選擇了與文獻(xiàn)[3,4]一致的路線,不會(huì)對(duì)每個(gè)問題都生成一系列候選答案,而是一邊生成推理路徑,一邊驗(yàn)證并糾正,并且無(wú)須特別設(shè)計(jì)的選擇策略,減少特定任務(wù)的工作量。
2 方法
2.1 大模型基座
ChatGLM3[28]是智譜AI和清華大學(xué) KEG 實(shí)驗(yàn)室聯(lián)合發(fā)布的開源對(duì)話預(yù)訓(xùn)練模型。ChatGLM3-6B是10 B以下的基礎(chǔ)模型中取得執(zhí)行通用任務(wù)優(yōu)異結(jié)果的大模型,所以本文選擇ChatGLM3作為大模型訓(xùn)練的基座。在大模型中,提示工程達(dá)到了與經(jīng)過(guò)微調(diào)的大模型同樣甚至更強(qiáng)的推理水準(zhǔn)[3,4]。為了使方法適用于求解六個(gè)年級(jí)的小學(xué)數(shù)學(xué)問題,并生成詳細(xì)的求解步驟,本文設(shè)計(jì)了漸進(jìn)式的提示指令,使大模型在迭代的過(guò)程中自我糾正錯(cuò)誤,提升數(shù)學(xué)問題求解的準(zhǔn)確度。
2.2 提示設(shè)計(jì)
2ERP方法提出的雙重驗(yàn)證的漸進(jìn)式提示包含三個(gè)模塊的算法步驟,具體如圖1所示。2ERP的首要步驟是初始化,已知問題Q,輸入大模型后得到初始化推理過(guò)程rgen0,從推理過(guò)程中得到答案agen0,并將可能錯(cuò)誤合集Cin和潛在正確合集Cp設(shè)為空集。其中,初始化的答案是agen0=6。接著進(jìn)入驗(yàn)證流程,根據(jù)初始化推理過(guò)程rgen0中取得未知數(shù)的假設(shè)sgen0。首先,從初始化路徑取得方程eqgen0:x(x-1)=28,并提示大模型對(duì)方程進(jìn)行數(shù)值解釋rexp0,得到數(shù)值解釋的答案aexp0=7。正式開始驗(yàn)證,先驗(yàn)證答案agen0和 aexp0是否求解正確,再看兩者是否相等,只有兩種驗(yàn)證均正確時(shí),才會(huì)結(jié)束流程。顯然兩者并不相等,所以繼續(xù)進(jìn)入糾正環(huán)節(jié)。
驗(yàn)證過(guò)程中,可能錯(cuò)誤合集Cin和潛在正確合集Cp也會(huì)隨著ageni和 aexpi的比較情況更新對(duì)應(yīng)合集。圖1中的驗(yàn)證環(huán)節(jié)比較滿足第1輪次和驗(yàn)證不成立的條件,更新可能錯(cuò)誤合集Cin={[6,7]},并選擇排除的提示模板,生成糾正后推理路徑rrect1并獲取答案agen1=8。再次進(jìn)入驗(yàn)證流程發(fā)現(xiàn)滿足驗(yàn)證條件,將生成的推理路徑答案作為最終答案,因?yàn)楫?dāng)前問題只存在一個(gè)求解答案,所以afinal=8。整個(gè)驗(yàn)證糾正提示流程涉及的詳細(xì)符號(hào)定義如表1所示。
2.2.1 初始化
初始化步驟使用圖1中提示,該提示適用于方程求解,如果使用Kojima等人[17]的初始化方法,難以得到方程解釋rexpi。數(shù)值答案的獲取部分rexpi的準(zhǔn)備工作,需要先從推理路徑rgeni獲得假設(shè)sgeni。除了推理路徑外,將不正確數(shù)值合集Cin和潛在數(shù)值合集Cp也設(shè)為,為驗(yàn)證步驟做準(zhǔn)備。
2.2.2 驗(yàn)證模塊
驗(yàn)證模塊需要上一步生成的推理路徑rgeni作為條件,按照模板所示的“Q: rgeni中的方程或方程組(不包含推斷和描述語(yǔ)句)為:”,獲取方程eqgeni。接下來(lái),通過(guò)構(gòu)造的提示“[Q], 方程[Eq]的數(shù)值解釋是什么?”生成對(duì)方程數(shù)值理解的推理步驟rexpi,并對(duì)rexpi提問截取的問題語(yǔ)句q得到答案 aexpi,其中[Q]表示問題文本,q表示文本中的提問。驗(yàn)證第一步,回代答案到方程中,驗(yàn)證答案是否正確求解。按照設(shè)計(jì)的一個(gè)簡(jiǎn)單模板“Q:將[A]代入[Eq],答案[A]是否使方程或方程組成立?”,讓大模型驗(yàn)證答案能否使等式成立。其中,[A]表示待填充的答案槽,[Eq]表示待填充的方程槽。答案求解錯(cuò)誤,則添加到排除答案合集Cin中,驗(yàn)證正確,則添加到潛在答案合集Cp中。
第二步,判斷從文本轉(zhuǎn)換為方程求解的答案ageni是否等于從方程理解文本并求解的答案aexpi。直接比較數(shù)值得到判斷結(jié)論。
自此,兩步驗(yàn)證完畢,只有同時(shí)滿足ageni和aexpi回代成立,且ageni=aexpi時(shí),說(shuō)明所列方程正確,答案計(jì)算正確,迭代結(jié)束,否則進(jìn)入糾正環(huán)節(jié)。
2.2.3 糾正模塊
糾正方式的選擇依賴于驗(yàn)證模塊的狀態(tài)。用潛在的答案合集和可能的錯(cuò)誤合集,逼近答案的求解范圍,糾正的三種方式如下。如果計(jì)算答案回代后等式成立,但兩種答案不相同,則進(jìn)入計(jì)算錯(cuò)誤的糾正流程。將潛在合集Cp={aver0,…,averi-1}作為[A]的依據(jù),按照以下模板“Q: [Q],其中,答案可能在[A]附近?!痹僬撸绻鸢富卮笳_與錯(cuò)誤結(jié)果均存在,則將錯(cuò)誤合集Cin={aver0,…,averi-1}作為[A]的依據(jù),構(gòu)造排除提示:“Q: [Q], 其中,[A]可能存在錯(cuò)誤?!弊詈?,如果答案回代結(jié)果均錯(cuò)誤,且錯(cuò)誤答案不同,則進(jìn)入所列方程錯(cuò)誤的糾正流程,組建類似排除答案提示“Q: [Q],[Eq]可能存在錯(cuò)誤。”輸出糾正的推理路徑rrecti。
在迭代過(guò)程中,如不滿足驗(yàn)證條件,則根據(jù)情況選擇前兩種提示之一,直到第k/2輪次時(shí),仍不滿足條件,采用最后一種模板提示,糾正錯(cuò)誤方程,最后得到答案afinalj。
3 實(shí)驗(yàn)與分析
3.1 數(shù)據(jù)集
數(shù)據(jù)集包含中文和英文兩類,兩種語(yǔ)言均包含單方程數(shù)據(jù)和方程組數(shù)據(jù)集。詳細(xì)的數(shù)據(jù)集介紹如表2所示,其中的平均單詞長(zhǎng)度,是根據(jù)所有問題的長(zhǎng)度(已經(jīng)去除標(biāo)點(diǎn)符號(hào)和空白字符)除以問題個(gè)數(shù)得出的結(jié)果,作為分析數(shù)學(xué)問題文本難度的參考。不相關(guān)的數(shù)值內(nèi)容比例表示與計(jì)算不相關(guān)的數(shù)值內(nèi)容,如問題文本中存在的年份、年級(jí)等背景數(shù)值,提供文本信息但不納入計(jì)算,該指標(biāo)的計(jì)算方式是匹配的不相關(guān)數(shù)值在所有數(shù)值中的比例。
a)HMWP[16],涵蓋大多數(shù)小學(xué)數(shù)學(xué)應(yīng)用題情況的中文數(shù)據(jù)集,包括表格轉(zhuǎn)述文字的問題,文言文描述的文本,且存在阿拉伯?dāng)?shù)字與簡(jiǎn)寫漢字替換的干擾。
b)Math23K[10],大型中文數(shù)據(jù)集,包含四種運(yùn)算的小學(xué)數(shù)學(xué)問題,且問題需要多步推導(dǎo)才能求解。
c)CM17K[6],面向6~12年級(jí),包含四種數(shù)學(xué)問題類型的中文數(shù)據(jù)集,樣本數(shù)超過(guò)17 000,涵蓋關(guān)于MWP的大多數(shù)情況,足以驗(yàn)證數(shù)學(xué)單詞問題解決程序的通用性。
d)Draw[26],包含方程組的小型英語(yǔ)數(shù)據(jù)集,總共有三種類型的數(shù)學(xué)問題。
e)GSM8K[25],英文數(shù)據(jù)集,具有詳細(xì)推導(dǎo)步驟的單未知數(shù)數(shù)據(jù)集,來(lái)源于小學(xué)數(shù)學(xué)的高質(zhì)量數(shù)據(jù)集。
f)SVAMP[27],英文數(shù)據(jù)集,題目來(lái)源于小學(xué)四年級(jí)數(shù)學(xué)題,包含1 000個(gè)經(jīng)過(guò)設(shè)計(jì)的單未知數(shù)問題,存在無(wú)關(guān)信息、實(shí)體替換等干擾,適合測(cè)試方法的穩(wěn)定性。
3.2 基線
分別選擇零樣本和少樣本的方法作為基線。零樣本選擇四種方法:Direct直接向大模型輸入問題;Zero-Shot-CoT在問題后添加提示“Let’s think step by step”[1];Plan-and-Solve先制定出計(jì)劃再解決問題,添加“Let’s first understand the problem and devise a plan to solve the problem. Then let’s carry out the plan and solve the problem step by step”[20]提示;RPR-CoT是逐步的驗(yàn)證糾正流程。在驗(yàn)證時(shí)掩蓋問題中的數(shù)字X,將已求出的答案作為已知條件,求解遮蔽的數(shù)字X。如果求解的數(shù)字X與原數(shù)字X不一致則進(jìn)入糾正環(huán)節(jié),糾正時(shí)根據(jù)提示排除可能的錯(cuò)誤答案。
少樣本選擇三種方法:Manual-CoT提供8個(gè)有詳細(xì)求解步驟的問題作為樣本,使模型學(xué)習(xí)求解方式;Auto-CoT通過(guò)Sentence-BERT[29]模型得到聚類結(jié)果,挑選聚類的各類別問題作為樣本供模型學(xué)習(xí);PHP-CoT提示上一步的答案生成推理路徑,直至生成結(jié)果一致。
3.3 答案評(píng)估
對(duì)比實(shí)驗(yàn)的七種方法均按照論文中描述的方法實(shí)現(xiàn),最終的答案以準(zhǔn)確率為評(píng)估標(biāo)準(zhǔn)。 由于agoldj有分?jǐn)?shù)或循環(huán)小數(shù)形式的答案存在,而大模型的計(jì)算精度不高,所以按以下標(biāo)準(zhǔn)判斷,agoldj和afinalj的誤差小于10-5時(shí),答案正確,否則afinalj錯(cuò)誤。同時(shí),答案?jìng)€(gè)數(shù)應(yīng)與問題個(gè)數(shù)匹配,單個(gè)問題的答案L=1,多個(gè)問題則權(quán)重根據(jù)L均分。具體公式如下,其中,Q表示問題個(gè)數(shù),L表示實(shí)際答案?jìng)€(gè)數(shù)。
acc=1|Q|1|L|∑q∈Q ∑j∈L1(afinalj,agoldj)(1)
1(afinalj,agoldj)=1" |afinalj-agoldj|lt;1×10-5
0" |afinalj-agoldj|≥1×10-5 (2)
3.4 實(shí)驗(yàn)結(jié)果分析
3.4.1 實(shí)驗(yàn)方法對(duì)比
使用開源的ChatGLM3-6B模型生成推理路徑。對(duì)比實(shí)驗(yàn)的結(jié)果如表3所示,2ERP與七種方法相比取得了不同程度的提升。2ERP方法在四個(gè)數(shù)據(jù)集上取得了最先進(jìn)的結(jié)果,其中在三個(gè)有方程的數(shù)據(jù)集HMWP、CM17K和Draw上相較于PRP-CoT方法平均提高了6.9百分點(diǎn),在另外兩個(gè)數(shù)據(jù)集GSM8K 和 SVAMP上的結(jié)果比少樣本方法平均高出8.6百分點(diǎn)。四個(gè)數(shù)據(jù)集中主要的提升數(shù)據(jù)集是 HMWP 和 Draw,兩者都是方程數(shù)據(jù)集。作為一種零樣本方法,在六個(gè)數(shù)據(jù)集上均達(dá)到比少樣本優(yōu)異的結(jié)果。與在單未知數(shù)問題上表現(xiàn)出色的零樣本方法 PRP-CoT 相比,2ERP方法在方程數(shù)據(jù)集上的提升更大。
2ERP方法在四個(gè)數(shù)據(jù)集上提升明顯。與以往最先進(jìn)的PRP-CoT方法相比,在Math23K數(shù)據(jù)集提升了2.6百分點(diǎn)是因?yàn)槠鋽?shù)據(jù)集提問方式簡(jiǎn)單直接。數(shù)據(jù)集Draw,CM17K和HMWP都包含線性問題和方程問題,剩下的GSM8K和SVAMP數(shù)據(jù)集的提升差距與數(shù)據(jù)集的難度相關(guān)。如表2所示,兩者均有部分不相關(guān)數(shù)值的比例,其中SVAMP數(shù)據(jù)集的干擾信息會(huì)影響大模型對(duì)數(shù)字與其相關(guān)信息的判斷。由于PRP-CoT采用遮蔽隨機(jī)數(shù)值再驗(yàn)證的方式,所以PRP-CoT方法在英文單方程數(shù)據(jù)集上準(zhǔn)確率高。PRP-CoT方法在Draw數(shù)據(jù)集上提升效果不如2ERP方法,因?yàn)镈raw數(shù)據(jù)集的不相關(guān)數(shù)值比例比SVAMP更高,但其不相關(guān)的數(shù)字實(shí)際是文本的背景信息如年份、年級(jí)等,過(guò)多背景數(shù)值信息導(dǎo)致PRP-CoT難以在有限輪次內(nèi)遮蔽實(shí)際有意義的數(shù)值進(jìn)行驗(yàn)證,所以其在中文數(shù)據(jù)集上適用性不強(qiáng)。然而采用方程驗(yàn)證提示的2ERP方法不會(huì)受到相關(guān)數(shù)值的限制,所以在Draw數(shù)據(jù)集上使用RP方法提升的準(zhǔn)確率比在SVAMP數(shù)據(jù)集上使用少樣本方法的準(zhǔn)確率高6.4百分點(diǎn)。在單方程數(shù)據(jù)集上,PRP-CoT方法仍具有優(yōu)勢(shì)。
3.4.2 大模型對(duì)比分析
使用不同的大模型,在Math23K和GSM8K的單方程數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)。表4呈現(xiàn)出平均的準(zhǔn)確度和迭代次數(shù),其中,平均迭代輪次的計(jì)算是將各個(gè)迭代輪次與對(duì)應(yīng)迭代次數(shù)的問題數(shù)相乘求和,再取得平均值作為結(jié)果。隨著大模型的迭代,準(zhǔn)確率在逐步提升,平均迭代次數(shù)整體上逐漸減少。ChatGLM是基于自回歸 (generative language model, GLM)架構(gòu)的大模型,特點(diǎn)在于二維位置編碼和亂序的空白位置預(yù)測(cè)設(shè)置,但執(zhí)行數(shù)學(xué)推理任務(wù)的效果不太好。經(jīng)過(guò)改進(jìn)的ChatGLM2模型,整體架構(gòu)對(duì)標(biāo)LLaMA架構(gòu),從原來(lái)對(duì)每個(gè)GLMBlock做二維位置編碼變成了做旋轉(zhuǎn)式位置編碼(rotary position embedding, RoPE),高效率地捕捉序列元素的相對(duì)位置信息,所以在兩個(gè)單方程數(shù)據(jù)集上,ChatGLM2模型的準(zhǔn)確度均平均提升33%,生成推理路徑效率提升,平均迭代次數(shù)減少。ChatGLM3模型的架構(gòu)與二代基本一致,RoPE對(duì)象由每個(gè)GLMBlock變?yōu)槿?。相較于ChatGLM2模型,ChatGLM3在Math23K和GSM8K數(shù)據(jù)集上平均提高了37.6百分點(diǎn),推理性能的提升使得平均迭代次數(shù)下降。
3.4.3 數(shù)值關(guān)系驗(yàn)證結(jié)果
2ERP方法設(shè)計(jì)的方程驗(yàn)證流程,使模型學(xué)會(huì)了從方程中得到數(shù)值關(guān)系,并與文本中抽取的數(shù)值關(guān)系進(jìn)行核驗(yàn),確保列方程步驟正確,再考慮答案計(jì)算是否準(zhǔn)確。如表5所示,驗(yàn)證過(guò)程讓模型重新思考數(shù)值與未知數(shù)對(duì)應(yīng)的含義,單未知數(shù)的數(shù)據(jù)集顯示出文字解釋的數(shù)學(xué)表達(dá)式,使求解步驟的理解性更強(qiáng),如23+y=Initial number of children on the bus。如表6所示,方程組問題則詳細(xì)解釋等式的推導(dǎo)過(guò)程,并呈現(xiàn)具體的計(jì)算過(guò)程。
4 消融實(shí)驗(yàn)
4.1 輪次選擇
為了保證數(shù)學(xué)求解任務(wù)的準(zhǔn)確率和推理速度,手動(dòng)設(shè)置退出輪次是必要的。如圖2所示,隨著整個(gè)流程的驗(yàn)證校正次數(shù)增多,準(zhǔn)確率也逐步提高,k=6時(shí),大部分?jǐn)?shù)據(jù)集的準(zhǔn)確率趨于穩(wěn)定。圖3使用2ERP方法在六個(gè)數(shù)據(jù)集上實(shí)驗(yàn)的平均迭代輪次在3輪左右,其中Math23K的迭代輪次接近2,理想輪次的設(shè)置應(yīng)為k=4。但隨著輪次增加,準(zhǔn)確率仍有提高,尤其是平均輪次最高的Draw和CM17K。最后,綜合對(duì)平均輪次和準(zhǔn)確率的考量,2ERP方法選擇k=6,使模型能高效且準(zhǔn)確地完成推理。
4.2 逼近的解空間
如圖4所示,I、 E、n和e表示以下內(nèi)容:I表示初始化;E表示方程驗(yàn)證模塊;n表示附近提示;e表示排除提示,具體提示模板已在第2章闡述。I+E+n和I+E+e分別使用了提示可能解和排除錯(cuò)誤解的方法,與只用初始化方法l比較,在HMWP和Draw數(shù)據(jù)集上平均提高了8.05和9.95百分點(diǎn),其中排除解的方法I+E+e提升幅度更大。本文用方程組驗(yàn)證作為中間部件連接兩種方法,縮小方程組的解范圍。在HMWP和Draw數(shù)據(jù)集上,2ERP方法比初始化方法在HMWP和Draw數(shù)據(jù)集上分別提高了12.2和11.7百分點(diǎn)。
4.3 等式驗(yàn)證的有效性
對(duì)于大模型推導(dǎo)任務(wù)來(lái)說(shuō),步驟的正確性,會(huì)影響到結(jié)果的準(zhǔn)確性。復(fù)雜的問題不止考驗(yàn)解題思路,同樣考驗(yàn)計(jì)算能力。因此,計(jì)算步驟正確是解題正確的充分條件,尤其是容易出錯(cuò)的方程求解過(guò)程。如圖4所示,在HMWP和Draw數(shù)據(jù)集上,添加雙重驗(yàn)證的方法比對(duì)應(yīng)的漸近方法的準(zhǔn)確率平均提高了2.85和3.05百分點(diǎn)。
5 結(jié)束語(yǔ)
本文提出了2ERP的零樣本方法,它適用于多未知數(shù)和單未知數(shù)的數(shù)學(xué)問題求解任務(wù)。2ERP通過(guò)等式的雙重驗(yàn)證,在漸近的驗(yàn)證糾正過(guò)程中,逐步逼近方程的求解空間。并在推理路徑中,實(shí)現(xiàn)了對(duì)等式或表達(dá)式的數(shù)值解釋,理解性更強(qiáng)。2ERP方法在包含中文和英文的六個(gè)數(shù)據(jù)集上的平均準(zhǔn)確率為66.2%,并與之前最好的研究方法相比,將方程數(shù)據(jù)集HMWP、CM17K和Draw的平均準(zhǔn)確率提高了6.9百分點(diǎn)。
方程數(shù)據(jù)集的思維鏈推導(dǎo)過(guò)程仍然具有很大的上升空間,尤其是在理解圖形、計(jì)算體積等需要前置知識(shí)的問題上,思維鏈效果提升不明顯。因此,下一步研究準(zhǔn)備通過(guò)注入常識(shí)知識(shí)提升需要數(shù)學(xué)基礎(chǔ)的題型的準(zhǔn)確率。再者,如何將思維鏈方法運(yùn)用在1 B參數(shù)的模型上也是一種挑戰(zhàn)。
參考文獻(xiàn):
[1]Wei J, Wang Xuezhi, Schuurmans D, et al. Chain-of-thought prompting elicits reasoning in large language models [J]. Advances in Neural Information Processing Systems, 2022, 35: 24824-24837.
[2]Wang Xuezhi, Wei J, Schuurmans D, et al. Self-consistency improves chain of thought reasoning in language models [EB/OL]. (2022-05-21) [2024-05-06]. https://doi. org/10. 48550/arXiv. 2203. 11171.
[3]Zheng Chuanyang, Liu Zhengying, Xie E, et al. Progressive-hint prompting improves reasoning in large language models [EB/OL]. (2023-08-10) [2024-05-06]. https://doi. org/10. 48550/arXiv. 2304. 09797.
[4]Wu Zhenyu, Jiang Meng, Shen Chao. Get an A in math: progressive rectification prompting [C]// Proc of AAAI Conference on Artificial Intelligence. Palo Alto, CA: AAAI Press, 2024: 19288-19296.
[5]Stanovich K. Rationality and the reflective mind [M]. Oxford:Oxford University Press, 2011.
[6]Qin Jinghui, Liang Xiaodong, Hong Yining, et al. Neural-symbolic solver for math word problems with auxiliary tasks [EB/OL]. (2021-07-03)[2024-05-06]. https://arxiv.org/abs/2107.01431.
[7]Zhang Dongxiang, Wang Lei, Zhang Luming, et al. The gap of semantic parsing: a survey on automatic math word problem solvers [J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 2019, 42(9): 2287-2305.
[8]Zhou Lipu, Dai Shuaixiang, Chen Liwei. Learn to solve algebra word problems using quadratic programming [C]// Proc of Conference on Empirical Methods in Natural Language Processing. New York: ACM Press, 2015: 817-822.
[9]Wang Lei, Zhang Dongxiang, Zhang Jipeng, et al. Template-based math word problem solvers with recursive neural networks [C]// Proc of AAAI Conference on Artificial Intelligence. Palo Alto,CA: AAAI Press, 2019: 7144-7151.
[10]Wang Yan, Liu Xiaojiang, Shi Shuming. Deep neural solver for math word problems [C]// Proc of Conference on Empirical Methods in Natural Language Processing. Palo Alto, CA: AAAI Press, 2017: 845-854.
[11]Wang Lei, Wang Yan, Cai Deng, et al. Translating a math word problem to a expression tree [C]// Proc of Conference on Empirical Methods in Natural Language Processing. New York: ACL Press, 2018: 1064-1069.
[12]Xie Zhipeng, Sun Shichao. A goal-driven tree-structured neural model for math word problems [C]//Proc of the 28th International Joint Conference on Artificial Intelligence. San Francisco: Morgan Kaufmann, 2019: 5299-5305.
[13]Liang Zhenwen,Zhang Jipeng,Wang Lei,et al. MWP-BERT: numeracy-augmented pre-training for math word problem solving [EB/OL]. (2021-07-28)[2024-05-06]. https://arxiv.org/abs/2107.13435.
[14]Zhang Jipeng, Lee R K W, Lim E P, et al. Teacher-student networks with multiple decoders for solving math word problem [C]// Proc of the 29th International Conference on International Joint Conferences on Artificial Intelligence. San Francisco: Morgan Kaufmann, 2021: 4011-4017.
[15]Zhang Wenqi, Shen Yongliang, Ma Yanna, et al. Multi-view reaso-ning: consistent contrastive learning for math word problem [C]// Proc of Conference on Empirical Methods in Natural Language Processing. New York: ACL Press, 2022: 1103-1116.
[16]Qin Jinghui, Lin Lihui, Liang Xiaodan, et al. Semantically-aligned universal tree-structured solver for math word problems [C]// Proc of Conference on Empirical Methods in Natural Language Processing. New York: ACL Press," 2020: 3780-3789.
[17]Kojima T, Gu S S, Reid M, et al. Large language models are zero-shot reasoners [J]. Advances in Neural Information Processing Systems, 2022, 35: 22199-22213.
[18]Brown T, Mann B, Ryder N, et al. Language models are few-shot learners [J]. Advances in Neural Information Processing Systems, 2020, 33: 1877-1901.
[19]Zhou D, Schrli N, Hou Le, et al. Least-to-most prompting enables complex reasoning in large language models [EB/OL]. (2022-05-21) [2024-05-06]. https://doi. org/10. 48550/arXiv. 2205. 10625.
[20]Wang Lei, Xu Wanyu, Lan Yihuai, et al. Plan-and-solve prompting: improving zero-shot chain-of-thought reasoning by large language mo-dels [C]// Proc of the 61st Annual Meeting of the Association for Computational Linguistics. New York: ACL Press, 2023: 2609-2634.
[21]Zhang Zhuosheng, Zhang A, Li Mu, et al. Automatic chain of thought prompting in large language models [EB/OL]. (2022-10-07)[2024-05-06]. https://doi. org/10. 48550/arXiv. 2210. 03493.
[22]Chen Wenhu, Ma Xueguang, Wang Xinyi, et al. Program of thoughts prompting: disentangling computation from reasoning for numerical reasoning tasks [EB/OL]. (2023-10-23) [2024-05-06]. https://doi. org/10. 48550/arXiv. 2211. 12588.
[23]Zhu Xinyu, Wang Junjie, Zhang Lin, et al. Solving math word problems via cooperative reasoning induced language models [C]// Proc of the 61st Annual Meeting of the Association for Computational Linguistics. New York: ACL Press, 2023: 4471-4485.
[24]Shen Jianhao, Yin Yichun, Li Lin, et al. Generate amp; Rank: a multi-task framework for math word problems [C]// Proc of Conference on Empirical Methods in Natural Language Processing. New York: ACL Press, 2021: 2269-2279.
[25]Cobbe K, Kosaraju V, Bavarian M, et al. Training verifiers to solve math word problems [EB/OL]. (2021-10-27) [2024-05-06]. https://doi. org/10. 48550/arXiv. 2110. 14168.
[26]Upadhyay S, Chang M W. Annotating derivations: a new evaluation strategy and dataset for algebra word problems [C]// Proc of the 15th Conference of the European Chapter of the Association for Computational Linguistics. 2017: 494-504.
[27]Patel A, Bhattamishra S, Goyal N. Are NLP models really able to solve simple math word problems? [C]// Proc of Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. 2021: 2080-2094.
[28]Zeng Aohan, Liu Xiao, Du Zhengxiao, et al. GLM-130B: An open bilingual pre-trained model [EB/OL]. (2023-10-25) [2024-05-06]. https://doi. org/10. 48550/arXiv. 2210. 02414.
[29]Reimers N, Gurevych I. Sentence-BERT: sentence embeddings using siamese BERT-networks [C]// Proc of Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. 2019: 3982-3992.