Meta联合Google新作:语言模型到底“记”了多少东西?


Meta联合Google新作:语言模型到底“记”了多少东西?

仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接

想象一下,你让一个LLM去读互联网上所有的书和网页。读完之后,你问它一个问题,它回答得头头是道。这时候,你心里可能会犯嘀咕:
它是真的理解了知识,融会贯通了?
还是纯粹靠死记硬背,碰巧背过这个答案?
它脑子里到底塞了多少原文原句?
论文:Howmuchdolanguagemodelsmemorize?链接:https ://arxiv. org/pdf/2505. 24832
这篇论文的作者们,想搞清楚这个核心问题:现代语言模型,到底“记忆”了多少它的训练数据?而且,他们不满足于模糊的猜测,而是发明了一种方法,像给记忆“上秤”一样,精确地量出了模型“记住”了多少比特的信息!
以前的研究想搞清楚模型“记”了多少,主要靠两招:
“复读机”测试:想办法让模型把训练数据里的原句一字不差地“吐”出来。如果能吐出来,就认为是“记”住了。
“查户口”攻击:想办法判断一段话是不是模型“见过”(在训练数据里)。
但这两招都有大问题!
“复读机”不准:你让模型算“1+1=?”,它当然说“2”,但这不代表它“背”过“1+1=2”这个具体句子,它可能是真的理解了加法规则!更麻烦的是,模型可以被“诱导”说出几乎任何东西,不管它见没见过。另外,模型也可能记住了关键信息(比如每隔一个词),但不会完全复述。
“查户口”太糙:这种方法通常在整体数据层面有效,很难精确知道模型对某个特定数据点(比如某本特定的书、某个具体的句子)到底记住了多少。
核心挑战在于:无法清晰地区分模型是在“死记硬背”(记忆特定样本)还是在“融会贯通”(学习通用规律)。
为了解决这个难题,科学家们祭出了“信息论”这个法宝。他们的核心思路是:
信息就是压缩!如果一个东西能被压缩得很小,说明它包含的信息少(或者有很好的“规律”可以压缩)。反过来,如果一个东西很难被压缩,说明它信息量很大(或者很“乱”)。
定义“意外记忆”:科学家把模型的“记忆”拆成了两部分:
意外记忆(UnintendedMemorization):指模型记住的那些特定数据集本身的、独特的、对理解世界规律没啥帮助的细节信息。比如,某个训练文档里有个特别生僻的单词组合。
泛化知识(Generalization):指模型学到的关于真实世界数据生成规律的知识。比如,学会了语法规则、常见概念、逻辑推理能力等。
用“比特”量化:他们提出了一个巧妙的定义和测量方法(基于柯尔莫哥洛夫复杂度):
核心想法是:如果有了模型,能把某个数据点压缩得比没有这个模型时短很多,那么多压缩掉的那部分比特数,就可以认为是模型对这个数据点的“意外记忆”量。
简单公式(理解意思即可):意外记忆≈(没有模型时压缩数据X需要的长度)-(有模型时压缩数据X需要的长度)
他们用模型的“概率”(似然)来近似计算这个压缩长度,这在实际操作中是可行的。
这就像:
没有模型时,描述一段文字可能需要1000个比特。
有了某个训练过的模型A,描述同一段文字可能只需要800个比特(因为模型A“认识”这段文字,提供了帮助)。
那么,模型A对这段文字的“意外记忆”量大约是1000-800=200比特。
有了这个“记忆秤”,科学家们开始做实验了。他们的第一个目标:搞清楚语言模型的“脑容量”到底有多大?也就是它最多能“死记硬背”多少比特的信息?
为了完全排除“理解/泛化”的干扰,他们用了最“笨”的数据:完全随机、均匀采样生成的比特串序列。这种数据没有任何规律可学,模型能做的唯一事情就是死记硬背!
作者们训练了数百个不同大小(从50万参数到15亿参数)的类GPT(Transformer)模型,用不同大小的随机数据集去“喂”它们,然后用他们的新方法测量模型到底“记”住了多少比特。
发现:
记忆有上限!模型不是数据越多就记得越多。当数据集大到一定程度,模型记住的总比特数就不再增加了,达到了它的容量极限。
惊人的线性关系:这个容量极限(总比特数)和模型的参数数量呈现非常漂亮的线性关系!
关键数字:~3. 6比特/参数!他们计算出,对于这些类GPT模型(使用bfloat16半精度训练),平均每个参数能存储大约3. 6比特的“死记硬背”信息!
比如,一个10亿参数(1B)的模型,其“死记硬背”的容量大约是3. 610^9比特≈450MB。
有趣的是:即使把模型精度从半精度(bfloat16)提升到全精度(float32),容量也只从约3. 51比特/参数增加到约3. 83比特/参数。这说明模型在高精度下并没有充分利用多出来的比特来增加“死记硬背”的容量,这些额外比特可能更多地服务于复杂的计算和学习过程。
训练过程印证:观察训练过程,当模型在随机数据上训练时,其记忆的总比特数最终会稳定在一个平台值(接近其容量),即使再增加训练数据或时间,增长也非常有限。
这就像测出了一个“记忆硬盘”的容量:GPT类模型平均每个参数能存3. 6比特的“原文”。
测完了“死记硬背”的容量,科学家们转向了真实的文本数据。真实文本是有规律可循的,模型不仅能“记”,更应该能“理解”和“泛化”。
他们用同样的方法,训练不同大小的模型在不同大小的真实文本数据集(经过严格去重)上,测量它们的“意外记忆”和泛化能力(通过训练/测试损失衡量)。
发现:
“塞满脑子”前:当训练数据集的大小小于模型容量时,模型主要靠“死记硬背”来降低训练误差(记住具体的样本细节)。测试误差(泛化能力)改善不大甚至可能变差。
“开窍”的转折点:当训练数据集的大小超过模型容量时,神奇的事情发生了!模型无法再单纯依靠“死记硬背”来应对所有数据了(容量不够用了)。这时,模型被迫开始寻找数据中的通用模式和规律(泛化)来更有效地压缩信息。
“双下降”现象:在这个转折点附近,会出现著名的“双下降”现象:训练损失继续下降,而测试损失(泛化误差)会先上升(模型“懵”了,死记硬背不够用了),然后随着模型真正学会泛化而开始显著下降!论文指出,双下降的开始点,正是数据量(按比特算)超过模型容量的时刻!
“意外记忆”的转变:在容量饱和之前,“意外记忆”总量随着数据增加而增加(模型努力记住更多细节)。当容量饱和后,继续增加数据量,“意外记忆”总量不再增加(容量上限卡住了),模型开始用学到的泛化知识“覆盖”掉一些不那么重要的样本细节记忆,导致对单个样本的平均“意外记忆”量反而会下降。
“复读”的真相:在超大、严格去重的数据集上训练后,模型如果还能“复述”出一些文本,这些几乎完全归功于它的“理解/泛化”能力,而不是因为它“背”过原句。它能“造”出来,是因为它理解了语言规律。
这就像学习:
初期(小数据):主要靠死记硬背例题。
瓶颈期(数据量≈脑容量):死记硬背不够用了,学得有点混乱,做题(测试)错误率可能上升。
突破期(大数据量>脑容量):被迫开动脑筋,真正理解背后的原理和公式(泛化),从此做题(测试)错误率大幅下降,活学活用!死记硬背的量达到上限后,新学的通用知识会慢慢替代一些死记的细节。
“查户口”攻击(会员推理攻击-MembershipInferenceAttack,MIA)是隐私研究的热点:试图判断某个数据样本是否在模型的训练集中。
论文利用他们的容量测量和对训练过程的深刻理解,研究了MIA的成功率如何随模型大小和训练数据集大小变化。
核心发现与规律:
模型越大,越能“记”:更大的模型拥有更大的容量,有能力记住更多的训练样本,因此在相同大小的数据集上,大模型的MIA成功率通常更高(它更可能“记”住某个样本)。
数据越多,越难“查”:对于固定大小的模型,随着训练数据集越来越大,MIA的成功率会显著下降。当数据集非常大时,MIA成功率会趋近于0. 5(相当于随机猜)。
预测公式:他们甚至总结出了一个预测MIA成功率(F1分数)的“比例定律”公式:MIA_F1≈0. 5
(1+C1Sigmoid(C2(模型容量/数据集大小)+C3))这个公式表明,MIA成功率主要取决于一个关键比值:模型容量/数据集大小。比值越大(模型相对数据容量很充裕),MIA越容易;比值越小(数据海量,模型容量相对不足),MIA越难。
现实意义:根据他们的定律,像GPT-3、LLaMA等现代超大模型,其训练时使用的Token数/参数比值通常在100以上甚至更高。代入他们的公式预测,这类模型上针对普通数据点进行可靠的MIA攻击,其成功率将非常接近0. 5(随机水平)!他们在GPT-2Small(125M)和GPT-2XL(1. 5B)上进行的验证实验也支持了这一预测。这说明,在超大规模模型+海量数据训练的场景下,判断单个普通样本是否在训练集中是极其困难的。
这就像大海捞针:
小池塘(小模型+小数据):找到特定的针(判断某数据是否在训练集里)相对容易。
大仓库(大模型+中等数据):找针难度增加。
太平洋(超大模型+海量数据):想找到某一根特定的针(普通样本),几乎不可能!模型容量虽大,但面对数据的汪洋大海,它也只能记住极少数最独特(如包含罕见词、外语)的样本,对于普通样本,更多是靠泛化能力来“处理”,而不是“记住”它本身。
这篇论文通过创新的“信息论秤”,首次清晰地测量和解构了语言模型的记忆能力,得出了几个颠覆认知的重要结论:
容量可量化:语言模型的“死记硬背”容量是有限的,并且可以精确测量。GPT类模型的容量约为3. 6比特/参数。
记忆分两种:必须区分“意外记忆”(死记特定数据细节)和“泛化知识”(理解通用规律)。模型的目标是最大化后者,最小化前者。
学习有转折:模型在数据量超过其容量时,才会被迫从“死记硬背”转向“理解泛化”,此时会出现“双下降”现象,标志着真正的“开窍”(Grokking)。
隐私新视角:模型越大、训练数据越多,针对普通训练样本的“查户口”(会员推理)攻击越难成功。超大模型+海量数据的组合,对普通数据点提供了某种程度上的“隐私”保护(难以追溯来源),除非样本本身极其独特(如包含大量罕见词或外语)。
理解模型行为:这项工作为我们理解语言模型如何学习、存储信息提供了更坚实的基础。它解释了为什么模型有时能“复述”,有时又能“创造”;为什么训练需要海量数据才能达到最佳泛化;以及模型能力的物理极限在哪里(每个参数3. 6比特的“死记”上限)。
简而言之:语言模型有个“记忆硬盘”,容量约3. 6比特/参数。当数据塞满这个硬盘后,它就被迫开始“动脑筋”理解规律了。塞进去的数据越多越杂,想从模型里反查出某条数据是否被塞过就越难!这项研究不仅深化了我们对AI的理解,也为评估模型隐私风险提供了更科学的依据。
备注:昵称-学校/公司-方向/会议(eg. ACL),进入技术/投稿群
id:DLNLPer,记得备注呦


文章作者: ZejunCao
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ZejunCao !
  目录