啊!DeepSeek-R1、o3-mini能解奧數題卻算不了多位數乘法?
機器之心報導
編輯:Panda
我們都知道,普通大模型的數學能力並不好,甚至可能會搞不清楚 9.8 和 9.11 哪個大。但隨著 o1、o3 以及 DeepSeek-R1 等推理模型的到來,情況正在發生變化。比如 DeepSeek-R1 在競賽數學基準 AIME 2024 上達到了 79.8% 的準確度,成就了自己頭號開源推理模型的地位。

而根據 OpenAI 發佈的數據,o3-mini (high) 在 AIME 2024 上的準確度更是達到了 87.3%,預計 o3 滿血版的成績還會更好。

但即便如此,這些強大的推理模型卻依然常常在一類看起來相當簡單的數學問題上栽跟頭,那就是簡單的乘法算法,尤其是多位數乘法。
去年 9 月,滑鐵盧大學助理教授丹恩雲天(Yuntian Deng)在 𝕏 上分享了自己的一個實驗結果:通過讓 o1 計算最多 20×20(20 位數乘 20 位數)的乘法,發現該模型到 9×9 乘法之後準確度就不好看了,而 GPT-4o 更是在 4×4 時就會難以為繼。

以下是詳細結果:

前兩天,丹恩雲天又分享了 o3-mini 的「多位數乘法考試」成績。結果嘛,確實相較於 o1 有進步,但當位數超過 13 位時,準確度表現依然會嚴重下滑。

以下是詳細結果:

看起來,至少在多位數乘法任務上,非智能的計算器比推理大模型更可靠。
看到這個消息後,機器之心也去試了試 DeepSeek-R1 能否計算多位數乘法。首先,我們嘗試了讓兩個隨機寫的 9 位數相乘:456347891 乘以 390869523 等於多少?令人驚訝的是,DeepSeek-R1 在思考了足足 240 秒之後成功給出了正確答案。

接下來我們又試了兩個 15 位數的相乘:569815324865789×698437369846583=?
這一次 DeepSeek-R1 思考的時間卻更短,為 114 秒,但給出了一個很接近但依然錯誤的答案。

根據計算器的結果,正確答案應該是 397980316797537914439995248987。
可以看到由於「服務器繁忙」,我們在這裏嘗試了 4 次才成功獲得響應;而在另一次使用更加穩定的火山方舟 API 版 DeepSeek-R1 的嘗試中,還得到了另一個不同的結果:397816402510166516760347336987。

所以,LLM 真沒有能力正確執行多位數乘法嗎?
並不一定,轉折馬上就來了。
就在上面那條推文之下,微軟研究院研究科學家、威斯康辛大學麥基迪遜分校副教授 Dimitris Papailiopoulos 表示這個問題已經解決了。

他領導的一個研究團隊發現,不管是乘法,還是加法、迷宮求解和從易到難的泛化,都可以基於標準的 Transformer 加以解決,方法就是使用「遞歸式自我提升」。

下面是一個小模型教自己加法時的準確度表現:

Transformer 果真是神一樣的發明:Attention Is All You Need!
下面我們就來看看 Papailiopoulos 團隊究竟得到了什麼發現。

-
論文標題:Self-Improving Transformers Overcome Easy-to-Hard and Length Generalization Challenges
-
論文地址:https://arxiv.org/pdf/2502.01612
Transformer 的長度泛化問題
基於 Transformer 的語言模型取得成功已經無需多談,它們已經有能力解決大量不同類型的任務。但是,它們在長度泛化(length generalization)方面依然有著巨大的局限性。也就是說,模型很難將自己的能力外推到比訓練期間見過的序列更長的序列。
就比如簡單的算術任務,一般的使用自回歸目標訓練的標準 Transformer 使用的訓練數據通常位數不多,當出現高位數算術運算時,這些模型常常表現不佳。
之前也有不少研究者試圖解決這個問題,採用的方法包括改用位置嵌入、修改架構、修改數據格式等。
不過,這些方法雖然在受控的實驗環境中很有效,但卻與 LLM 實際的訓練方式不兼容。原因也很簡單,這些修改方式都是針對具體任務實現的,我們不清楚這些修改能在多大程度上或以什麼方式遷移到通用設置。
解決方案:遞歸式自我提升
為此,Papailiopoulos 團隊研究了 Transformer 展現出的一個有趣現象:transcendence,也就是「超越性」。
簡單來說,超越性是指學生模型在訓練期間泛化超過教師模型提供的數據難度的能力。2024 年 OpenAI 與哈佛大學等機構的一篇論文《Transcendence: Generative Models Can Outperform The Experts That Train Them》最早描述了這一現象。
具體來說,在任務的簡單實例(例如 n 位算術運算)上訓練的模型有時可為稍微困難的實例(例如 n + 1 位算術運算)生成正確的輸出。
Papailiopoulos 團隊利用這一現象構建了一個自我提升框架,其中模型可以迭代地生成自己的訓練數據並遞進地學習更困難的示例樣本。下圖展示了該團隊的自我改進流程:

在 AI 領域,自我提升並不是一個新鮮詞彙。通常來說,為了保證數據質量,自我提升大都需要外部驗證器、弱監督或過濾機制。下面展示了實驗中採用的兩種數據過濾方法。

該團隊的研究表明:在這個框架下,極端的長度泛化確實是可能的,而無需對基礎 Transformer 架構進行任何修改。對於反向相加和字符串複製等任務,自我改進無需顯式的數據過濾即可成功。然而,對於乘法和尋找迷宮最短路徑等更難的問題,沒有數據過濾的自我改進會因錯誤累積而失敗。他們的研究表明,簡單的過濾技術(例如長度過濾和多數投票)足以保持數據質量,並可實現大幅超越其初始訓練分佈的自我改進。

不僅如此,該團隊還發現,自我改進不僅限於長度泛化,還可以實現從易到難的泛化,即在簡單任務上訓練的模型無需額外監督即可成功學習更難的任務。值得注意的是,該方法並沒有引入新的自我改進框架,而是展示了其在各種算法任務中的有效性。
此外,他們還研究了自我改進的動態,並得到了以下發現:
首先,控制從弱到強的歷程非常重要,因為為了避免災難性失敗,模型需要結構化的難度調度計劃。

第二,自我改進會隨著時間的推移而加速,因為更困難的示例樣本會帶來越來越大的好處,在某些情況下會實現指數級的外推。

最後,如果從預訓練模型開始,可以顯著加快自我改進速度,從而比使用從頭開始訓練的模型更快地實現泛化。

該團隊總結說:「我們的研究結果提供了證據,表明對於長度泛化和從易到難泛化,學習自我改進是一種通用且可擴展的解決方案。」
那麼,Transformer 大模型能做多位數乘法了嗎?
回到最開始的問題,如果使用自我改進,基於 Transformer 的大模型能就能做多位數乘法了嗎?
先來看看實驗結果,當組合使用多數投票與長度過濾時,31 輪提升後,實驗模型能在 9 位數以內的乘法上達到近乎完美的表現。

而如果使用該團隊精心設計的一種自我改進調度方案,提升速度還能大大提升:在 19 輪內就能在 10 位數以內的乘法上達到近乎完美。

不過,或許是實驗成本方面的考慮,該團隊並未實驗更多位數的乘法。但至少從趨勢上看,這種自我提升策略確實是可行的。
那麼,問題來了:現在的大模型已經開始有能力使用工具了,對於這樣的算術運算,為什麼不直接讓大模型調用一個計算器應用呢?
對此,Dimitris Papailiopoulos 給出的答覆是可以研究 Transformer 可以如何學習算法以及如何讓 Transformer 在比其訓練數據更困難的數據上取得更好的表現。

https://x.com/yuntiandeng/status/1889704768135905332
https://x.com/DimitrisPapail/status/1889747709491351734