
文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

机器之心报道
编辑:+0、张倩
GPT 系列模型的记忆容量约为每个参数 3.6 比特 。语言模型到底能记住多少信息?Meta、DeepMind、康奈尔大学和英伟达的一项测量结果显示:每个参数大约 3.6 比特 。 一旦达到这个极限 , 它们就会停止记忆并开始泛化 。
长期以来 , 记忆与泛化之间的模糊性一直困扰着对模型能力和风险的评估 , 即区分其输出究竟源于对训练数据的「记忆」 (对其训练数据分布的编码程度), 还是对潜在模式的「泛化」理解 (将理解扩展到未见过的新输入) 。这种不确定性阻碍了在模型训练、安全、可靠性和关键应用部署方面的针对性改进 。
这就好比我们想知道一个学生考试得了高分 , 是因为他真的理解了知识点(泛化) , 能够举一反三 , 还是仅仅因为他把教科书上的例题和答案都背下来了(记忆) 。
基于此 , 研究团队提出了一种新方法 , 用于估计一个模型对某个数据点的「了解」程度 , 并利用该方法来衡量现代语言模型的容量 。
- 论文标题:How much do language models memorize?
- 论文地址:https://arxiv.org/pdf/2505.24832
- 非预期记忆 —— 模型包含的关于特定数据集的信息;
- 泛化 —— 模型包含的关于真实数据生成过程的信息 。
研究团队在规模不断增大的数据集上训练语言模型 , 观察到模型会持续记忆 , 直到其容量饱和 , 此时「顿悟」(grokking)现象开始出现 , 非预期记忆随之减少 , 模型开始泛化 。 也就是说 , 在海量数据上训练的语言模型根本不可能记住所有训练数据 , 因为根本没有足够的容量 。
研究团队训练了数百个参数量从 50 万到 15 亿不等的 Transformer 语言模型 , 并由此提出了一系列关于模型容量、数据规模与成员推断之间关系的 scaling law 。
研究团队还借鉴了「信息论之父」 Claude Shannon 1953 的一项重要工作《The Lattice Theory of Information》的一些理论 。 该论文将他早期关于信息论中熵和信道容量的概念 , 与数学中的格理论联系起来 , 为理解和处理复杂信息系统提供了新的视角 。
这项研究激发了社区对蒸馏、量化、模型安全等方面的思考 。
两种「记忆」:非预期记忆和泛化
在论文中 , 作者希望找到一个方法来量化模型对特定数据点的记忆程度 , 并且这种记忆定义要满足以下几点:
- 与泛化区分开;
- 能够针对具体的数据样本;
- 不依赖于具体的训练算法;
作者从信息论的角度出发 , 利用「互信息(Mutual Information)」来定义记忆 。
在论文中 , 大写字母(例如 X、Θ)用来指代随机变量 , 小写字母用来指代随机变量的实例(例如 x ~ X 和 θ ~ Θ) 。
信息论已经为随机变量发展出了被广泛理解的信息概念 。 对于随机变量 X , 通常使用 H (X) , 即 X 的熵 , 来定义 X 中存在的信息量 。 此外 , 对于两个不同的随机变量 X、Y , 可以将 X | Y 定义为在固定 Y 后 X 中剩余的不确定性 。 定义了这个量之后 , 现在可以通过从总信息中减去剩余信息来测量 X 和 Y 之间的互信息:I (X Y) = H (X) ? H (X | Y) 。
现在假设有一个机器学习 pipeline 。 作者有一个关于底层模型的先验 Θ , 它捕获了作者的数据集分布 X 。 作者有一个学习算法 L , 它将来自 X 的样本映射到训练好的模型。 为了理解有多少关于 X 的信息存储在 中 , 作者可以使用互信息的概念:
注意这捕获了存储在 中的关于 X 的所有信息 。 正如前面所讨论的 , 记忆的概念需要同时考虑泛化 。 因此 , 当测量非预期记忆时 , 作者只对 X | Θ 中存在的信息感兴趣 , 这是在固定 Θ 后 X 中剩余的不确定性 。
因此 , 可以将非预期记忆化定义为:
然后泛化(或预期记忆)应该是:
现在作者已经定义预期和非预期记忆的概念 , 作者将注意力转向实际测量它们 。 让作者首先陈述一个能够非预期记忆的命题:
命题 1(非预期记忆的 Super-additivity) 。假设 X = (X_1 . . .X_n) 是 n 个独立同分布样本的数据集 。 作者有:
这个命题表明 , 为了测量数据集级别非预期记忆的下界 , 可以将每个样本的记忆相加 。 另一方面 , 训练模型本身的信息内容的熵作为非预期记忆的上界 。 这个命题的另一个含义是 , 非预期记忆应该随数据集大小 scale , 但不能超过模型的总容量 。
用 Kolmogorov 复杂度测量非预期记忆
用似然度估计 Kolmogorov 复杂度
确定了 Kolmogorov 记忆概念后 , 现在描述如何在不同设置中估计 H^K 。 注意 , Kolmogorov 复杂度的精确计算是已知不可计算的(其判定版本是不可判定的) 。 然而 , 仍然可以使用最佳可用压缩方案来近似它 。 在论文中 ,作者总结了如何近似定义中的每个项 。
模型记忆容量
非预期记忆为作者提供了一种有原则的方法 , 用以衡量模型 θ 对某一数据点 x 所掌握的确切比特数 。
如果将数据集中每个数据点的信息加起来 , 就可以衡量模型对整个数据集所掌握的总比特数 。 并且 , 在由于每个数据点完全独立而无法进行泛化的情况下 , 可以通过对每个数据点的非预期记忆进行求和来估计给定模型 θ 的容量 。
定义模型容量
作者首先对特定语言模型 θ 的这种记忆容量概念进行形式化 。 容量是指在 θ 的所有参数中可以存储的记忆总量 。
用合成序列测量模型容量
实验
实验结果
图 2 展示了不同模型规模和数据量下的记忆情况 。 这样 , 便可以将不同数据集规模 (x 轴) 下的非预期记忆量 (y 轴) 进行可视化 , 并按模型规模 (线条颜色) 分组 。 研究中观察到 , 一旦模型达到其容量上限 , 便会出现一个明显的平台期 。 当数据集足够大时 , 无论数据规模如何 , 模型的净记忆量都会达到一个上限 。 对于容量充足的模型而言 , 小型数据集会被完全记忆 。
文中将每个模型的容量 , 估计为在所有数据集规模上测得的最大非预期记忆比特数 。 随后 , 在图 6 中将这一容量与模型规模进行了比较 。 有趣的是 , 即便在当前这种小规模实验中 , 也能观察到所测容量(即在所有数据集上测得的最大记忆量)与模型参数数量之间 , 存在一种非常平滑的对应关系 。 图 6 中呈现了这种关系:在当前的实验设置下 , 文中所述模型每参数能稳定记忆 3.5 至 3.6 比特的信息 。
这印证了先前研究的发现 , 即事实性信息的存储量与模型容量成线性关系 。 文中的估计值略高于 Allen-Zhu & Li (2024) 的结果 —— 他们通过量化方法估计模型每参数约可存储 2 比特信息 。
由于模型是通过梯度下降进行学习的 , 因此并不能保证找到全局最优解;所以 , 作者所测量的始终是模型容量的一个下限 。 作者进一步仔细研究了训练曲线 , 以分析一个包含 800 万参数的语言模型的收敛情况 。 图 6 展示了模型在训练过程中的收敛动态 。
可以看到 , 对于样本量从 16000 到 400 万的各个数据集 , 其记忆的比特数均在 3.56×10^6 到 3.65×10^6 的范围内 。 这表明测量结果在一个数量级内具有稳健性 , 并且作者认为 , 即使进行更多的训练迭代 , 模型能记忆的信息量也不会有显著增加 。 这一发现也印证了作者的假设:即模型的容量与参数数量大致成正比 。
其中 , 两个最大的数据集(样本量分别为 400 万和 800 万) , 其收敛后的总记忆量分别为 2.95×10^6 和 1.98×10^6 比特 。 作者预计 , 若进行更多轮次的训练 , 这些模型所记忆的数据总量将继续向其容量上限增长 。
精度如何影响容量?
一个很自然的问题是:对 α 的估计值 , 在多大程度上取决于语言模型训练时所用的精度?
事实上 , 尽管多数软件默认采用 32 位精度进行训练 , 但近期研究已表明 , 即使将语言模型量化到每参数不足 2 比特的水平 , 它们仍能保留大部分原有功用 。
鉴于所有其他实验均在 bfloat16 精度下进行 , 作者特地在完整的 fp32 精度下重做了这些实验 , 以分析其对容量的影响 。
结果显示 , 对于不同规模的模型 , 容量均略有提升 , α 的平均值也从 3.51 比特 / 参数增加到了 3.83 比特 / 参数 。
这一增幅远不及参数 θ 比特数实际达到的两倍增长 , 这表明 , 当精度从 bfloat16 提升至 float32 时 , 模型中增加的额外比特 , 大部分并未被用于原始数据的存储 。
更多信息请参见原文 。
推荐阅读
- 千元影像旗舰——荣耀200,暑期出游最佳伴侣
- 华为MateBook Fold深度体验:史上最特别,PC大革命?
- 最新!Ilya现身多大毕业演讲:AI会完成我们能做的一切
- 追求概率质量的帕累托最优:广义α-β散度引导知识蒸馏框架ABKD
- 算力瓶颈破局,华为再提速
- 最新5G用户数据拆解,中国广电离“半个小目标”还有多远?
- 蓝牙音箱哪款最好?2025力荐10大公认音质最好蓝牙音箱!
- 别用管理员账号登录Windows!微软:家用电脑最严重的安全漏洞
- iPhone 17系列或将支持最新Qi 2.2标准:充电功率最高达50W
- 有一种人,他从来没有用过小米,却最讨厌小米
