如何使用AWS Glue和Amazon SageMaker来预测HVAC故障

使用AWS Glue和Amazon SageMaker预测HVAC故障

用他们自己的话来说,“1902年,威利斯·凯里尔通过现代空调解决了人类控制室内环境的一个最难解决的问题。如今,凯里尔的产品能够创造舒适的环境,保障全球食品供应,并在苛刻的条件下安全运输重要的医疗用品。”

在凯里尔,我们成功的基础是制造出让客户可以信赖的产品,让他们全年都能感到舒适和安全。由于气候变化导致极端温度变得越来越普遍,高可靠性和低设备停机时间变得越来越重要。我们过去一直依靠基于阈值的系统,通过我们的工程团队定义的参数来警报我们异常的设备行为。尽管这样的系统很有效,但它们的目的是识别和诊断设备问题,而不是预测它们。在故障发生之前预测故障能够让我们的暖通空调经销商主动解决问题并提高客户体验。

为了提高我们设备的可靠性,我们与亚马逊机器学习解决方案实验室合作,开发了一个能够在故障发生之前预测设备问题的定制机器学习(ML)模型。我们的团队开发了一个处理50TB历史传感器数据并以91%的精确度预测故障的框架。现在我们可以通知经销商设备即将故障,以便他们安排检查并尽量减少设备停机时间。该解决方案框架可扩展,随着更多设备的安装而能够重复使用于各种下游建模任务。

在本文中,我们展示了凯里尔和AWS团队如何使用单一模型应用机器学习来预测大型设备群中的故障。我们首先介绍了我们如何使用AWS Glue进行高度并行的数据处理。然后我们讨论了Amazon SageMaker如何帮助我们进行特征工程和构建可扩展的监督式深度学习模型。

用例、目标和风险概述

这个项目的主要目标是通过预测设备故障和通知经销商来减少停机时间。这使得经销商能够主动安排维护,并提供优质的客户服务。在解决这个问题时,我们面临了三个主要挑战:

  • 数据可扩展性 – 数据处理和特征提取需要在不断增长的历史传感器数据上进行扩展
  • 模型可扩展性 – 建模方法需要能够在超过10,000个单位之间进行扩展
  • 模型精确度 – 需要低误报率以避免不必要的维护检查

可扩展性,无论是从数据还是建模的角度来看,都是这个解决方案的一个关键要求。我们有超过50TB的历史设备数据,并且预计随着更多的暖通空调设备连接到云端,这些数据将迅速增长。我们的数据处理和模型推断需要随着数据的增长而扩展。为了使我们的建模方法能够在超过10,000个单位之间进行扩展,我们需要一个能够从设备群中学习而不是依赖单个单位的异常读数的模型。这将允许单位之间的泛化,并通过托管单个模型来降低推断成本。

这个用例的另一个问题是触发错误警报。这意味着经销商或技术人员将前往现场检查客户的设备,并发现一切都正常运行。解决方案需要一个高精确度的模型,以确保当经销商接到警报时,设备可能会发生故障。这有助于赢得经销商、技术人员和业主的信任,并降低与不必要的现场检查相关的成本。

我们与亚马逊ML解决方案实验室的人工智能/机器学习专家合作进行了为期14周的开发工作。最终,我们的解决方案包括两个主要组件。第一个是使用AWS Glue构建的数据处理模块,它总结了设备行为并减小了我们的训练数据的大小,以便进行有效的下游处理。第二个是通过SageMaker管理的模型训练接口,它允许我们在部署到生产端点之前对模型进行训练、调整和评估。

数据处理

我们安装的每个暖通空调设备都会生成来自90个不同传感器的数据,包括系统中的转速、温度和压力读数。每个单位每天产生大约800万个数据点,安装了成千上万个单位。随着更多的暖通空调系统连接到云端,我们预计数据的容量将迅速增长,因此对于我们管理其大小和复杂性以供下游任务使用至关重要。传感器数据历史的长度也带来了建模的挑战。一个单位可能在故障实际触发之前几个月就开始显示出即将发生故障的迹象。这在预测信号和实际故障之间创建了一个重要的滞后。压缩输入数据长度的方法对于ML建模来说非常关键。

为了解决传感器数据的大小和复杂性,我们将其压缩为图1所示的周期特征。这样可以大大减小数据的大小,同时捕捉到刻画设备行为的特征。

图1:暖通空调传感器数据样本

AWS Glue是一种无服务器数据集成服务,用于处理大量数据。 AWS Glue使我们能够轻松运行并行数据预处理和特征提取。我们使用AWS Glue来检测周期并使用我们的工程团队确定的关键特征来总结单位行为。这大大减小了我们的数据集大小,从每个单位每天超过800万个数据点减少到大约1200个。关键是,这种方法以更小的数据占用空间保留了有关单位行为的预测信息。

AWS Glue作业的输出是每个周期的单位行为摘要。然后,我们使用Amazon SageMaker处理作业在周期之间计算特征并标记我们的数据。我们将ML问题制定为二元分类任务,目标是在接下来的60天内预测设备故障。这使我们的经销商网络能够及时解决潜在的设备故障。需要注意的是,并非所有单位都在60天内发生故障。性能逐渐下降的单位可能需要更长的时间才会发生故障。我们在模型评估阶段解决了这个问题。我们的建模重点是夏季,因为这些月份是美国大多数暖通空调系统处于稳定运行和更极端条件下的时候。

建模

变压器架构已成为处理时间数据的最先进方法。它们可以在每个时间步长使用长序列的历史数据而不会出现梯度消失的问题。我们模型在给定时间点的输入由前128个设备周期的特征组成,大约相当于一周的单位运行时间。这通过一个三层编码器进行处理,其输出被平均并馈送到多层感知器(MLP)分类器中。MLP分类器由三个带有ReLU激活函数的线性层和一个带有LogSoftMax激活函数的最后一层组成。我们使用加权负对数似然损失函数,对于正类别在损失函数中设置不同的权重。这使我们的模型偏向高精度,并避免昂贵的虚警。它还直接将我们的业务目标纳入模型训练过程中。图2说明了变压器架构。

图2:时间变压器架构

训练

训练这个时间序列学习模型时的一个挑战是数据不平衡。一些单位的操作历史比其他单位更长,因此在我们的数据集中具有更多的周期。由于它们在数据集中过度出现,这些单位会对我们的模型产生更大的影响。我们通过在单位历史记录中随机采样100个周期来解决这个问题,其中我们评估该时间点的故障概率。这确保了每个单位在训练过程中得到了平等的代表。虽然消除了不平衡数据问题,但这种方法还具有复制生产中将使用的批处理方法的附加优势。这种采样方法应用于训练、验证和测试集。

训练使用SageMaker上的GPU加速实例进行。监控损失显示在180个训练周期后获得最佳结果,如图3所示。图4显示了生成的时间分类模型的ROC曲线下面积为81%。

图3:训练损失随时间的变化

图4:60天内的ROC-AUC

评估

虽然我们的模型是在周期级别进行训练的,但评估需要在单元级别进行。这样,即使一个单元有多个真正的检测结果,也只会在单元级别被计算为一个真正的结果。为了做到这一点,我们分析了预测结果与故障前60天窗口之间的重叠部分。下图展示了四种预测结果的情况:

  • 真负 – 所有的预测结果都是负面的(紫色)(图5)
  • 假正 – 正面的预测结果是虚警(图6)
  • 假负 – 尽管预测结果都是负面的,但实际标签可能是正面的(绿色)(图7)
  • 真正 – 部分预测结果可能是负面的(绿色),至少有一个预测结果是正面的(黄色)(图8)

图5.1:真负情况

图5.2:假正情况

图5.3:假负情况

图5.4:真正情况

训练完成后,我们使用评估集来调整发送警报的阈值。将模型的置信度阈值设置为0.99可以得到大约81%的精确度。这低于我们最初的90%的成功标准。然而,我们发现有很多单位在60天的评估窗口之外失败。这是有道理的,因为一个单位可能会主动显示出故障行为,但需要超过60天才会发生故障。为了处理这个问题,我们定义了一个叫做有效精确度的指标,它是真正的正面精确度(81%)与在目标60天窗口之后30天内发生的锁定的额外精确度的结合。

对于一个暖通空调经销商来说,最重要的是现场检查能够帮助防止客户未来的暖通空调问题。使用这个模型,我们估计81.2%的时间内检查将能够防止在接下来的60天内发生锁定。此外,10.4%的时间内锁定将在检查后的90天内发生。剩下的8.4%将是错误警报。训练模型的有效精确度为91.6%。

结论

在本文中,我们展示了我们的团队如何使用AWS Glue和SageMaker创建一个可扩展的监督学习解决方案,用于预测性维护。我们的模型能够捕捉传感器数据的长期历史趋势,并准确地提前数周检测到数百个设备故障。提前预测故障将减少从门到门的时间,使我们的经销商能够提供更及时的技术支持,提高整体客户体验。这种方法的影响将随着每年安装更多与云相连的暖通空调设备而不断增长。

我们的下一步是将这些见解集成到Carrier的即将发布的Connected Dealer Portal中。该门户将这些预测警报与我们从基于AWS的数据湖中提取的其他见解结合起来,以便为我们的经销商提供更清晰的设备健康状况,涵盖他们的整个客户群体。我们将继续改进我们的模型,通过整合来自其他来源的数据并从传感器数据中提取更高级的特征。本项目采用的方法为我们的团队奠定了一个坚实的基础,可以开始回答其他关键问题,帮助我们减少保修索赔并提高现场设备的效率。

如果您希望在您的产品和服务中加速使用机器学习,请联系亚马逊机器学习解决方案实验室。要了解更多关于本项目中使用的服务,请参阅 AWS Glue 开发者指南和 Amazon SageMaker 开发者指南。