Press "Enter" to skip to content

如何利用AWS构建Light & Wonder游戏机预测性维护解决方案

本文与Light and Wonder (L&W)的Aruna Abeyakoon和Denisse Colin共同撰写。

总部位于拉斯维加斯的Light & Wonder, Inc.是一家领先的跨平台全球游戏公司,提供赌博产品和服务。最近,Light & Wonder与AWS合作,开发了一种行业首创的安全解决方案Light & Wonder Connect (LnW Connect),可以在LnW Connect达到全面潜力时,从其全球各地的赌场客户分布的约50万台电子游戏机中流式传输遥测和机器健康数据。近实时监控超过500个机器事件,以全面了解机器状态和其操作环境。利用通过LnW Connect流式传输的数据,L&W旨在为其最终用户创建更好的游戏体验,并为其赌场客户带来更多价值。

Light & Wonder与Amazon ML Solutions Lab合作,利用从LnW Connect流式传输的事件数据,实现了基于机器学习(ML)的赌博机预测性维护。预测性维护是具有物理设备或机械资产的企业的常见ML用例。通过预测性维护,L&W可以提前获得机器故障的预警,并主动派遣服务团队检查问题。这将减少机器停机时间,避免赌场重大收入损失。如果没有现场远程诊断系统,则Light & Wonder服务团队在赌场地板上解决问题的成本高昂而低效,严重降低了客户的游戏体验。

该项目的性质是高度探索性的,这是赌博业预测性维护的第一次尝试。Amazon ML Solutions Lab和L&W团队从制定ML问题和定义评估度量开始,进行了从端到端的旅程,交付了高质量的解决方案。最终的ML模型结合了CNN和Transformer,这是用于建模序列机器日志数据的最先进的神经网络体系结构。本文详细介绍了这一旅程的详细描述,我们希望您与我们一样喜欢它!

在本文中,我们讨论以下问题:

  • 我们如何将预测性维护问题制定为ML问题,并使用一组适当的度量标准进行评估
  • 我们如何准备数据进行培训和测试
  • 我们采用的数据预处理和特征工程技术,以获得性能模型
  • 使用Amazon SageMaker自动模型调整进行超参数调整步骤
  • 基线模型和最终CNN + Transformer模型之间的比较
  • 我们用来提高模型性能的其他技术,例如集成

背景

在本节中,我们将讨论需要此解决方案的问题。

数据集

老虎机环境受到高度监管,并部署在空气隔离的环境中。在LnW Connect中,设计了一种加密过程,为数据提供安全可靠的机制,用于将数据带入AWS数据湖以进行预测建模。聚合的文件已加密,解密密钥仅在AWS密钥管理服务(AWS KMS)中可用。通过建立基于蜂窝的专用网络进入AWS,将文件上传到Amazon Simple Storage Service(Amazon S3)中。

LnW Connect流式传输各种机器事件,例如游戏开始,游戏结束等等。该系统收集超过500种不同类型的事件。正如下文所示,每个事件都记录了发生时间戳和记录事件的机器ID。LnW Connect还记录了机器何时进入不可玩状态,如果在足够短的时间范围内未恢复到可玩状态,则将其标记为机器故障或故障。

机器ID 事件类型ID 时间戳
0 E1 2022-01-01 00:17:24
0 E3 2022-01-01 00:17:29
1000 E4 2022-01-01 00:17:33
114 E234 2022-01-01 00:17:34
222 E100 2022-01-01 00:17:37

除了动态机器事件,每台机器的静态元数据也是可用的。这包括诸如机器唯一标识符、机柜类型、位置、操作系统、软件版本、游戏主题等信息,如下表所示。(表中的所有名称都已匿名处理,以保护客户信息。)

机器ID 机柜类型 操作系统 位置 游戏主题
276 A OS_Ver0 AA度假村&赌场 风暴女神
167 B OS_Ver1 BB赌场、度假村&水疗中心 UHMLIndia
13 C OS_Ver0 CC赌场&酒店 惊奇老虎
307 D OS_Ver0 DD赌场度假村 海王星领域
70 E OS_Ver0 EE度假村&赌场 RLP餐票

问题定义

我们将老虎机的预测性维护问题视为二元分类问题。机器学习模型接收历史机器事件序列和其他元数据,并预测机器是否会在未来六小时内发生故障。如果机器将在六小时内发生故障,则被视为需要高优先级维护的机器,否则为低优先级。下图展示了低优先级(上)和高优先级(下)样本的例子。我们使用固定长度的回溯时间窗口来收集历史机器事件数据进行预测。实验表明,延长回溯时间窗口可以显著提高模型性能(稍后在本文中将详细介绍)。

如何利用AWS构建Light & Wonder游戏机预测性维护解决方案 机器学习 第1张

建模挑战

我们在解决这个问题时面临了一些挑战:

  • 我们有大量的事件日志,每月包含约1,000个游戏样本的约5000万个事件。需要在数据提取和预处理阶段进行仔细的优化。
  • 由于事件随时间的极不均匀分布,事件序列建模具有挑战性。一个3小时的时间窗口可能包含几十个或数千个事件。
  • 机器大部分时间处于良好状态,需要高优先级维护的机器是一个罕见的类别,这引入了类别不平衡的问题。
  • 系统不断添加新的机器,因此我们必须确保我们的模型可以处理从未在训练中见过的新机器的预测。

数据预处理和特征工程

在本节中,我们讨论了数据准备和特征工程的方法。

特征工程

老虎机供稿是一系列不均匀间隔的时间序列事件;例如,一个3小时的时间窗口中事件数可以从几十个到数千个不等。为了处理这种不平衡,我们使用事件频率而不是原始序列数据。一种简单的方法是对整个回溯窗口的事件频率进行聚合,并将其馈入模型。然而,当使用这种表示时,时间信息会丢失,事件的顺序也不保留。相反,我们使用时间分箱将时间窗口分成N个相等的子窗口,并计算每个子窗口中的事件频率。时间窗口的最终特征是其所有子窗口特征的串联。增加分箱数可以保留更多的时间信息。下图展示了在一个样本窗口上进行时间分箱的示例。

如何利用AWS构建Light & Wonder游戏机预测性维护解决方案 机器学习 第2张

首先,将样本时间窗口分成两个相等的子窗口(bin);这里为了简化说明,仅使用了两个bin。然后,在每个bin中计算事件E1、E2、E3和E4的数量。最后,将它们连接起来作为特征。

除了基于事件频率的特征外,我们还使用了机器特定的特征,如软件版本、机柜类型、游戏主题和游戏版本。此外,我们还添加了与时间戳相关的特征,以捕捉季节性,例如一天中的小时和一周中的日期。

数据准备

为了有效地提取用于训练和测试的数据,我们利用了Amazon Athena和AWS Glue Data Catalog。事件数据以Parquet格式存储在Amazon S3中,并按照日/月/小时进行分区。这有助于在指定的时间窗口内高效地提取数据样本。我们使用最近一个月内所有机器的数据进行测试,其余数据用于训练,这有助于避免潜在的数据泄漏。

ML方法和模型训练

在本节中,我们将讨论使用AutoGluon构建基线模型以及如何使用SageMaker自动模型调整构建自定义神经网络模型。

使用AutoGluon构建基线模型

对于任何ML用例,建立一个基线模型用于比较和迭代是非常重要的。我们使用AutoGluon探索了几个经典的ML算法。AutoGluon是一种易于使用的AutoML工具,使用自动数据处理、超参数调整和模型集成。最佳基线是通过梯度提升决策树模型的加权集成来实现的。AutoGluon的易用性帮助我们在发现阶段快速高效地浏览各种可能的数据和ML建模方向。

使用SageMaker自动模型调整构建和调整自定义神经网络模型

在尝试不同的神经网络架构后,我们为预测性维护构建了一个自定义的深度学习模型。我们的模型在80%的精度下将AutoGluon基线模型的召回率提高了121%。最终模型将历史机器事件序列数据、时间特征(如一天中的小时)和静态机器元数据作为输入。我们利用SageMaker自动模型调整作业搜索最佳超参数和模型架构。

以下图显示了模型架构。我们首先通过训练集中每个事件的平均频率来对归一化的bin事件序列数据进行处理,以消除高频事件的压倒性影响(游戏开始、游戏结束等)。单个事件的嵌入是可学习的,而时间特征嵌入(星期几、一天中的小时数)是使用GluonTS包提取的。然后,我们将事件序列数据与时间特征嵌入连接起来作为输入到模型。该模型由以下层组成:

  • 卷积层(CNN)-每个CNN层由两个具有残差连接的一维卷积运算组成。每个CNN层的输出具有与输入相同的序列长度,以便轻松地与其他模块堆叠。CNN层的总数是一个可调节的超参数。
  • Transformer编码器层(TRANS)-将CNN层的输出与位置编码一起馈送到多头自注意结构中。我们使用TRANS直接捕获时间依赖性,而不是使用递归神经网络。这里,原始序列数据的分箱(将长度从数千个降至数百个)有助于缓解GPU内存瓶颈,同时保持可调节的时间信息(分箱数是一个可调节的超参数)。
  • 聚合层(AGG)-最终层将元数据信息(游戏主题类型、机柜类型、位置)组合起来,产生优先级概率预测。它由多个汇集层和完全连接层组成,用于增量降维。元数据的多个嵌入也是可学习的,并且不经过CNN和TRANS层,因为它们不包含序列信息。

如何利用AWS构建Light & Wonder游戏机预测性维护解决方案 机器学习 第3张

我们使用交叉熵损失作为可调的超参数,并使用类别权重来调整类别不平衡问题。此外,CNN和TRANS层的数量是关键的超参数,可能的取值为0,这意味着特定层不一定在模型架构中始终存在。这样,我们就有了一个统一的框架,其中模型架构是与其他通常的超参数一起搜索的。

我们利用SageMaker自动模型调整,也称为超参数优化(HPO),来高效地探索模型变化和所有超参数的大搜索空间。自动模型调整接收定制算法、训练数据和超参数搜索空间配置,并使用不同的策略(例如贝叶斯、Hyperband等)在多个GPU实例中并行搜索最佳超参数。在保留验证集上评估后,我们得到了最佳模型架构,其中包括两个CNN层、一个具有四个头的TRANS层和一个AGG层。

我们使用以下超参数范围来搜索最佳模型架构:

hyperparameter_ranges = {
# 学习率
"learning_rate": ContinuousParameter(5e-4, 1e-3, scaling_type="Logarithmic"),
# 类别权重
"loss_weight": ContinuousParameter(0.1, 0.9),
# 输入bins的数量
"num_bins": CategoricalParameter([10, 40, 60, 120, 240]),
# Dropout率
"dropout_rate": CategoricalParameter([0.1, 0.2, 0.3, 0.4, 0.5]),
# 模型嵌入维度
"dim_model": CategoricalParameter([160,320,480,640]),
# CNN层数量
"num_cnn_layers": IntegerParameter(0,10),
# CNN内核大小
"cnn_kernel": CategoricalParameter([3,5,7,9]),
# Transformer层数量
"num_transformer_layers": IntegerParameter(0,4),
# Transformer注意力头数量
"num_heads": CategoricalParameter([4,8]),
# RNN层数量
"num_rnn_layers": IntegerParameter(0,10), # 可选
# RNN输入维度大小
"dim_rnn":CategoricalParameter([128,256])
}

为了进一步提高模型精度和减少模型方差,我们使用多个独立的随机权重初始化来训练模型,并将结果聚合为平均值作为最终的概率预测。在计算资源和模型性能之间存在权衡,我们观察到在当前使用情况下,5-10应该是一个合理的数字(稍后在本文中显示结果)。

模型性能结果

在本节中,我们介绍模型性能评估指标和结果。

评估指标

对于这个预测维护用例,精确度非常重要。低的精确度意味着报告更多的虚假维护呼叫,这会通过不必要的维护增加成本。因为平均精度(AP)并不完全符合高精确度的目标,所以我们引入了一个名为高精度平均召回率(ARHP)的新指标。ARHP等于60%、70%和80%精度点的召回率的平均值。我们还使用了精度在前K%(K=1、10)、AUPR和AUROC作为附加指标。

结果

下表总结了使用基线和定制神经网络模型的结果,其中7/1/2022作为训练/测试分割点。实验表明,增加窗口长度和样本数据大小都可以改善模型性能,因为它们包含更多的历史信息来帮助预测。无论数据设置如何,神经网络模型在所有指标上都优于AutoGluon。例如,在固定80%精度时,召回率增加了121%,这使您可以快速识别更多的故障机器(详见本文后面的结果)。

模型 窗口长度/数据大小 AUROC AUPR ARHP Recall@Prec0.6 Recall@Prec0.7 Recall@Prec0.8 Prec@top1% Prec@top10%
AutoGluon基线 12小时/500k 66.5 36.1 9.5 12.7 9.3 6.5 85 42
神经网络 12小时/500k 74.7 46.5 18.5 25 18.1 12.3 89 55
AutoGluon基线 48小时/1mm 70.2 44.9 18.8 26.5 18.4 11.5 92 55
神经网络 48小时/1mm 75.2 53.1 32.4 39.3 32.6 25.4 94 65

以下图表说明了使用集成来提升神经网络模型性能的效果。所有显示在x轴上的评估指标都得到了改善,平均值更高(更准确),方差更小(更稳定)。每个箱形图都来自12次重复实验,从没有集成到10个模型集成(x轴)。除了所示的Prec@top1%和Recall@Prec80%之外,所有指标都呈现相似的趋势。

考虑到计算成本,我们观察到在Light&Wonder数据集中使用5-10个模型进行集成是合适的。

如何利用AWS构建Light & Wonder游戏机预测性维护解决方案 机器学习 第4张

如何利用AWS构建Light & Wonder游戏机预测性维护解决方案 机器学习 第5张

结论

我们的合作已经为游戏行业创建了开创性的预测性维护解决方案,以及可重复使用的框架,可在各种预测性维护场景中使用。采用AWS技术,例如SageMaker自动模型调整,可帮助Light&Wonder使用几乎实时的数据流探索新机会。Light&Wonder正在开始在AWS上部署。

如果您想加速在您的产品和服务中使用ML,欢迎联系Amazon ML解决方案实验室计划。

Leave a Reply

Your email address will not be published. Required fields are marked *