【SpringCloud-Alibaba系列教程】8.一文学会使用sentinel
718
2022-05-30
网络数据治理背景
网络自动驾驶的本质,是利用AI技术对存量网络的海量数据进行挖掘和分析,发现并解决复杂网络环境下的痛点问题。该方法可被用于网络的规划、建设、运维和优化等阶段,基于AI应用逐步实现网络的智能化。
众所周知,在AI应用的开发过程中,70%以上的工作都花费在数据的采集、分析和处理。虽然AI技术发展至今,在图片、语音和视频等领域已经有大量公开的、准确标注的数据,可被直接应用用于AI开发,而网络领域却没有太多公开准确高质量的数据集,可供AI开发者使用。原因除了网络领域业务的专业性和安全等因素以外。网络数据标准复杂,数据质量不高需要大成本治理也是主要原因。
网络的数据难治理主要原因如下:
1)数据格式差异大:不同设备、网管系统生产的数据,其格式和内容是不同的,这些数据往往只能被对应的系统理解和使用,无法直接被端到端整网性的解决方案理解和使用,这样往往导致开发出来的AI模型部署、使用范围有限,无法最大化的发挥AI模型的价值。
2)数据标注难度大:网络领域的数据与标准协议、业务规划、网络配置和运行环境都有关系,只有将这些因素综合考虑全面,才能实现准确标准。导致网络数据标注门槛高,无法通过业界常用的众筹和众包等方式完成数据标注。
本文以网络故障类数据集准备为例,给大家介绍一下,华为网络人工智能平台NAIE做过的数据治理工作,和积累的数据标注和数据质量评估方法。
02
华为网络人工智能NAIE数据治理方案
1、网络故障处理的终极目标:一故障一工单
电信网络技术经过几十年的不断演进和发展,加上网络的持续扩容和升级,现在的电信网络实际上是由不同技术产品组合而成,涵盖了宽带、无线、固话等多种业务,区分为无线、传送、数通、核心网等多个领域,且每个领域都有一系列技术产品,每一个产品都有特定的组网配置要求,它们的业务功能和技术指标各不相同。这样的组网特点导致电信网络故障场景复杂,一旦故障就出现设备告警泛滥的痛点。
华为网络人工智能平台NAIE将AI技术引入电信网络故障场景,构建了“一故障一工单”方案——即基于大量的设备告警信息及运维工单,结合网络拓扑数据,通过机器学习的方式完成故障定界和工单压缩,从而减少故障定界的时间,降低运维人力成本,避免派发不必要的维护工单,以提升运维效率。
图一描述了一套完整的数据治理流程。
2、“一故障一工单”方案中数据工作内容
数据治理工作在AI项目中是贯穿始终的,可以将其分为六部分内容:数据采集、数据清洗、数据转换、数据标注、数据质量评估和数据集生成。数据工程师需要从业务出发,充分了解数据内容和特点,依次完成数据的采集、清洗和转换过程,最终生成AI算法需要的数据集,包括训练集、验证集和测试集。
2.1 数据采集
数据工程师需要从网元、网管和其他管理系统上采集到所需数据。数据采集是繁琐枯燥而且困难的,过程中可能会遇到很多意想不到的问题。而且数据采集首先必须经过客户的授权,采集到的数据必须先对隐私和保密信息进行脱敏或匿名化处理。
例如一故障一工单方案,如果要解决无线网络的工单压缩问题,需要无线基站、承载接入、承载汇聚等领域多个设备的告警数据。
2.2 数据清洗
通常情况下,采集到的数据存在着格式杂乱、数据缺失、数据错误等问题,必须解析复杂的半结构化/非结构化数据,检测和校正损坏或不准确的数据,识别出不完整、不正确和不相关的数据,通过增补、替换、修改、删除等方式来完善和修正数据。
数据清洗的基本动作包括:特殊字符替换、空行剔除、重复数据剔除、无效数据剔除、数据类型转换、异常数据过滤和数据增补。
根据“一故障一工单”的业务要求和数据特点,数据工程师除了上述数据清洗的基本动作,还需要针对特定场景完成特定的数据清洗动作。
例如:
▪ 不同批次采集的原始告警,数据字段错位或不一致,需要先做归一化处理;
▪ 若告警数据的实体对象ID缺失,需要从实体对象名称及扩展信息字段中提取并填充;
▪ 对于无效及异常的数据内容,如果通过业务关系可以还原恢复的,应该尽量恢复为有效值,不能恢复的则直接剔除;
▪ 复杂的拓扑原始数据需要经过再次解析,结合正则表达式采用通用的方式分解为多个字段信息,保证列的原子性,符合数据库第一范式的要求。
2.3 数据转换
为了在业务上进行数据分析和数据挖掘,原始数据需要通过特征选择、数据标准化和数据关联等操作转换为主题域数据。华为NAIE主题模型规范包含了时空数据模型、测量数据模型、设备数据模型、拓扑数据模型、故障数据模型等。这些主题模型是各个业务领域的数据抽象和提炼,能够完整的表达业务内容或数据特征,去除了无关或冗余的数据信息。因此,根据华为NAIE主题模型规范构建的主题数据,可直接作为电信网络的标准化数据。
2.4 数据标注
数据标注是指对数据样本进行标记,增加一个有信息含义的标签。样本标签可以是人工手动标注的,也可能基于业务系统已有的信息进行整合,实现自动化标注。
在绝大多数情况下,如果没有标注的样本数据标签,相关的算法性能指标(平均绝对误差、均方差、准确率、精确率、召回率以及F1-score等)就无法计算,算法模型的性能没有指标进行衡量,更不能进行模型的优化。所以说,数据标注在数据工作中是非常重要的。
数据标注的依据可以是人的经验。比如,大面积的无线基站连接中断告警加上某些传输节点上的连接丢失告警,经验丰富的运维专家很容易判断出这是一个群障,很可能是市电掉电导致的,也有可能是光路中断或者硬件故障。结合现网各类故障的发生频率和传输节点的数量和位置,运维专家会给出最可能的原因,作为当前故障的一个根因标注。
数据标注的依据也可以来自于产品文档,比如,电信网络是一个分段、分层构建的,硬件层故障可能会导致系统层、应用层的故障,应用层故障不会影响到硬件层,产品文档中记录了层次关系,可以通过对文档分析实现告警关系的提取和总结,从而用于告警数据的标注;
2.5数据质量评估
不是所有的数据都有价值。错误的、失衡的、失真的数据都会影响算法效果,甚至影响算法的建模,所以说数据质量会直接影响业务结果。在完成了上述的数据工作之后,我们需要系统的对治理后的数据质量进行评估。
结合网络领域运维效率低、能源消耗高、资源利用率低等应用场景,参照业界常用的数据质量六性原则,华为网络人工智能NAIE已形成网络领域八大评估指标,分别是数据准确性、可靠性、完整性、一致性、可理解性、可获得性、相关性、时效性;华为网络人工智能NAIE平台匹配这些评估指标,积累了大量网络领域数据质量提升措施,实现在数据准备阶段对数据质量的提升,缩短数据反馈流程,加速AI模型开发。
2.6 数据集生成
针对具体的业务目标,通过对组合后的主题数据进行特征提取、关联和标注,形成数据洞察所需的数据集,或者算法训练验证所需的数据集。
算法训练所需的数据集可以划分为训练集、交叉验证集和测试集三类。
监督学习和半监督学习的训练集必须有样本标签,用于算法模型的训练(通过样本标签计算模型误差,利用梯度下降等方法迭代提升模型精度)。无监督学习的训练集可以没有样本标签,但是验证集和测试集应当有样本标签,用于模型的调优和验证,以及模型效果的评估。
“一故障一工单”选择了故障主题数据和拓扑主题数据的部分特征,再将故障特征和拓扑特征进行关联,最后按照时空关系进行故障集合划分,就形成了基本数据集。然后按照一定的比例对数据集进行划分,划分为训练集、验证集和测试集。
3、“一故障一工单”方案应用
华为网络人工智能NAIE“一故障一工单”数据集包含高质量数据和高准确的标注,可以有效支撑AI模型的训练和验证,经过已经在现网多个局点的部署和应用验证,可实现网络故障工单减少21%。
未来,华为网络人工智能NAIE将持续构建覆盖类型全、价值样本多、数据质量高的网络运维操作领域的数据集,供广大网络领域AI开发者应用。
2020年3月20号华为开发者大会HDC.Cloud上,华为网络人工智能NAIE将线上揭秘网络AI领域10大公开数据集的具体内容和数据集构建经验,欢迎大家关注公众号【网络人工智能园地】,点击菜单【HDC】,接入我们的直播和专家线上探讨交流!
华为开发者大会2020(Cloud)是华为面向ICT(信息与通信)领域全球开发者的年度顶级旗舰活动。大会旨在搭建一个全球性的交流和实践平台,开放华为30年积累的ICT技术和能力,以“鲲鹏+昇腾”硬核双引擎,为开发者提供澎湃动力,改变世界,变不可能为可能。届时在网络人工智能将在线上有更多详细内容,我们期待与你共创计算新时代,在一起,梦飞扬!
开发者
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。