[论文解读] Energy Usage Reports: Environmental awareness as part of algorithmic accountability
引入一个名为 energyusage 的 Python 包,用于计算和报告给定函数的能耗和二氧化碳排放,并结合能源电网构成与人类基准来支持算法问责性。
The carbon footprint of algorithms must be measured and transparently reported so computer scientists can take an honest and active role in environmental sustainability. In this paper, we take analyses usually applied at the industrial level and make them accessible for individual computer science researchers with an easy-to-use Python package. Localizing to the energy mixture of the electrical power grid, we make the conversion from energy usage to CO2 emissions, in addition to contextualizing these results with more human-understandable benchmarks such as automobile miles driven. We also include comparisons with energy mixtures employed in electrical grids around the world. We propose including these automatically-generated Energy Usage Reports as part of standard algorithmic accountability practices, and demonstrate the use of these reports as part of model-choice in a machine learning context.
研究动机与目标
- 促使测量并报告算法的碳足迹,以促进 CS 研究中的环境可持续性。
- 提供一种可访问的、自动化的方法,使用基于位置的能源结构数据将代码的能耗转换为 CO2 排放。
- 用易于理解的基准来情境化排放(例如行驶里程、电视观看分钟数),帮助解释。
- 在不同能源网格之间实现比较,促进能源意识的模型选择与设计。
提出的方法
- 开发一个 Python 包 energyusage,利用 RAPL 接口计算函数执行的能耗,并结合电网的能源结构数据来估算 CO2 排放。
- 通过从州级 eGRID 数据反向推导燃料来源的排放强度,并将其应用于国际能源结构,将能耗转化为 CO2 排放。
- 通过 IP 检测实现位置检测,以选择国家/州的能源结构数据;在无法确定位置时提供默认的全球平均值。
- 输出一个 Energy Usage Report,其中包含读数、能源结构、CO2 排放等效值以及与日常活动的排放对比。
- 通过将包测量与 Kill-a-Watt 设备读数在不同的函数复杂度(线性、二次、指数)下进行比较来验证方法。
- 展示在 ML 中应用,通过分析不同模型和配置下的能耗与准确性。
实验结果
研究问题
- RQ1如何在考虑电网燃料混合变异性的情况下,准确将算法的本地用电转化为 CO2 排放?
- RQ2报告能耗和排放是否会影响机器学习任务中的模型选择或体系结构决策?
- RQ3自动化工具是否能提供易于解释的基准,以便向非专家传达计算的环境影响?
- RQ4在不同算法和配置下,能耗与模型性能之间的关系是什么?
主要发现
- energyusage 包的能耗测量在考虑功率损耗(效率约 0.8)后,与 Kill-a-Watt 读数一致。
- 能耗与传统 ML 指标不同的权衡;较高的能量并不总是显著提高各模型类型的准确性。
- 某些算法(如 kNN)在能耗较低的同时,精度变化不定,凸显低能耗模型选择的潜力。
- ML 实验表明,架构选择会影响能耗,独立于准确性,强调需考虑能耗的设计。
- 该工具使不同能源网格之间的排放对比成为可能,展示网格混合如何影响同一计算的 CO2 足迹。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。