語言模型終于會乘除法了!
大規(guī)模語言模型雖然在各大自然語言處理任務(wù)上都展現(xiàn)了優(yōu)越的性能,不過算術(shù)類題目仍然是一大難關(guān),即便是當(dāng)下最強(qiáng)的 GPT-4 也很難處理基礎(chǔ)運(yùn)算的問題。
最近,來自新加坡國立大學(xué)的研究人員提出了一個專供算術(shù)的模型山羊 Goat,在 LLaMA 模型基礎(chǔ)上微調(diào)后,實(shí)現(xiàn)了顯著優(yōu)于 GPT-4 的算術(shù)能力。
通過對合成的算術(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ù)分解為一系列可學(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 腳本即將開源。
會算數(shù)的語言模型語言模型
LLaMA 是一組開源的預(yù)訓(xùn)練語言模型,使用公開可用的數(shù)據(jù)集在數(shù)萬億個 token 上進(jìn)行訓(xùn)練后得到,并在多個基準(zhǔn)測試上實(shí)現(xiàn)了最先進(jìn)的性能。
先前的研究結(jié)果表明,分詞對 LLM 的算術(shù)能力很重要,不過常用的分詞技術(shù)無法很好地表示數(shù)字,比如位數(shù)過多的數(shù)字可能會被切分。
LLaMA 選擇將數(shù)字切分為多個 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í)性
之前有研究人員對使用中間監(jiān)督解決復(fù)合任務(wù)進(jìn)行了理論分析,結(jié)果表明這種任務(wù)是不可學(xué)習(xí)的,但可以分解為多項(xiàng)式數(shù)量的簡單子任務(wù)。
也就是說,不可學(xué)習(xí)的復(fù)合問題可以通過使用中間監(jiān)督或逐步思維鏈來學(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)境中專門針對每個任務(wù)微調(diào)模型來實(shí)驗(yàn)檢查這些任務(wù)的可學(xué)習(xí)性。
任務(wù)分類的結(jié)果也與人類的感知相同,通過實(shí)踐,人類可以在腦海中計(jì)算兩個大數(shù)字的加法和減法,無需手算的情況下,可以直接從左到右(最低有效數(shù)字)寫下最終的數(shù)字答案。
不過心算解決大數(shù)乘法和除法是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。
還可以觀察到,上述對任務(wù)的分類結(jié)果與 GPT-4 的性能也一致,特別是 GPT-4 擅長為大數(shù)加法和減法生成直接答案,當(dāng)涉及到多位乘法和除法任務(wù)時,準(zhǔn)確性會顯著下降。
像 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)練集來直接生成答案。
不過整個過程需要近 10 個 epoch 才能達(dá)到 90% 左右的準(zhǔn)確率。
而通過在最終答案之前插入文中提出的 CoT,該模型可以在 1 個 epoch 的訓(xùn)練后就可以在兩位數(shù)乘法中實(shí)現(xiàn)相當(dāng)不錯的精度,也與之前的研究結(jié)論一致,即中間監(jiān)督的存在有助于學(xué)習(xí)過程。
加法與減法
這兩個算術(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í)。
為了克服這個問題,研究人員選擇在生成答案之前對 LLM 進(jìn)行微調(diào)以生成 CoT,將多位數(shù)乘法分解為 5 個可學(xué)習(xí)的子任務(wù):
1. 抽取,從自然語言指令中抽取算術(shù)表達(dá)式
2. 拆分,將兩者中較小的數(shù)拆分為 place 值
3. 展開,基于分配性展開求和
4. 乘積,同時計(jì)算每個乘積
5. 逐項(xiàng)相加,將前兩項(xiàng)相加,復(fù)制其余項(xiàng),得到最終和
其中每個任務(wù)都是可學(xué)習(xí)的。
除法
類似地,可以通過實(shí)驗(yàn)觀察到 n 位數(shù)除以 1 位數(shù)是可以學(xué)習(xí)的,而多位數(shù)除法是不可學(xué)習(xí)的。
研究人員利用改進(jìn)慢除法的遞推方程,設(shè)計(jì)了一個全新的思維鏈提示。
主要思想是從被除數(shù)中減去除數(shù)的倍數(shù),直到余數(shù)小于除數(shù)。
數(shù)據(jù)集
文章中設(shè)計(jì)的實(shí)驗(yàn)為兩個正整數(shù)的加法和減法,每個正整數(shù)最多包含 16 位數(shù)字,并且減法運(yùn)算的結(jié)果可能是負(fù)數(shù)。
為了限制生成的最大序列長度,乘法的結(jié)果為 12 位以內(nèi)的正整數(shù);兩個正整數(shù)的除法中,被除數(shù)小于 12 位,商值 6 位數(shù)以內(nèi)。
研究人員使用 Python 腳本合成了一個數(shù)據(jù)集,生成了大約 100 萬個問答對,答案包含提出的 CoT 以及最終的數(shù)字輸出,所有數(shù)字都是隨機(jī)生成的,可以保證重復(fù)實(shí)例的概率非常低,不過小數(shù)字可能會被多次采樣。
微調(diào)
為了使該模型能夠基于指令解決算術(shù)問題,并促進(jìn)自然語言問答,研究人員使用 ChatGPT 生成了數(shù)百個指令模板。
在指令調(diào)整過程中,從訓(xùn)練集中為每個算術(shù)輸入隨機(jī)選擇一個模板,并微調(diào) LLaMA-7B,類似于 Alpaca 中使用的方法。
Goat-7B 可以在 24GB VRAM GPU 上使用 LoRA 進(jìn)行微調(diào),在 A100 GPU 上僅花費(fèi)大約 1.5 小時即可完成 10 萬樣本的微調(diào),并實(shí)現(xiàn)近乎完美的精度。
實(shí)驗(yàn)結(jié)果
比較 Goat 和 GPT-4 在大量乘法和除法方面的性能似乎不公平,因?yàn)?GPT-4 會直接生成答案,而 Goat 則依賴于設(shè)計(jì)的思維鏈,所以在 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é)果錯誤
從實(shí)驗(yàn)結(jié)果中可以看插到,GPT-4 在 8D+8D 和 16D+16D 任務(wù)上表現(xiàn)相當(dāng)好,但在大多數(shù) 16D+8D 任務(wù)上的計(jì)算結(jié)果都是錯誤的,盡管直觀上來看,16D+8D 應(yīng)該比 16D+16D 相對容易。
雖然造成這種情況的確切原因尚不清楚,但一個可能的因素可能是 GPT-4 不一致的數(shù)字分詞過程,使得兩個數(shù)字之間很難對齊.
參考資料:
鄭重聲明:此文內(nèi)容為本網(wǎng)站轉(zhuǎn)載企業(yè)宣傳資訊,目的在于傳播更多信息,與本站立場無關(guān)。僅供讀者參考,并請自行核實(shí)相關(guān)內(nèi)容。
2023年2月15日,湯臣倍健與美團(tuán)買藥在北京舉辦了2023
2021年收入增長目標(biāo)應(yīng)能確保實(shí)現(xiàn),2022年收入增長預(yù)計(jì)將
具體來看,一是簡化業(yè)務(wù)流程和材料,便利北京冬奧會相關(guān)區(qū)域內(nèi)境
炒股就看金麒麟分析師研報(bào),權(quán)威,專業(yè),及時,全面,助您挖掘潛
,據(jù)索尼官方消息,新星粉,銀河紫,星光藍(lán),三款全新配色Dua
,新氧數(shù)據(jù)顏究院發(fā)布《2021醫(yī)美行業(yè)白皮書》,白皮書顯示,