AI 與小學生的做題之戰(zhàn),孰勝孰???
編譯 | 禾木木
出品 | AI科技大本營(ID:rgznai100)
現(xiàn)在小學生的數(shù)學題不能用簡單來形容,有的時候家長拿到題也需要思考半天,看看是否有其他隱含的解題方法。市面上更是各種拍題搜答案的軟件,也是一樣的套路,隱含著各種氪金的信息。
就像網(wǎng)絡上說的“不寫作業(yè)母慈子孝,一寫作業(yè)雞飛狗跳”。
近日,OpenAI 訓練了一個新系統(tǒng),可以解決小學數(shù)學題,大大提升了 GPT-3 的邏輯推理問題。
新系統(tǒng)可以解決小學數(shù)學問題,60 億參數(shù)的 GPT-3 采用“新方法”,準確率直接翻倍!甚至追平了擁有 1750 億參數(shù),采用微調(diào)方法的 GPT-3 模型。
還有一項重要的結(jié)果是,一個9-12歲的小學生在測試中得分為60分,采用新方法的GPT-3在同樣的問題上可以拿到55分,已經(jīng)達到了小學生90%左右的水平!
訓練驗證器
GPT-3 之前就有說過許多令人印象深刻的技能,像是模仿人的多種寫作風格、20分鐘內(nèi)完成論文、在文本生成上與人類寫作相媲美等。然而,他們卻很難執(zhí)行準確多步推理的任務,例如小學數(shù)學題。盡管類似這樣的模型可以推導出正確解決方案大致內(nèi)容,但也經(jīng)常會產(chǎn)生嚴重的邏輯錯誤。
為了在復雜邏輯領域可以達到與人類相媲美的性能,模型必須具有判別自身錯誤的能力,并謹慎地執(zhí)行之后的過程。
為此,OpenAI 的研究者提出了一個訓練驗證器(verifier)來判斷模型完成的正確性。
在測試階段會生成許多候選解決方案并選擇排名最高的一個。證明驗證(verification)顯著提高了 GSM8K 的性能,此外也為這一觀點(隨著數(shù)據(jù)的增加,驗證比微調(diào)基線更有效)提供了強有力證據(jù)。
驗證器具體訓練方法分為三步:
先把模型的「生成器」在訓練集上進行2個epoch的微調(diào)。
從生成器中為每個訓練問題抽取100個解答,并將每個解答標記為正確或不正確。
在數(shù)據(jù)集上,驗證器再訓練單個epoch。
生成器只訓練2 個epoch 是因為2個 epoch 的訓練就足夠?qū)W習這個領域的基本技能了。如果采用更長時間的訓練,生成的解決方案會過度擬合。
測試時,解決一個新問題,首先要生成100個候選解決方案,然后由「驗證器」打分,排名最高的解決方案會被最后選中。
微調(diào)
OpenAI 通過更新模型參數(shù)來進行微調(diào),以最小化所有訓練 token 的交叉熵損失。
結(jié)果很顯然,可以看到 175B 模型明顯優(yōu)于較小的模型。
假設一個對數(shù)線性趨勢,當使用完整的 GSM8K 訓練集時,需要具有 10^16 個參數(shù)的模型才能達到 80% 的求解率。盡管如此,175B 模型似乎需要至少兩個額外數(shù)量級的訓練數(shù)據(jù)才能達到 80% 的求解率。
在下圖中,OpenAI 展示了 6B 模型測試性能在 100 個訓練 epoch 的過程中如何變化。
當允許模型對每個問題進行 N 個單獨的猜測時,OpenAI 使用 test@N 表示至少一次正確解決的問題的百分比。
盡管很快開始過擬合測試損失,但 Test@1 的性能幾乎單調(diào)地提高。并且,隨著 epoch 次數(shù)的增加,test@100 的性能比 test@1 下降得更快。
選擇具有良好覆蓋性的模型對于成功訓練驗證器至關重要。
從實證角度來看,test@100 性能在前幾個 epoch 內(nèi)達到峰值。出于這個原因,OpenAI 使用訓練了 2 個 epoch 的模型來生成用于訓練驗證器的樣本。如果改為微調(diào) 6B 模型以直接輸出最終答案而無需任何中間步驟,則性能會從 20.6% 急劇下降至 5.2%。
GSM8K 數(shù)據(jù)集
OpenAI 基于四個設計原則創(chuàng)建了 GSM8K 數(shù)據(jù)集:高質(zhì)量、高多樣性、中等難度和自然語言解決方案。
高質(zhì)量:GSM8K中的問題都是人工設計的,避免了錯誤問題的出現(xiàn)。
高多樣性:GSM8K中的問題都被設計得相對獨特,避免了來自相同語言模板或僅在表面細節(jié)上有差異的問題。
中等難度:GSM8K中的問題分布對大型SOTA語言模型是有挑戰(zhàn)的,但又不是完全難以解決的。這些問題不需要超出早期代數(shù)水平的概念,而且絕大多數(shù)問題都可以在不明確定義變量的情況下得到解決。
自然語言解決方案:GSM8K中的解決方案是以自然語言而不是純數(shù)學表達式的形式編寫的。模型由此生成的解決方案也可以更容易被人理解。此外,OpenAI也期望它能闡明大型語言模型內(nèi)部獨白的特性。
GSM8K 數(shù)據(jù)集由 8.5K 個高質(zhì)量小學數(shù)學應用題組成。每個問題需要 2 到 8 步解決,解決方案主要涉及使用加減乘除等基本算術(shù)運算執(zhí)行一系列基礎計算以獲得最終答案。微調(diào)后的 SOTA 模型在該數(shù)據(jù)集上表現(xiàn)不佳,主要是問題的高度多樣性導致的。與此同時,GSM8K 解決方案僅依賴于基本概念,因此實現(xiàn)高測試性能是一個容易實現(xiàn)的目標。
GSM8K 數(shù)據(jù)集中的三個示例問題
值得注意的是,GSM8K 中的解決方案是用自然語言而不是純數(shù)學表達式編寫的。通過堅持使用自然語言,模型生成的解決方案更容易被人類解釋。OpenAI 的方法保持相對領域不可知。
在GSM8K數(shù)據(jù)集上,OpenAI測試了新方法驗證(verification)和基線方法微調(diào)(fine-tuning)生成的答案。
案例展示:
問題:Tim 種了 5 棵樹。他每年從每棵樹上收集 6 個檸檬。他十年能得到多少檸檬?
175B Verification:正確
175B Fine-tuning:錯誤
6B Verification:正確
6B Fine-tuning:錯誤
很明顯,驗證方法比基線方法(微調(diào))在回答數(shù)學題有了很大的提升。
對于這兩種方法,OpenAI 使用 GPT-3 系列模型作為初始化,主要關注 175B 和 6B 大小的模型。175B 模型最大,產(chǎn)生的結(jié)果最令引人矚目,而 6B 模型更易于實現(xiàn)研究目。
結(jié)論
通過 OpenAI 所展現(xiàn)出的數(shù)學實例可以看出,使用驗證方法比單純擴大參數(shù)要更加智能,但缺點是并不穩(wěn)定。
現(xiàn)下,通過在一些簡單的領域試驗新路徑,識別和避免機器學習的錯誤是推動模型發(fā)展的關鍵方法,比如簡單的小學數(shù)學題。最終當我們試圖將模型應用到邏輯上更復雜的領域時,那些不被了解的技能將變得越來越透明。
參考鏈接:
https://openai.com/blog/grade-school-math/
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。