智能绿化:使应用程序更可持续的七个策略

智能绿化:打造更可持续的应用程序的七大策略

人工智能应用具有无与伦比的计算能力,可以以前所未有的速度推动进步。然而,这些工具严重依赖能耗高的数据中心进行运作,导致其缺乏对能源敏感性,从而对碳足迹做出了相当大的贡献。令人惊讶的是,这些人工智能应用已经占据了全球温室气体排放的2.5至3.7%,超过了航空业排放。

不幸的是,这个碳足迹以快速的速度增加。

目前,迫切需要衡量机器学习应用的碳足迹,正如彼得·德鲁克(Peter Drucker)所强调的“你无法管理你无法衡量的东西”。目前,对于衡量人工智能环境影响的确切数字仍然缺乏明确性。

除了衡量碳足迹外,人工智能行业的领导者还必须积极关注其优化。这种双重方法对于解决围绕人工智能应用的环境问题并确保更可持续的发展道路至关重要。

什么因素影响人工智能应用的碳足迹

机器学习的增加使用需要更多的数据中心,其中许多都是耗电量大,从而产生了相当大的碳足迹。2021年,全球数据中心的用电量占到了0.9至1.3%。

一项2021年的研究估计,到2030年,这一用电量可能会增加到1.86%。这个数字代表了数据中心能源需求增长的趋势。

值得注意的是,能耗越高,碳足迹也就越大。数据中心在处理过程中会发热,由于过热可能出现故障甚至停止运行。因此,它们需要冷却,这需要额外能源。大约40%的数据中心消耗的电力用于空调。

计算人工智能应用碳密度

考虑到人工智能使用的增长趋势,需要考虑这些工具的碳密度。目前,对于这一主题的研究仅限于对少数模型进行分析,并不能很好地解决所述模型的多样性。

下面是计算人工智能系统碳密度的一种演变方法和几种有效的工具。

估算人工智能碳密度的方法论

软件碳密度(SCI)标准是估算人工智能系统碳密度的有效方法。与采用归因性碳会计方法的传统方法不同,它采用了一种结果为导向的计算方法。

结果为导向的方法试图计算出干预或决策所产生的排放的边际变化,例如决定生成额外单位的决策。而归因则是指对平均强度数据或静态排放清单进行计算。

杰西·道格等人在“在云实例中测量人工智能碳密度”的论文中采用了这种方法来进行更明智的研究。由于大量的人工智能模型训练是在云计算实例上进行的,因此它可能是计算人工智能模型的碳足迹的有效框架。该论文对这种估算的SCI公式进行了改进。

这是从以下图片提炼而来:

其中:

E:软件系统消耗的能量,主要是图形处理单元(GPU),这是专门的机器学习硬件。

I:数据中心供电网络的基于位置的边际碳排放。 

M:嵌入式或具有体积碳排放,即在硬件使用、制造和处理过程中排放的碳排放。 

R:功能单元,本例中为一个机器学习训练任务。

C= O+M,其中 O 等于 E*I 

该论文使用这个公式来估计单个云实例的电力使用情况。在基于深度学习的机器学习系统中,主要的电力消耗来自于 GPU,在这个公式中被包括在内。他们使用一台普通服务器上的单个 NVIDIA TITAN X GPU(12 GB),配备两个 Intel Xeon E5-2630 v3 CPU(2.4GHz)和 256GB RAM(16x16GB DIMM)来训练一个BERT-base模型,以实验应用这个公式。以下的图片展示了这个实验的结果: 

GPU 占据能源消耗的 74%。虽然这仍然被论文作者表示是低估,但纳入 GPU 是朝着正确的方向迈出的一步。它不是传统估算技术的关注重点,这意味着在估算中忽略了碳排放的主要贡献者。显然,SCI 提供了一个更全面和可靠的碳强度计算。

 

测量云计算的实时碳排放足迹的方法

 

云计算的 AI 模型训练通常在云计算实例上进行,因为云计算使得模型训练具备灵活性、可访问性和成本效益。云计算提供了基础设施和资源,以便规模化部署和训练 AI 模型。这就是为什么基于云计算进行模型训练逐渐增多的原因。

测量云计算实例的实时碳强度对于确定适合减排努力的领域非常重要。按时间和地点边际排放每单位能量的计入可以帮助计算操作性碳排放,就像一篇 2022 年的论文所做的那样。

还有一个开源工具,Cloud Carbon Footprint(CCF),可用于计算云实例的影响。

 

提高 AI 应用的碳效率

 

以下是优化 AI 系统碳强度的 7 种方法。

 

1. 编写更好、更高效的代码

 

优化代码可以通过减少内存和处理器使用量来减少能量消耗,降低 30% 的能量消耗。编写低碳的代码涉及优化算法以实现更快的执行,减少不必要的计算,并选择节能的硬件来执行任务。

开发者可以使用性能分析工具来识别代码中的性能瓶颈和优化领域。这个过程可以导致更节能的软件。此外,考虑实施以能源为导向的编程技术,其中代码被设计为适应可用资源并优先选择能源高效的执行路径。

 

2. 选择更高效的模型

 

选择正确的算法和数据结构是至关重要的。开发者应选择最小化计算复杂度和能源消耗的算法。如果更复杂的模型只能提供 3-5% 的改进但训练时间要长 2-3 倍,则选择更简单和更快的模型。

模型蒸馏是将大型模型压缩为更小版本的另一种技术,以使其更高效,同时保留必要的知识。可以通过训练一个小模型来模仿大模型或从神经网络中删除不必要的连接来实现。

 

3. 调整模型参数

 

使用双目标优化来调整模型的超参数,以平衡模型性能(例如准确性)和能源消耗。这种双目标方法确保您不会为某一方面而牺牲另一方面,使您的模型更高效。

利用诸如Parameter-Efficient Fine-Tuning(PEFT)之类的技术,其目标是获得与传统微调相似的性能,但可减少可训练参数的数量。这种方法涉及微调模型的一小部分参数,同时保持大多数预训练的大型语言模型(LLM)冻结,从而显著减少计算资源和能源消耗。

 

4. 压缩数据和使用低能耗存储

 

实施数据压缩技术以减少传输的数据量。压缩后的数据传输所需的能量较少,并且在磁盘上占用较低的空间。在模型服务阶段,使用缓存可以帮助减少对在线存储层的调用,从而减少 

此外,选择合适的存储技术可以带来重大收益。例如,如果数据不需要频繁访问,AWS Glacier是一种高效的数据归档解决方案,比使用S3更可持续。

 

5. 在清洁能源上训练模型

 

如果您正在使用云服务进行模型训练,您可以选择要执行计算的区域。选择一个使用可再生能源的地区,可以将排放量减少多达30倍。 AWS博客文章概述了优化商业和可持续发展目标之间的平衡。

另一个选择是选择适时运行模型的时机。在一天的某些时间段,能源更加清洁,可以通过付费服务(例如Electricity Map)获得有关不同区域电力碳强度的实时数据和未来预测。

 

6. 使用专用的数据中心和硬件进行模型训练

 

选择更高效的数据中心和硬件可以极大地改善碳强度。面向机器学习的数据中心和硬件可以比一般的数据中心和硬件更节能效率,节能效果可达1.4-2倍和2-5倍。

 

7. 使用AWS Lambda、Azure Functions等无服务器部署

 

传统部署需要服务器始终运行,这意味着全天候能源消耗。AWS Lambda和Azure Functions等无服务器部署可以在最低碳强度下正常工作。

 

最后说明

 

人工智能行业正在经历指数级增长,渗透到业务和日常生活的方方面面。然而,这种扩张是有代价的-越来越大的碳足迹威胁着我们将全球温度上升限制在仅为1℃的目标之外。

这种碳足迹不仅仅是当前的关切;它的影响可能会延伸到几代人,影响那些对其产生的责任没有任何责任的人。因此,采取果断行动来减轻与人工智能相关的碳排放,并探索可持续利用其潜力的途径变得十分重要。确保人工智能的好处不以环境和未来世代的福祉为代价至关重要。  

[Ankur Gupta](https://www.linkedin.com/in/ankurgupta101)是一位工程领导者,拥有可持续性、交通运输、电信和基础设施领域的十年经验;目前担任Uber的工程经理。在这个职位上,他在推动Uber车辆平台的进步方面发挥着关键作用,通过集成尖端的电动和智能化车辆,推动向零排放未来迈进。