训练越来越大的深度学习模型已经成为近十年的新兴趋势。如下图所示,模型参数个数的不断增加使得神经网络的性能越来越好,也产生了一些新的研究方向,但是模型的问题也越来越多。首先,这类模型往往有访问限制,不开源,甚至开源,仍然需要大量的计算资源才能运行。其次,这些网络模型的参数不能通用,需要大量资源进行训练和推导。第三,模型不能无限放大,因为参数的规模受到硬件的限制。为了解决这些问题,以提高效率为重点的方法正在形成一种新的研究趋势。近日,来自希伯来大学、华盛顿大学等机构的十几位研究人员联合撰写了一篇综述,总结了自然语言处理(NLP)领域的高效方法。论文地址:https://arxiv.org/pdf/2209.00099.pdf效率通常是指输入到系统的资源与系统输出的资源之间的关系。一个高效的系统可以在不浪费资源的情况下产生输出。在NLP领域,我们认为效率是模型的成本与其产生的结果之间的关系。等式(1)描述了人工智能模型产生特定结果(R)的训练成本(Cost)与三个(不完全)因素成正比:(1)在单个样本上执行模型的成本(E);(2)训练数据集的大小(D);(3)模型选择或参数调整所需的训练运行次数(H)。然后可以沿多个维度测量成本(·),每个维度都可以通过多种方式进一步量化,例如计算、时间或环境成本。例如,计算成本可以包括浮点运算(FLOP)的总数或模型参数的数量。由于使用单一成本指标可能会产生误导,因此本研究收集并组织了有效NLP的多个方面的工作,并讨论了哪些方面对哪些用例有益。该研究旨在对广泛的提高NLP效率的方法进行基本介绍,因此该研究按照典型的NLP模型管道(下图2)组织了这项调查,展示了使每个阶段更高效的现有方法。这项工作为NLP研究人员提供了实用的效率指南,主要面向两类读者:(1)来自NLP各个领域的研究人员,帮助他们在资源受限的环境中工作:根据资源瓶颈,读者可以直接跳转到涵盖的方面通过NLP流水线。例如,如果主要约束是推理时间,论文第6章描述了相关的效率改进。(2)对提高NLP方法效率现状感兴趣的研究人员。论文可以作为确定新研究方向机会的切入点。下面的图3概述了本研究中总结的高效NLP方法。此外,虽然硬件的选择对模型的效率有很大的影响,但大多数NLP研究人员并不能直接控制有关硬件的决策,而且大多数硬件优化对NLP流水线的所有阶段都有用。因此,本研究将工作重点放在算法上,但在第7章中简要介绍了硬件优化。最后,本文进一步讨论了如何量化效率、评估过程中应考虑哪些因素以及如何决定最重要的因素。合适的型号。感兴趣的读者可以阅读论文原文了解更多研究细节。
