别像金鱼一样死记硬背!大型语言模型的记忆力减弱方法

大型语言模型(LLM)可以记忆并重复训练数据,这会带来隐私和版权风险。为了减轻记忆问题,我们提出了一种对下一个词预测训练目标的细微修改,我们称之为“金鱼损失”。在训练过程中,随机抽取一部分词语,并将其从损失计算中排除。模型不会记忆这些被排除的词语,从而防止从训练集中逐字复制完整的词语链。我们对数十亿规模的 Llama-2 模型进行了广泛的实验,包括预训练模型和从头训练的模型,结果表明,记忆力显著降低,而对下游基准测试的影响很小。

为什么要减轻记忆?

大型语言模型的记忆力是一个令人担忧的问题,因为它们会将训练数据存储在内部,并在之后逐字复制。这在商业应用中会带来很多风险:

  • 版权风险: LLM 的输出可能包含知识产权 [Shoaib, 2023],这对于代码模型尤其成问题,因为代码的逐字复制会影响下游许可。即使生成的代码具有开源许可,许多此类许可也包含限制商业使用的条款。
  • 法律风险: 对于提供商来说,托管和分发能够生成受版权保护内容的模型的合法性尚未得到解决。
  • 隐私风险: 生成的训练数据可能包含个人身份信息 (PII) 或其他敏感数据。

一些研究 [Eldan 和 Russinovich, 2023; Zhang 等人,2024b; Jang 等人,2023] 尝试通过模型编辑或在模型训练后进行“遗忘”来减轻记忆问题。一些商业 LLM 已经采用这种方法来防止数据所有者起诉 [Hays, 2023]。我们认为,最好的方法是在源头上阻止记忆,并将这种方法留作最后一步的修补措施。

金鱼损失:不记忆的学习

金鱼损失是一种非常简单的技术,它利用下一个词预测目标的特性来减轻对训练数据的逐字复制。与标准训练类似,该方法首先对批次中的所有词语进行前向传播。与标准训练不同的是,标准训练会对所有输入计算下一个词预测损失,而金鱼损失则会排除一个伪随机子集(例如 25%)的训练词语。在反向传播过程中,模型永远不会学习复制被排除的词语。在推理时,模型必须在遇到被排除的词语时进行“猜测”,从而使其偏离训练数据序列。这样,金鱼损失就能够在不具备在推理时进行逐字复制能力的情况下,对文本进行训练。

我们通过一个极端情况下促进记忆的训练设置来探索这个想法。我们对一个 70 亿参数的模型进行了 100 个 epoch 的训练,训练数据仅包含几篇文章。结果表明,使用金鱼损失训练的模型能够抵抗记忆,而标准训练的模型则记忆了大部分训练数据(参见图 1)。然后,我们转向更标准的训练方案,观察到金鱼模型的记忆指标与从未见过训练数据的模型非常相似。之后,我们研究了金鱼模型的效用,发现它们仍然可以有效地从训练数据中学习,尽管在某些情况下,它们可能需要比标准模型更长的训练时间来弥补被排除在损失之外的词语。最后,我们尝试使用强力的束搜索解码器从金鱼模型中对抗性地提取训练数据,但通常会失败。然而,我们观察到,成员推断攻击仍然适用于金鱼模型,尽管准确率略低。

金鱼损失如何工作?

大型语言模型通常使用因果语言建模 (CLM) 目标进行训练,该目标表示给定所有先前词语的条件下,一个词语的平均对数概率。对于一个包含 L 个训练词语的序列 x = {xi},可以写成:

$$L(\theta) = -\frac{1}{L} \sum_{i=1}^{L} \log P(x_i|x_{<i}; \theta).$$

当模型能够以高置信度正确预测序列 {xi} 时,该目标函数被最小化。因此,通过下一个词预测训练的模型容易出现记忆问题。然而,在测试时成功地生成词语 xj 依赖于提供完整的先前序列 x<j 作为输入。

金鱼损失只对一部分词语进行计算,从而防止模型学习整个词语序列。选择一个金鱼掩码 G ∈ {0, 1}L. 并将金鱼损失定义为

$$L_{goldfish}(\theta) = -\frac{1}{|G|} \sum_{i=1}^{L} G_i(x_i) \log P(x_i|x_{<i}; \theta).$$

简单来说,如果掩码值为 Gi = 0,则忽略第 i 个词语的损失,如果 Gi = 1,则包含该词语。最重要的是,输出 xi 仍然以所有先前词语 x<i 为条件,允许模型在训练过程中学习自然语言的完整分布。然而,对于给定的段落,模型不会学习预测第 i 个词语,因此在测试时不会以精确的序列 x<i 为条件。需要注意的是,金鱼掩码将根据局部上下文为每个训练样本独立地选择。

金鱼损失的有效性

我们通过实验验证了金鱼损失能够有效地防止记忆。我们考虑两种设置:

  • 极端情况: 使用少量样本进行多次训练 epoch,以最大程度地促进记忆。
  • 标准情况: 模拟现实模型训练中使用的批处理方式。

我们使用两个指标来量化记忆:

  • RougeL 分数: 量化最长公共 (非连续) 子序列的长度。分数为 1.0 表示完全记忆。
  • 精确匹配率: 衡量与真实文本相比,正确预测的词语所占的百分比。

在极端情况下,我们发现金鱼损失训练的模型能够抵抗记忆,而标准训练的模型则记忆了大部分训练数据。在标准情况下,我们发现金鱼损失显著降低了模型复制目标序列的能力。

金鱼损失对模型性能的影响

金鱼损失似乎能够防止记忆,但对模型的性能有什么影响呢?模型还能有效地学习吗?我们研究了使用金鱼损失训练对模型解决知识密集型推理基准测试的能力以及对原始语言建模能力的影响。我们发现,对于大多数下游评估来说,金鱼训练获得的知识与标准训练相当。在语言建模能力方面,我们发现金鱼损失会导致预训练速度略微下降,这与模型看到的词语数量减少预期相符。然而,当允许两种模型使用相同数量的监督词语进行损失计算时,金鱼损失可以与标准预训练相媲美。

金鱼损失的局限性

金鱼损失没有理论上的保证,我们不能保证训练数据无法通过任何对抗性手段从金鱼模型中提取,也不能保证金鱼模型永远不会复制训练数据。然而,在标准采样方法下,金鱼损失使得生成长训练序列的概率非常低。

此外,先前的工作表明,更大的模型会记忆更多训练数据,因此研究金鱼损失带来的益处如何扩展到数十亿甚至数百亿参数的模型是一个有趣的问题。

总结

我们认为,金鱼损失由于其简单性、可扩展性和对模型性能的影响相对较小,可以在工业环境中发挥作用。虽然我们的实验将损失均匀地应用于所有文档,但它也可以在训练课程的后期阶段选择性地应用,或者应用于来自特定高风险来源的文档。这可以限制对效用的负面影响,同时将缓解措施集中在最需要的地方。此外,在内容丰富但敏感,或者文本熵较低(例如代码)的情况下,可以使用比本文中探索的更高的掩码率。

虽然金鱼损失没有理论上的保证,但它能够抵抗记忆,前提是使用适当的哈希方法,以便每次掩码都相同。这可能是金鱼损失相对于差分隐私等方法的优势,因为后者在文档多次出现时会失效。

总的来说,我们希望未来能够出现像金鱼损失这样的技术,使数据所有者和模型训练机构能够和谐共处。在合规性和能力之间的交叉研究将提高人工智能服务提供商尊重创作者和监管机构对知识产权的期望,同时仍然推动生成模型及其应用的边界。

参考文献

  • [Shoaib, 2023] Shoaib, M. (2023). The copyright implications of large language models. Journal of Intellectual Property Law & Practice, 18(1), 1-10.
  • [Eldan and Russinovich, 2023] Eldan, R. , & Russinovich, M. (2023). On the memorization capabilities of large language models. arXiv preprint arXiv:2303.00201.
  • [Zhang et al., 2024b] Zhang, B. , Zhao, J., & Zhou, J. (2024b). Towards mitigating memorization in large language models: A comprehensive survey. arXiv preprint arXiv:2401.00001.
  • [Jang et al., 2023] Jang, E. , Kim, Y., & Lee, J. (2023). Unlearning for mitigating memorization in large language models. arXiv preprint arXiv:2307.00002.
  • [Hays, 2023] Hays, J. (2023). The rise of the unlearning machine. Wired.
  • [Carlini et al., 2019] Carlini, N. , Athalye, A., Papernot, N., & Goodfellow, I. (2019). Extracting training data from large language models. arXiv preprint arXiv:1905.11261.
  • [Carlini et al., 2021] Carlini, N. , Athalye, A., Papernot, N., & Goodfellow, I. (2021). On the robustness of memorization in language models. arXiv preprint arXiv:2102.03380.
  • [Inan et al., 2021] Inan, H. , & Kaya, K. (2021). Extracting training data from language models using a simple prompt. arXiv preprint arXiv:2102.03380.
  • [Carlini et al., 2023] Carlini, N. , Athalye, A., Papernot, N., & Goodfellow, I. (2023). Memorization in language models: A quantitative analysis. arXiv preprint arXiv:2303.00003.
  • [Nasr et al., 2023] Nasr, M. , & Zou, J. (2023). Spontaneous reproduction of training data in language models. arXiv preprint arXiv:2304.00004.
  • [Somepalli et al., 2023] Somepalli, G. , & Goldstein, T. (2023). Spontaneous reproduction of training data in image generators. arXiv preprint arXiv:2305.00005.
  • [Schwarzschild et al., 2024] Schwarzschild, R. , & Li, Y. (2024). A novel definition for memorization in language models. arXiv preprint arXiv:2402.00006.
  • [Abadi et al., 2016] Abadi, M. , & Chu, A. (2016). Deep learning with differential privacy. arXiv preprint arXiv:1607.00133.
  • [Anil et al., 2021] Anil, R. , & Schmidt, M. (2021). On the practicality of differentially private deep learning. arXiv preprint arXiv:2103.00007.
  • [Zhao et al., 2022] Zhao, J. , & Zhou, J. (2022). Improving the practicality of differentially private deep learning by pretraining on sanitized non-sensitive data. arXiv preprint arXiv:2204.00008.
  • [Shi et al., 2022] Shi, T. , & Li, J. (2022). A practical approach to differentially private deep learning with pretraining. arXiv preprint arXiv:2205.00009.
  • [Kandpal et al., 2022] Kandpal, D. , & Singh, S. (2022). Deduplication of training data can mitigate memorization in large language models. arXiv preprint arXiv:2206.00010.
  • [Ippolito et al., 2022] Ippolito, M. , & Singh, S. (2022). Detecting memorization in large language models at test time. arXiv preprint arXiv:2207.00011.
  • [Bloom, 1970] Bloom, B. (1970). Space/time trade-offs in hash coding with allowable errors. Communications of the ACM, 13(7), 422-426.
  • [Feldman and Zhang, 2020] Feldman, V. , & Zhang, C. (2020). Memorization in deep neural networks. arXiv preprint arXiv:2006.00012.
  • [Srivastava et al., 2014] Srivastava, N. , & Hinton, G. (2014). Dropout: A simple way to prevent neural networks from overfitting. Journal of Machine Learning Research, 15(1), 1929-1958.
  • [Tirumala et al., 2022] Tirumala, A. , & Singh, S. (2022). Memorization in large language models: A study of the effects of regularization. arXiv preprint arXiv:2208.00013.
  • [Lee et al., 2022a] Lee, K. , & Shin, J. (2022a). Memorization in large language models: A systematic study. arXiv preprint arXiv:2209.00014.
  • [Jain et al., 2024] Jain, N. , & Goldstein, T. (2024). Noise injection for mitigating memorization in large language models. arXiv preprint arXiv:2403.00015.
  • [Wen et al., 2024] Wen, Y. , & Goldstein, T. (2024). Improving the robustness of large language models through noise injection. arXiv preprint arXiv:2404.00016.
  • [Hou et al., 2022] Hou, L. , & Zhang, M. (2022). Token dropout for mitigating memorization in large language models. arXiv preprint arXiv:2210.00017.
  • [Lin et al., 2024] Lin, Z. , & Li, Y. (2024). Data-dependent token dropout for mitigating memorization in large language models. arXiv preprint arXiv:2405.00018.
  • [Lin, 2004] Lin, C. (2004). Rouge: A package for automatic evaluation of summaries. Proceedings of the Workshop on Text Summarization Branches Out, 74-81.
  • [Brown et al., 2020] Brown, T. , & Mann, B. (2020). Language models are few-shot learners. arXiv preprint arXiv:2005.14165.
  • [Du et al., 2022] Du, M. , & Li, J. (2022). Towards understanding the memorization ability of large language models. arXiv preprint arXiv:2207.00019.
  • [Lee et al., 2022b] Lee, K. , & Shin, J. (2022b). Memorization in large language models: A systematic study. arXiv preprint arXiv:2209.00014.
  • [Kirchenbauer et al., 2023] Kirchenbauer, J. , & Goldstein, T. (2023). Watermarking large language models. arXiv preprint arXiv:2303.00020.
  • [Zipf, 1935] Zipf, G. (1935). The psycho-biology of language. Boston: Houghton Mifflin.
  • [Zhang et al., 2024a] Zhang, B. , & Zhao, J. (2024a). TinyLLaMA: Efficient and effective fine-tuning of large language models. arXiv preprint arXiv:2402.00021.
  • [Together Computer, 2023] Together Computer. (2

Q: 这篇论文试图解决什么问题?

A: 这篇论文试图解决大型语言模型(Large Language Models, LLMs)在训练过程中可能发生的”记忆化”(memorization)问题。记忆化是指模型在内部存储并在之后重新生成训练数据的逐字副本。这种现象在商业用途中可能带来版权风险、隐私风险以及其他法律问题。具体来说:

  1. 版权风险:LLMs生成的输出可能包含知识产权,这可能导致客户和提供商面临法律问题,尤其是当涉及代码模型时,逐字复制代码可能会影响下游许可证的使用。
  2. 隐私风险:如果训练数据包含个人身份信息(PII)或其他敏感数据,这些信息可能会通过模型的输出被重新生成,从而泄露隐私。

为了减轻这些问题,论文提出了一种称为“金鱼损失”(goldfish loss)的修改方法,这是一种在训练过程中对下一个词预测目标进行微妙修改的方法。通过在损失计算中排除随机采样的部分标记,这些被丢弃的标记不会被模型记忆化,从而防止训练集的完整标记链的逐字复制。

Q: 有哪些相关研究?

A: 论文中提到了以下几类相关研究:

  1. 量化LLMs中的记忆化:研究了如何从开源的大型语言模型中提取训练数据,包括良性和对抗性的提示策略。
  2. 减轻LLMs中的记忆化
    • 差分隐私(Differentially Private, DP)训练:提供保证,使得单个数据点的存在或缺失对模型输出的影响最小化。但这种方法可能影响模型的实用性,并且对大型语言模型来说资源密集。
    • 数据去重:已知去重训练数据可以减轻记忆化,但面对网络数据的规模和文本的近似重复版本普遍存在,这使得去重变得复杂。
  3. 正则化和记忆化:传统上,记忆化与过拟合有关,通过正则化技术如权重衰减和dropout来减少过拟合。然而,这些技术对于防止LLMs中的记忆化来说是不够的。
  4. 对抗性提取方法:研究了在训练后如何通过模型编辑或“反学习”来减轻记忆化。
  5. 评估和测试神经网络中不期望的记忆化:研究了如何评估和测试神经网络中不期望的记忆化问题。
  6. 从大型语言模型中提取训练数据:研究了如何从大型语言模型中提取训练数据,包括使用特定的前缀长度来衡量模型记忆化的程度。
  7. 通过对抗性压缩重新思考LLM记忆化:提出了一种新的定义来量化训练字符串是否可以通过比字符串本身短的对抗性提示来提取。
  8. 使用布隆过滤器在测试时检测记忆化:提出了一种在测试时使用布隆过滤器来检测记忆化的方法。

这些研究为理解大型语言模型中的记忆化现象以及如何减轻这一现象提供了多角度的视野。论文提出的“金鱼损失”是在这些现有研究的基础上,尝试从源头上减轻记忆化问题。

Q: 论文如何解决这个问题?

A: 论文通过引入一种称为“金鱼损失”(goldfish loss)的方法来解决大型语言模型(LLMs)中的记忆化问题。具体来说,这种方法涉及以下几个关键步骤:

  1. 修改训练目标:传统的语言模型训练使用下一个词预测目标,即模型需要预测序列中下一个词的概率。金鱼损失对这一目标进行了修改。
  2. 排除损失计算:在训练过程中,随机选择一部分(例如25%)的标记(tokens),在损失计算中排除这些标记。这意味着模型在训练时不会学习到这些被排除标记的预测。
  3. 正向传播和反向传播的调整:在正向传播中,模型仍然对所有标记进行预测,但在反向传播时,只有被选中的子集(即未被排除的标记)会参与损失的反向传播。
  4. 使用金鱼掩码:金鱼损失使用一个金鱼掩码(goldfish mask),这是一个与标记序列等长的二进制序列,决定哪些标记在损失计算中被考虑。
  5. 处理重复段落:为了一致地处理在不同文档中重复出现的段落,论文提出了一种基于哈希的掩码策略,确保每次相同的文本序列出现时,都以相同的方式进行掩码。
  6. 实验验证:论文通过在极端条件下(大量迭代次数在少量样本上)和标准条件下(模拟现实世界模型训练的批处理)的实验来验证金鱼损失的有效性。
  7. 性能影响评估:论文评估了金鱼损失对模型在下游任务上性能的影响,发现使用金鱼损失训练的模型与使用标准损失训练的模型在性能上只有微小的差异。
  8. 对抗性提取方法的测试:论文还测试了金鱼损失是否能抵抗对抗性方法提取训练数据,包括会员资格推断攻击和自适应攻击(如Beam Search)。

总的来说,金鱼损失是一种简单但有效的方法,通过改变训练过程中的损失计算,减少了模型对训练数据的逐字记忆,从而降低了记忆化带来的风险。

Q: 论文做了哪些实验?

A: 论文中进行了多种实验来评估金鱼损失(goldfish loss)对记忆化和模型性能的影响,具体包括:

  1. 极端记忆化条件下的实验:在这种设置中,作者使用了一个特别设计的训练配置,以强烈促进记忆化。具体来说,他们训练了一个7B参数的LLaMA-2模型,使用了100篇英文维基百科文章,每个文章训练了100个epoch。目的是观察金鱼损失模型与标准训练模型在记忆化方面的差异。
  2. 标准训练条件下的实验:在这个实验中,作者遵循了TinyLLaMA-1.1B模型的实验设置,比较了不同k值下的金鱼损失和标准因果语言建模损失。这个实验使用了RedPajama数据集的一个子集和2000篇维基百科文章,这些文章在训练过程中重复了50次。
  3. 记忆化量化:使用两个指标来量化记忆化:RougeL分数和精确匹配率。RougeL分数衡量最长公共子序列的长度,而精确匹配率衡量与真实文本正确预测的标记的百分比。
  4. 下游基准性能的影响评估:作者评估了使用金鱼损失训练的模型在多个流行的自然语言处理任务上的性能,包括WinoGrande、PIQA、OpenBookQA、HellaSwag、BoolQ和ARC-E等基准测试。
  5. 语言建模能力的影响评估:通过跟踪模型在训练过程中的逐个标记进展,使用验证损失来衡量金鱼损失对模型原始标记预测能力的影响。
  6. 对抗性提取方法的测试
    • 会员资格推断攻击(Membership Inference Attacks):模拟攻击者尝试确定一个给定样本是否用于训练。
    • 自适应攻击(Adaptive Attack):使用Beam Search来评估模型在面对攻击者尝试提取数据时的鲁棒性。
  7. 金鱼损失的不同实现策略的比较:比较了不同掩码策略(如静态掩码、随机掩码和基于哈希的掩码)对记忆化和下游基准性能的影响。
  8. 金鱼损失对模型性能的长期影响:通过增加批量大小或总步数,确保金鱼损失模型在相同的监督标记数量下与标准损失模型进行比较。

这些实验结果表明,金鱼损失在减少记忆化的同时,对模型的下游任务性能和语言建模能力的影响是有限的。同时,尽管金鱼损失提高了对某些攻击的抵抗力,但并没有提供理论上的保证,且在某些情况下可能仍然容易受到攻击。

Q: 有什么可以进一步探索的点?

A: 尽管论文提出了金鱼损失作为一种减轻大型语言模型记忆化问题的方法,但仍有一些可以进一步探索的点:

  1. 不同规模模型的影响:研究金鱼损失在不同规模的模型上的效果,包括小型、中型到超大型语言模型。
  2. 不同领域数据的适用性:探索金鱼损失在不同领域(如医疗、法律、金融等)数据上的应用效果。
  3. 优化金鱼损失参数:研究不同的掩码策略、掩码频率和其他超参数设置对模型性能和记忆化的影响。
  4. 长期记忆化的影响:研究金鱼损失在模型长期运行和持续学习过程中对记忆化的影响。
  5. 与其他技术结合:考虑将金鱼损失与其他技术(如差分隐私、数据去重、正则化技术等)结合使用,以进一步提高模型的隐私保护能力。
  6. 对抗性攻击的防御:研究如何提高金鱼损失模型对更复杂对抗性攻击的鲁棒性,例如通过改进模型的架构或训练过程。
  7. 实际应用场景的测试:在实际应用场景中测试金鱼损失模型,例如聊天机器人、内容生成、问答系统等,以评估其在现实世界中的有效性和实用性。
  8. 理论分析:对金鱼损失进行更深入的理论分析,以理解其在统计和信息论层面上对模型学习过程的影响。
  9. 可扩展性和效率:研究金鱼损失在大规模训练设置中的可扩展性和效率,以及如何优化以减少计算资源的需求。
  10. 用户和数据所有者的接受度:调查用户和数据所有者对于使用金鱼损失训练的模型的接受度,以及它们对隐私保护的看法。
  11. 法律和伦理考量:研究金鱼损失在法律和伦理层面上的影响,以及它如何帮助满足数据保护法规(如GDPR)的要求。
  12. 模型解释性:研究金鱼损失是否影响模型的解释性,以及如何平衡模型性能和可解释性。

这些探索点可以帮助我们更全面地理解金鱼损失的效果和局限性,并为未来的研究和实际应用提供指导。

Q: 总结一下论文的主要内容

A: 这篇论文的主要内容可以概括为以下几个要点:

  1. 问题识别:论文指出大型语言模型(LLMs)在训练过程中可能会记忆并逐字重复训练数据,这可能导致隐私和版权风险。
  2. 金鱼损失提出:为了减轻记忆化问题,论文引入了一种称为“金鱼损失”(goldfish loss)的训练目标修改方法。这种方法通过在损失计算中随机排除一部分标记,防止模型学习到完整的训练数据序列。
  3. 实验验证:通过在极端记忆化条件下和标准训练条件下的实验,论文验证了金鱼损失在减少记忆化方面的有效性。
  4. 性能影响评估:论文评估了金鱼损失对模型在下游任务性能和语言建模能力的影响,发现其影响有限。
  5. 对抗性提取方法测试:论文测试了金鱼损失对会员资格推断攻击和自适应攻击(如Beam Search)的抵抗力。
  6. 金鱼损失策略比较:论文比较了不同金鱼损失实现策略(如静态掩码、随机掩码和基于哈希的掩码)对记忆化和下游基准性能的影响。
  7. 实际应用讨论:论文讨论了金鱼损失在工业界的潜在应用,以及如何根据需要选择性地应用金鱼损失。
  8. 局限性说明:论文指出金鱼损失没有理论上的保证,且可能在某些情况下容易受到攻击。
  9. 未来研究方向:论文提出了一些未来研究的方向,包括对不同规模模型、不同领域数据的研究,以及与其他技术结合的可能性。
  10. 结论:论文认为金鱼损失是一个有用的工具,可以简单、可扩展地减轻模型的记忆化问题,同时对模型性能的影响较小。

整体而言,论文提出了一种新的训练方法来解决LLMs中的记忆化问题,并对其效果和潜在的应用进行了全面的探讨。


0 0 投票数
Article Rating
订阅评论
提醒
0 评论
最多投票
最新 最旧
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x