摘要
近年来,更大、更深度的模型层出不穷,并不断推动各种领域(如自然语言处理(NLP)和计算机视觉(CV))的最先进(SOTA)结果。然而,尽管有很好的结果,但需要注意的是,SOTA模型所需的计算是以指数速度增长的。大规模计算不仅会产生惊人的巨大碳足迹,而且还会对研究的包容性和现实应用的部署产生负面影响。绿色深度学习是一个日益热门的研究领域,呼吁研究者关注模型训练和推理过程中的能源使用和碳排放问题。目标是用轻量化和高效的技术产生新的结果。许多技术可以用来实现这一目标,如模型压缩和知识蒸馏。本文对绿色深度学习技术的发展进行了系统的综述。我们将这些方法分为四类:(1)紧凑的网络,(2)高效的训练策略,(3)高效的推理方法,(4)高效的数据使用。对于每一类,我们都讨论已经取得的进展和尚未解决的挑战。
https://www.zhuanzhi.ai/paper/71afe2b393a19f309bcf1aa03131b4fa
引言
十年前,人工智能(AI)主要关注浅层模型,比如结构感知器(McDonald et al., 2010;Huang et al., 2012;Li & Ji, 2014)和条件随机场(Ghosh et al., 2011; Sutton & McCallum, 2012; Zheng et al., 2015)。这些浅层模型只需要有限的计算。大多数AI方法都可以部署在CPU上。
近年来,强大的GPU变得越来越容易使用,这使得部署更大的模型成为可能,这加速了深度学习的发展。深度学习模型的概念在20世纪90年代被广泛应用,如卷积神经网络(CNNs) (LeCun et al., 1998)和长短期网络(LSTMs) (Hochreiter & Schmidhuber, 1997)。由于受到硬件容量和大规模数据资源的限制,这些模型直到最近几年才开始流行。Collobert等人(2011)提出了第一个面向NLP任务的系统深度学习框架。Krizhevsky等人(2012)提出了一种基于卷积的深度网络,在图像分类挑战中排名第一。这些研究是激励人工智能参与者深入学习的良好先驱。
在深度学习时代,获取SOTA结果是一个热门方向。根据Schwartz et al. (2020a),我们将这种研究趋势称为Red AI。最近,研究人员注意到它比SOTA结果更难获得优势。对于CV和NLP等传统人工智能领域,新的人工智能模型/算法所取得的进步正在减少。许多流行的研究基准正在达到它们的性能上限。
红色AI的趋势需要大量的计算来获得更好的结果。例如,正如Schwartz等人(2020a)所报道的,用于训练深度学习模型的计算量在6年内增加了30万倍。这些计算不仅会造成昂贵的财务成本,还会导致过度的碳足迹。前者危害人工智能的包容性,后者危害我们的环境。我们将深度学习所需的计算源分为以下三类: 模型规模、参数调优和训练数据。
绿色学习是由Schwartz等人(2020a)最先提出的一个术语,目前正受到越来越多的关注。形式上,绿色深度学习或绿色人工智能呼吁研究人员在不增加计算成本的情况下获得SOTA结果,理想情况下是减少计算成本。与红色人工智能不惜一切代价推动最先进的结果不同,绿色深度学习鼓励人工智能参与者使用尽可能少的计算来实现可比或更好的结果。
为所有人工智能研究人员和工程师开发微小但强大的网络是一个长期目标。在这个目标的驱动下,提出了几个流行的微型网络(Howard et al., 2017; Chollet, 2017; Tan & Le, 2019)。例如,Howard等人(2017)提出的MobileNet就是一种基于深度可分离卷积的高效架构。类似的想法已在例外(Chollet, 2017)采用。最近,为了探索极小的网络,人们提出了先进的训练/推理/网络手术方法。例如,EdgeBERT (Tambe et al., 2021)提议建立一个可以在物联网设备上运行的非常小的网络。采用量化、剪枝、提前退出等先进方法,进一步减少模型参数和运行计算量。
在本次综述中,我们对绿色深度学习技术进行了系统的综述。首先构建绿色技术分类,然后将相关技术分为紧凑网络、节能训练策略、节能推理和高效数据利用四大类。在每个类别中,我们回顾绿色技术的当前进展,并探讨潜在问题。值得注意的是,由于缺乏统一的标准度量,构建绿色技术分类法具有挑战性。例如,BERT在训练过程中需要大量的计算。如果只考虑训练成本,BERT就不能被视为绿色技术。然而,BERT可以用更少的训练示例来改善下游性能。从迁移移能力上看,BERT绝对是一种绿色技术。因此,一项技术是否被定义为绿色是值得怀疑的。我们将尽量避免给出有偏见的定义。如果一项技术有可能降低深度学习的成本,我们将把它纳入绿色技术分类。我们从以下几个方面回顾了绿色深度学习技术:
紧凑架构设计。本部分主要关注小型网络。我们将这一章分成两个子章,即组件设计和组件组装。组件设计专注于具有竞争性结果的微妙组件,但计算量少得多。组件组装描述了如何高效地构建网络。
节能训练策略。以往的研究提出了几种有效的训练方法。在本调查中,我们将这些研究分为四类,包括初始化、规范化、渐进式训练和高效AutoML。
节能推理。在本章中,我们描述了一些方法,旨在从一个较大的网络中得到一个较小但具有可比性的网络来进行有效的推理,包括模型修剪、低秩因子分解、量化、蒸馏。
有效数据使用。本章列出了有效利用训练数据的算法。我们专注于两个流行的方向:主动学习和预先训练的模式作为少样本学习者。