首页 Metaverse 瑞士研究人员发表最新论文,可以显著提高神经网络的运算速度和降低计算需求
瑞士研究人员发表最新论文,可以显著提高神经网络的运算速度和降低计算需求

瑞士研究人员发表最新论文,可以显著提高神经网络的运算速度和降低计算需求

  近日,据海外媒体报道,来自苏黎世联邦理工学院(ETH Zurich)的研究人员开发了一种可以显著提高神经网络的速度的新技术。他们的研究显示,改变推理过程可以大大降低神经网络的计算需求。

  在BERT模型上进行的实验中,研究人员实现了超过99%的计算需求的减少。这种创新技术也可以应用于像GPT-3这样的大语言模型中使用的transformer模型,为更快、更有效的语言处理开辟了新的可能性。

  作为大语言模型基础的神经网络,transformer模型由不同的层组成,包括注意层(attention layers)和前馈层(feedforward layers)。后者占模型参数的很大一部分,由于需要计算所有神经元和输入维度的乘积,因此计算量很大。

  然而,研究人员的论文表明,并不是前馈层中的所有神经元都需要在每个输入的推理过程中处于活动状态。他们建议引入“快速前馈”层(fast feedforward,FFF)作为传统前馈层的替代。

  “快速前馈”层使用一种称为条件矩阵乘法(conditional matrix multiplication,CMM)数学运算,它取代了传统前馈网络使用的密集矩阵乘法(dense matrix multiplications,DMM)。

  在密集矩阵乘法(DMM)中,所有输入参数乘以网络的所有神经元,这个过程计算量大,效率低。另一方面,条件矩阵乘法(CMM)处理推理的方式是,网络处理的输入不需要超过几个神经元。

  通过为每个计算识别正确的神经元,“快速前馈”层(FFF)可以显著减少计算负荷,从而产生更快、更有效的语言模型。

  为了验证他们的创新技术,研究人员开发了FastBERT,这是对谷歌的BERT transformer模型的修改。FastBERT通过用快速前馈层取代前馈层来彻底改变模型。“快速前馈”层(FFF)将它们的神经元排列成一个平衡的二叉树,根据输入只有条件地执行一个分支。

  为了评估FastBERT的表现,研究人员对通用语言理解评估(GLUE)基准测试中几个任务的不同变体进行了微调。GLUE是一个全面的数据集,用于训练、评估和分析自然语言理解系统。

  结果令人印象深刻,FastBERT的表现与类似大小和训练程序的基础BERT模型相当。在单个A6000 GPU上训练了一天的FastBERT变体,至少保留了原始BERT模型96.0%的性能。值得注意的是,他们的最佳FastBERT模型在只使用自身前馈神经元的0.3%的情况下,与原始BERT模型的性能相当。

  研究人员认为,将快速前馈网络整合到大语言模型中具有巨大的加速潜力。例如,在GPT-3中,每个transformer层的前馈网络由49152个神经元组成。

  研究人员表示,如果可以训练,这个网络可以被一个最大深度为15的快速前馈网络所取代,该网络将包含65536个神经元,但只使用16个神经元进行推理。这相当于GPT-3神经元的0.03%。

  传统的前馈神经网络中使用的数学运算:密集矩阵乘法,在硬件和软件上都有显著的优化。

  研究人员表示,密集矩阵乘法是计算历史上最优化的数学运算。为了尽可能快地执行,人们在设计存储器、芯片、指令集和软件例程方面付出了巨大的努力。许多这些进步,无论是因为它们的复杂性还是竞争优势都是保密的,只有通过强大但限制性的编程接口才能向最终用户展示。

  相比之下,在快速前馈网络中使用的条件矩阵乘法运算,目前还没有高效的本地实现。没有流行的深度学习框架提供一个接口,可以用来实现超越高级模拟的条件矩阵乘法(CMM)。

  研究人员基于CPU和GPU指令开发了他们自己的CMM操作实现。这使得在推理过程中速度提高了78倍。

  然而,研究人员认为,通过更好的硬件和算法实现,推理速度有可能提高300倍以上。这可以显著地解决语言模型的主要挑战之一:它们每秒生成的token数量。

  研究人员表示,在基础模BERT型的规模上,理论上的加速有望达到341倍,我们希望我们的工作将激励人们努力实现条件神经执行的愿望,作为设备编程接口的一部分。

  这项研究是解决大语言模型的内存和计算瓶颈的更广泛努力的一部分,为更高效、更强大的人工智能系统铺平了道路。

Powered by Froala Editor