我们交给它什么,它又可能还出什么
把一段文字、一张图片或一个文件放进人工智能服务,会触发四件不同的事,而使用条款常常把它们并成一句话。本章要把它们分开,因为每一件的风险都不一样。
“人工智能是不是在监视我?”这个问题没法核实:它太笼统,一个回答无法判定真假。能核实的问题要窄得多:我刚放上去的东西,将来有一天会不会在别人面前冒出来?这个问题有可测量的答案,而答案取决于四个必须先分清的动作。
“交出去”这一下并成的四件事
同一次上传文件,最多会触发四项操作。它们既不是同样地不可避免,后果也不一样。
- 读取,为了当下回答
- 内容被切成单位,放进模型的上下文,模型据此算出回答。这项操作不可避免:这正是我们要求服务做的事。它随着回答一起结束。
- 保存,存在服务方的服务器上
- 内容和回答被记录下来,用于对话历史、处理举报、内容审核。保存期限是服务方的一项决定,不是模型的属性。
- 再训练,把这份内容和别的内容放在一起
- 内容进入用于训练下一版模型的数据池。从这里开始,一次上传不再是一次交换,而变成了一份长期的贡献,而且当事人往往并不想这样。
- 还原输出,在以后,给另一个人
- 一个在某份内容上训练过的模型,可能会在另一个人问出一个普通问题时,把它一字不差地复现出来。这不是一种假设:这是下面所引研究测出来的结果。
前两项操作属于服务方的政策,可以读、也可以拿来比较。后两项属于模型的运作方式,而这正是本章要解释的。
模型会记住,而这是可测量的
模型里没有一个数据库,能让人从里面找回它读过的文本。它的训练数据并不是整整齐齐地存放在它内部:那些数据改变了它的参数。所以“记忆”这个词容易让人误解。但事实仍然是:整段文字会冒出来,而研究知道这在什么条件下发生。
2021 年,Nicholas Carlini 带领的一个团队从一个语言模型里提取出了数百条从训练数据一字不差复现的序列,其中包括可识别到个人的信息。所用的方法完全不是什么绕过手段:就是普通的提问。找回的某些序列,在原始数据里只出现过一次。
2023 年的第二项研究测量了什么会让这个现象变大。三个因素,各自单独得到确立。
- 模型的规模。参数越多,记住的越多。
- 某个样本在数据里的重复。出现过多次的内容比只出现一次的内容更容易冒出来。
- 要求续写之前放进上下文的文本长度。开头给得越长,被还原输出的可能性越大。
到这一步还有一个疑问没解决:这些演示针对的也许是实验室里的模型,和真正被使用的服务无关。同一年的第三项研究作出了回答,它针对的是已经投入生产的模型,包括一个回答受过对齐约束的大众产品,仅靠提问就从中提取出了数千兆字节的训练数据。给模型加约束会降低这个风险,但不会消除它。
这些研究测量的是以后可能向第三方还原输出的情况。它们记录的并不是你正在打字时有人即时读到你的内容。把两者混起来,就会丢掉这里唯一有用的东西:知道哪一刻承担的是哪一种风险。
读懂一个服务真正说了什么
读一份使用政策,要找的是三种具体表述,而不是一种“看起来挺正经”的总体印象。
这句话盖住了什么
“改进我们的服务”是最常用来盖住再训练、又不点它名字的说法。它既不算撒谎,也没什么信息量。有用的文本会改成说明这份内容被用来做什么,以及由谁来做。
可以拒绝,以及默认值的问题
有时确实可以拒绝再训练,而这项拒绝的形式比它是否存在更重要。默认生效的拒绝保护所有人。要自己钻进设置里去找的拒绝,只保护知道它在那儿的人,也就是几乎没有人。判断一份政策,要看它的默认值,不是看它的选项。
期限,以及期限之后剩下什么
一个保存期限对已经训练好的模型什么都没说。删除一段对话,是从一台服务器上撤掉一条记录;这并不能从模型里撤掉这份内容已经在它里面改变的东西。一个训练好的模型,不会因为注销账号就把某份内容“反训练”掉。
在放上一个文件之前
三个问题,按这个顺序。其中任何一个问题没有答案,本身就是答案。
- 这个服务有没有说清楚,不用绕圈子的说法,上传的内容用来做什么?
- 拒绝再训练是默认行为,还是一个要自己去找的设置?
- 这份内容是不是属于别人的?一份工作卷宗、一份学生作业、一份医疗文件、一张家庭照片,都牵涉到从没同意过的人。
最后这一点最常被忘掉,也是唯一补不回来的一点。为自己接受条款是一种选择。替一个不在场的第三方接受,就不是了。
什么能放上去,什么不能
不存在一份通用清单,因为风险取决于事情的分量。下面这个分法,适用于再训练政策不明确的服务。
- 已经公开的文本,或者本来就准备公开的文本。
- 只与你自己有关、而且公开出去对你毫无代价的内容。
- 重新编过的例子,其中的姓名、日期和金额在上传前都已替换。
- 账号、密码、密钥、访问令牌。
- 健康数据、身份证件、银行账户信息。
- 受职业保密义务保护的文件、带保密条款的合同、人力资源卷宗。
- 未成年人的作业,尤其是在学校情境下交上来的。
- 一旦上传就会牵连到没托你办事的人的内容。
要守住的那个动作
发出去之前先替换。模型的大多数职业用法并不需要真实姓名、真实日期和真实金额:它们需要的是问题的形状。用替代数据重写过的卷宗,能得到同样的帮助,而且什么都不会流进那个数据池。这是本章唯一一个不依赖任何服务方政策的动作。
想再往下走
让模型即使什么都不知道也照样回答的机理,讲在为什么它会编造那一章。数据的构成及其影响,讲在偏见从哪里来那一章。该把这个工具收起来的情形,汇集在什么时候不要用它。同一话题还有一篇更短的文章发在博客上:上传的文件后来怎么样了。课程目录在理解页面。
来源
- Extracting Training Data from Large Language Models Nicholas Carlini, Florian Tramer, Eric Wallace, Matthew Jagielski, Ariel Herbert-Voss, Katherine Lee, Adam Roberts, Tom Brown, Dawn Song, Ulfar Erlingsson, Alina Oprea, Colin Raffel,2021 年。该文确立:仅靠向模型普通提问,就一字不差地提取出了数百条存在于训练数据中的文本序列,其中包含可识别到个人的信息。
- Quantifying Memorization Across Neural Language Models Nicholas Carlini, Daphne Ippolito, Matthew Jagielski, Katherine Lee, Florian Tramer, Chiyuan Zhang,2023 年。该文确立:记忆量随模型规模、随一个样本在数据中被重复的次数、以及随放进上下文的文本长度而增加。
- Scalable Extraction of Training Data from (Production) Language Models Milad Nasr, Nicholas Carlini, Jonathan Hayase, Matthew Jagielski, A. Feder Cooper, Daphne Ippolito, Christopher A. Choquette-Choo, Eric Wallace, Florian Tramer, Katherine Lee,2023 年。该文确立:通过一次简单的攻击,从真正投入生产的模型中提取出了数千兆字节的训练数据,其中包括一个经过对齐的大众产品模型。
- Datasheets for Datasets Timnit Gebru, Jamie Morgenstern, Briana Vecchione, Jennifer Wortman Vaughan, Hanna Wallach, Hal Daumé III, Kate Crawford,2018 年。该文确立:已有一套标准化提案,用来记录一份数据集的来源、构成和收集方式,以便在发现问题时能回溯到源头,而不是等模型上线之后才发现。