AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
本工作來自北京大學智慧學院王立威、賀笛老師課題組與華為諾亞方舟實驗室李震國、孫嘉城研究員。作者包括智慧學院博士生馮古豪、古云天、羅勝傑;資訊科學技術學院本科生楊鎧、艾心玥。
大模型量化透過將模型引數從較高的精度(如 bfoat16)壓縮到低精度(如 int8 或 int4)來降低模型推理的開銷,提高模型推理的速度。在大語言模型的實際部署中,量化技術能夠顯著提高大語言模型推理的效率。但近日,來自哈佛大學,MIT,CMU,史丹佛大學和 Databricks 的研究團隊透過大量實驗總結出了大語言模型關於精度的 Scaling Law,實驗發現模型的量化壓縮會較大影響大語言模型的效能。
無獨有偶,來自北大和華為的研究團隊近期則從理論角度研究了量化對於大模型通用性的影響。具體而言,研究者關注了量化對於大模型數學推理能力的影響。其研究理論表明足夠的模型精度是大模型解決基本數學任務的重要前提,而量化會大大降低大模型在基本數學任務上的表現,甚至提升足夠引數量也無法彌補。
論文連結:https://arxiv.org/abs/2410.13857數學推理能力是大語言模型的一項重要能力,也是大語言模型走向通用人工智慧的關鍵能力之一。然而,相較於經典的自然語言處理任務,數學推理往往需要嚴格的邏輯和準確的中間結果。在各種各樣的數學推理任務中,算術能力是大語言模型解決各類複雜的數學問題的基礎。更需要注意的是,大模型在處理數值的時候,會將一個數 “切分” 成一段一段的數字,例如:數字 1234.5678 在大模型中可能被編碼為 “12” “34” “.” “56” “78”,如此編碼後的資訊是否可以被正確理解進而完成算術任務也是一個疑問。本工作研究者以基本的算術能力為切入點,研究了不同精度的 Transformer 在解決基本數學任務上的能力差異。下圖展示了一些相應的例子。為了反映大模型對長數字的實際解碼方式,在這些任務中,運算數中的每一數位均以一個獨立的 token 作為大模型的輸入,大模型的輸出也是從高位往低位逐數位地輸出。在本工作中,研究者分別使用對數精度 Transformer 和常數精度 Transformer 的理論模型來刻畫標準精度大語言模型和量化後的低精度大語言模型。其中,對數精度指的是 Transformer 內部單個的神經元至多能夠儲存由 O(logn) 位元表示的實數,這裡 n 指的是模型所能處理的最大序列長度。而常數精度指的是 Transformer 內部單個的神經元只能夠儲存至多 c 位元表示的實數,這裡的 c 是一個與序列長度無關的小常數。這裡,實數可以由定點數或者浮點數格式表示。當前主流的大語言模型,包括 GPT 系列、Claude 系列或者開源的 LLAMA 系列,能夠處理的最大序列長度一般在 4k 到 128k 不等。在這樣的序列規模下,對數精度和常數精度較好地刻畫了量化前後的精度差異。之前的研究結果表明,標準精度 Transformer 具備解決這些基本算術任務的能力。這表明合適的精度能夠保證大模型具有解決相應基本數學任務的能力。然而本工作理論證明當大語言模型經過量化、精度降低後,模型的能力受到了顯著的影響。當使用低精度模型時,模型在多整數相加、整數相乘的任務上需要超多項式的模型引數量。這表明當精度不足時,即便充分增大模型尺寸 (scaling parameters),其也難以獲得完成這些基本算術任務的能力。下表總結了相應的理論結果,表明了不同精度下各基本算術任務所需模型寬度的理論結果。其中,藍色代表模型可以在較小的尺寸內解決相應的任務,而紅色代表模型無法在可接受的尺寸內解決相應的問題。可以發現,標準精度的大語言模型能夠輕鬆解決算術的任務,然而經過量化後低精度的大模型,在解決基本算術任務上的能力出現了明顯的缺失。除了理論推導,研究者進行了大量實驗來驗證理論結果。研究者在算術運算的資料集上訓練了一系列小模型,在小模型上的訓練結果表明,在多整數相加和整數相乘任務上,提升精度能夠使相同尺寸的模型解決更大規模的問題。此外,研究者還在 LLaMA3.1-8B 模型上進一步進行了一些系列實驗,實驗結果同樣證實,在使用 int4 進行量化之後,在大語言模型各基本算術任務上的表現均出現了相應的下降。對於最為困難的整數相乘任務,其效能下降最為明顯。總而言之,模型的量化壓縮會明顯損害大語言模型在數學推理問題上的效能,為了解決複雜的數學推理問題,足夠的精度是必不可少的。這也說明,在實際部署大語言模型的過程中,不能夠一味追求量化帶來的效率,也要考慮到應用場景,採用合適的部署策略,同時兼顧大語言模型的實際效能和執行效率。