关于人工智能中的零日威胁和OpenAI的GPT-2的一些思考

人工智能与社会
作者

Jeremy Howard

发布日期

2019年2月15日

过去几天里,关于OpenAI新的语言模型有很多讨论。OpenAI做出了不发布其训练好的模型的不同寻常的决定(人工智能社区通常对分享模型非常开放)。总的来说,反应是惊叹和担忧并存,媒体也对此进行了广泛报道,例如这篇刊登在 The Verge 上的深思熟虑且全面的报道。另一方面,来自学术界NLP(自然语言处理)社区的反应很大程度上(但并非完全)是负面的,他们声称

  1. 这不应该被媒体报道,因为它没什么特别之处
  2. OpenAI没有理由自己保留这个模型,除了声称他们的模型如此特别以至于必须保密,从而试图制造媒体热度。

关于(1),虽然确实这里没有什么真正的算法飞跃(这个模型主要是同一团队几个月前发布的模型的更大版本),但学术界“没什么可看”的反应完全没有抓住重点。尽管学术出版(至少在这个领域)很大程度上是由特定的技术创新驱动的,但更广泛的社区兴趣是由社会影响、惊喜、故事和其他非技术性问题驱动的。我与每个关于这项新工作交流过的非专业人士都表现出了惊叹和震惊。而且显然需要讨论这样一种工具潜在的社会影响,它可能使虚假信息宣传活动规模扩大数个数量级,尤其是在我们当前的环境下,即使没有这样的工具,这类宣传活动已经损害了民主。

此外,技术史反复表明,通常困难之处不在于解决一个特定的工程问题,而在于证明一个问题是可以解决的。因此,展示可能性也许是技术发展中最重要的一步。我一直在警告预训练语言模型的潜在滥用风险,甚至帮助开发了人们现在用来构建这项技术的一些方法;但直到OpenAI真正展示了实际可以做什么,更广泛的社区才开始意识到一些担忧。

但第二个问题呢:OpenAI是否应该发布他们预训练好的模型?这个问题似乎要复杂得多。我们已经听到了“反对模型发布”的观点,因为这是OpenAI已经发布并与媒体讨论过的。Catherine Olsson(她曾在OpenAI工作)在Twitter上问道,是否有人看到了关于另一种观点的令人信服的解释

我读了很多关于此事的看法,但还没有找到真正令人信服的。一个真诚的解释需要深入了解OpenAI研究人员实际说过的话,这需要大量工作,因为他们的团队已经写了很多关于人工智能社会影响的研究(无论是在OpenAI还是其他地方)。对这个主题最深入的分析是这篇论文:《人工智能的恶意使用》。这篇论文的第一作者现在在OpenAI工作,并深度参与了关于模型发布的决定。让我们来看看那篇论文的建议

  1. 政策制定者应与技术研究人员密切合作,调查、预防和减轻人工智能的潜在恶意使用。
  2. 人工智能领域的研究人员和工程师应认真对待其工作的两用性质,让与误用相关的考虑因素影响研究优先事项和规范,并在可预见有害应用时主动联系相关参与者。
  3. 应在具有更成熟方法来解决两用担忧的研究领域(如计算机安全)识别最佳实践,并酌情引入到人工智能领域。
  4. 积极寻求扩大参与这些挑战讨论的利益相关者和领域专家的范围。

这里重要的一点是,对人工智能潜在恶意使用的适当分析需要一个跨职能团队和对相关领域历史的深入理解。我同意。因此,以下只是我对这场讨论的一点微薄贡献。我还不准备声称我对“OpenAI是否应该发布模型”这个问题有答案。我也会尝试侧重于“支持发布”的一方,因为这是尚未获得太多深思熟虑的输入的部分。

支持发布模型的理由

OpenAI表示他们的发布策略是

由于担心大型语言模型被大规模用于生成欺骗性、有偏见或辱骂性语言,我们只发布了小得多的GPT-2版本以及采样代码。

因此,具体来说,我们需要讨论的是规模。他们声称,更大规模的模型可能会造成严重损害,而没有时间让更广泛的社区对此进行考量。有趣的是,即使是他们自己,也不敢说对这种担忧有信心

这个决定,以及我们对其的讨论,都是一个实验:虽然我们不确定今天这样做是否正确,但我们相信人工智能社区最终需要在某些研究领域以深思熟虑的方式处理发表规范的问题。

让我们具体一点。我们实际讨论的规模有多大?我在他们的论文或博客文章中没有看到明确提到这一点,但我们可以做一个合理的猜测。(根据论文)新的GPT-2模型的参数大约是他们之前GPT模型的十倍。他们之前的模型用8块GPU训练了1个月。人们会预期他们现在可以更快地训练模型,因为他们有很多时间来改进算法,但另一方面,他们的新模型可能需要更多轮次(epochs)来训练。假设这两者相互抵消,那么我们就剩下参数量增加了10倍的差异。

如果你很赶时间,想在一个月内完成,那么你需要80块GPU。你可以从AWS现货市场以7.34美元/小时的价格租用一个配备8块GPU的服务器。这大约是每月5300美元。你需要十个这样的服务器,所以在一个月内训练模型大约需要5万美元。OpenAI已经公开了他们的代码,并描述了如何创建所需的数据集,但实际上仍然会有大量的试错,因此实际成本可能会翻倍。

如果你不那么赶时间,你可以直接购买8块GPU。通过一些仔细的内存管理(例如使用梯度检查点),你或许可以购买每张500美元的RTX 2070显卡,否则你可能需要每张1300美元的RTX 2080 Ti。因此,8块显卡的价格在4000美元到1万美元之间,再加上放置它们的机箱(包含CPU、硬盘等)可能还需要1万美元左右。所以,在10个月内训练模型总共需要大约2万美元(同样,数据收集和试错需要额外的时间和金钱)。

大多数从事人工智能的机构已经拥有8块或更多GPU,并且通常可以获得更多(例如,AWS通过其AWS Activate计划向初创公司提供高达10万美元的积分,谷歌向符合其研究计划资格的任何研究机构提供数十个TPU)。

因此,在实践中,不发布模型的决定会产生几个结果

  1. 可能至少需要几个月其他机构才能成功复现它,这样我们就有一些喘息空间来讨论当它更广泛可用时该怎么办
  2. 负担不起大约10万美元开支的小机构无法使用这项技术,达到当前展示的规模。

第一点似乎是一件好事。如果这项技术突然被公布出来供任何人使用而没有任何警告,那么没有人能做好准备。(理论上,人们本可以有所准备,因为语言模型社区内的人一直在警告这种潜在问题,但实际上,人们往往直到亲眼看到它发生才会认真对待。)例如,在计算机安全社区,当你发现一个漏洞时,人们期望你帮助社区做好准备,然后只有到那时你才发布详细信息(也许还有利用程序)。当这种情况没有发生时,它被称为零日攻击或漏洞利用,可能造成巨大损失。

我不确定是否想提倡一种规范,认为人工智能中的零日威胁是可以接受的。

另一方面,第二点是一个问题。最严重的威胁很可能来自有资源花费约10万美元进行(例如)虚假信息宣传活动以试图改变民主选举结果的人。在实践中,最可能利用此工具的是(我认为)外国势力花费这笔钱来大幅升级现有的虚假信息宣传活动,例如那些已被美国情报界广泛记录的活动。

(据我所知)应对这种攻击唯一实用的防御方法是使用相同的工具来尝试识别并反击此类虚假信息。当受影响的更广泛社区掌握这些工具时,这类防御可能会更强大。大量个人的力量反复被证明在创造方面比破坏方面更强大,正如我们在维基百科或开源软件等项目中看到的那样。

此外,如果这些工具没有掌握在没有大量计算资源的人手中,那么它们仍然是抽象和神秘的。它们实际能做什么?它们的局限性是什么?要让人们做出明智的决定,他们需要真正理解这些问题。

结论

那么,OpenAI应该发布他们训练好的模型吗?坦白说,我不知道。我毫无疑问地认为,他们展示了一些与之前展示的截然不同的、具有根本性性质的东西(尽管没有显示任何重大的算法或理论突破)。我也确信它会被恶意使用;它将成为大规模传播虚假信息和影响言论的强大工具,而且创建成本可能只需要大约10万美元。

发布模型,这种恶意使用会来得更快。但不发布模型,可用的防御手段会更少,受影响的人对这些问题的实际理解也会更少。这两种情况对我来说听起来都不是好结果。