国产人工智能平台的磁盘故障预测应用

2021-11-03 09:23扬州万方电子技术有限责任公司朱洪斌
电子世界 2021年18期
关键词:误报率磁盘阈值

扬州万方电子技术有限责任公司 朱洪斌 李 悦

随着国产软硬件技术的不断成熟,目前已具备融合人工智能的应用研究和设计能力,但仍处于起步阶段。传统的磁盘故障检测具有滞后性,往往是已经出现问题后才将其检测出来,本文结合主动容错技术——自我监测、分析与报告技术(Self-Monitoring Analysis and Reporting Technology,SMART)和深度学习算法构建了一种适应于国产存储设备的磁盘故障预测方法,实验结果表明了预测的准确性,与阈值判定方法监测SMART属性值的方法(故障检测率为3%-10%)相比,故障检测率有了极大的提升,验证了国产人工智能平台的应用可行性。

1 国产人工智能平台环境搭建

国产人工智能平台是面向深度学习、智能分析等场景,融合国产环境和人工智能芯片,适配基础层驱动和运行环境,打造的一个集数据处理、模型加工、训练推理、智能化应用的基础平台,支持高效的模型训练、推理等开发框架,并支持多场景、集群式的部署运行,能够为各类用户提供初步的AI解决方案。

本文基于国产飞腾处理器和银河麒麟操作系统,搭建了国产基础软硬件平台,并部署适配Python、Cmake等基础开发环境。人工智能芯片采用国产华为Atlas300,并开展了驱动适配、环境移植、框架适配、模型以及应用开发等研制工作。

2 基于深度学习算法的磁盘故障预测

2.1 实验数据

本文中使用的实验数据来自BACKBLAZE官网的2018年四个季度的ST8000DM002型号的样本,采集频率为24h一次。除去含有空值以及采集天数小于两天的样本,最终选取了9954块硬盘,其中故障硬盘为90块,正常硬盘为9864块。该型号样本具有48个属性,包含原始值(raw)和厂商根据一定规则转换后的值(normalized)。所有样本随机分为60%的训练集、10%的验证集和30%的测试集。由于SMART数据的取值范围相差较大,为了减少对模型的影响,通过最大最小归一化对数据进行了预处理。

2.2 特征选择

SMART数据中的并非所有属性都是有用的,其中会存在一些冗余属性,不但不利于提高模型的准确率,还会降低模型的效率。本文采用XGBoost算法对属性进行了分析评估,各个属性的重要性排序如图2所示,图中已按照从大到小的顺序进行了排序。从图1中可知,排在前面几位的smart_242_raw(磁盘自出厂总共读取的数据)、smart_241_raw(磁盘自出厂总共写入的数据)、smart_9_raw(通电小时数)、smart_192_raw(断电返回计数)的得分较高,对预测结果占有很大的比重,本文最终选择了图中的21个属性作为模型的输入。

图1 特征重要性得分

图2 FDR和FAR随阈值变化曲线

2.3 模型建立

基于CNN搭建的故障预测模型,采用的是一维卷积窗,包含三个卷积层(卷积核分别为16、32、64个,长度均为3)、三个池化层(长度均为2,步长为1)、一个全连接层(节点数为128个)和一个输出层(节点数为1),学习率设置为0.0001,为防止过度拟合,在最后一个池化层后以及全连接后增加了Dropout层(取值为0.2),输出层采用“linear”激活函数,其余均采用“relu”激活函数,模型训练时采用Adam优化器。

采取故障检测率(Failure Detection Rate,FDR)、误报率(False Alarm Rate,FAR)以及准确率(Accuracy)三个指标对模型进行评价。故障检测率指的是正确检测出故障样本个数和实际故障样本个数的比值,误报率指的是将原本为正常样本却误检为故障的个数和实际正常样本个数的比值,准确率指的是正确检测出的样本个数和总样本数的比值。

2.4 结果分析

模型的输出层包含1个神经元,通过设定阈值的方式预测样本未来是否会发生故障。将硬盘状态采用“0”(正常样本)和“1”(故障样本)标签进行记录。当大于等于阈值时,视为即将发生故障,当概率小于阈值时,视为正常。在确定阈值时,以CNN模型为例,训练集的FDR和FAR随阈值大小变化的情况如图2所示。

可知当阈值在0.09时,故障检测率较高,误报率也较低,相对来说较为平衡,此时训练集的故障检测率为92.86%,误报率为0.64%,根据此阈值对测试集进行分类,测试集的故障检测率为85.19%,误报率为0.74%。其它模型的阈值选取方法与此类似。

本文将XGBoost+CNN和CNN、XGBoost+MLP模型进行了对比,如图3和表1所示。图3为FDR和FAR随阈值变化的曲线图,越靠近左上角,模型的误报率越低,故障预测准确率越高,可以看出XGBoost+CNN的模型相比其他两个模型更接近左上角,当阈值为0.05时,故障检测率可达到96.30%,误报率此时为1.15%。

图3 各模型FDR和FAR对比图

由表1可以看出,在相同FDR的情况下,其他两个模型的误报率与XGBoost+CNN模型相比略高,因此,XGBoost+CNN模型的准确率也较高。CNN模型与XGBoost+MLP模型相比,其准确率较高些,CNN虽未经XGBoost算法进行特征选择,但在训练过程中可自动完成特征的选择和抽象。

表1 各模型精度对比结果

3 国产人工智能平台磁盘故障预测

为了提高国产平台人工智能应用的运行效率,在国产平台中适配了华为Atlas300的人工智能芯片,并利用其进行了磁盘故障预测。首先将完成训练的模型冻结为pb格式的模型,然后采用工具包中的ATC工具将*.pb格式模型转换为适配Atlas300的*.om格式模型,最后通过ACL编程接口实现推理应用程序。表2中给出了飞腾CPU和Atlas300的预测时间对比结果,可以看出,Atlas300的预测速度明显高于CPU,并且不占用主机CPU计算资源。

表2 CPU与Atlas300预测时间对比结果

本文基于国产人工智能平台,结合深度学习算法模型,为磁盘故障预测这一典型场景形成了一体化解决方案,并通过构建异构计算环境,提升了国产平台计算能力,为国产数据中心的自动化运维提供了支撑。本文的国产环境和算法模型,经过一定改造,也可应用于工业、电子、卫生等领域的检验检测方向。

猜你喜欢
误报率磁盘阈值
原始数据动态观察窗法在火灾特征信号融合提取中的应用研究
家用燃气报警器误报原因及降低误报率的方法
钻杆管体超声波探伤误报分析及措施
解决Windows磁盘签名冲突
小波阈值去噪在深小孔钻削声发射信号处理中的应用
基于自适应阈值和连通域的隧道裂缝提取
修改磁盘属性
比值遥感蚀变信息提取及阈值确定(插图)
磁盘组群组及iSCSI Target设置
创建VSAN群集