AIxiv專欄是機(jī)器之心發(fā)布學(xué)術(shù)、技術(shù)內(nèi)容的欄目。過去數(shù)年,機(jī)器之心AIxiv專欄接收報道了2000多篇內(nèi)容,覆蓋全球各大高校與企業(yè)的頂級實(shí)驗(yàn)室,有效促進(jìn)了學(xué)術(shù)交流與傳播。如果您有優(yōu)秀的工作想要分享,歡迎投稿或者聯(lián)系報道。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
目前大語言模型(Large Language Models, LLMs)的推理能力備受關(guān)注。從思維鏈(Chain of Thought,CoT)技術(shù)提出,到以 o1 為代表的長思考模型發(fā)布,大模型正在展現(xiàn)出接近人類甚至領(lǐng)域?qū)<业乃,其中?shù)學(xué)推理是一個典型任務(wù)。
然而,與大模型能夠理解和求解各種復(fù)雜數(shù)學(xué)問題相對的,是其羸弱的數(shù)字處理能力。盡管大模型能夠提出看似合理的解決方案,但在實(shí)際運(yùn)算之中,卻常常難以在不借助工具的情況下計算出準(zhǔn)確的數(shù)值結(jié)果。此前引發(fā)廣泛討論的 “9.11>9.9” 就是典型例子。這種 “事實(shí)幻覺” 已經(jīng)成為制約大模型實(shí)際應(yīng)用的一個重大障礙。
過去的研究工作很少將 “數(shù)字理解和處理能力”(Number Understanding and Processing,NUPA)作為獨(dú)立任務(wù)進(jìn)行研究。以往的研究更多聚焦于數(shù)學(xué)推理,涉及數(shù)學(xué)工具和定理應(yīng)用,例如 GSM8K。對于數(shù)字本身的基礎(chǔ)理解和處理,如四則運(yùn)算、比較大小、數(shù)位提取等,鮮有研究將其單獨(dú)衡量。同時,在現(xiàn)有的數(shù)學(xué)數(shù)據(jù)集中,數(shù)字相關(guān)的部分往往被簡化處理。許多數(shù)據(jù)集中的數(shù)字通常僅限于簡單的整數(shù)和小數(shù),而較長的整數(shù)、小數(shù)和分?jǐn)?shù)等較復(fù)雜的數(shù)字形式往往被忽視,這與現(xiàn)實(shí)中復(fù)雜多變的應(yīng)用場景存在較大差距。實(shí)際應(yīng)用中,若遇到涉及更復(fù)雜任務(wù)的情況,如金融、物理等領(lǐng)域的應(yīng)用,這種簡化后的數(shù)字能力可能無法有效應(yīng)對。
盡管大模型可以通過調(diào)用外部計算器一定程度上彌補(bǔ)數(shù)字處理能力的不足,這個問題本身仍然值得深入探討。首先,考慮到數(shù)字處理作為各種復(fù)雜推理的基礎(chǔ),在涉及高頻數(shù)字處理的情況下頻繁調(diào)用外部工具會顯著減慢模型響應(yīng),模型應(yīng)當(dāng)具備自我解決較為簡單問題的能力(如判斷 9.11 < 9.9)。更重要的是,從發(fā)展通用人工智能的角度出發(fā),如果模型不具備最基礎(chǔ)的數(shù)字理解能力而只能依賴計算器,那么不可能指望其真正掌握復(fù)雜推理、幫助人類發(fā)現(xiàn)新定理或發(fā)明新工具,達(dá)到人類級別的通用智能更是無從談起。這是因?yàn)椋祟愓窃诔浞掷斫、掌握?shù)字和運(yùn)算的基礎(chǔ)上才發(fā)明的計算器。
近日,北京大學(xué)張牧涵團(tuán)隊在投稿至 ICLR-2025 的論文中,關(guān)注了這一問題。作者將數(shù)字理解和處理能力(number understanding and processing ability, NUPA)從數(shù)學(xué)或常識推理能力等任務(wù)中分離出來,單獨(dú)衡量大模型的數(shù)字能力。基于中小學(xué)數(shù)學(xué)課本范圍,作者提出了一個涉及四種數(shù)字表式(整數(shù)、浮點(diǎn)數(shù)、分?jǐn)?shù)、科學(xué)計數(shù)法)和四個能力范疇下的 17 個任務(wù)類型,共計 41 個數(shù)字理解和處理任務(wù)的基準(zhǔn)集 NUPA(圖 1)。這些任務(wù)基本覆蓋了日常生活中常用的數(shù)學(xué)知識(如計算、大小比較、單位轉(zhuǎn)換、位操作等),亦是支撐 AGI 的必要能力之一。
論文標(biāo)題:Number Cookbook: Number Understanding of Language Models and How to Improve It
論文地址:https://arxiv.org/abs/2411.03766
項目主頁:https://github.com/GraphPKU/number_cookbook
圖 1:NUPA benchmark 的 41 個任務(wù);其中√表示包括的任務(wù);, O, X 分別表示因不適用、可由其它任務(wù)組合得到、以及因過于復(fù)雜而不實(shí)際,而被排除的任務(wù)。
現(xiàn)有大模型性能測試
作者首先在不借助額外工具和思維鏈幫助的情況下,測試了模型在不同難度(數(shù)字長度)下的表現(xiàn)。部分結(jié)果如圖 2 所示,準(zhǔn)確率根據(jù)生成的數(shù)字與基準(zhǔn)答案的嚴(yán)格一致來評估。測試涵蓋了多種常見的大模型,包括 GPT-4o、Llama-3.1、Qwen(千問)-2、Llama-2、Mixtral。測試結(jié)果顯示,最新的大模型在常見的數(shù)字表示、任務(wù)和長度范圍表現(xiàn)良好。如圖 2 所示,在整數(shù)加法這一典型任務(wù)上,以及較短數(shù)字長度(1-4 位)情況下,各模型的準(zhǔn)確率均超過 90%,其中,GPT-4o、Qwen2-72B 等模型甚至達(dá)到了接近 100% 的準(zhǔn)確率。在浮點(diǎn)數(shù)加法、整數(shù)大小比較、整數(shù)長度判斷等任務(wù)上,各模型也普遍展現(xiàn)出超過 90% 的準(zhǔn)確率。
圖 2:在經(jīng)典任務(wù)和較短數(shù)字范圍內(nèi)上模型性能普遍較好,其中加法任務(wù)為 1-4 位,其余任務(wù)為 1-10 位的結(jié)果。
然而,涉及稍微復(fù)雜或者不常見的數(shù)字表示或任務(wù)時,模型的性能明顯下降。圖 3 進(jìn)一步展示了部分任務(wù)上的準(zhǔn)確率,S、M、L、XL 分別對應(yīng)從短到長不同的數(shù)字長度范圍(所示任務(wù)分別對應(yīng) 1-4 位、5-8 位、9-14 位、15-20 位)。盡管大部分模型在較短的數(shù)位范圍內(nèi)能夠較好地解決整數(shù)和浮點(diǎn)數(shù)的加法問題,但在分?jǐn)?shù)和科學(xué)計數(shù)法的加法上,模型的表現(xiàn)很差,準(zhǔn)確率普遍低于 20%。此外,當(dāng)任務(wù)涉及乘除運(yùn)算、取模運(yùn)算等稍微復(fù)雜的運(yùn)算時,即使是在較短的長度范圍內(nèi),大模型也難以有效解決問題。
圖 3:部分任務(wù)的結(jié)果顯示,大模型在處理少見任務(wù)和長數(shù)字時存在困難。
同時,數(shù)字長度仍然是大模型尚未解決的難題,從圖 3 中可以看出,隨著數(shù)字長度的增加,模型性能明顯下降。以整數(shù)加法為例,當(dāng)輸入數(shù)字長度達(dá)到 9-14 位(即圖中 L 范圍)時,除 GPT-4o 和 Qwen2-72B 的準(zhǔn)確率維持在約 40% 外,其余模型的準(zhǔn)確率僅約為 10%;而當(dāng)涉及 15-20 位整數(shù)的加法(圖中 XL 范圍)時,GPT-4o 和 Qwen2-72B 的性能進(jìn)一步下降至約 15%,其余模型幾乎無法給出正確答案。
此外,這一測試還發(fā)現(xiàn)大模型在處理最簡單的數(shù)位相關(guān)任務(wù)時存在明顯不足。具體而言,在諸如 “數(shù)字長度”(length)、“返回給定數(shù)位的數(shù)字”(get digit)、“數(shù)位比較大小”(digit max)等任務(wù)上,模型的表現(xiàn)均不能令人滿意,尤其是在數(shù)字較長時,性能下降尤為明顯。例如,當(dāng)詢問一個長 60-100 位長整數(shù)的長度和特定數(shù)位的數(shù)字時,包括 GPT-4o 在內(nèi)的模型準(zhǔn)確率均不超過 20%;而在 digit max 任務(wù)上,幾乎所有模型均無法正確回答。考慮到數(shù)位是數(shù)字處理中的基本概念,這表明現(xiàn)有大模型在數(shù)字處理上存在本質(zhì)缺陷,這也可能是模型在實(shí)際任務(wù)中頻繁出現(xiàn) “事實(shí)幻覺” 的原因。
圖 4:和數(shù)位相關(guān)的任務(wù)性能。
作者在原文中還提供了更多的觀察,并基于更多任務(wù)、長度范圍和準(zhǔn)確度度量的進(jìn)行了分析。此外,考慮到該測試涉及數(shù)字表示、任務(wù)類別、數(shù)字長度和度量等多個方面,作者還提供了一個可交互式的網(wǎng)站,便于更清楚地展示結(jié)果,詳情請訪問:https://huggingface.co/spaces/kangshijia/NUPA-Performance。
提升大模型數(shù)字能力的三個方面
測試結(jié)果顯示,現(xiàn)有大模型在數(shù)字理解和處理方面存在系統(tǒng)性不足。為此,作者研究了提升大模型數(shù)字理解能力的三個方向,包括預(yù)訓(xùn)練階段的數(shù)字相關(guān)技術(shù)、預(yù)訓(xùn)練后的微調(diào),以及思維鏈技術(shù)。
預(yù)訓(xùn)練中分詞器對數(shù)字性能的影響
首先,一種普遍的猜想是,大模型在數(shù)字能力上的薄弱與其對數(shù)字的分詞(tokenization)方式有關(guān)。目前大多數(shù)流行的大模型由于詞匯表固定,需要將長數(shù)字分拆為多個 token,這種方式可能會削弱模型對數(shù)字的理解。在早期的 GPT-2 和 GPT-3 等模型中,采用的 BPE tokenizer 對數(shù)字分詞沒有特殊優(yōu)化。這種分詞方式會生成不固定長度的數(shù)字 token,研究已證明這對大模型的數(shù)位對齊有負(fù)面影響 [1]。后續(xù)的 Llama 等模型均采用了從左到右的貪心式分詞器,其機(jī)制是對于預(yù)設(shè)的最大長度 k,從左到右依次截取 k 個數(shù)字組成一個 token,直至遇到非數(shù)字字符為止。在 k 的選取上,較早的 Llama-2 模型采用 k=1,即每個數(shù)位作為一個 token 的策略;而更新的 GPT-3.5,GPT-4 和 Llama-3 均選取了 k=3 的策略。近來的研究 [1] 又進(jìn)一步改進(jìn)了分詞方向,將整數(shù)部分的分詞方向改為從右到左,以更貼合人類對數(shù)字的理解習(xí)慣。
圖 5:四種不同的分詞器設(shè)計,從上到下分別為(a)GPT-2 使用的未經(jīng)處理的 BPE 分詞器、(b)Llama-2 使用的單數(shù)位分詞器、(c)Llama-3 和 GPT-3.5、GPT-4 使用的 3 數(shù)位貪心分詞器,以及(d)改進(jìn)對齊后的 3 數(shù)位分詞器。
盡管針對分詞器的設(shè)定有所不同,但最新模型普遍傾向于使用更大的詞匯表,即更大 k 和更長的 token。然而,這一趨勢未經(jīng)充分驗(yàn)證和解釋。為此,作者基于 NUPA 提供的數(shù)據(jù)集,針對不同的分詞器大小進(jìn)行了系統(tǒng)驗(yàn)證。實(shí)驗(yàn)中,作者改進(jìn)對齊分詞器,設(shè)置 k 為 1、2、3,分別訓(xùn)練不同參數(shù)規(guī)模的 Transformer 模型,并在 1-8 位整數(shù)或浮點(diǎn)數(shù)的加法、乘法等任務(wù)上進(jìn)行學(xué)習(xí),再測試其在 1-20 位數(shù)字任務(wù)上的性能。實(shí)驗(yàn)結(jié)果顯示(圖 6),無論是在訓(xùn)練的數(shù)字長度范圍內(nèi)(in-domain)還是超出訓(xùn)練長度(out-of-domain)的長度泛化性能上,詞匯表更小的分詞器(k=1)的性能均優(yōu)于或接近 2 位或 3 位分詞器,同時具備更快的收斂速度。
圖 6:以整數(shù)乘法為例,1-3 位分詞器的性能對比;橫軸為訓(xùn)練所見樣本數(shù),縱軸為生成準(zhǔn)確率;從左到右分別為 6 位 - 10 位數(shù)字加法的測試集準(zhǔn)確率。
此外,作者還研究了最近提出的概率分詞器(即在分詞時不采用貪心算法,而是隨機(jī)取不超過 k 個數(shù)字組成一個 token)。實(shí)驗(yàn)結(jié)果表明,盡管概率分詞器在長度泛化上表現(xiàn)出一定優(yōu)勢,但總體性能仍然不如一位分詞器。綜上,作者認(rèn)為,目前流行的擴(kuò)大數(shù)字詞匯表的傾向?qū)嶋H上不利于數(shù)字處理,相反,更早期的一位分詞器可能才是更優(yōu)選項。
其它預(yù)訓(xùn)練中的數(shù)字相關(guān)技術(shù)
除分詞器的影響之外,過去的研究還從位置編碼(positional encoding,PE)和數(shù)字格式等角度分析了數(shù)字能力,特別是在數(shù)字的長度泛化方面。作者在 NUPA 任務(wù)上測試了這些典型技術(shù),結(jié)果顯示:
從位置編碼的角度,以 NoPE 和 Alibi 為代表的改進(jìn)型位置編碼能夠有效解決長度泛化問題。這些方法適用于多種數(shù)字表示和任務(wù)類型,雖然會犧牲一定的訓(xùn)練速度,但能提升模型在超出訓(xùn)練長度范圍時的性能。
針對數(shù)字格式,研究發(fā)現(xiàn)補(bǔ)零對齊(zero-padding)和反向數(shù)字表示(reverse representation)等技術(shù)有助于數(shù)位對齊。其中,僅針對整數(shù)部分進(jìn)行反向表示能夠顯著提升結(jié)果。這一部分的結(jié)論較多,感興趣的讀者可以參考原文進(jìn)行深入閱讀。
圖 7:一些用于幫助數(shù)位對齊的數(shù)字表示。
后訓(xùn)練微調(diào)對數(shù)字性能的影響
微調(diào)是提升大模型在特定任務(wù)上表現(xiàn)的常見方法。作者針對 NUPA 進(jìn)行了微調(diào)實(shí)驗(yàn),使用 NUPA 提供的 41 個任務(wù)構(gòu)建了包括多種數(shù)字表示、任務(wù)類型和數(shù)字長度的訓(xùn)練集,并在 Llama-3.1-8B 基礎(chǔ)上進(jìn)行參數(shù)高效微調(diào)(Parameter-Efficient Fine-Tuning, PEFT)。為了測試數(shù)字長度上的泛化性能,作者只選擇了 S 和 M 兩個長度范圍進(jìn)行訓(xùn)練,并在 S、M、L、XL 四個長度范圍內(nèi)進(jìn)行測試。
訓(xùn)練結(jié)果表明,模型通過少量的訓(xùn)練步數(shù)(約兩千步)即可顯著提升性能,如圖 6 所示,經(jīng)過微調(diào)的模型在多個任務(wù)上表現(xiàn)明顯優(yōu)于未經(jīng)微調(diào)的 Llama-3.1-8B 模型;在一些任務(wù)上,微調(diào)后的模型甚至接近 GPT-4o 或超過了 GPT-4o 的性能。這表明,模型在某些任務(wù)上表現(xiàn)較差的原因可能是缺乏足夠多樣的任務(wù)和數(shù)字表示訓(xùn)練數(shù)據(jù)。增加這些數(shù)據(jù)有望改善模型表現(xiàn)。然而,即使經(jīng)過微調(diào),該模型的準(zhǔn)確率也未能達(dá)到在整個區(qū)間上達(dá)到接近 100% 的水平。
圖 8:經(jīng)過微調(diào)的模型和其它模型的對比,其中 - ft 表示經(jīng)過微調(diào)的模型。
然而,在后訓(xùn)練階段,嘗試通過微調(diào)調(diào)整位置編碼、分詞策略或數(shù)據(jù)格式的實(shí)驗(yàn)并未得到正面結(jié)果。具體而言,作者在微調(diào)階段嘗試修改原始模型使用的位置編碼、分詞器,或采用修改后的數(shù)字格式,但不同技術(shù)組合的微調(diào)結(jié)果均不如直接微調(diào)的結(jié)果,且改動越多性能下降越明顯。作者認(rèn)為,這可能與預(yù)訓(xùn)練階段與微調(diào)階段之間的差異過大有關(guān)。這表明,目前提出的大部分技術(shù)無法在微調(diào)階段直接使用,因此必須在預(yù)訓(xùn)練階段就考慮使用。
圖 9:以浮點(diǎn)數(shù)加法為例,其中 rev 表示數(shù)字反向表示、pad 表示數(shù)字首位補(bǔ)零對齊,1d 表示使用 1 位 tokenizer;FT 和 w/o FT 分別為直接進(jìn)行微調(diào)和不使用微調(diào)的原始參數(shù)。模型均采用 Llama-3.1-8B,可以看到所有組合的結(jié)果都劣于直接進(jìn)行微調(diào)。
思維鏈?zhǔn)欠褡阋越鉀Q數(shù)字處理難題
上述實(shí)驗(yàn)是在不使用思維鏈的情況下進(jìn)行的,考慮到數(shù)字處理任務(wù)通常是更復(fù)雜任務(wù)的基礎(chǔ),生成思維鏈可能會導(dǎo)致過長的輸出或分心。然而,考慮到思維鏈方法對推理任務(wù)普遍有效,作者進(jìn)一步測試了思維鏈技術(shù)是否能夠解決數(shù)字處理問題。
具體而言,作者采用了一種名為 “規(guī)則跟隨”(Rule-Following)的思維鏈范式,將明確的計算規(guī)則以代碼的方式提供給大模型,模型微調(diào)后按照這些規(guī)則解決問題。實(shí)驗(yàn)結(jié)果表明,訓(xùn)練得到的具有規(guī)則跟隨能力的模型性能上普遍超過 GPT-4o 及一般微調(diào)的 Llama-3.1-8B。然而,該模型的推理時間、顯存開銷較大,使用思維鏈生成的平均耗時是直接生成的 10 倍以上,且容易受到顯存或上下文長度限制,導(dǎo)致無法解決較長的問題。這表明,思維鏈技術(shù)并非解決數(shù)字處理問題的萬能方法。
圖 10:規(guī)則跟隨的思維鏈大模型具有遠(yuǎn)超直接生成的性能,但受到長度限制明顯,“-” 表示在兩千個 token 限制內(nèi)無法生成答案。
圖 11:指令跟隨的思維鏈大模型的平均耗時普遍在 10 倍以上。
總結(jié)
本文提出了一系列獨(dú)立于數(shù)學(xué)問題和常識問題之外的數(shù)字理解和處理任務(wù),涵蓋了 4 種數(shù)字表示和 17 種任務(wù)類型,并對常見的大模型進(jìn)行了評測。結(jié)果表明,現(xiàn)有大模型在數(shù)字理解和處理方面的性能仍然局限于最常見的任務(wù)和較短的數(shù)字范圍。作者從預(yù)訓(xùn)練技術(shù)、訓(xùn)練后微調(diào)和思維鏈三個方面探索了提升數(shù)字處理能力的可能性。盡管一些方法在提升模型性能上有一定效果,但仍存在不足,離徹底解決數(shù)字處理問題還有一定距離。
作者指出,大模型目前被視為通向 AGI 的重要工具,盡管其在解決最復(fù)雜問題的高級能力方面?zhèn)涫荜P(guān)注,但 “數(shù)字處理” 等基礎(chǔ)能力的研究同樣不可忽視,否則推理和思維將成為空中樓閣。作者希望本文提供的任務(wù)和數(shù)據(jù)集能夠?yàn)榇竽P吞嵘龜?shù)字處理能力提供有力支持,并以此為基礎(chǔ)進(jìn)一步加強(qiáng)其在數(shù)學(xué)等領(lǐng)域的表現(xiàn)。這些任務(wù)和數(shù)據(jù)集,可以有效地為預(yù)訓(xùn)練過程中引入更多樣的數(shù)字相關(guān)任務(wù)提供參考,也可以啟發(fā)更好的數(shù)字分詞、編碼、格式處理等新技術(shù)的提出。
[1] Aaditya K. Singh, DJ Strouse, Tokenization counts: the impact of tokenization on arithmetic in frontier LLMs. 2024