設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

算數(shù)能力接近滿分,新加坡國立大學(xué)發(fā)布 Goat,僅用 70 億參數(shù),起步支持 16 位數(shù)乘除法

新智元 2023/6/7 11:45:10 責(zé)編:夢澤

語言模型終于會乘除法了!

大規(guī)模語言模型雖然在各大自然語言處理任務(wù)上都展現(xiàn)了優(yōu)越的性能,不過算術(shù)類題目仍然是一大難關(guān),即便是當(dāng)下最強的 GPT-4 也很難處理基礎(chǔ)運算的問題。

最近,來自新加坡國立大學(xué)的研究人員提出了一個專供算術(shù)的模型山羊 Goat,在 LLaMA 模型基礎(chǔ)上微調(diào)后,實現(xiàn)了顯著優(yōu)于 GPT-4 的算術(shù)能力。

論文鏈接:https://arxiv.org/ pdf / 2305.14201.pdf

通過對合成的算術(shù)數(shù)據(jù)集進行微調(diào),Goat 在 BIG-bench 算術(shù)子任務(wù)上實現(xiàn)了最先進的性能,

Goat 僅通過監(jiān)督微調(diào)就可以在大數(shù)加減運算上實現(xiàn)近乎完美的準(zhǔn)確率,超越了之前所有的預(yù)訓(xùn)練語言模型,如 Bloom、OPT、GPT-NeoX 等,其中零樣本的 Goat-7B 所達到的精度甚至超過了少樣本學(xué)習(xí)后的 PaLM-540

研究人員將 Goat 的卓越性能歸功于 LLaMA 對數(shù)字的一致性分詞技術(shù)。

為了解決更有挑戰(zhàn)性的任務(wù),如大數(shù)乘法和除法,研究人員還提出了一種方法,根據(jù)算術(shù)的可學(xué)習(xí)性對任務(wù)進行分類,然后利用基本的算術(shù)原理將不可學(xué)習(xí)的任務(wù)(如多位數(shù)乘法和除法)分解為一系列可學(xué)習(xí)的任務(wù)。

通過全面的實驗驗證后,文中提出的分解步驟可以有效地提升算術(shù)性能。

并且 Goat-7 B 可以在 24 GB VRAM GPU 上使用 LoRA 高效訓(xùn)練,其他研究人員可以非常容易地重復(fù)該實驗,模型、數(shù)據(jù)集和生成數(shù)據(jù)集的 python 腳本即將開源。

會算數(shù)的語言模型

語言模型

LLaMA 是一組開源的預(yù)訓(xùn)練語言模型,使用公開可用的數(shù)據(jù)集在數(shù)萬億個 token 上進行訓(xùn)練后得到,并在多個基準(zhǔn)測試上實現(xiàn)了最先進的性能。

先前的研究結(jié)果表明,分詞(tokenization)對 LLM 的算術(shù)能力很重要,不過常用的分詞技術(shù)無法很好地表示數(shù)字,比如位數(shù)過多的數(shù)字可能會被切分。

LLaMA 選擇將數(shù)字切分為多個 token,確保數(shù)字表示的一致性,研究人員認(rèn)為,實驗結(jié)果中表現(xiàn)出的非凡算術(shù)能力主要歸功于 LLaMA 對數(shù)字的一致性分詞。

在實驗中,其他微調(diào)后的語言模型,如 Bloom、OPT、GPT-NeoX 和 Pythia,無法與 LLaMA 的算術(shù)能力相匹配。

算術(shù)任務(wù)的可學(xué)習(xí)性(Learnability of Arithmetic Tasks)

之前有研究人員對使用中間監(jiān)督解決復(fù)合任務(wù)(composite task)進行了理論分析,結(jié)果表明這種任務(wù)是不可學(xué)習(xí)的,但可以分解為多項式數(shù)量的簡單子任務(wù)。

也就是說,不可學(xué)習(xí)的復(fù)合問題可以通過使用中間監(jiān)督或逐步思維鏈(CoT)來學(xué)習(xí)。

在此分析基礎(chǔ)上,研究人員首先對可學(xué)習(xí)和不可學(xué)習(xí)任務(wù)進行實驗分類。

在算術(shù)計算的背景下,可學(xué)習(xí)任務(wù)通常是指那些可以成功訓(xùn)練模型以直接生成答案的任務(wù),從而在預(yù)定義數(shù)量的訓(xùn)練 epochs 內(nèi)實現(xiàn)足夠高的精度。

不可學(xué)習(xí)的任務(wù)是那些即使經(jīng)過廣泛訓(xùn)練,模型也難以正確學(xué)習(xí)和生成直接答案的任務(wù)。

雖然任務(wù)可學(xué)習(xí)性變化背后的確切原因尚不完全清楚,但可以假設(shè)這與基本模式的復(fù)雜性和完成任務(wù)所需的工作記憶大小有關(guān)。

研究人員通過在簡化的合成環(huán)境中專門針對每個任務(wù)微調(diào)模型來實驗檢查這些任務(wù)的可學(xué)習(xí)性。

可學(xué)習(xí)的和不可學(xué)習(xí)的任務(wù)

任務(wù)分類的結(jié)果也與人類的感知相同,通過實踐,人類可以在腦海中計算兩個大數(shù)字的加法和減法,無需手算的情況下,可以直接從左(最高有效數(shù)字)到右(最低有效數(shù)字)寫下最終的數(shù)字答案。

不過心算解決大數(shù)乘法和除法是一項具有挑戰(zhàn)性的任務(wù)。

還可以觀察到,上述對任務(wù)的分類結(jié)果與 GPT-4 的性能也一致,特別是 GPT-4 擅長為大數(shù)加法和減法生成直接答案,當(dāng)涉及到多位乘法和除法任務(wù)時,準(zhǔn)確性會顯著下降。

像 GPT-4 這樣強大的模型無法直接解決不可學(xué)習(xí)的任務(wù),也可能表明,即使經(jīng)過廣泛的訓(xùn)練,為這些任務(wù)生成直接答案也是極具挑戰(zhàn)性的。

值得注意的是,對于 LLaMA 來說是可學(xué)習(xí)的任務(wù)可能不一定對于其他 LLM 來說是可學(xué)的。

此外,并非所有被歸類為不可學(xué)習(xí)的任務(wù)對模型來說都是完全不可能學(xué)習(xí)到的。

例如,兩位數(shù)乘兩位數(shù)被認(rèn)為是一項不可學(xué)習(xí)的任務(wù),但如果訓(xùn)練集中包含所有可能的 2 位數(shù)乘法枚舉數(shù)據(jù)的話,模型仍然可以通過過擬合訓(xùn)練集來直接生成答案。

不過整個過程需要近 10 個 epoch 才能達到 90% 左右的準(zhǔn)確率。

而通過在最終答案之前插入文中提出的 CoT,該模型可以在 1 個 epoch 的訓(xùn)練后就可以在兩位數(shù)乘法中實現(xiàn)相當(dāng)不錯的精度,也與之前的研究結(jié)論一致,即中間監(jiān)督的存在有助于學(xué)習(xí)過程。

加法與減法

這兩個算術(shù)操作是可學(xué)習(xí)的,僅通過有監(jiān)督微調(diào),模型就表現(xiàn)出了準(zhǔn)確生成直接數(shù)字答案的非凡能力。

盡管模型只是在非常有限的加法數(shù)據(jù)子集上進行了訓(xùn)練,但從模型在未見過的測試集上實現(xiàn)了近乎完美的準(zhǔn)確率上可以看出來,模型成功地捕獲了算術(shù)運算的基本模式,并且無需使用 CoT

乘法

研究人員通過實驗驗證了 n 位數(shù)乘 1 位數(shù)的乘法是可學(xué)習(xí)的,而多位數(shù)乘法則無法學(xué)習(xí)。

為了克服這個問題,研究人員選擇在生成答案之前對 LLM 進行微調(diào)以生成 CoT,將多位數(shù)乘法分解為 5 個可學(xué)習(xí)的子任務(wù):

1. 抽取(extraction),從自然語言指令中抽取算術(shù)表達式

2. 拆分(split),將兩者中較小的數(shù)拆分為 place 值

3. 展開(expansion),基于分配性展開求和

4. 乘積(product),同時計算每個乘積

5. 逐項相加(adding term by term),將前兩項相加,復(fù)制其余項,得到最終和

其中每個任務(wù)都是可學(xué)習(xí)的。

除法

類似地,可以通過實驗觀察到 n 位數(shù)除以 1 位數(shù)是可以學(xué)習(xí)的,而多位數(shù)除法是不可學(xué)習(xí)的。

研究人員利用改進慢除法的遞推方程,設(shè)計了一個全新的思維鏈提示。

主要思想是從被除數(shù)中減去除數(shù)的倍數(shù),直到余數(shù)小于除數(shù)。

數(shù)據(jù)集

文章中設(shè)計的實驗為兩個正整數(shù)的加法和減法,每個正整數(shù)最多包含 16 位數(shù)字,并且減法運算的結(jié)果可能是負(fù)數(shù)。

為了限制生成的最大序列長度,乘法的結(jié)果為 12 位以內(nèi)的正整數(shù);兩個正整數(shù)的除法中,被除數(shù)小于 12 位,商值 6 位數(shù)以內(nèi)。

研究人員使用 Python 腳本合成了一個數(shù)據(jù)集,生成了大約 100 萬個問答對,答案包含提出的 CoT 以及最終的數(shù)字輸出,所有數(shù)字都是隨機生成的,可以保證重復(fù)實例的概率非常低,不過小數(shù)字可能會被多次采樣。

微調(diào)

為了使該模型能夠基于指令解決算術(shù)問題,并促進自然語言問答,研究人員使用 ChatGPT 生成了數(shù)百個指令模板。

在指令調(diào)整過程中,從訓(xùn)練集中為每個算術(shù)輸入隨機選擇一個模板,并微調(diào) LLaMA-7B,類似于 Alpaca 中使用的方法。

Goat-7B 可以在 24GB VRAM GPU 上使用 LoRA 進行微調(diào),在 A100 GPU 上僅花費大約 1.5 小時即可完成 10 萬樣本的微調(diào),并實現(xiàn)近乎完美的精度。

實驗結(jié)果

比較 Goat 和 GPT-4 在大量乘法和除法方面的性能似乎不公平,因為 GPT-4 會直接生成答案,而 Goat 則依賴于設(shè)計的思維鏈,所以在 GPT-4 評估時還在每個提示的結(jié)尾加入「Solve it step by step」

不過可以觀察到,雖然 GPT-4 在某些情況下,長乘法和除法的中間步驟錯了,但最終答案仍然是正確的,也就意味著 GPT-4 并沒有利用思維鏈的中間監(jiān)督來提高最終輸出。

最終從 GPT-4 的解決方案中確定了以下 3 個常見錯誤:

1. 對應(yīng)數(shù)字的對齊

2. 重復(fù)數(shù)字

3. n 位數(shù)乘以 1 位數(shù)的中間結(jié)果錯誤

從實驗結(jié)果中可以看插到,GPT-4 在 8D+8D 和 16D+16D 任務(wù)上表現(xiàn)相當(dāng)好,但在大多數(shù) 16D+8D 任務(wù)上的計算結(jié)果都是錯誤的,盡管直觀上來看,16D+8D 應(yīng)該比 16D+16D 相對容易。

雖然造成這種情況的確切原因尚不清楚,但一個可能的因素可能是 GPT-4 不一致的數(shù)字分詞過程,使得兩個數(shù)字之間很難對齊.

參考資料:

  • https://huggingface.co/papers/2305.14201

本文來自微信公眾號:新智元 (ID:AI_era)

廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:人工智能,模型

軟媒旗下網(wǎng)站: IT之家 最會買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機APP應(yīng)用 魔方 最會買 要知