Py学习  »  机器学习算法

机器学习模型也要追求碳中和,性能不应成为唯一标准 | 专访

DeepTech深科技 • 2 年前 • 346 次点击  

在如今的机器学习领域,机器学习模型的参数量正在迅速膨胀,这种趋势带来了更准确的结果和更优秀的性能。

不过一般来说,模型越大计算需求就越大,进而就会消耗更多能源,这最终会转化为对环境的影响。而以往许多研究往往忽略了这一点,原因之一在于难以就环境影响做量化和估算。

针对该问题,来自谷歌和美国加州大学伯克利分校的研究人员最近联合发表一项研究论文,着重评估并比较了 5 个大型自然语言处理(NLP)模型的能耗和碳排放量,其中包括 T5、Meena、GShard、Switch Transformer 和 GPT-3。

论文标题为《碳排放和大型神经网络训练》(Carbon Emissions and Large Neural Network Training),目前已发表在 arXiv 平台上。

图 | 相关论文(来源:受访者)

一个令人意外的结果是,拥有 6190 亿参数的 GShard 反倒比拥有 1750 亿参数的 GPT-3 消耗的能源少约 53 倍,净碳排放量少约 127 倍,这主要得益于 GShard 在算法+硬件上的多重优化。

针对实验结果,研究人员还分析并总结了模型之间碳排放表现出现巨大差异的原因,比如 DNN(深度神经网络)模型的类型,数据中心是否由清洁能源供电,执行任务的地理位置等等。


(点击进入小程序 了解更多论文详情)

研究人员还在论文中呼吁,机器学习(ML)社区应当在未来大计算量模型的研究中更多的公开能源使用和排放的数据,并提出三点建议:第一,明确报告模型的能耗和碳排放量;第二,机器学习大会应当奖励在效率方面做出改进的成果;第三,报告训练模型所用的处理器数量和时间,帮助人们更好地理解其成本。

图 | 梁辰(来源:受访者)

针对这一研究,DeepTech 采访了作为论文作者之一的梁辰,他本科毕业于北京大学物理学院,之后出于研究兴趣和对人工智能前景的判断转向计算机与认知科学专业,在美国西北大学获得了博士学位,现在在谷歌大脑从事深度学习领域的研究。

“我们的一个初衷是希望大家能够更多关注机器学习中的效率问题,” 梁辰表示,“很多时候大家只关注精度的提高,但效率也值得关注,比如说你能够用更快的速度、更少的能源消耗或二氧化碳排放达到相同的精度。”

计算模型的能耗和碳排放

在测试模型的能耗之前,我们必须明确能耗的组成和定义。

研究人员总结了能影响 ML 模型能耗的因素,其中包括算法、实现算法的程序、运行程序的处理器数量、处理器的速度和功率、数据中心输送能源和冷却处理器的效率,以及能源供应类型比如可再生能源、天然气和煤炭等。

由此得到的简化版 ML 模型碳足迹公式如下:


(来源:受访者)

对于一个典型的 NLP 模型来说,其能耗主要分布于训练和执行推理两部分中。

论文指出,对于大部分公司而言,执行推理占据了 80%-90% 的机器学习工作量。也就是说,模型的能耗主要集中于执行推理部分。这一点在此前研究中,也得到了英伟达和亚马逊研究人员的认可。

不过,相对于推理的能耗,训练的能耗更容易独立出来研究。因此在此次研究中,研究人员将机器学习模型训练的能耗选为研究对象,并着重对其进行测试和分析。

下一步,研究人员将之前的公式分解为能耗和碳足迹的计算:

(来源:受访者)

其中,能源消耗(KWh)取决于训练时长、处理器数量、处理器平均功率和电能使用效率(PUE),而 tCO2e(公吨碳排放量)是能耗与单位能耗碳排放量的乘积。

对于机器学习研究者来说,训练时间和处理器数量是很容易得到的数据,而处理器的平均功率则可通过训练时的实时测量得到。

至于电能使用效率,它通常取决于训练所用的平台或数据中心。谷歌、Facebook 等大公司都会发布其数据中心的电能使用效率,如果是在云端训练的机器学习模型,也能比较容易地获取电能使用效率。

梁辰告诉 DeepTech,训练模型的过程中,使用的芯片数量、每单位时间消耗的能量,这些都是公式中比较直观的部分。但许多人之前都没意识到的一点是,电能使用效率也能给能耗和碳排放量带来很大影响。

在数据中心里,除去支持芯片做计算的能量之外,还有许多需要消耗能量的地方,最具代表性的就是冷却系统,这是维持芯片和服务器正常运行所必需的。

“这些因素就可以用电能使用效率去衡量,比如说一个数据中心的电能使用效率是 1.5,就代表有 50% 的额外消耗,花在了维持运行上,”梁辰解释道,“在美国,企业平均值大概是 1.6 左右。”

除此之外,还要考虑到数据中心的能量来源:如果清洁能源占比更大,那么碳排放显然会更低。

比较五大 NLP 模型

接下来,梁辰和团队挑选并评估了五种 NLP 模型训练时的碳排放量。它们分别是:

1. T5:一种包含 110 亿参数的预训练语言模型,通过将所有 NLP 问题转换为统一的 “文本到文本” 格式进行训练,从而实现迁移学习技术的应用,借此来减少训练成本。

2. Meena:一种多轮次开放域聊天机器人,使用包含 26 亿参数的 DNN,通过最小化 token 的困惑度进行训练,公布一年就收获 150 多次引用。

3. GShard:提供了一系列轻量级 API,只需要少量的模型代码改动就可以表达多种并行计算模式,还能通过稀疏化的混合专家(Mixture of Expert)方法来扩大多语言神经机器翻译 Transformer 模型的大小,其中的 GShard-600B 稀疏模型拥有 6 千亿参数。

4.Switch Transformer:Transformer 模型的 “升级版”,简化了混合专家(Mixture of Expert)的路由算法,减少了通信和计算成本。这也是一个大型稀疏模型,参数高达 1.5 万亿,但每个 token 只激活 0.1% 的参数。在同等计算资源下,其预训练速度是普通 Transformer 的 7 倍。

5.GPT-3:一个包含 1750 亿参数的自回归语言模型,参数数量超过其他同类密集模型 10 倍以上,在许多 NLP 数据集上表现优异。论文自发表以来收获了 700 多个引用,而且还获得了 NeurIPS 2020 最佳论文奖。目前已经小规模开放商用,其优势是有较强的泛化性,降低了为新任务训练的时间,因此也能降低能耗。


图 | 五个模型的具体实验数据(来源:受访者)

在上述五个模型中,前四个都是谷歌 AI 开发的,最后一个则是 OpenAI 的。

因此,在真正训练时,前四个都在谷歌云平台上运行,使用的是 TPU v3 处理器。而 GPT-3 则在微软 Azure 云上运行,使用英伟达 Tesla V100 处理器。

最终结果显示:

1.  T5 消耗了 86 MWh,产生了 47 公吨碳排放量;

2. Meena 消耗了 232 MWh,产生了 96 公吨碳排放量;

3. GShard-600B 消耗了 24 MWh,产生了 4.3 公吨碳排放量;

4.Switch Transformer 消耗了 179 MWh,产生了 59 公吨碳排放量;

5.GPT-3 消耗了 1287 MWh,产生了 552 公吨碳排放量;

图 | 训练五个模型所消耗的加速器时长(蓝),能耗(红)和净碳排放量(黄)(来源:受访者)

可以看到,虽然 GShard-600B和Switch Transformer 的参数都比 GPT-3 要多,但它们消耗的能量远远少于 GPT-3。

以 GShard-600B 稀疏模型为例,它拥有 6 千亿参数,但其处理器运行时间是密集模型 GPT-3 的 1/45,能耗是 1/55,碳排放量是 1/130。

可以看出,训练 GPT-3 产生的碳排放约为 552 tCO2e,这相当于一架满载客机在纽约和旧金山之间往返三次(单程六小时,往返一次的碳排放约为 180 tCO2e)。

影响碳排放的因素

该团队认为,谷歌的四个模型之所以在碳排放和能耗上有更好的表现,除了其稀疏属性外,还离不开对模型、处理器和数据中心的改进和优化。

在算法方面,谷歌曾于 2019 年推出改良版 Transformer 模型,名为 Evolved Transformer。在执行相同任务时,新模型比原版所用的 FLOPS 少 1.6 倍,用时缩短 1.3 倍。这意味着训练时间的缩短和成本的降低,进而有效降低碳排放量。

在处理器方面,谷歌的 TPU v2 在训练 Transformer 时比同时期的英伟达 P100 GPU 快 4.3 倍,同时还降低了 1.3 倍的能耗,综合来讲每瓦特性能(performance/Watt)提升了 5.6 倍。

“谷歌没有像许多其他机构一样使用 GPU,而是为 DNN 模型设计、构建和部署了四代定制 TPU,以加速模型训练和执行任务,”梁辰和团队在论文中写道。

在数据中心方面,该团队表示,使用云数据中心是降低碳排放的重要环节,因为直接关系到电能使用效率。2020 年,美国国家数据中心的平均值是 1.59,而谷歌每年会发布各个云数据中心的数值,比如 Evolved Transformer 研究中用到的爱荷华云数据中心的数值仅有 1.11。

梁辰认为,这是云计算本身的优势所在,因为很多用户可以共享同一个数据中心,所以服务器的整体利用率是处在较高的水平,同时云服务提供商也会在提升效率方面表现得十分积极,并在技术更新方面投入较多,因为降低的成本十分可观。

“许多企业和机构是没办法做定制硬件的,那替代方法其实就是云计算,从而在需要时灵活使用更强大的硬件,”他补充道,“我们也希望用这项研究推动云计算提供商去公布更详细的电能使用效率数据,方便用户去做选择。”

此外,使用云服务也涉及到能源结构的改进。用户可以自由选择任务执行地点(取决于数据中心的所在地),因此可以选在清洁能源比例更高的地方训练模型,要知道光纤传输数据比电缆传输电力要便宜的多。

最后该团队强调,如果从事大计算量模型的机器学习社区能在训练效率和碳足迹方面进行比较,而非只关注准确性方面,那么最高效的数据中心和硬件可能会得到更多的使用和推广。

如果推出同时考量模型准确性和碳排放的标准,我们就可以想象一个良性循环,通过加速算法、系统、硬件、数据中心和碳中和在效率和成本方面的创新,即可减缓机器学习任务碳足迹的日益增长。


End-

参考:
https://arxiv.org/ftp/arxiv/papers/2104/2104.10350.pdf

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/119741
 
346 次点击