杨军 从事大规模机器学习系统研发及应用相关工作
在DeepMind的官网blog里[3],提到了Google使用DeepMind提供的AI技术,在机房的能耗上获得了大幅的削减,对应于PUE(Power Usage Effectiveness[19])的减少。具体来说,通过build了一个Machine Learning的模型,对机房的PUE指标[14]趋势进行预测,从而指导制冷设备的配置优化,减少了闲置的用于制冷的电力消耗。从[3]里public出的指标来看,这项技术能够为Google减少15%的数据中心整体耗电量。而从[15]的数据来看,2014年,Google全年的电力消耗已经达到了4,402,836 MWh,这个数字相当于30多万美国家庭一年的电力消耗。所以15%的整体耗电量节省可以映射成上亿美元的资金节省[4](对于这里节省的具体数字,我会有一些concern,认为实际的电量节省没有这么显著,我结合具体数字,估算的电力节省大约在5百万美元左右,在文末会有一些对应的细节分析)。 这是一个看起来很让人amazing的数字,从[5]里,能够看到一些更有趣的数字: 从2000年到2005年,全美的机房电力消耗累积增加了90%; 从2005年到2010年,全美的机房电力消耗累积增加了24%; 从2010年到2014年,全美的机房电力消耗累积只增加了4%。 而从[7]里,我们能够看到,服务器数量的增长速度可是显著高于上面的电力消耗增长数字: 2000年到2005年,服务器年复合新增率是15%(累积增长率100%); 2005年到2010年,服务器年复合新增率是5%(累积增长率27%); 2010年到2014年,服务器年复合新增率是3%(累积增长率12%)。 考虑到每年服务器的折旧淘汰率,不能简单地把服务器数量增长率与机房电力消耗增长率进行对比。不过,还是能够看到机房电力消耗的增幅持续下降的趋势要比服务器数量增幅的下降趋势更为明显。这从[7]里提供的一个关于机房能耗的趋势图可以更为直观地感受到:
在背后支撑这个现象的,是一系列能耗相关的技术。比如[6]里提到的制冷技术、低功耗技术的进步、hyper-scale机房替换小机房带来的运维边际成本的下降及技术上的改善、云计算的兴起[5][9][10]等等。 在[8][12]里也提到了一些Google在机房能耗上的细节工作。 而除了上面提到的这些有助于减少机房电力消耗的技术以外,Google从14年开始,就已经在尝试通过Machine Learning的方法[1]来减少机房耗电量,今年DeepMind发布的基于神经网络模型[3]对机房制冷成本cut-off的实验数据只是一个具体的use case而已:
[3]里所发布的工作是Google Data Center团队的Jim Gao与DeepMind合作的项目,目前还没有正式的文献可供了解其细节。不过Jim Gao从14年就开始尝试运用Machine Learning技术来改善机房功耗,当时的工作还是发表了一份技术报告[2],里头倒是有一些细节可考。 在[2]里,使用神经网络,对PUE进行了回归建模。 如果从现在的技术视角来看,[2]里提出的神经网络模型并不是很复杂,就是一个由5个等宽(每层50个神经元)隐藏层组成的MLP[16]网络。Loss Function采取的是Squared Loss(因为建模目标是PUE,这实际上是一个浮点数,所以作为一个Regression Problem来建模),loss的具体数学形式见下图):
其中m是样本的数目,L是神经网络的层数(包括输入层和输出层),h_\theta表征输出层的神经元具体数值。在Loss Function里引入了二范数正则来避免over-fit,所以这里的Loss Function也是对问题的一个标准的Ridge Regression[18]建模。 输入由19个浮点特征组成。训练样本由18万条样本组成,每条样本对应于一个5分钟长度的时间窗口的聚合数据,数据的总时间跨度将近两年。70%的数据用作训练集,30%用作验证集和测试集,为了避免time bias,在切割训练与测试集之前,对样本进行了随机打散。输入特征都进行了归一化,确保都落在了[-1, 1]的区间内(采用的是朴素的min-max归一化[17])。考虑到这个训练样本的规模和模型复杂度,训练过程在单机就可以完成,并没有使用GPU,也不需要考虑分布式训练的需要。 模型的评估,直接使用了Google某一个真实机房在夏天持续一个月的PUE指标作为target,与模型拟合预测的结果进行了对比:
模型的mean absolute error是[0.004-0.005, 0.004+0.005],对于1.06的PUE值,相对误差比例< 0.8%。 从上面的图表能够看到,模型在PUE > 1.14的值域区间的误差较大,这跟这段区间的累积样本数量较少有关。 关于这个模型的具体应用场景,可以列举几个: 1.模型可以预测出PUE值与input feature的关系,而这些input feature又来源于物理设备采集的传感数据,其中有些数据是可以通过参数配置的(比如启用的制冷机的数目),所以通过这里的PUE模型,可以指导机房运维人员通过仿真实验找到更具能耗比的机房配置。 2.机房升级,需要将原机房的流量打到其他机房,其他机房的制冷系统的工作配置需要进行调整,通过PUE Model,可以帮助找到更优的制冷系统配置调整参数。 把[2]与[3]结合起来来看,我会有一些有趣的发现: I. 在[2]里给出了Google数据中心的历史PUE值,我结合[14]的数据做了一下人工validate,数据是能够对上的,下面提供的就是[14]里的数据:
而[2]里提供的数据如下(截止到14年):
我们能够看到从14年到16年,PUE值几乎是稳定在1.12,没有发生比较显著的变化。 II. 在[3]里,claim通过DeepMind与Google Data Center合作,在PUE指标上整体减少了15%。这15个百分点的计算方式就很重要了。 如果是相对于PUE的绝对值,那么考虑到PUE的理论最优值是1.0,几乎可以肯定,这个15%是有问题的(在[3]里提起到了这里的PUE reduction是考虑到了制冷以外的能耗以及电力损失等,不过我还是不太认为这里的15%是相对于1.12的PUE基准值来计算的)。 如果是相对于PUE里overhead的部分(从PUE的计算公式,我们可以知道,> 1的那部分都属于为了供给计算设施的能量所引入的额外消耗,对应于1.12,overhead部分就是0.12),那么我会觉得更make sense一些。 按照上面我认为更合理的口径算法,DeepMind claims的电力节省量大约是: 0.12 * 0.15 * 4,402,836 MWh([15]里public出的Google全年的电力消耗) = 79,251 MWh。 而这部分节省下的电力,如果按照[20]里的数据,每KWh工业用电的费用是7美分,那么,对应的费用节省是: 4402836 * 0.12 * 0.15 * 0.07美元 * 1000 = 5,547,573美元。 (如果以PUE的绝对数值作为计算基准的话,对应的费用节省是: 4402836 * 1.12 * 0.15 * 0.07 * 1000 = 51,777,451,倒是勉强能对上过亿美元的电费节省的说法) 看起来还是节省了不少电费,不过跟[4]里所说的上亿美元的节省还是存在较大的出入。 不过在DeepMind官方站点上,我并没有看到关于电费节省的具体费用的数字,所以这里表现出的不严谨目前来看还更多是一个媒体的过度解读。 最后说说我的一些感受。 1.关于使用神经网络对PUE进行回归建模。 我个人认为,这更多是一个建模人员的taste问题,并不是说明这个问题场景神经网络就是最合适的手段,要比shallow model一定要强。比如说,使用GBDT这样的非线性树模型,我的直觉是也能获得相近的预测表现。毕竟,这个场景下的训练数据并不多,特征量也比较少,是否能够充分发挥神经网络模型的优势我是存在一定的疑问的。 2.AI-First 这一年多来,AI-First类似的字眼在不同的媒体、场合听到过很多次。Google在说[23]、Baidu在说、微软也在说[24],我个人的预判是,以machine learning为代表的data-driven策略未来会在更多目前看起来比较传统的领域里发挥不可替代的价值。比如机房的耗电节能、故障智能运维[25][27][28]、硬件体系结构设计[22]这种比较传统的,看起来比较“硬”的领域,未来也许都能够看到更多AI技术的身影。而随着IoT技术的进步[26]和网络互联带宽的发展,现实世界会更多、更深层地投影到数字世界,而针对这个数字投影,也会有大量的数据挖掘的工作可做。 3.云计算 虽然我对[4]里所说的通过AI技术获得上亿美元电费节省的说法存在比较强的疑问,不过我倒是对于[5][9][10]里提到的以云计算为基础,将更多分布式的小规模的机房替换成集中式的hyper-scale机房的作法所能带来的能源消耗的节省寄予了很高的期望。在[5]里也有一张很形象的图说明了把企业办公工作移入到云端带来的能耗收益:
从社会分工的角度来看,作为基础设施的计算设备和基础软件,通过集约化的方式进行管理,是比较典型的帕累托改进[21]。我个人也很看好,对于基础性的机器学习和数据处理平台,通过云计算的方式来为中小企业提供使用权而非所有权(大企业的case比较特殊,涉及到企业竞争安全的考量,未必适合)。这可能也是Google、Amazon、Microsoft以及阿里在云平台乃至云端数据处理平台上发力的一个重要动机吧。 References: [1]. Better data centers through machine learning. https://googleblog.blogspot.com/2014/05/better-data-centers-through-machine.html. Google, 2014. [2]. Jim Gao. Machine Learning Applications for Data Center Optimization. Google, 2014. http://research.google.com/pubs/pub42542.html [3]. DeepMind AI Reduces Google Data Center Cooling Bill by 40%. https://deepmind.com/blog/deepmind-ai-reduces-google-data-centre-cooling-bill-40/ [4]. Google uses DeepMind AI to cut Data Center Energy Bills. Google uses DeepMind AI to cut data center energy bills [5]. Google. Data Centers Get Fit on Efficiency. https://green.googleblog.com/2016/06/data-centers-get-fit-on-efficiency.html [6]. Julie Chao. Data Centers Continue to Proliferate While Their Energy Use Plateaus. http://newscenter.lbl.gov/2016/06/27/data-centers-continue-proliferate-energy-use-plateaus/ [7]. ETA of US. United States Data Center Energy Usage Report. United States Data Center Energy Usage Report http://eta.lbl.gov/sites/all/files/lbnl-1005775_v2.pdf [8]. 2009年数据中心能效峰会. https://www.google.com/about/datacenters/efficiency/external/2009-summit.html [9]. Google Apps Cuts GSA Energy Costs. Google Apps Cuts GSA Energy Costs [10]. Lawrence Berkley National Laboratory. The Energy Efficiency Potential of Cloud-Based Software: A U.S. Case Study. http://crd.lbl.gov/assets/pubs_presos/ACS/cloud_efficiency_study.pdf [11]. Google. Efficiency: How We Do It. https://www.google.com/about/datacenters/efficiency/internal/#tab0=0 [12]. Google. The Case of Energy-Proportional Computing. IEEE Computer, 2007. http://research.google.com/pubs/pub33387.html [13]. Report to Congress on Server and Data Center Energy Efficiency. 2008. Report to Congress on Server and Data Center Energy Efficiency: Public Law 109-431 [14]. Measuring Efficiency. https://www.google.com/about/datacenters/efficiency/internal/index.html#measuring-efficiency [15]. https://www.google.com/green/bigpicture/references.html [16]. Multilayer Perceptron. Multilayer perceptron [17]. Rescaling. Feature scaling [18]. Ridge Regression. Tikhonov regularization [19]. Power Usage Effectiveness. Power usage effectiveness [20]. Average Price of Electricity to Ultimate Customers by End-User Section. EIA - Electricity Data [21]. Pareto Efficiency. Pareto efficiency [22]. Tianshi Chen. ArchRanker: A Ranking Approach to Design Space Exploration. ISCA, 2014. [23]. Google Blog. This Year’s Founders’ Letter. https://googleblog.blogspot.com/2016/04/this-years-founders-letter.html [24]. Techcrunch. Microsoft CEO Satya Nadella on How AI Will Transform His Company. Microsoft CEO Satya Nadella on how AI will transform his company [25]. Daniel Sun. Non-Intrusive Anomaly Detection With Streaming Performance Metrics and Logs for DevOps in Public Clouds: A Case Study in AWS. IEEE Transactions on Emerging Topics in Computing, 2016. [26]. Charith Perera. The Emerging Internet of Things Marketplace From an Industrial Perspective: A Survey. IEEE Transactions on Emerging Topics in Computing, 2016. [27]. Better Living Through Statistics: Monitoring Doesn’t Have To Suck. https://github.com/jaqx0r/blts [28]. Intelligent Site Reliability Engineering — A Machine Learning Perspective. http://blog.adnanmasood.com/2016/05/19/intelligent-site-reliability-engineering-a-machine-learning-perspective/