为什么降低训练神经网络的成本仍然是一个挑战

深度神经网络

本文是我们对AI研究论文的评论的一部分,  AI研究论文是一系列探讨人工智能最新发现的文章。

近年来,深度学习已被证明是解决许多人工智能难题的有效解决方案。但是深度学习也变得越来越昂贵。运行深度神经网络需要大量的计算资源,甚至需要更多的训练。

深度学习的成本给人工智能界带来了一些挑战,包括大量的碳足迹AI研究商业化。随着人们对云服务器和“边缘设备”上的AI功能的需求不断增加,对具有成本效益的神经网络的需求也在不断增长。

尽管AI研究人员在降低运行深度学习模型的成本方面取得了进步,但降低深度神经网络训练成本的更大问题仍未解决。

麻省理工学院计算机科学与人工智能实验室(MIT CSAIL),多伦多大学矢量研究所和Element AI的AI研究人员最近的工作探索了该领域的进展。在题为“在初始化时修剪神经网络:为什么我们会遗漏标记”的论文中,研究人员讨论了为什么当前最先进的方法无法在不对其性能产生重大影响的情况下降低神经网络训练的成本。他们还提出了未来研究的方向。

训练后修剪深度神经网络

最近的十年表明,一般而言,大型神经网络可提供更好的结果。但是大型的深度学习模型要付出巨大的代价。例如,要训练具有1,750亿个参数的OpenAI的GPT-3,您将需要访问具有非常强大的图形卡的大型服务器群集,成本可能高达数百万美元。此外,您需要数百GB的VRAM和强大的服务器来运行该模型。

有大量的工作证明神经网络可以被“修剪”。这意味着在给定非常大的神经网络的情况下,存在一个较小的子集,可以提供与原始AI模型相同的准确性,而不会对其性能造成重大损失。例如,今年早些时候,一对AI研究人员表明,尽管大型的深度学习模型可以学习预测约翰·康威(John Conway)的《生命游戏》中的未来步骤,但几乎总是存在一个较小的神经网络,可以训练该神经网络执行相同的操作精确完成任务。

培训后修剪已取得很大进展。在深度学习模型遍历整个训练过程之后,您可以放弃许多参数,有时将其缩小到原始大小的10%。您可以根据参数的权重对网络最终值的影响来对参数进行评分,以实现此目的。

许多科技公司已经在使用这种方法来压缩其AI模型,并将其安装在智能手机,笔记本电脑和智能家居设备上。除了大幅降低推理成本外,这还提供了许多好处,例如,无需将用户数据发送到云服务器并提供实时推理。在许多领域,小型神经网络使得在由太阳能电池或纽扣电池供电的设备上进行深度学习成为可能。

尽早修剪神经网络

梯度下降深度学习
图片来源:Depositphotos

训练后修剪神经网络的问题在于,它不会削减调整所有多余参数的成本。即使您可以将经过训练的神经网络压缩到原始大小的一小部分,您仍然需要支付训练它的全部费用。

问题是,您是否可以在不训练整个神经网络的情况下找到最佳子网?

麻省理工学院CSAIL的两位AI研究人员,该论文的合著者Jonathan Frankle和Michael Carbin于2018年发表了一篇题为“彩票假说论文,该论文证明了在许多深度学习模型中,存在着一些小的子集可以训练到完全准确。https://www.youtube.com/embed/s7DqRZVvRiQ?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent

找到这些子网可以大大减少训练深度学习模型的时间和成本。彩票假说的发布引发了对在初始化或训练初期修剪神经网络的方法的研究。

AI研究人员在他们的新论文中研究了一些更广为人知的早期修剪方法:单次网络修剪(SNIP),在ICLR 2019上展示; 在ICLR 2020上展示的梯度信号保存(GraSP)和迭代突触流修剪(SynFlow)。

SNIP的目标是减少对损失最不重要的砝码。GraSP旨在修剪对梯度流有害或影响最小的砝码。作者写道:“ SynFlow反复修剪权重,目的是避免层崩溃,因为修剪会集中在网络的某些层上,过早地降低性能。”

早期神经网络修剪如何执行?

修剪神经网络的技术
几种新技术可以在初始化阶段修剪深度神经网络。尽管它们的性能优于随机修剪,但仍未达到pos训练基准。

AI研究人员在他们的工作中将早期修剪方法的性能与两个基准进行了比较:训练后的幅度修剪和彩票倒带(LTR)。幅度修剪是在对神经网络进行充分训练后删除多余参数的标准方法。彩票倒带使用Frankle和Carbin在其早期工作中开发的技术来对最佳子网进行重新训练。如前所述,这些方法证明存在次优网络,但是只有在训练了整个网络之后,它们才存在。这些训练前的修剪方法应该在训练神经网络之前的初始化阶段找到最小的网络。

研究人员还将早期修剪方法与两种简单技术进行了比较。其中之一从神经网络中随机删除权重。检查随机性能对于验证一种方法是否提供了重要的结果很重要。AI研究人员写道:“随机修剪是一种早期修剪的天真方法,其任何新提议都应超越其性能。”

另一种方法是根据参数的绝对权重删除参数。作者写道:“幅度修剪是修剪的一种标准方法,并且是早期修剪的另一个比较幼稚的比较点,”作者写道。

实验是在VGG-16和ResNet的三个变体(两个流行的卷积神经网络(CNN))上进行的。

在AI研究人员评估的早期修剪技术中,没有哪一种早期方法能脱颖而出,并且性能会因所选择的神经网络结构和修剪百分比而异。但是他们的发现表明,在大多数情况下,这些最新方法比粗随机修剪要好得多。

但是,这些方法都无法达到基准训练后修剪的准确性。

总体而言,这些方法取得了一些进展,通常胜于随机修剪。但是,就整体准确性和可以达到完全准确性的稀疏性而言,训练后的进展仍然远远没有达到修剪水平。”作者写道。

研究早期修剪方法

测试早期修剪方法
对早期修剪方法的测试表明,它们对随机改组和重新初始化具有强大的抵抗力,这表明它们在目标神经网络中找不到适合修剪的特定权重。

为了测试修剪方法为何表现不佳,AI研究人员进行了几次测试。首先,他们测试了“随机改组”。对于每种方法,他们随机切换从神经网络的每一层中删除的参数,以查看它是否对性能产生影响。如果如修剪方法所建议的那样,它们根据其相关性和影响来删除参数,那么随机切换将严重降低性能。

令人惊讶的是,研究人员发现随机改组对结果没有严重影响。相反,真正决定结果的是它们从每一层去除的权重的数量。

“所有方法在随机洗牌时都可以保持准确性或得到改善。换句话说,这些技术所提取的有用信息不是去除单个权重,而是修剪网络的分层比例,”作者写道,并补充说,尽管分层修剪比例很重要,但并不重要。足够。证明是,训练后的修剪方法可以通过选择特定权重并随机更改它们来达到完全准确性,从而导致修剪后的网络的准确性突然下降。

接下来,研究人员检查了重新初始化网络是否会改变修剪方法的性能。在训练之前,将使用所选分布中的随机值初始化神经网络中的所有参数。以前的工作,包括Frankle和Carbin所做的工作,以及本文前面提到的“生命游戏”研究,都表明这些初始值通常会对培训的最终结果产生重大影响。实际上,术语“彩票”是基于以下事实而创造的:幸运的初始值可以使小型神经网络在训练中达到高精度。

因此,应根据参数值选择参数,并且如果更改其初始值,则将严重影响修剪网络的性能。再次,测试没有显示出重大变化。

“所有早期修剪技术都对重新初始化具有鲁棒性:无论是使用原始初始化还是使用新采样的初始化来训练网络,准确性都是相同的。与

“随机改组,这种对初始化的不敏感可能反映了这些方法用于修剪的信息的局限性,从而限制了性能。” AI研究人员写道。

最后,他们尝试反转修剪后的重量。这意味着对于每种方法,他们都将砝码标记为可移动,而去掉了应该保留的砝码。最终测试将检查用于选择修剪权重的计分方法的效率。SNIP和SynFlow这两种方法对反演显示出极大的敏感性,而其准确性却下降了,这是一件好事。但是,在减去修剪后的权重后,GraSP的性能并没有降低,在某些情况下,它甚至表现更好。

这些测试的关键之处在于,当前的早期修剪方法无法检测到在深度学习模型中定义最佳子网的特定连接。

研究的未来方向

神经网络深度学习随机梯度下降

另一个解决方案是在早期训练中执行修剪,而不是进行初始化。在这种情况下,神经网络在被修剪之前会针对特定时期进行训练。这样做的好处是,您可以修剪部分收敛的网络,而不必在随机权重之间进行选择。AI研究人员进行的测试表明,大多数修剪方法的性能会随着目标网络经过更多的训练迭代而提高,但仍低于基准基准。

在早期培训中进行修剪的权衡是,即使成本远低于完整培训,您也必须在这些初始纪元上花费资源,并且您必须权衡并在绩效提升与培训之间做出适当的权衡费用。

AI研究人员在他们的论文中提出了修剪神经网络研究的未来目标。一个方向是改进现有方法或研究新方法,这些方法可以找到特定的权重来修剪,而不是在神经网络层中按比例进行修剪。第二个领域是寻找更好的早期修剪修剪方法。最后,幅度和梯度可能不是早期修剪的最佳信号。“我们应该在早期训练中使用不同的信号吗?我们应该期望在训练初期起作用的信号在训练后期起作用(反之亦然)吗?” 作者写道。

本文中的某些主张遭到了修剪方法的创建者的质疑。Namhoon Lee表示:“虽然我们对我们的工作(SNIP)吸引了很多兴趣并感到非常兴奋,并在Jonathan等人的建议论文中得到了解决,但我们发现论文中的某些说法有些麻烦,” Namhoon Lee牛津大学的AI研究人员,SNIP论文的合著者之一,告诉TechTalks

与论文的发现相反,Lee 说,在与卷积神经网络相反的全连接网络上进行测试时,随机混洗影响结果,并且可能在很大程度上影响结果。

Lee 还比较了将早期修剪方法与训练后幅度修剪进行比较的有效性。Lee 说:“基于幅度的修剪在开始修剪过程之前会经过训练,而初始化时的修剪方法则不会(按定义)。” “这表明他们不在同一起跑线上,前者远远领先于其他人,因此,这可能在本质上和不公平地偏向前者。实际上,幅度的显着性不太可能是为基于幅度的修剪产生良好性能的驱动力。调整得很好的是算法(例如,首先训练多长时间,修剪多少等)。”

Lee 补充说,如果基于幅度的修剪与初始化时修剪在同一阶段开始,则它将与随机修剪相同,因为神经网络的初始权重是随机值。

使深度学习研究更容易获得

看看这方面的研究进展如何会很有趣。我也很好奇这些和未来的方法将如何在其他神经网络体系结构(如Transformers)上实现,它们比CNN训练起来的计算成本要高得多。同样值得注意的是,这些方法已经针对监督学习问题进行了开发和测试。希望我们将在类似技术上进行类似的研究,以用于更昂贵的AI分支,例如深度强化学习

该领域的进展可能会对AI研究和应用的未来产生巨大影响。随着训练深度神经网络的成本不断增长,研究的某些部分越来越集中于拥有大量财务和计算资源的富裕高科技公司。

在训练神经网络之前修剪它们的有效方法可以为无法访问大量计算资源的更广泛的AI研究人员和实验室创造新的机会。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s