
大模型到底能記住多少?
ICML 2026 一項研究為 GPT 式模型標出容量量級:BF16 下約每參數 3.6 比特——並說明為何不能當成硬碟容量。
跟大模型聊久了,會撞上一種矛盾。有時它能幾乎一字不差背出某段小說——你覺得它把訓練集都存下來了。有時你問一篇論文裏的精確數字,它卻編一個很像真的假答案——你又覺得它什麼都沒記住。到底是哪一種?
別只問「能不能背出來」
過去的測試常盯著模型輸出:能不能把訓練原文吐回來?成員推斷能不能判斷某段文字在不在訓練集?兩者都容易把兩件事混在一起。輸出永遠是「死記細節」與「通用能力」的混合物。模型算出 2+2,可能真的學會了加法;能續寫名詩,可能學會了詩的習慣——也可能真的背過那一首。背不出來,也不等於完全沒留下任何資訊。
這篇論文換了角度看問題:把記憶當成壓縮。若模型真的保留了某個樣本的專屬資訊,用它當參考去壓縮該樣本時,編碼應該變短。短了多少,就衡量權重裏留下了多少「只屬於這個樣本」的資訊。
先排除泛化,再測容量
為了隔離「純記憶」,作者在均勻隨機比特串上訓練——沒有語法、沒有世界知識,無可泛化之物。任何表現提升都只能來自把樣本本身背下來。他們訓練參數約 50 萬到 15 億的 GPT 式 Transformer,並餵入多種大小的隨機資料集。
規律很清晰:資料集還小時,記住的總資訊量幾乎隨資料量線性上升;過了某一點就進入平台期。那個平台期數值,就是該模型的總記憶容量。把不同大小模型放在一起比,容量與參數量幾乎呈完美線性關係。
約每參數 3.6 比特——但要貼警告標籤
在大模型訓練常用的半精度 BF16 下,估計約每參數 3.64 比特資訊;換成單精度 FP32,大約只升到 3.83 比特。紙面上 FP32 每個參數有 32 個比特,實際用來存資訊卻不到 4 比特——效率遠低於「硬碟」直覺。
- 這個數字是特定 GPT 架構、訓練設定與壓縮估計下的經驗值,不是宇宙常數。
- 梯度下降未必找到全局最優,因此更接近容量下界:真實容量可能略高,但不太可能高得離譜。
- 不要用「7B × 3.6 比特」直接換算成「模型裏存了多少 GB 檔案」。參數不是裝滿文件的硬碟。
這個抓眼球的數字之所以有用,是因為它把模糊爭論變成可以推理的量級。更重要的是方法本身:一旦能把「樣本專屬記憶」與「共享規律」分開,才能更清楚地談安全、資料規模,以及模型裏的「知道」到底指什麼。