基于人工智能的同步测试巡检技术研究.docx
《基于人工智能的同步测试巡检技术研究.docx》由会员分享,可在线阅读,更多相关《基于人工智能的同步测试巡检技术研究.docx(10页珍藏版)》请在冰豆网上搜索。
基于人工智能的同步测试巡检技术研究
基于人工智能的同步测试巡检技术研究*
摘要:
针对目前同步测试场景中人力及时间成本高、测试现场受限、数据语义复杂及测试风险难以控制的痛点问题,基于人工智能技术,提出了一种同步测试巡检技术方案。
该方案首先实现了同步测试模式分类及异常检测算法,其次依托于云计算+大数据平台,搭建了同步测试巡检系统,最后进行了现场试验验证。
结果表明,该技术方案可自动同步测试智能巡检,及时发现测试异常情况,在一定程度上可提升测试效率、降低测试风险。
关键词:
人工智能;时钟同步;测试巡检;大数据;云计算
1 引言
同步网是电信领域的基础支撑网络之一。
同步测试验证对于设备成熟度验证、新技术研究以及同步网络的运行质量及时掌握具有重要意义,然而由于同步测试具有测试时间长、测试数据敏感度高、测试场景复杂多变等特点,实际测试会出现两类异常情况,一类是断电、死机、重启、失锁、蓝屏等导致测试仪表状态异常,一类是被测设备或系统自身信号中断、异常跳点、性能偏移等导致的测试结果异常。
这两类异常不可避免地导致反复重测,影响测试效率,提高了人力成本及时间成本。
总体来说,目前同步测试工作面临3方面挑战:
一是测试现场条件复杂。
具体表现在测试机房有管理规定,测试人员无法长期值守;同步测试依赖现场卫星跟踪情况,受建筑物遮挡、天气、多径效应等因素影响,造成测试参考不稳定;测试受其他外部因素(如电源、湿度、温度、线缆)的影响等。
二是测试仪表自身不具备数据分析能力。
具体表现在同步测试数据的状态和健康度需要测试人员深度参与,通过同步专业背景知识进行综合判定;测试结果通过与否是由测试需求、测试标准以及测试人员预期决定的,仪表只记录客观数据,本身不具备数据甄别能力。
三是测试仪表可视化/数字化支持不足。
具体表现在测试仪表长时数据显示不完整、告警功能不完善及测试仪表未完全开放测试指令集,使得测试信息无法及时导出等。
为了应对上述问题及挑战,本文探索采用人工智能(ArtificialIntelligence,AI)进行同步测试巡检的技术实现,在测试大数据下,采用AI强大的语义分析和故障分析能力解决同步测试巡检人力及时间成本高、测试现场受限、数据语义复杂及测试风险难以控制等痛点问题。
目前,AI巡检技术在一些行业和特定领域已经有所应用,例如华为工人环境健康安全系统(EnvironmentHealthSystem,EHS)采用AI+计算机视觉对基站施工人员进行上站工具、安全装备的自动审核[1],在电力行业采用AI无人机对变电站设施进行巡检[2],数据中心采用智能机器人进行巡检等[3],这些AI驱动的巡检技术已经取得初步成效,然而由于同步测试领域的专业性和需求的特殊性,目前在同步测试巡检方面尚未有类似的应用报道。
基于以上研究背景,本文提出AI同步测试巡检技术的总体实现框架,重点对AI测试巡检算法实现和系统实现开展研究,并进行AI同步测试巡检试验验证。
2 AI同步测试巡检技术总体实现框架
AI同步测试巡检总体技术实现路线如图1所示,主要包括以下4个方面。
图1 AI同步测试巡检总体技术实现路线
(1)数据采集:
包括离线数据采集和实时数据采集两部分,其中离线数据采集部分包括收集、构建、验证不同应用场景下的AI模型数据集;实时数据采集部分则在生产环境下,通过测试仪表和客户端进行数据在线采集、记录,并上传至云端大数据平台。
(2)AI算法及模型:
基于测试数据理解及仪表状态分析两方面需求,研究同步模式分类和故障定位两大类AI算法,针对模型实现,另外研究了数据自动标注和数据生成两类算法。
(3)大数据计算框架:
包括弹性GPU服务器(ElasticGPUServer,EGS)模型部署、消息队列(MessageQueue,MQ)中间件、对象云存储(ObjectStorageService,OSS)、关系型数据库(RelationalDatabaseService,RDS)、AI服务接口、大数据计算引擎、大数据统计和分析等技术实现。
(4)上层应用:
为满足不同应用需求,研究AI测试巡检大屏展示、消息实时发送、邮件及时推送等技术实现。
下面针对AI算法研究实现、巡检系统云端实现两大关键技术实现进行论述。
3 AI测试巡检算法研究与实现
AI测试巡检算法包括测试巡检数据集设计、模型实现和算法评测3部分。
3.1 数据集设计
测试巡检数据集设计是该系统实现的难点,主要面临同步专业测试数据收集困难、异常检测数据稀缺、同步运行模式样本不均衡等技术问题。
本文采用如下3种技术手段进行解决。
3.1.1 数据集构建及数据增广
根据时钟运行模式特点以及同步测试中出现的问题,设计6类时钟运行模式图像数据集,包括正常跟踪、时钟保持、数据中断、数据跳变、自由运行及其他模式,由于现场数据采集能力受限,基础样本不足1000条。
为了提升数据集的规模,降低AI模型训练过拟合的风险,本文采用图像领域常用的数据增广处理,包括随机裁剪、交换通道、镜像操作、改变大小、改变亮度、改变颜色及增加噪点等操作,将原始数据集样本扩增至56430条。
3.1.2 数据自动标注
由于同步测试巡检数据标注需要时钟同步领域的专业知识,标注门槛较高,因此本文采用了基于ActiveLearning[4]的半自动标注方法,一方面实现标签数据的扩增,另一方面对异常出现的难样本进行挖掘,并进行针对性的收集和补全,从而提升数据集的构建质量。
3.1.3 数据生成技术
目前同步测试场景中,异常倒换、跳变、数据缺失等异常情况是测试巡检关注的主要任务,然而这些有价值的样本在实际数据采集过程中发生概率低,导致数据集中异常检测样本严重稀缺。
为解决该问题,本文采用变分自编码器(VariationalAutoEncoder,VAE)[5]实现稀缺样本数据的反向生成,如图2所示,通过VAE自编码器首先实现正负样本数据的编码及数据重建,其次在投影空间对异常样本进行微调,通过解码器可反向生成多样化的异常运行数据。
该方法与监督学习数据标注方法不同,允许先构建数据集标签,后生成海量数据,解决了同步测试数据正负样本不均衡的问题,进一步提升了AI数据集样本的多样性。
图2 同步测试巡检数据反向生成实现示例
3.2 模型实现
基于3.1所设计的数据集,本文采用卷积神经网络(ConvolutionalNeuralNetwork,CNN)进行同步运行模式分类,由于时钟运行数据蕴含丰富的语义特征,本文选取3种典型的CNNModel进行模型训练,分别为AlexNet、GoogleNet和SENet,其中AlexNet专注于提取抽象化和一般化的数据特征,GoogleNet专注于提取不同感受野数据特征,而SENet采用了注意力机制,更关注各个模式善于识别的显著特征。
本文在训练好单个CNN模型基础上,进一步采用“合奏”机制(Ensemble),将三类模型推理结果进行归一化处理,构建更强的分类器,进一步提高模型的推理性能和泛化能力。
深度学习训练框架为Caffe(BVLC基础版本),前端训练及验证工具为NVIDIADIGITS[6],训练环境为单机双卡GPUP4(2×8G=16G显存)。
如图3所示,以GoogleNet为例,经过28个遍历轮次(Epoch)后模型收敛,基本可实现同步运行模式的正常分类。
图3 基于CNN的同步模式分类训练及验证
3.3 算法评测
为了对算法上线效果进行评估,在评测部分本文主要考虑了灰度测试和通用模型性能测试两种方式。
3.3.1 通用模型性能测试
针对多类模式的分类模型,业界通常采用接收器操作曲线(ReceiverOperationCurve,ROC)指标进行评测,这里采用了Macro的方法进行计算。
如图4所示,测试结果表明采用合奏机制的CNN模型(EnsembledModel)与单一CNN模型相比(如AlexNet、GoogleNet和SENet),具有更佳的ROC包围面积(Area=0.91),从而也验证了合奏机制在提升多分类器性能方面的有效性。
图4 多种CNN模型ROC性能
针对异常检测的场景,由于正负样本通常并不均衡,这里采用召回率(Recall)、精确率(Precision)和f1得分(f1-score)3种度量指标进行测试(见表1),评测结果验证了采用合奏机制的CNN模型与单一模型相比可获得更佳的异常检测性能,故建议上线采用。
表1 多种CNN模型召回率、精确率和f1得分的评测结果
3.3.2 灰度测试
为保证AI算法上线后的运行稳定度,需要对模型推理结果进行风险评估,基于PSI(群体稳定度指标)[4]度量方法,在阿里云PAI平台上进行了PSI算法试验[7],结果表明AI模型推理结果一致性较好,上线后风险可控,达到算法部署要求。
综上所述,评测结果表明采用CNN合奏的方式,初步可满足上线部署及推理的要求,本文选取CNN集成模型作为测试巡检系统的核心组件。
4 同步测试巡检系统云端实现
考虑到同步测试巡检数据量大的特点,采用大数据计算引擎及组件进行实时计算;考虑到同步测试突发性强、巡检任务多样化的特点,采用云端部署方式进行弹性资源调配。
如图5所示,大数据+云端测试巡检系统由数据采集层、计算层和应用层3部分组成,其实现的关键技术论述如下。
图5 同步测试巡检系统云端实现
4.1 测试数据实时采集
通过测试仪表开放的指令集进行测试数据的实时采集是较为理想的实现方式,然而由于目前同步测试仪表的数字化程度不高,存在指令集未开放和指令集不完善等工程问题,给同步测试巡检大数据实时采集任务造成诸多困难。
为解决上述问题,本文采用测试终端+仪表远程访问方式对测试仪表界面图像进行实时采集,并开发了数据采集客户端,基于Flask框架实现客户端与云端AI推理服务器之间的数据回传后,将采集的测试数据图像实时保存至OSS对象云存储。
4.2 AI服务器部署
考虑到深度学习模型对计算的需求以及AI推理实时性的要求,本文基于EGS弹性计算服务器实例,在Ubuntu系统上配置Caffe(BVLC版本)深度学习框架以及相应的推理运行环境,并对第3章训练的CNN合奏模型进行部署,考虑到后续测试巡检计算与服务应具备可扩容性和可扩展性,将AI模型和推理环境封装至Docker容器中,便于统一编排、管理及迁移。
4.3 消息中间件
如图6所示,本文采用了消息中间件,一方面对AI推理数据进行规范,另一方面为多种大数据组件提供数据总线,有利于云端系统高效、便捷地搭建,与未采用消息中间件的烟囱型架构相比,采用消息中间件的“松耦合”架构有以下优势。
图6 两种架构的对比图
(1)“松耦合”后便于组件和代码的维护、管理及故障定位。
(2)便于组件进行替换、升级、版本回退和功能扩展。
(3)方便上层应用组件对数据进行订阅,便于提供灵活的数据服务,利于实现多方开发与工作协同。
(4)在高并发访问下,吸收、减缓数据的冲击,便于流量控制,保证数据工作流水线的实时性和云端系统的平稳性。
本文采用阿里云datahub消息中间件[8],定义了如表2所示AI数据推理接口。
表2 AI数据推理接口定义
4.4 数据库后台
由于目前测试巡检任务中AI推理数据为结构化数据,因此本文采用RDS关系型数据库,基于datahub建立数据通道,将实时推理数据同步到数据库中,并采用Mysql语言进行结构化推理数据常规的存储、增加、删除、改动等操作,此外在RDS数据库中进一步设计了过滤、关联、聚类、度量等数据分析脚本,为上层应用提供数据服务支撑。
图7 同步测试巡检大屏Web前端展示
4.5 前端展示
本文基于dataV前端可视化应用组件[9],调用后端RDS数据库中的AI推理数据及分析处理数据,搭建了同步测试巡检大屏,测试人员可通过网页登录巡检大屏。
如图7所示,目前测试巡检大屏支持的服务功能包括:
当前测试原始数据显示、历史测试数据统计;测试数据运行状态实时掌握、历史测试数据状态统计;当前仪表运行状态掌握、仪表历史运行健康度统计;测试仪表、测试人员信息关联。
后续计划增加测试巡检异常事件预警、测试完成度及质量排名等功能。
4.6 巡检信息实时推送
巡检信息实时推送,对于测试人员及时发现数据异常或仪表状态异常起到至关重要的作用。
本文采用如下两种方式进行信息实时推送。
(1)邮件推送方式:
通过datahub订阅AI实时推理数据,设定预警规则(如运行模式为出现跳变或信号中断),结合推理结果的置信得分,触发预警事件,基于Python中的E-mail库件,设计邮件推送函数,实现测试巡检事件信息的实时推送。
(2)短信推送方式:
数据订阅、预警规则和事件触发机制与邮件推送实现流程一致,推送功能通过提供公开服务的短信API接口实现信息的实时推送。
5 同步测试巡检试验
为了验证同步测试巡检算法的实战效果,以及测试巡检系统的工程可用性,本文进行了同步测试巡检试验。
如图8所示,试验中采用Sync-edge时频同步测试仪表进行了时钟同步测试,在测试现场利用1台Windows7系统测试电脑,通过网络连通测试仪表后,一方面对测试图像进行实时采集,另一方面基于安装好的测试巡检客户端(已发布了Smart-sync巡检客户端的Python安装包,支持pip安装[10])登录云端测试巡检系统,与AI推理服务器进行图像回传,实现推理服务。
制造测试数据异常后(模拟短暂的数据中断),不在测试现场的同步测试人员在手机短可收到巡检预警短信,同时接收到发生异常事件的邮件提醒,包含测试异常的现场截图。
试验结果验证了该技术方案可自动实现同步测试智能巡检功能,可及时发现测试异常情况,在一定程度上提升了测试效率、降低了重测风险。
图8 同步测试巡检试验验证
6 结束语
本文通过AI+大数据的技术手段,针对同步专业领域测试中人力及时间成本高、测试现场受限、数据语义复杂及测试风险难以控制的痛点问题,以数字化、信息化和智能化的视角,探讨了AI测试巡检技术实现方案。
对于特定领域、特定场景和特定需求,AI算法实现和成效体现,不仅仅需要专业数据,还需要结合专业背景知识和测试人员的实战经验,不断在大数据+云端进行持续注入与迭代。
后续基于已初步实现的同步测试巡检系统,拟在AI算法能力打磨、多专业测试巡检需求扩增、电信专业领域知识图谱能力结合等方面做进一步探索和实践。