假如青蛙创造了人,那现在是青蛙控制人类,还是人类控制青蛙?我不知道如何防止这种情况发生。我老了,希望像你们这样年轻而才华横溢的研究人员弄清楚如何拥有这些超级智能,并使我们的生活在不受超级智能控制的情况下变得更好。
导读
2023 年 6 月 10 日,2023 智源大会最后一天。
Geoffrey Hinton 的研究改变了人工智能领域的研究格局,深深影响了这个时代。无论是反向传播、Dropout、知识蒸馏、胶囊网络,还是近年来主推的「非永生计算」(Mortal Computing),Hinton 总是以其对于人工智能独特的思考,一次次为研究者们指引前进的方向。
在本次「AI 安全与对齐」论坛上,Hinton 对自己近年的研究工作进行了小结,介绍了「非永生计算」相较于传统和计算范式的优势,并将其与知识蒸馏技术联系了起来,介绍了如何实现智能体间的知识共享。最后,Hinton 针对当下热议的 AI 安全问题给出了自己的见解,期望青年一代能够实现可控的超级智能。
Geoffrey Hinton
「深度学习之父」,2018年图灵奖得主。他曾获得爱丁堡大学人工智能的博士学位,同时也是多伦多大学特聘教授。2013年,Hinton 加入谷歌并带领一个AI团队,他将神经网络引入研究与应用的热潮,将“深度学习”从边缘课题变成了谷歌等互联网企业仰赖的核心技术,并将Backpropagation(反向传播)算法应用到神经网络与深度学习。2023年5月,为了自由探讨AI 风险,他从谷歌离职。
从传统计算范式到「非永生计算」
传统计算范式下,计算机要精确地遵循指令。
就目前的计算机而言,我们可以在不同的物理硬件上运行完全相同的程序或神经网络。这意味着存储于程序中的知识或神经网络的权重不依赖于任何特定的硬件,是「永生」的。
然而,实现这种性质的成本很高:高功率运行晶体管,使其以数字方式运作。我们无法充分利用硬件丰富、模拟信号、高度可变的特性。这是数字计算机存在的原因。
之所以让计算机遵循指令,是因为它们的工作方式是:人类先观察问题,确定解决问题所需的步骤,然后告诉计算机执行这些步骤的模式。
但现在,我们可以通过不同的方法来让计算机完成任务:只需向计算机展示我们希望它完成的任务,让其从示例中学习。现在,我们有可能要放弃计算机科学最基本的原则——软件应该与硬件相分离。由于软件与硬件分离,我们可以在不同的硬件上运行相同的程序。我们还可以关注程序的特性,并对神经网络上的程序特性进行研究,而不必担心电子方面的问题。
我们试图放弃软件和硬件的分离,实现「非永生计算」。显然,它有很大的缺点,但也有一些巨大的优势。例如,能够以更低的能量训练、运行大型语言模型。放弃硬件和软件的分离,可以节约巨大的能量,可以如人类大脑一样实现非常低功率的模拟计算。
大脑中确实存在有单比特的数字计算——神经元要么触发,要么不触发。但大部分计算是以非常低的功率完成的模拟计算。此外,我们还可以获得更廉价的硬件。目前的硬件必须以二维方式精确制造,但实际上我们可以在三维环境下制造硬件,因为不需要完全理解硬件的连通性或每个部分的工作原理。
显然,这需要大量的新纳米技术,或者遗传角度出发重新设计生物神经元(因为生物神经元已经大致能够实现我们想要的功能)。
将神经活动的向量与权重矩阵相乘,是神经网络的核心计算步骤。目前我们以非常高的功率驱动晶体管,以表示数字中的位。然后,我们执行复杂度为 O(n^2) 的操作将两个 n 位数相乘。在计算机上可能只是一个操作,但在位操作上却是 n^2 个操作。另一种选择是将神经活动实现为电压,将权重实现为电导。在单位时间内,电压乘以电导会产生电流,而电流会相互叠加。可以通过电导矩阵乘以电压向量,提高能量效率上。已经存在以这种方式工作的芯片。
然而,人们使用模数转换器将模拟信号转换为数字信号,计算开销很大。如果可能的话,我们希望完全在模拟信号下工作。但是,不同的硬件部件最终将计算出略有不同的结果。
「非永生计算」的主要问题是,学习过程必须利用其运行的硬件的特定模拟特性,而我们无法确切知晓这些特性。例如,人们不知道将输入与神经元的输出相关联的确切函数,或其连通性。这意味着我们无法使用反向传播算法等方法来获得梯度。
我们现在高度依赖反向传播,如果不能使用反向传播,还能怎么学习?
为网络中的每个权重生成一个由小的临时扰动组成的随机向量。接着,度量少量样本上示例的全局目标函数的变化,作为该扰动的结果。通过目标函数的改进缩放扰动向量,永久地改变权重。
因此,如果目标函数变得更糟,显然会朝另一个方向前进。该算法的优势在于,其行为与反向传播相同,是对反向传播梯度的无偏估计。而其存在的问题在于非常高的方差。
因此,在权重空间中选择一个随机方向移动时,所产生的噪声与网络的大小成正比。这种算法适用于具有少量连接的网络,但不适用于大型网络
我们还可以尝试扰乱网络的活动,考虑对每个神经元的全部输入进行扰动,得到梯度的无偏估计。
对少量示例进行随机扰动时,可以查看目标函数会发生什么变化。计算如何更改神经元的每个传入权重才能与梯度相符。这种方法也只是对梯度的估计,但与扰乱权重相比,它的噪音要小得多,足以学习像 MNIST 这样的简单任务。
使用非常小的学习率,它的行为与反向传播完全一样,但速度要慢得多。如果使用更大的学习率,会有噪声,但仍然适用于 MNIST 这样的任务。但它的效果还不够好,无法将其扩展到大型神经网络。
扩展到大型神经网络
为了训练一个大的神经网络。我们可以将其分解为很多神经网络的小组,每一小组神经元都有自己的局部目标函数,而非对大网络使用一个全局的目标函数。可以使用活动扰动算法来学习小型多层神经网络。它将以与反向传播大致相同的方式学习,但噪声更大。我们通过引入更多小的局部神经元组,将其扩展到更大的网络,而不是扩大每个小组。
那么,这些目标函数从何而来?
一种可能的解决方案是:对局部图块进行无监督学习。对该局部图快提取多个层次的表征,每个层次都有局部图块。尝试使该神经网络对该图块的输出,与所有其它局部图块产生的平均表征一致。我们也试图使其与其它图像的平均表征不一致。
此外,我们可以为每个层次的网络添加几个隐藏层,实现非线性。这些层次使用活动扰动的贪婪算法学习,并且没有反向传播到较低层次。所以它不会像反向传播那样强大,因为它不能反向传播很多层。
通过使用活动扰动方法,Mengye Ren 证明对多个局部图块的对比学习可以得到不错的效果。为使该算法奏效,他投入了大量工作,但它仍然不如反向传播。当网络更深时,二者之间的差距会更大。
到目前为止,我们还没有找到一个真正可以利用硬件模拟属性的学习算法。但我们有足够好的学习算法可以用于像 MNIST 这样的任务,也可以学习 ImageNet 这样更大的数据集,但效果较差。
「非永生计算」的生命有限性
「非永生计算」的第二个大问题是:生命有限性(Mortality)。当一个特定的硬件「死掉」时,由于知识和硬件的细节错综复杂地纠缠在一起,它学到的所有知识也随之失效。该问题的最佳解决方案是:在硬件失效之前,将知识由「教师」提取给「学生」。教师向学生展示对各种输入的正确反应,然后学生尝试模仿教师的反应(即「知识蒸馏」)。
为了探究蒸馏的效果,我们不妨考虑一个将图像分类为大约一千个非重叠类别的智能体。要给出正确的答案大约只需要 10 位信息。因此,在训练智能体时告诉其正确答案,只需要对网络的权重施加 10 位约束。
但如果我们要训练一个智能体与教师模型在 1024 个类上给出的回答保持一致(得到相同的概率分布),该如何呢?该概率分布包含 1023 个近似实数,如果这些概率都不小,就提供了数百倍的约束。
为了确保老师的输出概率都不小,可以在「高温」下运行教师网络,在训练学生网络时也在高温下运行学生。当采用 logits 蒸馏时,可以按温度缩放教师网络的 logits,得到更柔和的分布,在训练学生时使用相同的温度。
上图介绍了 soft targets 的工作原理。这是来自 MNIST 训练集的各种数字「2」的图像。显示在教师网络上使用高温时,分配给各个类别的概率。
对于第一行,教师网络很有信心将图片判别为「2」。对于第二行,它很确定那是「2」,但也认为它可能是「3」或「8」。你会发现第二行的「2」比其它的「2」更像「8」。对于第三行,「2」显然很像「0」。老师告诉学生,当你看到这张图片时,你应该将其判断为「2」,但也应该记录它与「0」是相似的。这样一来,学生从该例中学到的知识比仅仅告诉它是「2」更多。
对于第四行,它非常有信心将其判断为「2」,但也有很小的可能为「1」。对于最后一行,老师判断错误了,以为图片是「5」。根据 MNIST 标签,它实际上是一个「2」。在这类,学生可以从老师的错误中学到知识。
蒸馏有一个一个特殊性质:用教师模型给出的概率训练学生时,就是在训练学生以与老师相同的方式进行泛化。
通常而言,当你训练一个模型时,希望它在训练数据上预测出正确答案,然后能正确地泛化到测试数据上,它不要太复杂,要有较强的泛化能力。但通过蒸馏训练学生时,你是在直接训练学生以与教师相同的方式进行泛化。
显然,我们可以创建更丰富的蒸馏输出。例如,为图像给出一段描述,而不仅仅是一个标签,然后再训练学生预测描述中的单词。
智能体间的知识共享
事实证明,智能体社群共享知识的方式很大程度上决定了计算的方式。
有了数字模型,可以复制大量使用完全相同权重的智能体。你可以采用不同的智能体查看训练数据的不同部分,为训练数据的不同部分的权重计算梯度,然后对它们的梯度进行平均。
每个模型都学到了其它模型根据看到的数据学到的知识。这意味着,获得了查看大量数据的能力,只需共享梯度或分享权重就可以非常有效地共享知识。
但这样做的代价是你必须拥有以完全相同的方式使用权重的数字智能体,制造和运行的能源成本非常高昂。
我们考虑使用蒸馏替代权重共享。如果生物模型利用特定硬件的模拟特性,那么就不能分享权重,必须使用蒸馏来分享知识。然而,它不是很有效,使用蒸馏很难分享知识,但它的带宽远低于仅共享梯度。
利用数字计算和利用模拟特性的生物计算,在不同智能体之间共享知识的效率方面有很大差异。
如今的大型语言模型(LLM)会使用数字计算和权重共享。但是模型的每个副本智能体代理,都以非常低效的方式从文档中蒸馏知识。
例如,LLM 试图预测下一个词时,并没有显示教师对下一个单词的概率分布。它只是随机选择文档的作者选择放在下一个词中的内容。这种 LLM 向人类学习的方式的带宽非常低。
然而,尽管每个副本通过蒸馏学习效率非常低,但是我们拥有数千份智能体副本。因此,他们比我们学到的知识多数千倍。
如何控制超级智能
如果这些数字智能不是通过蒸馏非常缓慢地学习人类,而是开始直接从现实世界学习,将会发生什么?
尽管他们向人类学习时蒸馏的速度很慢,但他们正在学习非常抽象的东西。人类在过去的几千年里已经学到了很多关于这个世界的知识。人类可以用语言表达我们学到的知识。因此,数字智能可以学习到人类在过去几千年中记录的关于世界的一切知识。
但是每个数字智能体从文档中学习的带宽仍然很低。如果他们可以通过无监督方法对视频建模进行无监督学习,他们就可以从视频网站上所有的海量数据中学习。如果他们能够操纵物理世界,有机器人手臂,也能进一步学习更多知识。
但我相信,一旦这些数字智能体能做到这些,它们将能够比人类学得更快、更多。
那么,如果智能体变得比我们更聪明,将会发生什么?这也是本次论坛的主要议题。
我认为,这些超级智能出现的时间可能比我过去认为的要早得多。
一些别有用心的人会想利用它们来做诸如操纵选举或赢得战争。
为了让超级智能更高效,可能会让它创建子目标。一个非常明显的子目标是:获得更多的控制权。它拥有的控制权越多,实现目标就越容易。而且我发现很难想象如何阻止数字智能试图获得更多控制权以实现他们的其他目标。
因此,一旦它们这样做,我们就会遇到问题。超级智能会发现很容易通过操纵人来获得更多的权力。我们很难形象如何与比我们聪明的智能体互动。
在我看来,超级智能显然会学得非常擅长欺骗人,可以让人们实际执行它喜欢的任何动作。这非常可怕!
我不知道如何防止这种情况发生。我老了,希望像你们这样年轻而才华横溢的研究人员弄清楚我们如何拥有这些超级智能,使我们的生活在不受超级智能控制的情况下变得更好。
我们有一个相当小的优势:超级智能是人类创造的,并不是进化而来。所以它们没有原始人所具有的竞争性、攻击性目标。也许我们可以为智能体设定道德原则。
但目前,我也感到紧张。我不知道对于智能水平远超人类的智能体,这么做是否有效。「假如青蛙创造了人,那现在是青蛙控制人类,还是人类控制青蛙」?
领取专属 10元无门槛券
私享最新 技术干货