绿色机器学习系统综述:(三)算法策略与测量工具
摘要本文是对发表在《Artificial Intelligence Review》期刊上的论文A systematic review of Green Machine Learning: practices and challenges for sustainability的文献精读第三篇。该论文由Samara Santos、André L. C. Ottoni、Rita Borgo、Danton Ferreira和Erivelton Nepomuceno共同撰写。本篇聚焦于原文第3章绿色机器学习维度的后半部分内容系统阐述GML的核心算法策略、能源测量工具、基准数据集和可重复性标准。通过对模型压缩技术剪枝、量化、知识蒸馏、高效训练方法、联邦学习优化策略等核心技术的深入分析以及Carbontracker、CodeCarbon、Green Algorithms等主流能源监控工具的详细介绍为读者提供GML技术实现的全面指南。本篇还将讨论基准数据集的组织框架和可重复性评估标准为GML研究的规范化发展提供参考。1 能源感知算法策略1.1 算法策略概述能源感知算法策略是GML研究的核心内容旨在通过算法层面的优化降低机器学习系统的能源消耗。这些策略可以大致分为三类模型压缩技术、高效训练方法和架构优化策略。本节将系统介绍这些技术的原理、方法和应用效果。从理论角度看能源感知算法策略的核心思想是在保持模型性能的前提下减少计算量和内存访问次数。计算量通常用浮点运算次数Floating Point Operations, FLOPs来衡量而内存访问次数则与模型参数量和中间激活值的大小相关。能源消耗可以近似表示为E≈α⋅FLOPsβ⋅Memory AccessE \approx \alpha \cdot \text{FLOPs} \beta \cdot \text{Memory Access}E≈α⋅FLOPsβ⋅Memory Access其中α\alphaα和β\betaβ是取决于硬件特性的系数。这一公式揭示了算法优化的两个主要方向减少计算量和减少内存访问。1.2 模型压缩技术模型压缩技术是GML研究中最成熟、应用最广泛的技术方向主要包括剪枝、量化和知识蒸馏三种核心技术。1.2.1 剪枝技术剪枝Pruning是指从训练好的神经网络中移除不重要的参数或结构从而减少模型大小和计算复杂度。剪枝可以根据粒度分为非结构化剪枝和结构化剪枝两类。非结构化剪枝移除单个权重参数不依赖于特定的硬件结构。其数学形式可以表示为WprunedW⊙MW_{pruned} W \odot MWprunedW⊙M其中WWW是原始权重矩阵MMM是二值掩码矩阵⊙\odot⊙表示逐元素乘法。掩码矩阵根据权重的重要性确定常用的重要性度量包括权重幅值、梯度幅值、或二阶导数信息。非结构化剪枝可以实现极高的压缩率通常可达90%以上但由于剪枝后的权重矩阵变为稀疏矩阵需要专门的稀疏计算库或硬件支持才能获得实际的加速效果。结构化剪枝移除完整的神经元、卷积核或层保持权重矩阵的密集结构。结构化剪枝虽然压缩率通常低于非结构化剪枝但可以直接在标准硬件上获得加速效果因此更具实用价值。结构化剪枝的数学形式可以表示为WprunedW[Ikeep,:]或WprunedW[:,Ikeep]W_{pruned} W[I_{keep}, :] \quad \text{或} \quad W_{pruned} W[:, I_{keep}]WprunedW[Ikeep,:]或WprunedW[:,Ikeep]其中IkeepI_{keep}Ikeep是保留的神经元或卷积核索引集合。表1 剪枝方法比较剪枝类型粒度压缩率加速效果硬件要求非结构化剪枝单个权重高90%需稀疏支持专用库/硬件结构化剪枝神经元/卷积核中50-80%直接加速标准硬件半结构化剪枝N:M稀疏模式中高硬件加速特定GPU剪枝的关键挑战在于如何确定参数的重要性以及如何在剪枝后恢复模型性能。常用的策略包括幅值剪枝根据权重绝对值大小确定重要性移除幅值较小的权重。这种方法简单有效但可能移除对输出有重要影响的小权重。梯度敏感剪枝根据权重对损失函数的影响确定重要性通常使用一阶或二阶梯度信息。这种方法理论上更合理但计算成本较高。迭代剪枝交替进行剪枝和微调逐步移除不重要的参数。这种方法可以获得更好的性能保持但训练时间较长。研究表明通过剪枝可以将神经网络的能源消耗降低30%-80%具体效果取决于剪枝率和模型架构。1.2.2 量化技术量化Quantization是指将模型参数从高精度表示如32位浮点数转换为低精度表示如8位整数或更低。量化可以显著减少模型大小和内存带宽需求同时利用低精度计算单元提高计算效率。量化的数学形式可以表示为Q(x)round(x−xmins)⋅sxminQ(x) \text{round}\left(\frac{x - x_{min}}{s}\right) \cdot s x_{min}Q(x)round(sx−xmin)⋅sxmin其中s(xmax−xmin)/(2b−1)s (x_{max} - x_{min}) / (2^b - 1)s(xmax−xmin)/(2b−1)是量化步长bbb是量化位数xminx_{min}xmin和xmaxx_{max}xmax是量化范围。训练后量化Post-Training Quantization, PTQ在模型训练完成后进行量化不需要重新训练。PTQ方法简单快速但对于低比特量化如4比特以下可能导致较大的性能损失。量化感知训练Quantization-Aware Training, QAT在训练过程中模拟量化效果使模型学习适应量化误差。QAT可以获得更好的低比特量化性能但需要额外的训练成本。表2 量化方法比较量化类型位数精度损失实现复杂度能效提升FP32基准32位---FP16混合精度16位极小低2-3倍INT8量化8位小中2-4倍INT4量化4位中等高4-8倍二值/三值网络1-2位较大高10倍混合精度训练结合了高精度和低精度计算的优势在保持模型性能的同时提高训练效率。现代深度学习框架如PyTorch、TensorFlow已原生支持混合精度训练使其成为GML实践的标配技术。低比特量化4比特及以下是当前研究的热点方向。研究表明通过精心设计的量化感知训练方法4比特量化可以在许多任务上达到接近全精度的性能。更激进的二值神经网络和三值神经网络虽然可以实现极高的压缩率和能效但在复杂任务上的性能仍有较大差距。1.2.3 知识蒸馏知识蒸馏Knowledge Distillation, KD是一种模型压缩技术通过让小模型学生模型学习大模型教师模型的知识来实现模型压缩。知识蒸馏的核心思想是教师模型的软标签soft labels包含比硬标签更丰富的信息可以帮助学生模型更好地学习。知识蒸馏的损失函数通常表示为LKDαLhard(1−α)LsoftL_{KD} \alpha L_{hard} (1-\alpha) L_{soft}LKDαLhard(1−α)Lsoft其中LhardL_{hard}Lhard是学生模型预测与真实标签之间的交叉熵损失LsoftL_{soft}Lsoft是学生模型与教师模型软标签之间的蒸馏损失α\alphaα是平衡系数。软标签通过温度参数TTT调节piexp(zi/T)∑jexp(zj/T)p_i \frac{\exp(z_i/T)}{\sum_j \exp(z_j/T)}pi∑jexp(zj/T)exp(zi/T)其中ziz_izi是模型输出的logitsTTT是温度参数。较高的温度使概率分布更加平滑揭示类别之间的相似性信息。知识蒸馏的变体包括特征蒸馏让学生模型的中间特征接近教师模型的对应特征。这种方法可以传递教师模型的表示能力。关系蒸馏保持样本之间的相对关系使学生模型学习教师模型的样本间相似性结构。自蒸馏模型从自身的早期版本或不同层学习实现自我改进。研究表明知识蒸馏可以在保持模型性能的同时将模型大小减少10-100倍能源消耗相应降低。1.3 高效训练方法高效训练方法关注如何减少训练过程的能源消耗包括数据高效学习、优化策略改进和训练过程优化等方面。1.3.1 数据高效学习数据高效学习旨在减少达到目标性能所需的训练数据量或数据访问次数。主动学习Active Learning智能选择最有信息量的样本进行标注减少标注成本和训练数据量。主动学习通过不确定性采样、多样性采样等策略选择样本可以在较少标注数据下达到目标性能。课程学习Curriculum Learning按照从易到难的顺序组织训练样本使模型逐步学习复杂模式。课程学习可以加速收敛减少训练迭代次数。数据增强Data Augmentation通过对训练数据进行变换生成新样本增加数据多样性。数据增强可以在不增加数据收集成本的情况下提高模型泛化能力间接减少训练需求。1.3.2 优化策略改进优化策略的改进可以加速训练收敛减少训练迭代次数和能源消耗。学习率调度合理的学习率调度策略如余弦退火、线性预热可以加速收敛减少训练时间。研究表明优化学习率调度可以将训练时间减少20%-50%。大批量训练增大批量大小可以提高硬件利用率减少训练时间。然而大批量训练可能导致泛化性能下降需要配合自适应学习率调整等技术。梯度累积在内存受限的情况下通过累积多个小批量的梯度来模拟大批量训练在保持内存效率的同时获得大批量训练的优势。1.3.3 早停与检查点策略早停Early Stopping在验证性能不再提升时停止训练避免过度训练带来的能源浪费。早停是最简单有效的训练优化策略之一。检查点策略定期保存模型状态支持从检查点恢复训练。检查点策略可以避免因意外中断导致的重复训练同时也支持模型选择和集成。1.4 联邦学习优化策略联邦学习Federated Learning, FL是一种分布式机器学习范式允许多个客户端在不共享原始数据的情况下协作训练模型。联邦学习虽然具有隐私保护优势但其能源效率问题日益受到关注。联邦学习的能源消耗主要来自三个方面本地训练能耗、通信能耗和服务器聚合能耗。研究表明联邦学习的碳排放可能比集中式训练高两个数量级这主要由于客户端设备的能效差异和通信开销。联邦学习的能源优化策略包括客户端选择选择能效较高的客户端参与训练减少整体能源消耗。客户端选择可以考虑设备类型、电池状态、网络条件等因素。通信压缩通过梯度压缩、稀疏化等技术减少通信数据量降低通信能耗。研究表明梯度压缩可以在保持模型性能的同时减少90%以上的通信量。异步聚合允许客户端异步提交更新减少等待时间和重复计算。异步聚合可以提高系统效率但可能影响模型收敛性。分层联邦学习引入中间聚合层减少与中央服务器的通信距离和频率。分层架构特别适合地理分布广泛的场景。联邦学习的能源优化是一个多目标优化问题需要在模型性能、隐私保护、能源效率和公平性之间寻求平衡。1.5 神经架构搜索与高效架构神经架构搜索Neural Architecture Search, NAS旨在自动发现高效的网络架构。传统的NAS方法计算成本极高搜索一个架构可能需要数千GPU天。近年来研究者提出了多种高效NAS方法使架构搜索更加绿色。权重共享NAS通过在超网络中共享权重避免从头训练每个候选架构。权重共享可以将搜索成本降低几个数量级。一次性NAS训练一个包含所有候选架构的超网络然后从中搜索最优架构。一次性NAS将搜索时间从数千GPU天减少到数GPU天。可微分NAS将架构搜索转化为连续优化问题使用梯度下降求解。可微分NAS具有更高的搜索效率。除了自动搜索研究者还设计了多种高效网络架构轻量级卷积网络如MobileNet系列使用深度可分离卷积ShuffleNet系列使用通道混洗操作在保持性能的同时大幅减少计算量。高效注意力机制如线性注意力、稀疏注意力、局部注意力等变体将Transformer的计算复杂度从二次降低到线性或接近线性。动态网络根据输入复杂度动态调整计算量简单输入使用较少计算复杂输入使用更多计算。动态网络可以在保持平均性能的同时显著降低平均计算量。2 能源测量与碳追踪工具2.1 能源测量工具概述准确的能源测量是GML研究和实践的基础。本节介绍GML研究中常用的能源测量和碳追踪工具分析其功能特点、适用场景和局限性。能源测量工具可以分为三类硬件级监控工具、软件级监控工具和碳排放估算工具。硬件级工具提供最精确的测量但需要专用设备软件级工具易于部署但精度受限碳排放估算工具结合能源数据和碳强度信息提供碳排放估算。2.2 硬件级监控工具NVIDIA NVMLNVIDIA Management Library提供对NVIDIA GPU的监控接口可以获取实时功耗、温度、利用率等信息。NVML是GPU能源监控的标准工具被广泛集成到各种能源监控框架中。Intel RAPLRunning Average Power Limit提供对Intel处理器和内存的功耗监控接口。RAPL通过模型特定寄存器MSR提供功耗数据精度约为软件级监控中最高。功率计设备如Watts Up? Pro、Kill-A-Watt等外部功率计可以直接测量设备的电力消耗。外部功率计提供最高精度的测量但需要专用设备且难以区分不同组件的能耗。表3 硬件级监控工具比较工具监控对象精度部署难度成本NVMLNVIDIA GPU高低免费RAPLIntel CPU/内存中高中免费AMD uProfAMD CPU中中免费外部功率计整机最高高需购买2.3 软件级监控框架Carbontracker一个Python工具包用于追踪和预测深度学习模型的能源消耗和碳排放。Carbontracker支持多种硬件平台包括NVIDIA GPU、Intel CPU等可以集成到PyTorch和TensorFlow训练流程中。Carbontracker的核心功能包括实时能源消耗监控碳排放估算基于区域碳强度训练完成时间和能源消耗预测详细报告生成CodeCarbon一个Python包用于追踪代码执行的碳排放。CodeCarbon支持多种硬件和云平台可以估算不同地区的碳排放。CodeCarbon的特点包括支持CPU、GPU、TPU等多种硬件集成全球碳强度数据支持离线模式提供可视化仪表板Green Algorithms一个计算碳足迹的工具基于能源消耗估算和碳强度数据计算碳排放。Green Algorithms提供在线计算器和Python包两种使用方式。表4 软件级监控框架比较工具语言支持硬件碳强度数据输出格式CarbontrackerPythonGPU, CPU在线获取日志, JSONCodeCarbonPythonGPU, CPU, TPU内置数据库CSV, 日志Green AlgorithmsPython, Web通用内置数据库文本, JSONexperiment-impact-trackerPythonGPU, CPU在线获取CSV, 日志2.4 碳排放计算方法碳排放计算需要结合能源消耗数据和区域碳强度信息。碳强度Carbon Intensity表示单位能源生产所产生的碳排放量通常以gCO2eq/kWh为单位。碳排放的计算公式为Carbon EmissionE×CI\text{Carbon Emission} E \times CICarbon EmissionE×CI其中EEE是能源消耗kWhCICICI是碳强度gCO2eq/kWh。碳强度因地区而异取决于当地的能源结构。以可再生能源为主的地区碳强度较低而以化石能源为主的地区碳强度较高。例如挪威的碳强度约为20 gCO2eq/kWh水电为主而某些以煤电为主的地区可能超过800 gCO2eq/kWh。碳强度数据可以从以下来源获取电力系统运营商发布的实时数据Carbon Intensity API等公共服务政府发布的年度统计数据2.5 能源测量的最佳实践基于本综述的分析我们总结了GML研究中能源测量的最佳实践完整报告硬件配置包括处理器型号、GPU型号、内存大小、存储类型等这些因素都会影响能源消耗。明确测量范围说明测量是否包括整个系统、仅GPU、或仅CPU等确保测量的可比较性。报告测量方法说明使用的监控工具、采样频率、测量时长等确保测量的可重复性。考虑冷启动效应设备预热阶段的能耗可能与稳定运行阶段不同应明确是否包含冷启动阶段。报告环境条件环境温度、散热条件等因素会影响设备功耗应在报告中说明。提供原始数据尽可能提供能源消耗的原始数据支持后续分析和验证。3 基准数据集与可重复性标准3.1 基准数据集概述基准数据集是GML研究的基础设施支持不同方法的公平比较和可重复性验证。本综述系统组织了GML研究中使用的基准数据集按数据模态进行分类。3.2 图像数据集表5 GML研究中的图像基准数据集数据集样本数类别数图像尺寸典型任务应用场景MNIST70,0001028×28分类手写数字识别CIFAR-1060,0001032×32分类物体分类CIFAR-10060,00010032×32分类细粒度分类ImageNet1,400万21,841可变分类, 检测大规模视觉识别COCO330,00080可变检测, 分割目标检测与分割Pascal VOC11,53020可变检测, 分割目标检测MNIST是最简单的图像分类基准包含70,000张28×28灰度手写数字图像。由于其简单性MNIST常用于快速验证新方法的有效性。CIFAR-10/100是中等规模的图像分类基准包含60,000张32×32彩色图像。CIFAR数据集在GML研究中广泛使用因为其规模适中可以在合理时间内完成实验。ImageNet是大规模图像分类基准包含超过1400万张图像和21,841个类别。ImageNet训练需要大量计算资源是评估GML方法在大规模场景下效果的重要基准。3.3 文本数据集表6 GML研究中的文本基准数据集数据集样本数任务类型语言应用场景IMDB50,000情感分类英语电影评论情感分析SST-267,349情感分类英语句子情感分析CoLA10,657语法判断英语语言可接受性MRPC5,801相似度判断英语句子对相似度SQuAD100,000问答英语阅读理解GLUE多个多任务英语通用语言理解**GLUEGeneral Language Understanding Evaluation**是一个多任务基准包含多个自然语言理解任务。GLUE广泛用于评估预训练语言模型的性能和能效。**SQuADStanford Question Answering Dataset**是阅读理解基准要求模型根据给定段落回答问题。SQuAD常用于评估大型语言模型的推理能力。3.4 音频与多变量数据集表7 GML研究中的音频和多变量基准数据集数据集类型样本数任务应用场景SpeechCommands音频65,000分类语音命令识别LibriSpeech音频1,000小时识别语音识别UrbanSound8K音频8,732分类环境声音分类UCI HAR多变量10,299分类人类活动识别ECG5000多变量5,000分类心电图分类FordA多变量4,921分类工业故障检测音频数据集在语音识别、声音事件检测等应用中使用。音频数据的GML研究关注实时处理约束下的能效优化。多变量时序数据集在物联网、工业监测、医疗健康等应用中使用。多变量数据的GML研究关注特征选择和模型简化。3.5 可重复性标准可重复性是科学研究的基本要求但在机器学习研究中面临特殊挑战。本综述提出了GML研究的可重复性标准包括以下方面实验可重复性完整报告硬件配置处理器、GPU、内存、存储报告软件环境操作系统、框架版本、依赖库提供随机种子和初始化方法公开代码和训练脚本测量可重复性明确能源测量方法和工具报告测量范围和采样频率提供原始能源数据说明碳强度数据来源结果可重复性报告多次运行的统计结果均值、标准差提供完整的超参数配置公开模型检查点提供评估脚本表8 可重复性检查清单类别检查项重要性硬件处理器型号、GPU型号、内存大小高软件操作系统、框架版本、主要依赖库高数据数据集版本、预处理方法、划分方式高训练超参数、随机种子、训练时长高能源测量工具、测量范围、采样频率高碳排放碳强度来源、计算方法、区域信息中代码代码仓库、依赖文件、运行脚本高模型模型架构、参数量、检查点中3.6 开放科学实践开放科学实践支持GML研究的可重复性和透明性。推荐的实践包括代码开源在GitHub等平台公开研究代码使用开源许可证提供完整的依赖文件和运行说明。数据共享在符合隐私和伦理要求的前提下共享研究数据或提供数据获取方式。预注册在实验开始前注册研究计划减少选择性报告和发表偏差。开放同行评审参与开放同行评审过程提高评审透明度。预印本发布在正式发表前发布预印本加速知识传播。这些开放科学实践有助于建立GML研究的信任基础推动领域的健康发展。小结本篇文献精读系统阐述了绿色机器学习的核心算法策略和能源测量工具。模型压缩技术剪枝、量化、知识蒸馏是GML研究中最成熟的技术方向可以在保持模型性能的同时显著降低能源消耗。高效训练方法、联邦学习优化策略和神经架构搜索为GML提供了多样化的技术路径。能源测量工具Carbontracker、CodeCarbon、Green Algorithms等为GML研究提供了标准化的监控和报告方法。基准数据集和可重复性标准的建立为GML研究的规范化发展提供了基础设施支持。下一篇将深入讨论GML研究的开放挑战、未来方向和战略路径。参考文献来源Santos S, Ottoni ALC, Borgo R, Ferreira D, Nepomuceno E. A systematic review of Green Machine Learning: practices and challenges for sustainability. Artificial Intelligence Review (2026) 59:132. https://doi.org/10.1007/s10462-026-11515-8
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2520742.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!