编辑:Aeneas 好困

就在刚刚,消息曝出:OpenAI吹哨人,在家中离世。
曾在OpenAI工作四年,指控公司侵犯版权的Suchir Balaji,上月底在旧金山公寓中被发现死亡,年仅26岁。
旧金山警方表示,11月26日下午1时许,他们接到了一通要求查看Balaji安危的电话,但在到达后却发现他已经死亡。
这位吹哨人手中掌握的信息,原本将在针对OpenAI的诉讼中发挥关键作用。
如今,他却意外去世。
法医办公室认定,死因为自杀。警方也表示,「并未发现任何他杀证据」。
他的X上的最后一篇帖子,正是介绍自己对于OpenAI训练ChatGPT是否违反法律的思考和分析。
他也强调,希望这不要被解读为对ChatGPT或OpenAI本身的批评。
如今,在这篇帖子下,网友们纷纷发出悼念。
Suchir Blaji的朋友也表示,他人十分聪明,绝不像是会自杀的人。

吹哨人警告:OpenAI训练模型时违反原则

由于ChatGPT训练集对市场价值的影响,会因数据来源而异,而且由于其训练集并未公开,这个问题无法直接回答。
不过,某些研究可以量化这个结果。
《生成式AI对在线知识社区的影响》发现,在ChatGPT发布后,Stack Overflow的访问量下降了约12%。
此外,ChatGPT发布后每个主题的提问数量也有所下降。
提问者的平均账户年龄也在ChatGPT发布后呈上升趋势,这表明新成员要么没有加入,要么正在离开社区。
而Stack Overflow,显然不是唯一受ChatGPT影响的网站。例如,作业帮助网站Chegg在报告ChatGPT影响其增长后,股价下跌了40%。
当然,OpenAI和谷歌这样的模型开发商,也和Stack Overflow、Reddit、美联社、News Corp等签订了数据许可协议。
但签署了协议,数据就是「合理使用」吗?
总之,鉴于数据许可市场的存在,在未获得类似许可协议的情况下使用受版权保护的数据进行训练也构成了市场利益损害,因为这剥夺了版权持有人的合法收入来源。
书评家可以在评论中引用某书的片段,虽然这可能会损害后者的市场价值,但仍被视为合理使用,这是因为,二者没有替代或竞争关系。
这种替代使用和非替代使用之间的区别,源自1841年的「Folsom诉Marsh案」,这是一个确立合理使用原则的里程碑案例。
问题来了——作为一款商业产品,ChatGPT是否与用于训练它的数据具有相似的用途?
显然,在这个过程中,ChatGPT创造了与原始内容形成直接竞争的替代品。
比如,如果想知道「为什么在浮点数运算中,0.1+0. 2=0.30000000000000004?」这种编程问题,就可以直接向ChatGPT(左)提问,而不必再去搜索Stack Overflow(右)。
这一因素,是各项标准中影响力最小的一个,因此不作详细讨论。
考虑这一因素,可以有两种解释——
(1)模型的训练输入包含了受版权保护数据的完整副本,因此「使用量」实际上是整个受版权保护作品。这不利于「合理使用」。
(2)模型的输出内容几乎不会直接复制受版权保护的数据,因此「使用量」可以视为接近零。这种观点支持「合理使用」。
哪一种更符合现实?
为此,作者采用信息论,对此进行了量化分析。
在信息论中,最基本的计量单位是比特,代表着一个是/否的二元选择。
在一个分布中,平均信息量称为熵,同样以比特为单位(根据香农的研究,英文文本的熵值约在每个字符0.6至1.3比特之间)。
两个分布之间共享的信息量称为互信息(MI),其计算公式为:
在公式中,X和Y表示随机变量,H(X)是X的边际熵,H(X|Y)是在已知Y的情况下X的条件熵。如果将X视为原创作品,Y视为其衍生作品,那么互信息I(X;Y)就表示创作Y时借鉴了多少X中的信息。
对于因素3,重点关注的是互信息相对于原创作品信息量的比例,即相对互信息(RMI),定义如下:
此概念可用简单的视觉模型来理解:如果用红色圆圈代表原创作品中的信息,蓝色圆圈代表新作品中的信息,那么相对互信息就是两个圆圈重叠部分与红色圆圈面积的比值:
在生成式AI领域中,重点关注相对互信息(RMI),其中X表示潜在的训练数据集,Y表示模型生成的输出集合,而f则代表模型的训练过程以及从生成模型中进行采样的过程:
在实践中,计算H(Y|X)——即已训练生成模型输出的信息熵——相对容易。但要估算H(Y)——即在所有可能训练数据集上的模型输出总体信息熵——则极其困难。
至于H(X)——训练数据分布的真实信息熵——虽然计算困难但仍是可行的。
可以作出一个合理假设:H(Y) ≥ H(X)。
这个假设是有依据的,因为完美拟合训练分布的生成模型会呈现H(Y) = H(X)的特征,同样,过度拟合并且记忆训练数据的模型也是如此。
而对于欠拟合的生成模型,可能会引入额外的噪声,导致H(Y) > H(X)。在H(Y) ≥ H(X)的条件下,就可以为RMI确定一个下限:
这个下限背后的基本原理是:输出的信息熵越低,就越可能包含来自模型训练数据的信息。
在极端情况下,就会导致「内容重复输出」的问题,即模型会以确定性的方式,输出训练数据中的片段。
即使在非确定性的输出中,训练数据的信息仍可能以某种程度被使用——这些信息可能被分散融入到整个输出内容中,而不是简单的直接复制。
从理论上讲,模型输出的信息熵并不需要低于原始数据的真实信息熵,但在实际开发中,模型开发者往往倾向于选择让输出熵更低的训练和部署方法。
这主要是因为,熵值高的输出在采样过程中会包含更多随机性,容易导致内容缺乏连贯性或产生虚假信息,也就是「幻觉」。

如何降低信息熵?

在模型训练过程中,让模型多次接触同一数据样本是一种很常见的做法。
但如果重复次数过多,模型就会完整地记下这些数据样本,并在输出时简单地重复这些内容。
举个例子,我们先在莎士比亚作品集的部分内容上对GPT-2进行微调。然后用不同颜色来区分每个token的信息熵值,其中红色表示较高的随机性,绿色表示较高的确定性。
当仅用数据样本训练一次时,模型对「First Citizen」(第一公民)这一提示的补全内容虽然不够连贯,但显示出高熵值和创新性。
然而,在重复训练十次后,模型完全记住了《科利奥兰纳斯》剧本的开头部分,并在接收到提示后机械地重复这些内容。
在重复训练五次时,模型表现出一种介于简单重复和创造性生成之间的状态——输出内容中既有新创作的部分,也有记忆的内容。
假设英语文本的真实熵值约为每字符0.95比特,那么这些输出中就有大约的内容是来自训练数据集。
ChatGPT产生低熵输出的主要原因在于,它采用了强化学习进行后训练——特别是基于人类反馈的强化学习(RLHF)。
RLHF倾向于降低模型的熵值,因为其主要目标之一是降低「幻觉」的发生率,而这种「幻觉」通常源于采样过程中的随机性。
理论上,一个熵值为零的模型可以完全避免「幻觉」,但这样的模型实际上就变成了训练数据集的简单检索工具,而非真正的生成模型。
下面是几个向ChatGPT提出查询的示例,以及对应输出token的熵值:
根据,可以估计这些输出中约有73%到94%的内容,对应于训练数据集中的信息。
如果考虑RLHF的影响(导致),这个估计值可能偏高,但熵值与训练数据使用量之间的相关性依然十分明显。
例如,即使不了解ChatGPT的训练数据集,我们也会发现它讲的笑话全是靠记忆,因为这些内容几乎都是以确定性方式生成的。
这种分析方法虽然比较粗略,但它揭示了训练数据集中的版权内容如何影响模型输出。
但更重要的是,这种影响十分深远。即使是对因素(3)做出更宽松的解释,也难以支持「合理使用」的主张。
最终,Suchir Balaji得出结论:从这4个因素来看,它们几乎都不支持「ChatGPT在合理使用训练数据」。
10月23日,Balaji发出这篇博客。
一个月后,他死于自己的公寓。
参考资料:
https://www.mercurynews.com/2024/12/13/openai-whistleblower-found-dead-in-san-francisco-apartment/?noamp=mobile
https://suchir.net/fair_use.html