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

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

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

語言模型終于會(huì)乘除法了!

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

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

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

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

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

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

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

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

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

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

語言模型

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

像 GPT-4 這樣強(qiáng)大的模型無法直接解決不可學(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)為是一項(xiàng)不可學(xué)習(xí)的任務(wù),但如果訓(xùn)練集中包含所有可能的 2 位數(shù)乘法枚舉數(shù)據(jù)的話,模型仍然可以通過過擬合訓(xùn)練集來直接生成答案。

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

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

加法與減法

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

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

乘法

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

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

1. 抽?。╡xtraction),從自然語言指令中抽取算術(shù)表達(dá)式

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

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

4. 乘積(product),同時(shí)計(jì)算每個(gè)乘積

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

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

除法

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

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

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

數(shù)據(jù)集

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

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

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

微調(diào)

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

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

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

實(shí)驗(yàn)結(jié)果

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

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

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

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

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

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

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

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

參考資料:

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

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

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

相關(guān)文章

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

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

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