近年来,随着机器学习模型规模的不断增大,相应的计算需求也在迅速增长,由此引起了多种成本的增加。其中,估算能源成本有助于衡量其对环境的影响和探寻更环保的策略,但其局限性在于没有详细的信息,这无疑给研究带来了很大的挑战。
一项由谷歌和伯克利共同完成的论文,则针对几个大型模型(T5、Meena、GShard、Switch Transformer 和 GPT-3)的能源使用和碳足迹进行了计算,并对发现 Evolved Transformer 的神经网络架构搜索算法的早期估计进行了优化。
该研究突出强调了以下可以提高能源效率和二氧化碳当量(Carbon Dioxide Equivalent, 是碳足迹的标准测量单位)的几个重要信息:尽管使用了同样甚至更多的参数,在不损失精度的情况下,大型且稀疏激活的 DNNs 消耗的能量小于 1/10 的大型且密集 DNNs 的能量。
地理位置对于 ML 工作量调度很重要,即使是在同一个国家和同一个组织内,无碳能源(carbon-free energy)和产生的的比例也可能相差约 5-10 倍。现在的重点在于从地点和时间两方面来优化大型模型的训练。
特定的数据中心基础设施同样关键,因为云数据中心(Cloud datacenters)的能源效率比典型数据中心高出 1.4-2 倍,而且其内部面向 ML 的加速器比现成系统的效率要高出 2-5 倍。尤其值得注意的是,DNN、数据中心和处理器的选择可以有效减少碳足迹(carbon footprint),其数值高达 100-1000 倍。上述这些影响大的因素也使得能源成本的追溯估计变得更加困难。
为了避免计算错误,这支研究团队认为需要大量展现计算资源的 ML 论文,并且倡议在实际中明确能源消耗和等指标。与此同时,团队正在努力地在未来的研究中提高能源使用和排放的透明度。为了帮助 ML 减少碳足迹,团队认为能源使用和应该作为评估模型的关键指标,并且团队正在与 MLPerf 开发人员合作,致力于将训练期间的能源使用和推理(inference)纳入到行业标准基准之中。
运行 ML 模型所需的电力是算法、实现该模型的程序、运行该程序的处理器数量、处理器的速度和功率、数据中心在供电和冷却处理器方面的效率,以及能源供应结构(可再生能源、天然气、煤炭等)的函数。大多数的公司都将精力倾注在服务 DNN 模型(执行推理)上,而非在训练上。例如,NVIDIA 估计 80-90% 的 ML 工作量在推理处理任务上。
类似地,亚马逊网络服务声称,云计算中 90% 的 ML 需求是用于推理的。鉴于其在 ML 模型生命周期中的重要作用,阿里巴巴、亚马逊、谷歌和 NVIDIA 专门设计了 ML 加速器用于推理。如果 ML 的总能源被分成 10% 的训练和 90% 的服务,那么即使一个给定的 ML 模型需要双倍的训练能源成本,如果该模型同时减少 20% 的服务能源,也可以从整体上降低碳排放。
考虑到以下事实,相对于推理期间的能源使用来说,模型训练的能源使用更孤立,更容易调查,因此团队在本文中重点关后者,不过,请记住,推理的碳足迹也很重要。ML 从业者通常是在改进现有模型的质量,而非从零开始。
在本文中,团队以一个运行实例来展示的变化,具体操作如下:从在平均数据中心使用现成的硬件来训练 Transformer 模型,到在谷歌的定制硬件上为谷歌的能源优化数据中心的 DNNs 训练 Evolved Transformer 模型,观察对产生的影响。在本例中,每个因素的巨大影响都是对 “为什么建议模型的训练人员参与其成本计算” 的例证。其中,上图表 1 展示了的细化情况。
表 2 显示了的单位,以及将这些单位置于透视图中的运行示例。图 1 则显示了每一步的增益;的整体改善为 57 倍。这一巨大的增益说明了为什么 DNN 模型、处理器、数据中心和地理位置的选择对于改善是至关重要的。接下来,研究更详细地讨论四个影响训练碳足迹的因素。算法和程序的改进:谷歌大脑的最新研究提出,通过神经网络架构搜素寻找更好的 Transformer,以实现 Transformer 的进化!
该搜索发现了一种名为 Evolved Transformer 的新架构,其在四个成熟语言任务上的表现均优于原版的 Transformer,用时少且精度高。这种途径不仅缩减了 ML 研究人员的训练时间,也节省了组织资金,还有效降低了。
处理器的改进:谷歌的定制 TPU v2 处理器运行 Transformer (Big) 的速度比 P100 GPUs 快 4.3 倍,比 Evolved Transformer (Medium) 快 5.2 倍。此外,TPU v2 的功耗也更低:Transformer 的功耗降低 1.3 倍,Evolved Transformer 的功耗降低 1.2 倍。
“性能 / 瓦特” 的净增益分别为 5.6 倍和 6.2 倍。在过去十年中,深度学习的范围和规模不断扩大为量身定制硬件创造了机会,主要面向训练和服务 DNN 模型所涉及的计算类型。谷歌没有像许多其他组织一样使用 GPUs,在过去 7 年里,谷歌为 DNNs 设计、构建和部署了四代定制 TPU,以加速模型训练和服务。为了获得更好的投资回报,云公司的目标实际上旨在提高成本效益,而不仅仅是性能。
数据中心的改进:数据中心效率的有用定量度量是在直接驱动数据中心内的计算设备之上的能源开销。如果开销是 50%,那么功率使用效率(PUE, Power Usage Effectiveness)将是 1.50。2018 年美国国家数据中心的平均值为 1.58;在 2020 年,这个数字是 1.59。谷歌每季度都会在线发布其数据中心的 PUE。
团队成员运行 Evolved Transformer 时,爱荷华州数据中心(Iowa datacenter)的 PUE 提示为 1.11,提高了 1.4 倍。由于服务器利用率等其他因素,云数据中心的能源效率大约是典型企业数据中心的 2 倍,但团队将本文的量化改进限制在易于度量的 PUE 上。更广泛地,由于云数据中心的能源效率要高得多,长期以来人们所担心的数据中心能源使用的爆炸式增长并未实现。
最近在《科学》杂志中的一篇论文发现,与 2010 年相比,全球数据中心的能源消耗仅增长了 6%,尽管同期计算能力增长了 550%。云计算公司努力建立节能的数据中心,因为这样既省钱又降低排放。也许未来的研究应该在富兰克林(Ben franklin)的 “时间就是金钱” 的建议之外再加上 “精力就是金钱”?
能源结构的改进:根据美国的 average mix 计算,能源的总碳强度为 0.429 kg /KWh。在达到谷歌的 24/7 无碳能源框架的清洁能源购买后,团队运行 “Evolved Transformer” 的爱荷华数据中心的净二氧化碳排放量跌至 0.080,比原来要好 5.4 倍。与在光纤上以光子的形式发送信息相比,远距离传输电力更昂贵且效率低。
云计算允许像谷歌这样的公司拥有全球性的数据中心组合,其中许多都位于网格更清洁(如芬兰)或者公司可以直接购买清洁能源(如爱荷华州)的地方。到 2020 年,谷歌在其能源战略中宣布了一个新目标:到 2030 年,其目标是让所有谷歌数据中心和办公室全天候使用无碳能源。减少不仅是一项道德义务,最终也将变为一项合理的业务。为了减少训练的占用,ML 研究人员应该仔细选择 DNN 模型、处理器和数据中心。
削减能源可以节省成本并减少,改善能源结构可以降低。本文中将训练公式重构为能源消耗和碳足迹(其中表示公吨),表示如下:团队认为,对于 ML 从业者来说,在已知训练的时间和处理器的数量的情况下,计算能耗是很简单的。谷歌和 Facebook 发布了他们数据中心的 PUE,所以很容易找到这些云。如果云提供商不共享 PUE,可以使用美国的平均 PUE。
团队成员在训练期间测量了处理器的功率,效果很理想,但使用几个类似模型的训练的平均值可能就足够了,而且相对更容易一些。上表 3 便显示了团队在本文中测量的处理器和 DNN 的平均功率和标准差。随之而来的一个自然问题是,如何训练更大的 NLP 模型的呢?
下表 4 和附录 A 显示了其中 5 个模型的计算:来自谷歌的 T5、Meena、GShard、Switch Transformer 和来自 Open AI 的运行在微软 Azure Cloud 上的 GPT-3,具体如下所示。T5 是一种预训练的语言模型,它能够将所有的 NLP 问题转换为统一的文本到文本格式,从而实现迁移学习,进而降低训练成本。
其最大情况下包含 11B 参数,训练使用了 86 MWh,产生了 47。Meena 是一个多回合开放域聊天机器人。包含 2.6B 参数的 DNN 参与训练,以最小化下一个令牌的困惑度(perplexity)。Meena 的训练使用了 232 MWh,排放量为 96。
GShard 由一组轻量级注释 API 组成,这些 API 提供了一种优雅的方式来表达各种复杂的并行计算模式,同时对现有模型代码的仅做了很小的改动。它使用自动分片的稀疏门控混合专家(MoE, mixture-of-experts)实现了多语言神经机器翻译 Transformer 模型的扩展。其中,GShard-600B 模型具有特殊用途,用于训练具有 600B 总参数的多语言翻译模型。
与密集模型相比,稀疏模型可以有很多模型参数而且计算量更少。GShard-600B 的训练使用了 24 MWh,产生了 4.3 净。由 Google Brain 设计的名叫 Switch Transformer 的简化稀疏架构,可以将语言模型的参数量扩展至 1.6 万亿。该架构简化了 MoE 路由算法,设计了直观的改进模型,减少了通信和计算开销。
作者展示了包含 1500b 参数的大型稀疏模型,但每个 token 仅激活 0.1%。在相同的计算资源下,可以在预训练速度上提高 7 倍。团队估计它使用了 179 MWh,产生了 59 净。GPT-3 是一个具有 175B 参数的自回归语言模型,比当时的其它非稀疏语言模型要多 10 倍。它在许多 NLP 数据集上都取得了良好的性能,目前有广泛的商业用途。
像 GPT-3 这样的大型语言模型的潜在优势是,可以借助其泛化性能而避免像较小的模型那样为每个新任务重新训练,有效地降低了能耗。其训练后的碳排放估计为 552,能源消耗为 1287 MWh。上图 2 和图 3 以图的形式形象的展示了相同的数据。其中,图 2 使用双对数曲线图绘制了与 Transformer(Big)相关的 X 轴上的参数的数量和 Y 轴上的总 FLOPS 数。
稀疏激活模型使用更多参数,总 FLOPS 更低。因为在 FLOPS 中性能不一定是线性的。图 3 清晰的展示了处理器的能耗和碳足迹。与密集的 GPT-3 相比,稀疏激活的 Gshard 需要更少的约 45 倍的 processor years,使用更少的约 55 倍的能源,减少总共约 115 倍的和 130 倍的净。
文章也进一步讨论了由于训练 NLP 模型而导致的与碳排放相关的其他因素,主要涉及以下 9 个方面:(1)神经结构搜索的成本估算;(2)用于训练的资源比唯一的最后一次训练要多;(3)测量比推理更有趣;(4)标准的 ML 算法技术可以提高能源效率;(5)即使是在同一个组织中,选择使用哪个数据中心也很重要;(6)很多人可以访问能源优化的数据中心;(7)降低训练成本;(8)与其他活动相比,大型 NLP 模型的训练究竟如何?
(9)NLP 模型的优势之处是在于能源成本吗?总而言之,全球气候变化对经济、人类健康和环境都是潜在的威胁,ML 社区需要尽自己的一份力量来限制碳排放。提高算法、数据中心、硬件和软件的能源效率将成为云计算公司的长期优先关注事项。如果与提高排放指标和准确性的公开激励相结合,还可能迎来一个良性的循环,通过加速算法、系统、硬件、数据中心和无碳能源的效率和成本创新,一定会减缓 ML 的碳足迹增长。