训练数据提取
训练数据提取是一种攻击:向 AI 模型输入精心设计的内容,使模型原样输出训练时记住的原文(个人信息、代码、文档等)。
通俗解释 就像给一个听过无数遍某首歌的人唱出第一句,他就能把后面的歌词一口气背出来。模型也一样,对于经常见到的文本,只要给出开头,就能原样续写后面的内容。
工作原理
模型有时会把训练数据中多次重复的文本或独特的字符串整段记住。攻击者先让模型生成大量文本,或者给出某种特定格式的开头(比如邮件签名)让模型续写。接着用成员推断技术挑出“看起来是背下来的”候选内容,再与真实的公开资料比对,确认是否为原文。还有一种已知方法是用奇怪的提示词让模型偏离正常行为,从而倾倒出记住的内容。
提取攻击的筛选过程
大量生成
挑选候选
确认原文
为什么重要
从网上收集的训练数据中可能混有电话号码、地址、API 密钥等信息。如果企业用内部文档或客服记录微调了模型,某位客户的信息就有可能出现在其他用户的对话中。这也与受版权保护的文本或代码被原样复现的问题相关。也就是说,模型一旦公开,部分训练数据也可能随之公开。
注意事项
成员推断攻击只问“这条数据是否在训练集中”,而训练数据提取直接取出内容本身,因此造成的损害更直接。同一段文本重复越多,越容易被记住,所以去重是重要的防御手段。此外还会配合使用训练前的个人信息去标识化、差分隐私以及输出阶段的敏感信息过滤。还有一点值得记住:模型越大,可能记住的内容越多。
示例
用内部数据微调了聊天机器人的企业,会在上线前让红队尝试提取攻击,例如“给出客户姓名的开头让模型续写”。如果真的输出了客户信息,就对训练数据去重、遮蔽个人信息后重新训练,或者增加输出过滤器来防止泄露。