【摘要】 问题 KPI异常检测项目须要对设备内多模块、多类型数据,并根据波形以及异常表现进行分析,这样的数据量每每较大,对内存和性能要求较高。同时,在设计优化算法时,须要快速获得训练及测试结果并根据结果来调整算法,所以进一步要求计算内存和性能达到较高的水平。当前,本地安全PC性能难以知足调试要求,难点主要在于,时间序列数据以csv文件格式存储,须要根据时序关系以及五维关键字拆分红以五维关键字为主...
KPI异常检测项目须要对设备内多模块、多类型数据,并根据波形以及异常表现进行分析,这样的数据量每每较大,对内存和性能要求较高。算法
同时,在设计优化算法时,须要快速获得训练及测试结果并根据结果来调整算法,所以进一步要求计算内存和性能达到较高的水平。segmentfault
当前,本地安全PC性能难以知足调试要求,难点主要在于,时间序列数据以csv文件格式存储,须要根据时序关系以及五维关键字拆分红以五维关键字为主键的惟一时序数据,这一过程须要将同一台设备全部KPI文件同时读入内存,一星期KPI数据文件就达到GB级别,单单本机训练就须要41Min。同时,每台网管设备纳管几千台设备,训练花的时间将按设备数对应倍数增长,单进程执行网管设备局点数据分析的时间将到达Month级别。安全
KPI异常检测项目但愿可以根据KPI数据特色,显著缩短训练时间,以知足快速测试算法调优的需求。性能
1. 对华为NAIE训练平台现有任务机制进行拓展,任务可以使用Master-Worker机制,即原来的任务变成Master控制消息分发,在其命名空间下建立N个子任务,循环处理数据测试
2. 设计一套简单易用的API,尽可能对业务代码无侵入优化
咱们从naie sdk中导入两个装饰器spa
假设咱们有四个数据集实例,咱们将它定义为一个列表设计
如上面代码所示,主程序每次接受一个列表中的元素,其他代码和单机保持一致。调试
after装饰器下面的代码只会在主节点上运行一次,它执行的时机是全部的主程序运行完以后,请根据业务的需求决定是否添加。blog
50个同等大小的文件夹若是在本地运行约须要34hour,扩大训练任务节点数后(现为30个),50个同等大小的文件夹在训练平台运行时间缩短为2hour。