
大模型到底能记住多少?
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 文件」。参数不是装满文件的硬盘。
这个抓眼球的数字之所以有用,是因为它把模糊争论变成可以推理的量级。更重要的是方法本身:一旦能把「样本专属记忆」与「共享规律」分开,才能更清楚地谈安全、数据规模,以及模型里的「知道」到底指什么。