GPT-4數學再提30分代碼解析器任督二脈被打開
GPT-4數學能力還能更強!新研究發現GPT-4代碼解釋器做題準確率與其使用代碼的頻率有關。為此,研究人員提出新方法對症下藥,直接將其數學能力拔至新SOTA:在MATH數據集上,做題準確率從53.9%增加到了84.3%。你沒聽錯,就是前段時間被稱為ChatGPT推出後最強模式的那個代碼解析器(Code Interpreter)。
研究人員窺探了其代碼生成和執行機制,使用自我驗證、驗證引導加權多數投票的方法,直接打開其做數學題的任督二脈。
好奇網友隨即而來:
還想看他們做高數。
還有網友認為:
這也就是大腦的工作方式,人類在解決數學問題時也會自我驗證。
一起來康康這項研究的細節~
兩步提升數學能力
GPT-4代碼解析器的代碼生成和執行機制究竟是怎樣的?
來自港中文MMLab、南京大學、中科大、清華、城大、長沙理工等多個機構的學者為解開這一問題,使用特定代碼約束提示進行了一項試驗。
他們設計了3種不同的提示方法,限制GPT-4代碼解析器使用代碼的頻率:
Prompt 1:完全不允許使用代碼,輸出完全依賴自然語言推理,禁止將代碼合併到解決方案中。Prompt 2:只允許使用1次代碼,也就是在生成解決方案時,只能在單個代碼塊內使用代碼。Basic Prompt:沒有限制,GPT-4代碼解析器可以進行一系列推理步驟,每個步驟都可由文字+Python代碼組成。
△(a)不同提示回答準確率比較(b)代碼使用頻率與五個難度級別準確率都成比例,數學問題相對複雜時更明顯
結果發現,允許GPT-4代碼解析器多次生成和執行代碼,其解題正確度明顯高於僅用自然語言推理或只用1次代碼的情況。
經分析,研究人員認為代碼的多次生成和執行可以讓GPT-4代碼解析器逐步完善解決方案,當代碼執行產生錯誤時,GPT-4代碼解析器可以自我調試修改方案。
繼而引入“代碼使用頻率”概念,量化不同提示方法下代碼的使用次數。
基於前面的分析結果,研究人員希望能加強GPT-4代碼解析器生成準確代碼、評估代碼執行結果以及自動調整解決方案的能力。
所以提出了CSV(自我驗證)提示的方法,也就是為解決方案C引入了一個額外的驗證階段,稱為V。
加入自我驗證提示效果對應上圖綠色Verification Prompt。
如此一來,GPT-4代碼解析器需額外生成代碼來驗證答案,如果結果是False則重新推理得到正確答案。
CSV提示不僅對驗證到邏輯推理每一步都進行了擴展,而且可以自動更正錯誤,無需外部模型或人工參與。
△MATH數據集中第712個中級代數問題。
CSV prompt:To solve the problem using code interpreter step by step, and please verify your answer using code interpreter.
通過上圖這個例子可看出,在沒有自我驗證的情況下,模型生成了一個錯誤的答案。通過自我驗證,模型糾正了錯誤並生成了正確的答案。
此外,鑑於CSV可以有效地驗證問題的答案,研究人員又提出了驗證引導加權多數投票(VW-voting)的方法,將自我驗證結果集成到多數表決中,給予不同驗證狀態不同權重,使表決更可靠。
在實際操作中,一旦一個答案被確認為錯誤,那就不會進行額外的驗證,從而得到一個錯誤的驗證狀態。研究人員分配相應的權重給這些狀態:真實(wT)、不確定(wU)和錯誤(wF)。
最後從候選答案中擇取得分最高的那一個:
比此前最高水平提高30%用上了上述方法,GPT-4代碼解析器做數學題的能力up up。
在MATH數據集上,原始GPT-4代碼解析器的準確率為69.69%,使用CSV提示後提高到73.54%,再結合加權多數表決後進一步提高到84.32%,相比之前SOTA提高了30%以上。
△在MATH數據集上的準確率(%)
在MATH數據集的各個子任務中,提出方法均取得顯著提高,尤其是在高難度級別的題目中效果更明顯。例如在中級代數(Intermediate Algebra)題目中,原來的GPT-4代碼解析器準確率為50.1%,使用新方法後提高到74.4%。
除此之外,研究人員還在GSM8K、MMLU-Math、MMLU-STEM等數據集上進行了驗證。
△在GSM8K數據集上的表現
上表可以看出,使用驗證引導加權多數投票的方法還可以顯著減少需要採樣的解路徑數量(Sampled paths),在GSM8K數據集上只需要5個路徑就達到97%的準確率。
△在MMLU數據集上的表現
針對不同難度的題目(下圖a)以及不同類型題目(下圖b)的測試中,使用新方法後準確率都有了提升。
△每條曲線上的四個點分別對應於使用Prompt 1、Prompt 2、BasicPrompt、CSV Prompt得到的結果。
研究人員還發現GPT-4代碼解析器的代碼使用頻率提高與準確率提高正相關。隨著題目難度的增加,代碼使用頻率穩步上升。這說明在較難的數學問題上,更頻繁地使用代碼很重要。
此外,值得注意的是,儘管添加基於代碼的自我驗證可以提高每個單獨題目類型的性能,但改進的程度也因題目類型而異,從7.6%到僅0.6%不等。
研究人員指出:
特別是幾何問題的準確性僅提高了0.6%,原本GPT-4代碼解析器的準確性也只有54.0%,在各個題目類型中屬於較低的。這種差異可能是因為解決幾何問題通常需要多模態,超出了本文研究範圍。
論文傳送門:https://arxiv.org/abs/2308.07921
來源:量子位