??!DeepSeek-R1、o3-mini 能解奧數(shù)題卻算不了多位數(shù)乘法?
我們都知道,普通大模型的數(shù)學能力并不好,甚至可能會搞不清楚 9.8 和 9.11 哪個大。但隨著 o1、o3 以及 DeepSeek-R1 等推理模型的到來,情況正在發(fā)生變化。比如 DeepSeek-R1 在競賽數(shù)學基準 AIME 2024 上達到了 79.8% 的準確度,成就了自己頭號開源推理模型的地位。
而根據(jù) OpenAI 發(fā)布的數(shù)據(jù),o3-mini (high) 在 AIME 2024 上的準確度更是達到了 87.3%,預計 o3 滿血版的成績還會更好。
但即便如此,這些強大的推理模型卻依然常常在一類看起來相當簡單的數(shù)學問題上栽跟頭,那就是簡單的乘法算法,尤其是多位數(shù)乘法。
去年 9 月,滑鐵盧大學助理教授鄧云天(Yuntian Deng)在 ?? 上分享了自己的一個實驗結果:通過讓 o1 計算最多 20x20(20 位數(shù)乘 20 位數(shù))的乘法,發(fā)現(xiàn)該模型到 9x9 乘法之后準確度就不好看了,而 GPT-4o 更是在 4x4 時就會難以為繼。
以下是詳細結果:
前兩天,鄧云天又分享了 o3-mini 的「多位數(shù)乘法考試」成績。結果嘛,確實相較于 o1 有進步,但當位數(shù)超過 13 位時,準確度表現(xiàn)依然會嚴重下滑。
以下是詳細結果:
看起來,至少在多位數(shù)乘法任務上,非智能的計算器比推理大模型更可靠。
看到這個消息后,機器之心也去試了試 DeepSeek-R1 能否計算多位數(shù)乘法。首先,我們嘗試了讓兩個隨機寫的 9 位數(shù)相乘:456347891 乘以 390869523 等于多少?令人驚訝的是,DeepSeek-R1 在思考了足足 240 秒之后成功給出了正確答案。
接下來我們又試了兩個 15 位數(shù)的相乘:569815324865789x698437369846583=?
這一次 DeepSeek-R1 思考的時間卻更短,為 114 秒,但給出了一個很接近但依然錯誤的答案。
根據(jù)計算器的結果,正確答案應該是 397980316797537914439995248987。
可以看到由于「服務器繁忙」,我們在這里嘗試了 4 次才成功獲得響應;而在另一次使用更加穩(wěn)定的火山方舟 API 版 DeepSeek-R1 的嘗試中,還得到了另一個不同的結果:397816402510166516760347336987。
所以,LLM 真沒有能力正確執(zhí)行多位數(shù)乘法嗎?
并不一定,轉折馬上就來了。
就在上面那條推文之下,微軟研究院研究科學家、威斯康星大學麥迪遜分校副教授 Dimitris Papailiopoulos 表示這個問題已經解決了。
他領導的一個研究團隊發(fā)現(xiàn),不管是乘法,還是加法、迷宮求解和從易到難的泛化,都可以基于標準的 Transformer 加以解決,方法就是使用「遞歸式自我提升」。
下面是一個小模型教自己加法時的準確度表現(xiàn):
Transformer 果真是神一樣的發(fā)明:Attention Is All You Need!
下面我們就來看看 Papailiopoulos 團隊究竟得到了什么發(fā)現(xiàn)。
論文標題:Self-Improving Transformers Overcome Easy-to-Hard and Length Generalization Challenges
論文地址:https://arxiv.org/pdf/2502.01612
Transformer 的長度泛化問題
基于 Transformer 的語言模型取得成功已經無需多談,它們已經有能力解決大量不同類型的任務。但是,它們在長度泛化(length generalization)方面依然有著巨大的局限性。也就是說,模型很難將自己的能力外推到比訓練期間見過的序列更長的序列。
就比如簡單的算術任務,一般的使用自回歸目標訓練的標準 Transformer 使用的訓練數(shù)據(jù)通常位數(shù)不多,當出現(xiàn)高位數(shù)算術運算時,這些模型常常表現(xiàn)不佳。
之前也有不少研究者試圖解決這個問題,采用的方法包括改用位置嵌入、修改架構、修改數(shù)據(jù)格式等。
不過,這些方法雖然在受控的實驗環(huán)境中很有效,但卻與 LLM 實際的訓練方式不兼容。原因也很簡單,這些修改方式都是針對具體任務實現(xiàn)的,我們不清楚這些修改能在多大程度上或以什么方式遷移到通用設置。
解決方案:遞歸式自我提升
為此,Papailiopoulos 團隊研究了 Transformer 展現(xiàn)出的一個有趣現(xiàn)象:transcendence,也就是「超越性」。
簡單來說,超越性是指學生模型在訓練期間泛化超過教師模型提供的數(shù)據(jù)難度的能力。2024 年 OpenAI 與哈佛大學等機構的一篇論文《Transcendence: Generative Models Can Outperform The Experts That Train Them》最早描述了這一現(xiàn)象。
具體來說,在任務的簡單實例(例如 n 位算術運算)上訓練的模型有時可為稍微困難的實例(例如 n + 1 位算術運算)生成正確的輸出。
Papailiopoulos 團隊利用這一現(xiàn)象構建了一個自我提升框架,其中模型可以迭代地生成自己的訓練數(shù)據(jù)并遞進地學習更困難的示例樣本。下圖展示了該團隊的自我改進流程:
在 AI 領域,自我提升并不是一個新鮮詞匯。通常來說,為了保證數(shù)據(jù)質量,自我提升大都需要外部驗證器、弱監(jiān)督或過濾機制。下面展示了實驗中采用的兩種數(shù)據(jù)過濾方法。
該團隊的研究表明:在這個框架下,極端的長度泛化確實是可能的,而無需對基礎 Transformer 架構進行任何修改。對于反向相加和字符串復制等任務,自我改進無需顯式的數(shù)據(jù)過濾即可成功。然而,對于乘法和尋找迷宮最短路徑等更難的問題,沒有數(shù)據(jù)過濾的自我改進會因錯誤累積而失敗。他們的研究表明,簡單的過濾技術(例如長度過濾和多數(shù)投票)足以保持數(shù)據(jù)質量,并可實現(xiàn)大幅超越其初始訓練分布的自我改進。
不僅如此,該團隊還發(fā)現(xiàn),自我改進不僅限于長度泛化,還可以實現(xiàn)從易到難的泛化,即在簡單任務上訓練的模型無需額外監(jiān)督即可成功學習更難的任務。值得注意的是,該方法并沒有引入新的自我改進框架,而是展示了其在各種算法任務中的有效性。
此外,他們還研究了自我改進的動態(tài),并得到了以下發(fā)現(xiàn):
首先,控制從弱到強的歷程非常重要,因為為了避免災難性失敗,模型需要結構化的難度調度計劃。
第二,自我改進會隨著時間的推移而加速,因為更困難的示例樣本會帶來越來越大的好處,在某些情況下會實現(xiàn)指數(shù)級的外推。
最后,如果從預訓練模型開始,可以顯著加快自我改進速度,從而比使用從頭開始訓練的模型更快地實現(xiàn)泛化。
該團隊總結說:「我們的研究結果提供了證據(jù),表明對于長度泛化和從易到難泛化,學習自我改進是一種通用且可擴展的解決方案?!?/p>
那么,Transformer 大模型能做多位數(shù)乘法了嗎?
回到最開始的問題,如果使用自我改進,基于 Transformer 的大模型能就能做多位數(shù)乘法了嗎?
先來看看實驗結果,當組合使用多數(shù)投票與長度過濾時,31 輪提升后,實驗模型能在 9 位數(shù)以內的乘法上達到近乎完美的表現(xiàn)。
而如果使用該團隊精心設計的一種自我改進調度方案,提升速度還能大大提升:在 19 輪內就能在 10 位數(shù)以內的乘法上達到近乎完美。
不過,或許是實驗成本方面的考慮,該團隊并未實驗更多位數(shù)的乘法。但至少從趨勢上看,這種自我提升策略確實是可行的。
那么,問題來了:現(xiàn)在的大模型已經開始有能力使用工具了,對于這樣的算術運算,為什么不直接讓大模型調用一個計算器應用呢?
對此,Dimitris Papailiopoulos 給出的答復是可以研究 Transformer 可以如何學習算法以及如何讓 Transformer 在比其訓練數(shù)據(jù)更困難的數(shù)據(jù)上取得更好的表現(xiàn)。
參考鏈接:
- https://x.com/yuntiandeng/status/1889704768135905332
- https://x.com/DimitrisPapail/status/1889747709491351734