有效
查找分布式训练系统中异常流量节点的方法、装置及介质
高蕾、姜晶菲、李东升、苏华友、李荣春、乔鹏、许金伟
中国人民解放军国防科技大学
摘要
本申请公开了一种查找分布式训练系统中异常流量节点的方法、装置及介质,应用于深度学习领域,该方法中,分布式训练系统的节点包括计算节点和参数服务器,参数服务器主要负责存放模型参数,计算节点负责数据计算。该方法先获取节点的流量统计数据;并根据流量统计数据得到各计算节点之间和/或各参数服务器之间的相似性特征,再根据计算节点之间的相似性特征查找出计算节点中的异常流量节点,以及根据参数服务器之间的相似性特征查找出参数服务器中的异常流量节点。本申请提供的方法可找到节点中的异常流量节点,可以根据异常流量节点对分布式训练系统重新布局以提高分布式训练的效率。
1.一种查找分布式训练系统中异常流量节点的方法,其特征在于,包括:获取节点的流量统计数据,所述节点包括计算节点和参数服务器;根据所述流量统计数据得到各所述计算节点之间和/或各所述参数服务器之间的相似性特征;根据所述相似性特征查找所述节点中的所述异常流量节点;其中,多个所述计算节点组成一个计算组,所述分布式训练系统包括多个所述计算组;根据所述流量统计数据得到各所述计算节点之间的所述相似性特征之前,还包括:根据所述流量统计数据得到各所述计算组之间的所述相似性特征;根据各所述计算组之间的所述相似性特征查找所述异常流量节点所在的所述计算组;根据所述流量统计数据得到各所述计算节点之间的所述相似性特征具体为:根据所述流量统计数据得到所述异常流量节点所在的所述计算组内各所述计算节点之间的所述相似性特征;根据所述相似性特征查找所述计算节点中的所述异常流量节点具体为:根据所述异常流量节点所在的所述计算组内各所述计算节点之间的所述相似性特征查找所述计算组内的所述异常流量节点;所述根据所述流量统计数据得到各所述计算组之间的所述相似性特征包括:根据流量统计数据构建计算节点的流量序列矩阵;设定n个采样时段t1,t2,…,tn,采集每个计算节点对应采样时段的通信流量,继而组合成流量序列矩阵;设计算组数量为m,每个计算组内的计算节点数量不超过 l ,可以得到如下公式中第k个计算组内节点的流量序列矩阵X (k) :其中, 表示第k(k=1,2,…,m)个计算组内第j(j=1,2,…, l )个计算节点的t i (i=1,2,…,n)时段的采样流量;若其中一个计算组内计算节点数量不足 l 个,对应流量序列矩阵中超过此计算组内计算节点数量的列值全部补充0;针对计算组之间计算节点的相似性特征,采用皮尔逊相关系数进行分析;根据流量序列矩阵X,针对任意两个不同计算组f (f=1,2,…,m)和g(g=1,2,…,m)对应的流量序列矩阵X (f) 和X (g) 进行皮尔逊相关系数的计算,从两个矩阵中任意取出列向量 和 (s,q=1,2,…, l )的计算公式,如下公式所示:其中, 和 分别是向量 和 的ti(i=1,2,…,n)时段的采样流量值, 和 分别是向量 和 的n个时段采样流量的均值;通过上述计算可以得到X (f) 和X (g) 的皮尔逊相关系数相似度矩阵R (f,g) ,具体如下公式所示:R (f,g) 为所述计算组之间的所述相似性特征,R (f,g) 中元素值 代表计算组f中计算节点s和计算组g中计算节点q的流量相似度特征值,每一行元素值代表计算组f中其中一个计算节点与计算组g中所有计算节点的流量相似度特征值;所述根据各所述计算组之间的所述相似性特征查找所述异常流量节点所在的所述计算组包括:根据R (f,g) 判断出不存在线性相似性的计算组f和计算组g,表征计算组f或计算组g中存在异常流量节点,需进一步判断异常流量节点所在计算组;首先判断异常流量节点是存在于计算组f还是计算组g中,或者是两个计算组中均存在;分别对计算组f和计算组g与其他计算组的线性相似性矩阵进行比对,若存在两个及以上R (f,h) (h=1,2,…,m且h≠g)不存在线性相似性,则表明计算组f中存在异常流量节点;若存在两个及以上R (g,h) (h=1,2,…,m且h≠f)不存在线性相似性,则表征计算组g中存在异常流量节点;所述根据所述异常流量节点所在的所述计算组内各所述计算节点之间的所述相似性特征查找所述计算组内的所述异常流量节点包括:采用互信息系数进行分析计算组内部的计算节点之间的相似性特征,计算组内部计算节点采用多级分层形式,针对相邻层级的计算节点做互信息系数特征分析,发现相邻层级计算节点的非线性动态相似性;设计算组内任意两个相邻层级的两个计算节点为X(u)和Y(w),其中u,w(u,v=1,2,…,L且u,v相邻,L为计算组内最大分层数)分别为计算组内相邻分层,互信息系数的计算方法如下公式所示:其中 和 分别为两个节X (u) 和Y (w) 的第i个时段流量, 为两个计算节点第i个时段流量的联合概率密度, 分别为两个计算节点第i个时段流量的边缘概率密度;互信息M取值范围为[0,1];计算得到相邻层计算节点互信息系数矩阵I (u,w) ,具体如下公式所示:其中, 表示第u层第i(i=1,2,…,Lu)个计算节点与第w层第j(j=1,2,…,L w )个计算节点的互信息系数,L u 为第u层计算节点数,L w 为第w层计算节点数;通过互信息系数矩阵I (u,w) 中计算任意两行元素对应项的差值得到流量非线性动态变化特征,以查找所述计算组内的所述异常流量节点。
2.根据权利要求1所述的查找分布式训练系统中异常流量节点的方法,其特征在于,所述根据各所述计算组之间的所述相似性特征查找所述异常流量节点所在的所述计算组包括:获取目标计算组与其他各所述计算组之间的相似度值;若与所述目标计算组的相似度值满足第一预设要求的其他所述计算组的数量大于第一预设值,则判定所述目标计算组中包含所述异常流量节点。
3.根据权利要求2所述的查找分布式训练系统中异常流量节点的方法,其特征在于,所述计算组内部的多个所述计算节点根据所述分布式训练系统的训练任务分为多个层级;所述根据所述异常流量节点所在的所述计算组内各所述计算节点之间的所述相似性特征查找所述计算组内的所述异常流量节点具体为:获取目标层级中各所述计算节点与相邻层级的其他所述计算节点的非线性动态变化特征;若所述目标层级中的目标计算节点与相邻层级的其他所述计算节点的所述非线性动态变化特征,与所述目标层级中的其他各所述计算节点与相邻层级的其他所述计算节点的所述非线性动态变化特征之间的相似度值均满足第二预设要求,则判定所述目标计算节点为所述异常流量节点。
4.根据权利要求1所述的查找分布式训练系统中异常流量节点的方法,其特征在于,根据所述相似性特征查找所述参数服务器中的所述异常流量节点具体为:获取目标参数服务器与其他各所述参数服务器之间的相似度值;若与所述目标参数服务器的相似度值满足第三预设要求的其他所述参数服务器的数量大于第三预设值,则判定所述目标参数服务器为所述异常流量节点。
5.根据权利要求3所述的查找分布式训练系统中异常流量节点的方法,其特征在于,所述判定所述目标计算节点为所述异常流量节点之后,还包括:根据异常的所述计算节点重新划分分布式训练的数据集和模型。
6.根据权利要求4所述的查找分布式训练系统中异常流量节点的方法,其特征在于,所述判定所述目标参数服务器为所述异常流量节点之后,还包括:获取异常的所述参数服务器的参数访问频度;若所述参数服务器的参数访问频度超过阈值,则将所述参数服务器的参数存放至其他所述参数服务器。
7.一种查找分布式训练系统中异常流量节点的装置,其特征在于,包括:获取模块,用于获取节点的流量统计数据,所述节点包括计算节点和参数服务器;得到模块,用于根据所述流量统计数据得到各所述计算节点之间和/或各所述参数服务器之间的相似性特征;查找模块,用于根据所述相似性特征查找所述节点中的所述异常流量节点;其中,多个所述计算节点组成一个计算组,所述分布式训练系统包括多个所述计算组;根据所述流量统计数据得到各所述计算节点之间的所述相似性特征之前,还包括:根据所述流量统计数据得到各所述计算组之间的所述相似性特征;根据各所述计算组之间的所述相似性特征查找所述异常流量节点所在的所述计算组;根据所述流量统计数据得到各所述计算节点之间的所述相似性特征具体为:根据所述流量统计数据得到所述异常流量节点所在的所述计算组内各所述计算节点之间的所述相似性特征;根据所述相似性特征查找所述计算节点中的所述异常流量节点具体为:根据所述异常流量节点所在的所述计算组内各所述计算节点之间的所述相似性特征查找所述计算组内的所述异常流量节点;所述根据所述流量统计数据得到各所述计算组之间的所述相似性特征包括:根据流量统计数据构建计算节点的流量序列矩阵;设定n个采样时段t1,t2,…,tn,采集每个计算节点对应采样时段的通信流量,继而组合成流量序列矩阵;设计算组数量为m,每个计算组内的计算节点数量不超过 l ,可以得到如下公式中第k个计算组内节点的流量序列矩阵X (k) :其中, 表示第k(k=1,2,…,m)个计算组内第j(j=1,2,…, l )个计算节点的t i (i=1,2,…,n)时段的采样流量;若其中一个计算组内计算节点数量不足 l 个,对应流量序列矩阵中超过此计算组内计算节点数量的列值全部补充0;针对计算组之间计算节点的相似性特征,采用皮尔逊相关系数进行分析;根据流量序列矩阵X,针对任意两个不同计算组f (f=1,2,…,m)和g(g=1,2,…,m)对应的流量序列矩阵X (f) 和X (g) 进行皮尔逊相关系数的计算,从两个矩阵中任意取出列向量 和 (s,q=1,2,…, l )的计算公式,如下公式所示:其中, 和 分别是向量 和 的ti(i=1,2,…,n)时段的采样流量值, 和 分别是向量 和 的n个时段采样流量的均值;通过上述计算可以得到X (f) 和X (g) 的皮尔逊相关系数相似度矩阵R (f,g) ,具体如下公式所示:R (f,g) 为所述计算组之间的所述相似性特征,R (f,g) 中元素值 代表计算组f中计算节点s和计算组g中计算节点q的流量相似度特征值,每一行元素值代表计算组f中其中一个计算节点与计算组g中所有计算节点的流量相似度特征值;所述根据各所述计算组之间的所述相似性特征查找所述异常流量节点所在的所述计算组包括:根据R (f,g) 判断出不存在线性相似性的计算组f和计算组g,表征计算组f或计算组g中存在异常流量节点,需进一步判断异常流量节点所在计算组;首先判断异常流量节点是存在于计算组f还是计算组g中,或者是两个计算组中均存在;分别对计算组f和计算组g与其他计算组的线性相似性矩阵进行比对,若存在两个及以上R (f,h) (h=1,2,…,m且h≠g)不存在线性相似性,则表明计算组f中存在异常流量节点;若存在两个及以上R (g,h) (h=1,2,…,m且h≠f)不存在线性相似性,则表征计算组g中存在异常流量节点;所述根据所述异常流量节点所在的所述计算组内各所述计算节点之间的所述相似性特征查找所述计算组内的所述异常流量节点包括:采用互信息系数进行分析计算组内部的计算节点之间的相似性特征,计算组内部计算节点采用多级分层形式,针对相邻层级的计算节点做互信息系数特征分析,发现相邻层级计算节点的非线性动态相似性;设计算组内任意两个相邻层级的两个计算节点为X(u)和Y(w),其中u,w(u,v=1,2,…,L且u,v相邻,L为计算组内最大分层数)分别为计算组内相邻分层,互信息系数的计算方法如下公式所示:其中 和 分别为两个节X (u) 和Y (w) 的第i个时段流量, 为两个计算节点第i个时段流量的联合概率密度, 分别为两个计算节点第i个时段流量的边缘概率密度;互信息M取值范围为[0,1];计算得到相邻层计算节点互信息系数矩阵I (u,w) ,具体如下公式所示:其中, 表示第u层第i(i=1,2,…,Lu)个计算节点与第w层第j(j=1,2,…,L w )个计算节点的互信息系数,L u 为第u层计算节点数,L w 为第w层计算节点数;通过互信息系数矩阵I (u,w) 中计算任意两行元素对应项的差值得到流量非线性动态变化特征,以查找所述计算组内的所述异常流量节点。
8.一种查找异常流量节点的装置,其特征在于,包括存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的查找分布式训练系统中异常流量节点的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的查找分布式训练系统中异常流量节点的方法的步骤。
暂无引用专利



