韦强申,宋 勇,李红霞,王希栋,叶晓舟,欧阳晔
(亚信科技(中国)有限公司 通信人工智能创新实验室,北京 100193)
5G 核心网承担着5G 网络全局资源的调度和管理,需要承载5G 多样化业务需求,是5G 网络发展的核心引擎。2021 年以来,国外主流运营商多次遭遇5G 核心网故障导致的重大通信事故,这无疑给我国在5G 核心网的运维问题上敲响了警钟。如何保障核心网高效、高可靠、低成本的运维,实现故障的快速发现与修复,是各大运营商5G 系统运维管理的关注焦点。
目前对于业务系统故障,以事后分析处理为主,但故障的产生往往会有前兆信息,如性能指标的劣化,而人工或其他传统的分析方法很难基于复杂的系统结构和超大的信息量进行预判。采用人工智能(Artificial Intelligence,AI)将系统历史告警数据和对应时间内的关键绩效指标(Key Performance Indicator,KPI)性能指标异动情况进行关联挖掘,可以自动发现故障和指标劣化之间的相关性。当预测性能指标出现劣化点时,及时对业务故障进行提前预警,是智能化运维的发展方向。
现有的5G 网络故障分析方法,主要针对5G网络故障发生后的场景,进行精准定位、智能决策、自动恢复。文献[1]提出了5G 网络环境下基于网络拓扑的告警关联挖掘算法,提升了故障跟踪与故障定位的能力。文献[2]针对多节点故障精准定位的问题,提出了一种基于神经网络的5G 无线网络多故障高效混合定位的方法,提高了故障快速定位、网络快速恢复的能力。文献[3]提出了一种智能5G无线网络的安全容错分布式管理方法,设计了灵活的认知故障管理功能的新方法,即根据实际的网络需求和当前的负载动态调整。文献[4]提出了基于深度学习的5G 无线网络节点规划与控制逻辑优化分析,提升了5G 网络的容错能力,减少故障的发生。
提前预测故障发生的概率,可以避免故障的发生。故障预警方法是根据历史故障发生前数据的变化规律来构建分析模型,然后依据实时数据分布预测故障发生的可能性。在电力、机械等方向故障预警研究的课题较多,文献[5]提出了一种基于5G 和人工智能的输电线路故障智能预警方法,结合无线网络技术与人工智能技术预警故障发生的概率,避免故障发生。另外,文献[6]、文献[7]提出了基于深度学习方法在机械自动化中的故障预警方法。在5G 网络应用方面,文献[8]提出了一种基于线性预测的方法实现移动通信网络故障预警。
5G 网络故障预警方法是降低故障对5G 业务影响的关键方向。本文在现有工作研究基础上,结合业务经验与数据分析结果,构建有监督学习模型预测5G 网元故障发生的可能性。对比已有的监督学习方法,采用时序特征构建、时序异常检测、时序关联分析、告警特征编码等多个维度构建特征,实现基于多维特征融合结果的监督学习模型。该模型在5G 核心网6 类网元的多个指标上面均有不同程度的提升,验证了该方法的有效性。
现有5G 核心网预警,主要依据网元KPI 数据时序分布,采用配置静态阈值的方法,提取告警信息,然后依据告警级别,触发预警机制。同时,依据KPI 时序结合历史故障数据,构建时序与故障关系模型,算法选型有统计机器学习算法XGBoost 和深度神经网络(Deep Neural Networks,DNN)学习算法。
时序异常检测是基于KPI 时序数据分布,采用统计方法、机器学习方法、深度学习方法等计算实时数据分布的动态阈值,用于检测时序数据是否异常。文献[9]提出了一种时序特征分析方法,依据时序窗口数据分布,提取均值、方差、标准差等特征,用于时序数据的异常检测。文献[10]针对海量时序数据,提出了一种通用可扩展的检测框架,该框架适用于多种时序的异常检测,提升了异常检测的性能。在实际应用中,网络故障受设备的性能指标和网络负载等影响,设备的性能指标可以扩展更多的维度。针对海量时序数据的异常检测方法,文献[11]提出了针对海量KPI的快速部署异常检测模型,用于解决网络指标时序异常检测问题。文献[12]提出了针对KPI 突变的参数自适应无监督在线异常检测,用于提升异常检测结果的准确率。文献[13]综合了多种时序异常检测算法,提出了时序特征的构建方法,包括偏度、峰度、差分均值等多种特征维度,并介绍了基于统计方法的异常检测和基于深度学习方法的异常检测。
故障预警是依据对KPI 时序数据和告警数据进行分析,提前预测故障发生概率,从而避免故障发生。目前故障预警与处理的技术多采用统计分析方法、业务分析方法,以下内容介绍了4 种故障预警与处理实现方案。文献[14]提出了一种基于机器学习的网元故障诊断及预警技术实现方法,通过聚类的数据分布,划分故障数据与正常数据。距离计算方法与聚类方法类似,目的是计算正常数据与故障数据的距离差异,从而识别故障数据。概率分布与密度估计方法是通过提取数据特征来计算特征分布的概率值,然后根据概率值区分故障数据与正常数据。统计机器学习的方法,通过构建时序特征,结合历史故障数据,分析特征与故障数据分布情况。此外,一般采用决策树、逻辑回归、随机森林、梯度提升树等算法来构建模型,然后通过模型预测后续故障发生的概率。文献[15]、文献[16]研究了5G网络切片下动态网络故障、业务故障的分布,提出了故障分析与诊断的方法。文献[17]、文献[18]研究了网络虚拟化环境下的故障分析方法,提出了一种多层故障诊断方法(Multi-Layer Fault Diagnosis Method,MFDM),并采用分层策略解决了网络虚拟化环境中的多层故障问题。
深度学习方法可以减少人工定义特征造成的误差,直接对时序数据进行处理,然后搭建网络结构,训练时序特征,得到预警模型。该模式下,时序特征的构建多采用傅里叶变换、小波变换等方式,将时域信息转化为时域和频域信息,再通过深度学习生成更复杂的特征,从而构建模型,提高预测的准确率,常用网络结构有卷积神经网络(Convolutional Neural Networks,CNN)、长短期记忆网络(Long Short-Term Memory,LSTM)、循环神经网络(Recurrent Neural Networks,RNN)等。文献[19]、文献[20]提出了一种基于深度信任网络的故障分析(Deep Belief Network-Fault Location,DBN-FL)模型,用于定位5G 网络故障。这种模型根据历史的故障数据,综合数据分析结果与专家经验,设置了一系列故障规则识别模板,在故障识别过程中,通过实时数据分布与故障规则的匹配情况,得到故障发生的概率。
为了构建5G 网元故障预警方案,本文提取了5G 核心网中不同网元的各个指标,以及历史的告警信息。多维特征矩阵的构建过程中,首先进行时序告警关联,其次提取时序特征、时序异常检测、时序关联分析、告警特征这4 个特征,最后分析多维特征下,预警模型的性能提升情况。本方法的故障预警方案设计如图1 所示,实现过程中,先构建KPI 时序数据特征和多维特征,再分别对两种特征构建方式,采用XGBoost算法与DNN算法来训练模型,最后基于同一验证集对比模型效果。
图1 故障预警方案设计
为了提取时序特征,根据时序数据分布情况,构建时序窗口特征,并结合业务经验,设置时间窗口为N,提取时间窗口的时序的特征包括均值、标准差、最大值、最小值、峰度、偏度以及趋势等。另外,还要提取指标周期变化特征,包括当前点较上一周期的增幅,连续3 个周期的趋势等。时序数据为x=(x1,…,xi,…,xT)。xi表示时刻i对应的数值,xT表示T时刻的KPI 对应的指标值。
KPI 集合由多个x组成,KPI集合为D={x j|1 基于统计方法对KPI 时序指标进行异常检测,标记检测出的异常点,并提取5G 核心网的性能指标,逐个进行异常检测,最后提取指标中异常点的时间及异常值。异常检测实现流程:首先分析时序波动类型,如周期型、阶梯型、波动型等;其次根据不同类型的波形,采用不同的检测算法。 异常点检测算法包含四分位距(Interquartile Range,IQR)和3-sigma 准则运算,分别为: Quantile为分位值函数;Q3表示3/4 位值,Q1表示1/4 位值,分别为IQR 公式计算的最大值、最小值代表的含义。 如果是周期型数据,则提取数据的趋势项、周期项、残差项,设置滑动窗口与滑动步长,识别异常点。 基于上述异常检测方法,计算得到对应时刻的异常点: 式中:Llower为i时刻的动态下限;Lupper为i时刻的动态上限。 时序x在时序上检测结果表示为[0,1],编码的向量为Fa=(a1,…,ai,…,aT),1 通过局部数据的相关系数,判断告警时刻,观察KPI 指标的关联关系是否有明显的变化,窗口内的相关系数表示两个KPI 之间的短时相关性。构建KPI 间相关性特征,形成指标相关时序向量。KPI指标相似度的计算方法为: 网元对应的n个KPI,则同一时刻KPI 关联关系的组合有Cn2 种,每个时刻对应的KPI 间的关联系数可生成对应的向量Ci=(Ci(x1,x2),Ci(x1,x3),…,Ci(x j,xk)),1 2,其中n表示KPI 数量,L为时刻i关联系数向量的长度。关联系数在时序上的特征向量为FC=(C1,…,Ci,…,CT),1 结合告警数据与时序数据的分析结果可知,告警有一定的关联性,某类或某几类持续的告警,会引发更高级别的告警,因此本方案考虑整合邻近窗口内的告警信息,对告警信息采用向量表示,得到每个时刻对应的向量列表。告警集合为Dalarm={alarm|1 设定时间窗口为w,告警数据生成的ONEHOT 编码为Ai=(a1,…,aj,…,am),aj∈{0,1},1 本方案分别采用统计机器学习算法与深度神经网络两种方式与现有方法进行对比,来观察加入特征融合的效果提升情况。采用有监督的方法训练模型,并验证模型效果。特征空间F为多维特征的拼接矩阵,,F为T×(8+1+L+m)的矩阵,矩阵的行索引为时刻i,共计T行;列索引为特征类型,时序特征8 列,异常检测标记1列,时序相关性特征L列,告警特征m列,共计8+1+L+m列。 选取时序索引时刻i,向后邻域窗口t时刻告警标志作为监督标签y。 时序上监督标签为Y=(y1,…,yi,…,yT),1 本文实验过程,选取实际应用场景中,5G 核心网不同网元的KPI 数据以及历史告警数据作为实验数据,采用有监督的方法训练模型,然后在测试集上预测告警发生的概率。为保障实验效果的对比具有参考意义,实验选取了鲁棒性较好的XGBoost算法和深度神经网络算法,分别对未融合多维特征的数据和融合多维特征后的数据进行建模与评估对比。 实验选取5G 核心网中会话管理功能(Session Management Function,SMF)、接入和移动性管理功 能(Access and Mobility Management Function,AMF)、用户平面功能(User Plane Function,UPF)、统一数据管理(Unified Data Management,UDM)、网络存储功能(Network Repository Function,NRF)、策略控制功能(Policy Control Function,PCF)6 大类网元,共计121 个子网元在2020 年12 月1 日—2021 年2 月26 日3 个月内的KPI 数据。数值的采集粒度为15 分钟。告警数据选取对应时间段内网元的告警数据,告警类型包括软件系统、通信系统、网管内部、电源系统、硬件系统、环境系统、业务质量、信令系统等12 大类故障类型,告警包括无线接入网(NG Radio Access Network,NG-RAN)链路故障、容灾业务自动探测异常、资源单元故障等359 类告警信息。网元性能指标名称如表1 所示。 表1 网元性能指标 实验对所有KPI 数据进行时序异常检测,样本数据的时间范围为2020 年12 月1 日—2021 年2 月26 日,数据粒度为15 分钟,由于部分KPI 数据有缺失,采样点个数平均为1 693 个。 实验选取周期型和波动型两种时序类型数据的部分时段异常检测结果,如图2 所示。图2(a)展示了周期型异常检测结果。图3(b)展示了波动型KPI 异常检测结果。实验选取指标间的关联关系作为判断故障发生的重要特征。 图2 时序异常检测 针对同类网元的KPI 数据计算时序间的关系,图3 展示了统一数据网元(Unified Data Management,UDM)HTTP2 请求消息总数与响应消息总数的关联关系。 图3 指标关联分析 依据网元信息,实验对指标和告警信息进行关联,绘出告警时刻指标的变化情况,如图4 所示。当出现告警时,KPI 指标的波动有明显的变化,在大量的告警发生前,指标会有一些劣化的表现,并且有一些零散的告警发生。 图4 时序与告警关联分析 实验对所有的网元与告警类型,采用不同的特征组合方式构建预警模型,选取80%的数据作为模型的训练集,20%的数据作为测试集。实验数据内容描述如表2 所示,表中展示了6 大网元类型中每类网元包含的KPI 总数、KPI的数据量、告警的类型与告警次数等统计信息。 表2 数据描述 本实验对比在融合多维特征(Feature Combination,FC)前后,不同算法的预警模型准确率与召回率,来验证多维特征构建方法可以提升预警模型的效果。其中多维特征包含时序异常检测结果、KPI 指标关联结果和历史告警信息ONE-HOT 编码。多维特征融合后,训练集中最大的特征列数共214 列。计算结果合并同一类型网元的准确率与召回率,取同一类型网元的均值,得到如表3 所示的评估结果。由图4 可知,从时序波形与告警数据的分布情况来看,告警发生前,时序数据会有一定的波动,并且时序的相关性会发生一些变化。另外在批量告警发生前,在时间轴上会有一些零散的告警点。通过大量的KPI 指标和告警数据分析建模,验证了故障预警方法的可行性。根据网元预警结果的评估指标来看,受告警数据分布的影响,不同类型的网元预警模型的性能指标差异较大。 表3 不同网元类型的评估结果 UDM 与SMF 网元的效果较好,不同类型的算法验证效果的准确率和召回率都可以达到70%以上。UDM 与SMF 网元对应的KPI 数据质量较好,KPI的异常点与故障点分布基本一致,故障时刻KPI 间的关联差异较大,SMF 网元故障预警综合评估F1 值可达88.0%。图5 比较了不同网元下,算法验证效果对比图。UDP、AMF、PCF、NRF 4 类网元的KPI 数据质量较差,采集的指标较少,时序数据的噪声较高,数据的波动比较随机,依据数据分布很难准确定位到异常点。时序的关联分布与故障的关系不明显,故障识别的效果较差。 图5 网元验证对比 整体来看,采用多维时序特征融合的方法,构建KPI的特征矩阵,可以达到故障预警的目的,与已有的直接采用KPI 时序数据作为训练特征的方法相比,本文提出的方法加入了异常检测、告警特征、时序关联特征,实验结果表明针对所有网元F1 值有明显的提升,平均提升18%。 本文针对5G 核心网故障预警这一课题展开了分析与研究。总结了现有故障定位、故障预警、KPI 时序分析、KPI 时序异常检测、时序关联分析等方法。为提升故障预警的准确率,提出了采用多维特征融合的机器学习方法进行告警预测。通过数据分析与实验,验证了该方法的可行性,并且所提出的采用多特征融合的方法构建的预警模型较现有方法的提升效果比较明显。 然而,本文实验选取的部分网元数据质量一般,故障识别的效果不够理想,研究时序数据如何去噪,以及噪声如何构建多维特征是后续的一个研究方向。另外,本文的特征构建方法是结合业务经验设计的,可以探索新的特征构建方法或采用深度学习的方法优化效果,提升告警预测的效果。2.2 时序异常检测
2.3 时序关联分析
2.4 告警特征提取
2.5 模型设计
3 实 验
3.1 数据准备
3.2 效果评估
4 结语