网络场景AI模型训练效率实践

举报
chenjinge 发表于 2020/05/08 16:15:58 2020/05/08
【摘要】 KPI异常检测项目需要对设备内多模块、多类型数据,并根据波形以及异常表现进行分析,这样的数据量往往较大,对内存和性能要求较高。同时,在设计优化算法时,需要快速得到训练及测试结果并根据结果来调整算法,因此进一步要求计算内存和性能达到较高的水平。当前,本地安全PC性能难以满足调试要求,难点主要在于,时间序列数据以csv文件格式存储,需要根据时序关系以及五维关键字拆分成以五维关键字为主...

  问题  


KPI异常检测项目需要对设备内多模块、多类型数据,并根据波形以及异常表现进行分析,这样的数据量往往较大,对内存和性能要求较高。


同时,在设计优化算法时,需要快速得到训练及测试结果并根据结果来调整算法,因此进一步要求计算内存和性能达到较高的水平。


当前,本地安全PC性能难以满足调试要求,难点主要在于,时间序列数据以csv文件格式存储,需要根据时序关系以及五维关键字拆分成以五维关键字为主键的唯一时序数据,这一过程需要将同一台设备所有KPI文件同时读入内存,一星期KPI数据文件就达到GB级别,单单本机训练就需要41Min。同时,每台网管设备纳管几千台设备,训练花的时间将按设备数对应倍数增加,单进程执行网管设备局点数据分析的时间将到达Month级别


KPI异常检测项目希望能够根据KPI数据特点,显著缩短训练时间,以满足快速测试算法调优的需求。



  华为解决方案  

 



1.   对华为NAIE训练平台现有任务机制进行拓展,任务可使用Master-Worker机制,即原来的任务变成Master控制消息分发,在其命名空间下创建N个子任务,循环处理数据


2.   设计一套简单易用的API,尽量对业务代码无侵入


  导入依赖:

我们从naie sdk中导入两个装饰器


  定义数据:

假设我们有四个数据集实例,我们将它定义为一个列表


如上面代码所示,主程序每次接受一个列表中的元素,其余代码和单机保持一致。

after装饰器下面的代码只会在主节点上运行一次,它执行的时机是所有的主程序运行完之后,请根据业务的需求决定是否添加。


  改进效果  


50个同等大小的文件夹如果在本地运行约需要34hour,扩大训练任务节点数后(现为30个),50个同等大小的文件夹在训练平台运行时间缩短为2hour。


作者:于泽阳

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。