
你應該聽說過,現在的AI(人工智能)大模型很厲害,能寫文章、作詩、編程序,甚至解答高難度的奧數題。但奇怪的是,有些時候,它居然會在最基礎的小學數學題上犯錯!
比如我們測試某個AI大模型時問它:“‘知識就是力量’這句話包含幾個字?”它的回答竟然是:“這句話包含4個字。”其實,這還不是個別現象,幾乎所有大模型都曾在數數這樣看似簡單的問題上“翻車”。一個能做對奧數題的大模型,為什么曾經連數數都不會?它們現在又是怎么學會的?讓我們一探究竟。
我們說的大模型,一般指語言大模型,如ChatGPT、DeepSeek等。它們通常是由數十億到上千億個參數構成的龐大人工神經網絡,采用自監督學習技術(如遮蓋預測、下一詞預測、序列生成等),學習模仿人類的語言表達。它們的學習方式是“讀書”——通過閱讀海量文字資料,包括書籍、新聞、百科、評論、網頁等,從中學習語言的用法和模式。它們非常擅長填空游戲。例如:今天我去超市買了一個______。大模型會計算各個詞語出現的概率,發現“蘋果”這個詞出現的可能性很高,于是就會選擇輸出它。
由此可見,大模型本質上就是一個“詞語概率預測器”,它并不是真正理解這些句子,而只是學會了如何猜出“下一個最可能出現的詞”。它看起來很聰明,其實它只是擅長預測。
雖然你從小就會數“1、2、3、4……”,但在數學家眼中,數數是一個非常嚴肅的問題。在19世紀,意大利數學家皮亞諾(Peano)提出了著名的皮亞諾公理,用來嚴格地定義自然數。通俗地講,其核心思想是:所有數字從0開始,每個數字都有一個“后繼者”,你可以通過“走1步,加1”不斷前進,像跳格子一樣,數到任何你想要的數字。
人類天生就理解這種“一個一個數”的規則。但大模型的思維方式卻完全不同,它們不是按“走1步,加1”的邏輯來數數的,這也是它們曾經不會數數的重要原因。


雖然數數對我們來說是小菜一碟,但對大模型來說,過去它真的很難做好。下面是造成這個問題的幾個關鍵原因:
對人類來說,“3”不僅是一個數字,還代表“3個東西”,我們能通過觀察一張圖片,或者做一個動作(加減),理解數量的真正含義。
大模型雖然也知道數字經常和數量有關,例如“3個蘋果”“5只小貓”,但它是從大量文字數據中學到的統計規律和關聯規則,并不是通過“觀察或理解數量本身”學會的,無法從數字中準確感知具體數量,它只是在模仿語言中數字的用法,而不是真的數了一遍。
人類數數時,會在心里默默記住“我已經數了3個”。但大模型是“無狀態”的,它在預測下一個詞時,主要靠短期上下文,缺乏維持“我現在數到幾”的記憶能力。
大模型通常用一個固定大小的“詞表”來代表它能認識的所有基本單位(詞元,token),每一個token在詞表中有一個唯一的數字編號,并用一個N維的“嵌入向量”表示其語義信息。
Token通常比我們理解的字詞更小,在gpt-3.5-turbo中,“知識就是力量”由7個token構成,其中“識”由2個token構成,[6744,228]。大模型進行文字處理的第一步是“分詞”——把句子切成詞表中token的序列。
如果這個詞表只包含到“1000”,那超過的數字就會被當作多個token處理,這直接影響大模型處理較大數字的準確性。比如“12345”可能會被拆成“123”和“45”,數字剛好被切開,大模型就不太可能數對了。
另外,大模型詞表中相似的token的嵌入向量表示雖然具有一定的語義相關性(例如“5和4都是數字”,它們的嵌入向量的距離很近),卻無法表達出數字之間的大小和順序關系(例如“5比4大”等),那大模型自然難以完成準確計數和計算。
最近幾個月,AI科學家和工程師已經采用多種有效方法,讓大模型開始學會數數。
通過增加專門的訓練數據(深度思考的思維鏈數據),并優化模型結構,一些大模型逐漸學會了“從0開始,走1步,加1”的邏輯。它們模仿了皮亞諾公理的數數方式,保證了計數的準確性。
這類大模型現在能準確數出句子里有幾個字、段落里有多少句話,甚至能數出圖片里有幾只小貓(看圖數數,這需要結合圖像識別+語言理解+數數邏輯)。
還有一些大模型學會了調用外部數學工具和編寫程序,例如 Wolfram Alpha 或內置的計算模塊。它們在接到數數任務時,會像學生一樣使用“計算器”獲得計算結果,再用自身邏輯驗證答案是否合理,全面提高了計數的準確性。
通過這些改進方法,大模型不僅能模仿數數,還將能模仿乘法、除法、組合、遞歸等數學運算,學會真正的“數學思考過程”,甚至學會邏輯和因果。
如今,大模型已經可以非常穩定地完成各種數數任務了,這個過程,正是大模型逐步成長的見證。在強大的深度思考、調用工具和自我檢驗等能力加持下,大模型正在從“會說話”,走向“能計算”“善思考”。也許未來,大模型不只是我們的助手,也會成為我們的數學老師,陪我們一起,一步一步——數到無限遠。
(責任編輯 / 李銀慧" 美術編輯 / 周游)