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
參考鏈接:
[ 1 ] https://twitter.com/_akhaliq/status/1691734872329699813?s=20
[ 2 ] https://x.com/justfannet/status/1691983780498600376?s=46&t=iTysI4vQLQqCNJjSmBODPw