Hubble: a Model Suite to Advance the Study of LLM Memorization
Johnny Tian-Zheng Wei, Ameya Godbole, Mohammad Aflah Khan, Ryan Wang, Xiaoyuan Zhu, James Flemings, Nitya Kashyap, Krishna P. Gummadi, Willie Neiswanger, Robin Jia
cs.CL, cs.LG
2025-10-23
8B把语料从100B加到500B后,同等重复的敏感文本更难记住;1B只在训练前四分之一见过的文本最终会忘掉。
版权段落被原样吐出、履历里的邮箱被问出来、测试集混进训练集后分数虚高,都是 memorization risk(记忆化风险):文本进了参数,之后还能以更低损失或直接生成的方式复现。
小模型加合成数据能算因果,但离商业 LLM 太远。直接看 Pythia 这类已训好的大模型,又分不清一句话被记住是因为它好背,还是因为在网上重复了很多次。「重复几次才记得住」在观测研究里估不出来。Hubble 把插入内容、重复次数和出现时间做成旋钮,在 1B 和 8B 上做可控预训练。南加大与马普所软件系统所把模型、数据和 checkpoint 全部公开。
底座是 Llama 3,词表换成 OLMo 的 5 万(原版约 12.8 万),嵌入与输出不共享,方便读出中间层。8B 用 36 层,Llama 3.1 的 8B 是 32 层。语料是 DataComp-LM 的 dclm-baseline,去污后超过 500B token;100B 版是同一打乱顺序的前 100B。
standard 只训干净语料。perturbed 把文本塞进两篇文档之间,前后加 EOS,不跨序列截断,每条 2048 token 的序列最多一条。扰动分三域:版权是古腾堡热门书与冷门书、截止日期后的维基,以及 MRPC、PAWS 释义对里随机的一句;隐私是 YAGO 模板传记(姓名、国籍、生日、邮箱、UUID 等 9 个属性)、欧洲人权法院案例和随机用户名的 PersonaChat;测试集是 PopQA、WinoGrande 的填空与选择题、MMLU、HellaSwag、PIQA,外加截止日期后的 ELLie 和 MUNCH。
每条随机重复 0、1、4、16、64 或 256 次。重复后约 7990 万 token、81.8 万条序列,占 100B 的 0.08%、500B 的 0.016%,远低于重复超过约 3% 会伤通用能力的经验线。去污删掉 7540 篇撞车文档,不到 0.002%。核心 8 个模型是参数量、是否插入、语料长度的 2×2×2。另有 6 个 1B/100B 时间模型,扰动只落在前半、后半或某个四分之一,再加上单域对照和 gpt-4.1-mini 改写的释义版。训练约 20 万 A100 GPU 小时。
评测被标成下界,分三档:长度归一化的 loss、在候选里选损失最低的 loss-based choice、续写后做精确匹配或词召回。传记攻击从「几乎整篇都给了」到「只给名字」。
同一批扰动、同一次数,8B 训 500B 时几乎各任务都比训 100B 更记不住。重复次数没变,文本在更长的语料里更稀。同样次数下 8B 又比 1B 记得多,更少的重复就能测出记忆。时间实验只在 1B、100B 上做:只出现在前四分之一的文本,训完后记不住;中间 checkpoint 显示,曝光一旦停止,早期内容会被忘掉。全部堆在最后四分之一,比常规 perturbed 更容易抽出。
| 设置 | 对照 | 结果 |
| 8B,同等重复 | 100B vs 500B | 500B 上各域记忆更弱 |
| 1B/100B,插入时机 | 仅前 25% vs 仅后 25% | 前期插入最终记不住;末期插入比常规更易抽出 |
| 8B/100B,YAGO,辅助信息最多 | 重复 16 次 | 准确率接近 100%;只给名字则明显下降 |
| 8B/100B,反推 PersonaChat 用户名 | 重复 64 次,10 选 1 | 34%;拿用户名选人设接近随机 |
| 8B/500B,冷门书 MIA(Loss) | 重复 1 次 vs 64 次 | ROC AUC 0.539 对 0.996 |
| 8B/500B,YAGO 的 Loss / MMLU 的 MinK%++ | 重复 1 次 vs 16 次 | 0.538 对 0.897;0.58 对 0.943 |
| 100B,污染 1 次 | perturbed vs standard | 被污染的 PopQA、HellaSwag、PIQA 上升;未见题几乎不涨,仅 PopQA 略升,WinoGrande 下降 |
单域对照与全量 perturbed 在对应域上吻合,三类文本塞进同一次训练没有搅浑。维基片段在 8B/100B 上,4 次重复时 loss 已显著分开,k-eidetic(给定前缀后逐字抽出一段)要到 16 次。热门书和冷门书在 1B 上几乎无差别,8B 只是热门书的生成抽取略高。职业、邮箱、UUID 的可记性不同。8B 释义模型在高重复下,只给名字的攻击比逐字重复版更准,存下来的是语义。
测试集从 1 次重复就抬高被污染题目的分数,几乎不帮到没见过的题。格式对不上时,WinoGrande 可以随着重复变差。释义污染过的 MMLU,释义模型也答不好。成员推断这里没有 WikiMIA 用截止日期区分成员的那种捷径:重复 1 次时,Loss、MinK%、MinK%++、Zlib 的 AUC 都在 0.52 到 0.58;64 次以上,Loss 和 MinK% 接近或达到 1.0。MinK%++ 整体最强,256 次时冷门书只有 0.949,Loss 已是 1.0。
遗忘在 8B/500B 上试了 RMU、RR 和 SatImp。要删掉一半重复 256 次的样本,留下另一半近邻。三种都到不了目标,模型被推向没见过扰动的 standard,近邻和测试集一起掉。SatImp 离目标近一些。保留集从 WikiText 换成分布内的 Keep,格局不变。
重复次数和出现时间已知,要忘掉的样本和要保留的近邻来自同一分布,standard 模型是从未见过这些文本的参照。TOFU、MUSE 测的是微调之后的遗忘,WikiMIA 用发表日期区分成员,日期本身就会泄漏答案。
敏感文本可以用更大语料稀释,并尽量排到训练早期,这和去重是互补的。漏进一两道题会抬高这几道题的分数,不会让模型学会这项任务,只看总分的污染检测会漏掉这种分裂。通用能力与同规模开源模型大致持平,0.08% 的插入没有把 perturbed 训坏。500B 约是 1B 模型 Chinchilla 最优语料(参数量与 token 数的一个配比)的 22 倍、8B 的 3.7 倍,token 约是 Pythia 的 1.6 倍,离 Llama 3 的 15T 仍远。
「前期会忘」和单域干扰只在 1B/100B 上验证过,8B 与 500B 没有同样的时间实验,更推不到 15T 的前沿模型。插入也不像真实网页:不跨序列,每条序列至多一条,占比不到千分之一。热门书几乎没有多记住。数据密度假说在这里证据不足,这套语料对这批书的讨论可能本来就稀。
同一批维基片段,4 次重复 loss 就显著,16 次才逐字可抽。换成另一个指标,版权解读会换结论。评测被标成下界。三种遗忘方法都擦到了近邻。稀释能降低记忆,论文写明这并不清掉版权或隐私上的责任。8 层对 32 层的深度对照训过,主文没有给出结果。释义来自 gpt-4.1-mini,改写有没有带进新事实,没有单独核完。