CN115718868A - 模型训练方法、装置及系统 - Google Patents
模型训练方法、装置及系统 Download PDFInfo
- Publication number
- CN115718868A CN115718868A CN202110970462.6A CN202110970462A CN115718868A CN 115718868 A CN115718868 A CN 115718868A CN 202110970462 A CN202110970462 A CN 202110970462A CN 115718868 A CN115718868 A CN 115718868A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- node
- information
- model parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种模型训练方法、装置及系统,用以解决AI模型的识别率低的问题。该方法包括:中心节点向至少两个第一节点发送模型训练消息,该模型训练消息包括AI模型以及模型训练配置信息。中心节点接收来自至少两个第一节点的至少两个根据对应的第一节点的本地数据和所述模型训练配置信息对AI模型训练后的模型参数更新信息。中心节点向至少两个第一节点中的第一节点发送根据所述至少两个第一模型参数更新信息得到的第二模型参数更新信息,第二模型参数更新信息用于更新第一节点的所述AI模型的模型参数。该方法在满足数据的隐私保护要求的前提下,可以尽量提高AI模型的识别率。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种模型训练方法、装置及系统。
背景技术
随着近年来移动互联网的高速发展,增强现实(augmented Reality,AR)/虚拟现实(virtual Reality,VR)、4K高清视频等新应用不断涌现,带来了移动数据业务的爆发式增长。针对运营商来说迫切需要的是:基于业务内容的差异化计费。
为了实现基于业务内容的差异化计费,需要识别业务内容。目前采用业务感知(service awareness,SA)技术来识别业务内容。SA技术,是在分析包头的基础上,能够深度分析数据包所携带的4~7层协议的特征,是一种基于应用层信息检测和控制技术。
SA可以基于人工智能(artificial Intelligence,AI)模型实现SA的智能化与自动化。但是基于AI模型进行SA必须依赖大量样本在识别前进行训练,如果将各个节点(或者称节点)的本地样本数据进行相互传递,则不符合数据的隐私保护要求;如果样本数量太少,又导致针对业务内容的识别率较低。
基于此,如何在满足数据的隐私保护要求的前提下,尽量提高AI模型的识别率成为亟需解决的问题。
发明内容
本申请实施例提供一种模型训练方法、装置及系统,用以在满足数据的隐私保护要求的前提下,尽量提高AI模型的识别率。
第一方面,本申请实施例提供一种模型训练方法,该方法可以由中心节点执行。该方法包括:中心节点向至少两个第一节点发送模型训练信息,所述模型训练信息包括人工智能AI模型以及模型训练配置信息,所述AI模型用于识别数据流所属类别;中心节点接收来自所述至少两个第一节点的至少两个第一模型参数更新信息,第一模型参数更新信息是根据所述第一模型参数更新信息对应的第一节点的本地数据和所述模型训练配置信息对所述AI模型训练后的模型参数更新信息;中心节点向所述至少两个第一节点中的第一节点发送第二模型参数更新信息,所述第二模型参数更新信息是根据所述至少两个第一模型参数更新信息得到的,所述第二模型参数更新信息用于更新第一节点的所述AI模型的模型参数。
上述方法,由于第一模型参数更新信息是分别在第一节点利用本地数据和模型训练配置信息训练得到的,因而可以满足数据的隐私保护要求,而且由于第二模型参数更新信息根据至少两个第一节点的至少两个第一模型参数更新信息得到的,可以使得利用第二模型参数更新信息更新后的AI模型的识别率更高,从而可以尽量提高AI模型的识别率。
在一种可能的设计中,所述数据流所属类别包括以下内容中的至少一项:所述数据流所属的应用;所述数据流的业务内容所属的类型或协议;或,所述数据流的报文特征规则。
上述设计,AI模型可以用于识别数据流所属的应用,由于利用AI模型实现对数据流所属的应用的识别,无需人工参与,还可以提高对数据流所属的应用的识别能力。或者,上述方案,AI模型可以用于识别数据流的业务内容所属的类型或协议,由于利用AI模型实现对数据流所属的类型或协议的识别,无需人工参与,还可以提高对数据流所属的类型或协议的识别能力。或者,上述方案,AI模型可以用于识别数据流的特征规则,由于利用AI模型实现对数据流的报文特征规则的识别,无需人工参与,还可以提高对数据流的报文特征规则的识别能力。
在一种可能的设计中,在所述中心节点接收来自所述至少两个第一节点的至少两个第一模型参数更新信息之后,还包括:中心节点向第二节点发送所述第二模型参数更新信息和所述AI模型;所述第二模型参数更新信息用于更新所述第二节点的所述AI模型的模型参数。
上述设计,通过根据至少两个第一节点利用本地数据和模型训练配置信息对AI模型训练后的至少两个第一模型参数更新信息得到的第二模型参数更新信息,来更新第二节点的AI模型的模型参数,可以使得第二节点的AI模型结合至少两个第一节点的至少两个第一模型参数更新信息,从而可以尽量提高第二节点的AI模型的识别率。
在一种可能的设计中,所述模型训练配置信息还包括:训练结果精度阈值;所述训练结果精度阈值用于指示所述第一节点根据本地数据和所述模型训练配置信息对所述AI模型进行训练的训练结果精度。
上述设计,通过在模型训练配置信息中设置训练结果精度阈值,当第一节点训练后的AI模型的精度达到训练结果精度阈值时,可以停止模型训练,从而可以实现中心节点对第一节点AI模型的训练结果精度进行控制。
第二方面,本申请实施例提供一种模型训练方法,该方法可以由第一节点执行。该方法包括:第一节点接收模型训练消息,所述模型训练消息包括AI模型以及模型训练配置信息,所述AI模型用于识别数据流所属类别;第一节点发送第一模型参数更新信息,所述第一模型参数更新信息是根据第一节点的本地数据和所述模型训练配置信息对所述AI模型训练后的模型参数更新信息;第一节点接收第二模型参数更新信息,所述第二模型参数更新信息是根据至少两个第一节点的至少两个第一模型参数更新信息得到的,所述第二模型参数更新信息用于更新第一节点的所述AI模型的模型参数。
上述方法,由于第一节点根据本地数据和模型训练配置信息对AI模型训练,可以满足数据的隐私保护的要求;而且由于第二模型参数更新信息是根据至少两个第一节点的至少两个第一模型参数更新信息得到的,可以使得利用第二模型参数更新信息更新后的AI模型的识别率更高,从而可以尽量提高AI模型的识别率。
在一种可能的设计中,所述数据流所属类别包括以下内容中的至少一项:所述数据流所属的应用;所述数据流的业务内容所属的类型或协议;或,所述数据流的报文特征规则。
上述设计,AI模型可以用于识别数据流所属的应用,由于利用AI模型实现对数据流所属的应用的识别,无需人工参与,还可以提高对数据流所属的应用的识别能力。或者,上述方案,AI模型可以用于识别数据流的业务内容所属的类型或协议,由于利用AI模型实现对数据流所属的类型或协议的识别,无需人工参与,还可以提高对数据流所属的类型或协议的识别能力。或者,上述方案,AI模型可以用于识别数据流的特征规则,由于利用AI模型实现对数据流的报文特征规则的识别,无需人工参与,还可以提高对数据流的报文特征规则的识别能力。
在一种可能的设计中,所述方法还包括:第一节点确定所述第一节点根据本地数据,对采用所述第二模型参数更新信息更新后的所述AI模型进行训练。
上述设计,第一节点利用本地数据对采用所述第二模型参数更新信息更新后的AI模型进行训练,可以使得最终训练后的AI模型针对本地数据具有更高的识别率。
在一种可能的设计中,所述方法通过部署于云化平台或者边缘计算平台的应用程序APP执行。
上述设计,可以由在云化平台或者边缘计算平台部署的APP执行上述第一节点执行的方法,可以将APP与云化平台或者边缘计算平台解耦,尽量减少对现有的云化平台或者边缘计算平台的改动。
在一种可能的设计中,所述接收模型训练消息之后,发送第一模型参数更新信息之前,所述方法还包括:通过所述APP的服务端模块接收来自所述第一节点的所述第一模型参数更新信息;所述发送第一模型参数更新信息,包括:通过所述APP的客户端模块发送所述第一模型参数更新信息。
上述设计,在APP中设置服务端模块和客户端模块,通过服务端模块实现与第一节点的通信以及通过客户端模块实现与外部的通信,可以充分发挥APP信息传递的作用。
在一种可能的设计中,所述第一模型参数更新信息是根据所述模型训练配置信息,对训练后的所述AI模型的模型参数校验成功之后得到的。
上述设计,在发送第一模型参数更新信息之前先对训练后的AI模型的模型参数进行校验,可以保证训练前后AI模型的模型参数一致,可以尽量避免由于训练前后AI模型的模型参数不一致从而影响训练效果。
在一种可能的设计中,所述模型训练配置信息还包括:训练结果精度阈值;所述训练结果精度阈值用于指示所述第一节点根据本地数据和所述模型训练配置信息对所述AI模型进行训练的训练结果精度。
上述设计,通过在模型训练配置信息中设置训练结果精度阈值,当第一节点训练后的AI模型的精度达到训练结果精度阈值时,可以停止模型训练,从而可以实现中心节点对第一节点AI模型的训练结果精度进行控制。
在一种可能的设计中,所述接收第二模型参数更新信息之后,所述方法还包括:第一节点获取基于采用所述第二模型参数更新信息更新后的所述AI模型,对数据流进行识别的识别结果和报文特征规则;根据所述报文特征规则更新业务感知SA特征库。
上述设计,通过将模型训练得到的AI模型识别出的报文特征规则更新到SA特征库,可以提高SA特征库的识别率。
第三方面,本申请实施例提供了一种模型训练装置,该模型训练装置包括用于执行第一方面或第一方面任一种可能的设计中的各个模块。或者,该模型训练装置包括用于执行第二方面或第二方面任一种可能的设计中的各个模块。
第四方面,本申请实施例提供了一种模型训练装置,该模型训练装置包括处理器和存储器。存储器中用于存储计算机执行指令,当处理器运行时,处理器执行存储器中的计算机执行指令以利用控制器中的硬件资源执行第一方面至第二方面中任一方面的任一种可能的设计中方法的操作步骤。
第五方面,本申请实施例提供了一种模型训练系统,包括上述第三方面或第四方面提供的模型训练装置。
第六方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第七方面,基于与第一方面同样的发明构思,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请实施例提供的一种联邦学习的架构示意图;
图2为本申请实施例提供的一种应用场景的示意图;
图3为本申请实施例提供的一种模型训练方法的流程示意图;
图4为本申请实施例提供的另一种模型训练方法的流程示意图;
图5为本申请实施例提供的一种模型训练系统的架构示意图;
图6为场景一中各个第一节点的样本数据分布情况的示意图;
图7为场景一中各个第一节点模型与联邦模型的识别准确率的示意图;
图8为场景二中各个第一节点的样本数据分布情况的示意图;
图9为场景二中各个第一节点模型与联邦模型的识别准确率的示意图;
图10为场景二中各个第一节点中小样本应用的召回率及联邦学习后的召回率的示意图;
图11为场景三中各个第一节点的样本数据分布情况的示意图;
图12为场景三中各个第一节点模型与联邦模型的识别准确率的示意图;
图13为场景三中各个第一节点中无样本应用联邦学习后的召回率的示意图;
图14为场景四中对联邦模型进行微调与初始化后重新训练的识别准确率的示意图;
图15为场景四中对联邦模型进行微调与初始化后重新训练的模型分别针对新应用的识别准确率的示意图;
图16为本申请实施例提供的一种模型训练装置的结构示意图;
图17为本申请实施例提供的另一种模型训练装置的结构示意图;
图18为本申请实施例提供的另一种模型训练装置的结构示意图。
具体实施方式
基于AI算法的SA技术可以实现识别技术的智能化与自动化。比如,基于AI算法进行流量识别的主要流程包括:训练阶段,包括抓取流量,预处理后作为AI模型的输入;测试阶段,包括将预处理后的流量送入AI模型进行分类,取分类器结果中概率最大的流量类别为最终的流量预测结果。
但是,基于AI算法的SA技术具有如下缺点:
首先,需要使用大量标记数据先进行模型训练,根据识别的内容越复杂、识别的范围越广,所需数据量就越庞大。其中模型识别泛化能力也和训练数据量有关;并且训练数据需进行隐私保护,仅限本地,不可外传使用。例如当某节点所需识别的APP(Application,应用程序)的流量太少(小样本),会致使该节点要么不具备此APP的识别能力,要么泛化能力差,识别精度低。
其次,AI模型训练与推理,对处理器的性能消耗十分大。例如,如果某单节点性能需求大,训练时间过长,影响模型的快速迭代,会导致识别能力不能快速更新。
再次,APP流量具有区域性分布特征,即使同一款APP在不同区域的流量特征也不同。比如,当流量特征变化快时,A节点的AI模型具备的某新款APP识别能力,无法传递给B节点。另外,根据隐私保护,节点数据无法导出用于模型训练,而依靠拨测等手段采集的数据无法满足训练要求。
有鉴于此,本申请实施例提供一种模型训练方法、装置及系统,用于在满足数据的隐私保护要求的前提下,尽量提高AI模型的识别率。
在对本申请实施例进行详细的解释说明之前,先对本申请实施例涉及的系统架构进行介绍。
图1为本申请实施例提供的一种联邦学习的架构示意图。为了便于理解,先结合图1对联邦学习的场景和过程进行示例性说明。
联邦学习是一种加密的分布式机器学习技术,它是指参与联邦学习的各方在不共享本地数据的前提下共建AI模型。其核心是:参与方在本地对AI模型进行模型训练,然后仅将模型更新部分加密上传到协调方节点,并与其它参与方的模型更新部分进行汇聚整合,形成一个联邦学习模型,这个联邦学习模型再由云端下发给各参与方,通过反复的本地训练以及反复的整合,最终得到一个更好的AI模型。
参阅图1,联邦学习的场景中可以包括协调方节点和多个参与方节点。协调方节点为联邦学习过程中的协调者,该协调方节点可以部署在云端,参与方节点为联邦学习过程的参与者,也为数据集的拥有者。为了便于理解和区分,本申请实施例中将协调方节点称为中心节点(比如在图1中标记为110),将参与方节点称为第一节点(比如在图1中标记为120和121)。
中心节点110和第一节点120、121可以是支持数据传输的任意节点(如网络节点)。例如,中心节点可以是服务器(server),或称参数服务器,或称汇聚服务器。第一节点可以是客户端(client),如移动终端或个人电脑等。
中心节点110可以用于维护联邦学习模型。第一节点120、121可以从中心节点110获取联邦学习模型,并结合本地训练数据集进行本地训练,得到本地模型。在训练得到本地模型之后,第一节点120、121可以将该本地模型发送给中心节点110,以便中心节点110更新或优化该联邦学习模型。如此往复,经过多轮迭代,直到联邦学习模型收敛或达到预设的迭代停止条件(例如达到最大次数或者达到最长训练时间)。
本申请实施例可以应用到基于SA技术的业务套餐、基于SA技术的业务管理、或者基于SA技术的辅助运营等多种场景下。
例如,针对运营商提出的有业务针对性的数据流量套餐,可以采用本申请实施例提供的方案训练AI模型,然后采用训练后的AI模型对不同应用进行识别,用于后续实施不同的计费和控制策略。
又例如,基于SA技术的业务管理可以包括识别业务内容后的带宽控制、阻塞控制或者业务保证等,比如,比如以识别业务内容后的阻塞控制为例,某些国家或者地区不允许使用某种类型的软件,例如基于IP的语音传输(voice over internet protocol,VoIP),VoIP类型的应用种类比较多,并且版本或协议更新频繁,很多应用还是加密的,从而需要SA技术支持对于VoIP软件的检测和控制。
又例如,网络上内容的不断丰富,运营商急需对于网络中传输的内容进行分析,通过对于传输流量的分析,运营商可以更好的指定商业运维策略。从而需要SA技术对不同应用的流量的识别。
如下通过具体应用场景对本申请实施例提供的方案进行示例性说明。
基于上述内容,本申请实施例可以应用于图2所示的场景中。如图2所示,中心节点110可以部署在云端,第一节点120、121可以分别部署在云化平台。另外,第一节点120、121还可以分别部署在边缘计算平台。
中心节点110可以将AI模型下载到第一节点120、121,然后第一节点120、121可以利用本地数据分别进行模型训练,然后上传本地模型参数更新((也可以称为第一模型参数更新信息)至中心节点110,中心节点110将接收的来自第一节点120、121的本地模型参数更新进行汇聚得到共享联邦模型参数更新(也可以称为第二模型参数更新),然后下发给第一节点120、121,第一节点120、121分别根据共享联邦模型参数更新来更新本地训练前的AI模型,得到最终的联邦模型。
如图2所示,来自互联网Internet的数据流经过第一节点120、121、分别到达用户A、B,其中第一节点120、121可以分别对流经本地的数据流利用训练好的联邦模型进行SA识别,比如可以识别出数据流所属的应用。例如,一个数据流可能被识别属于不同的应用,比如数据流1识别出可能为应用1,应用2,应用3,应用4,应用5、应用6。应用1的准确度为99%,应用2的准确度为80%,应用3的准确度为78%,应用4的准确度为72%,应用5的准确度为68%,应用6的准确度为40%。一般情况下,经过识别后,该数据流识别为属于应用1。而在输出分类结果时,可以将排名在第二至第五的识别准确度的应用名称和具体准确度也作为分类结果输出。
本场景中,可以在保证数据的隐私保护要求情况下,进行AI模型参数更新实现同步,实现不同节点间归一化训练;还可以实现AI模型的分布式训练,模型训练算力分担在不同节点,避免性能瓶颈;还可以针对节点差异化或者个性化数据进行处理,使得识别能力在不同节点间快速赋能,另外在数据样本较少或缺失情况下,也能通过联邦学习获取其他节点的识别能力。
基于上述内容,在另一种可能的场景中,中心节点110可以部署在NAIE上,第一节点120、121还可以分别部署在边缘计算平台。例如,第一节点120、121可以分别部署在运营商A本地数据中心以及运营商B本地数据中心。本场景中,可以在保证原始数据不出本地的情况下,将各数据中心的识别能力进行汇总综合,提升整体的识别能力。另外,还可以实现训练算力的分担,实现对重点应用、重点时间内的识别能力快速迭代。
基于上述内容,本申请实施例提供了一种模型训练方法,该方法可以由图1或图2中的中心节点110和第一节点120或121执行。如图3所示,该方法包括:
S301,中心节点向至少两个第一节点发送模型训练消息;相应的,所述至少两个第一节点中的第一节点接收模型训练消息;
其中,所述模型训练消息包括人工智能AI模型以及模型训练配置信息,所述AI模型用于识别数据流所属类别。
需要说明的是,图3中仅示出了一个第一节点,此仅为示例性显示,并不对本申请实施例进行限制。
其中,所述中心节点可以部署在云端,例如,可以部署在人工智能引擎上。
其中,第一节点可以部署于云化平台或者边缘计算平台,例如,可以部署于云化多业务引擎(clouded multiple service engine,CloudMSE),又例如可以部署于多接入边缘计算(MEC)等。
在一种可能的实现方式中,中心节点或者第一节点可以采用容器服务来实现,也可以通过一个或者多个虚拟机(virtual machine,VM)来实现,或者由一个或者多个处理器来实现、或者由一个或者多个计算机来实现。
另外,所述模型训练配置信息还包括:训练结果精度阈值;
所述训练结果精度阈值用于指示所述第一节点根据本地数据和所述模型训练配置信息对所述AI模型进行训练的训练结果精度。
在一种可能的实现方式中,AI模型可以采用神经网络模型等。例如,神经网络模型可以是卷积神经网络(convolutional neural network,CNN)模型、循环神经网络模型等。CNN是一种目前已经被广泛使用于图像识别领域的深度学习网络结构,这是一种前馈神经网络,人工神经元可以响应周围单元。作为一种示例,本申请实施例可以采用CNN模型,由于CNN模型的卷积层是多层结构,会对原始数据进行多次卷积计算。CNN模型的数据处理过程较为复杂,并能够提取到更多、更复杂的流量特征,有助于SA识别。另外,CNN模型的泛化能力强,对流量特征在报文中所处的位置并不敏感,不需要对待识别数据流进行前期的特殊处理,因此对不同网络环境的适应性强。后续描述时,以CNN模型为例。
其中,AI模型以CNN模型为例,参见表1,模型训练配置信息可以包括表1中的必选参数,或者可以包括表1中的必选参数和可选参数,或者可以包括必选参数中的部分参数以及可选参数中的部分参数,例如4号参数和5号参数可以选择一个包括在模型训练配置信息中。
表1:
其中,27号参数是训练的时候使用25号参数动态生成的,28号参数是训练的时候使用26号参数动态生成的。
其中,AI模型支持一定数量的协议,不同的协议可以对应不同的应用或者对应于不同类型的应用。AI模型可以根据需要配置可识别类别的范围。例如,可以根据业务需求灵活为AI模型配置需要识别的协议范围,为了描述方便将配置的协议配置信息称为勾选协议。示例性地,勾选协议可以包括如下信息中的一项或者多项:协议的级别、协议的数量、协议的名称、协议的编号等。勾选协议中还可以包括AI实例编号、AI实例名称。其中,协议的级别、协议的名称、协议的编号可以是提前配置完成的,后续可以不再更改。当然,也可以根据需求对协议的级别、协议的名称、协议的编号等进行更改,本申请实施例对此不作限定。参数3对应的勾选协议ID列表是指勾选协议中包括的各个协议的标识ID列表。
示例性的,AI模型以及模型训练配置信息可以配置文件的形式发送给第一节点。例如,该配置文件可以包括如下三个文件:1、.caffemodel文件,代表初始的AI模型;2、.proto文件,包括AI模型相关参数定义信息,例如上表中的内容;3、*netproto.txt文件,包括AI模型相关参数的参数值,例如上表中各个参数的参数值。其中,*netproto.txt文件,与AI模型匹配,可以用于AI模型的加载和校验。
举例而言,所述数据流所属类别可以包括以下内容中的至少一项:所述数据流所属的应用;所述数据流的业务内容所属的类型或协议;或,所述数据流的报文特征规则等。
例如,根据业务需求,一个数据流可以被识别属于的应用,比如,数据流A可以被识别属于微信,数据流B可以被识别属于youtube,数据流C可以被识别属于爱奇艺,等。
又例如,根据业务需求,一个数据流的业务内容可以被识别属于不同的类型,比如,数据流D的业务内容可以被识别属于视频,具体的可以被识别属于微信的视频;数据流E的业务内容可以被识别属于IP电话,数据流F的业务内容可以被识别属于图片,等。
又例如,根据业务需求,一个数据流的业务内容可以被识别属于的协议。不同的协议可以对应不同的应用或者对应于不同类型的应用。比如,数据流G的业务内容可以被识别属于BT(Bit Torrent)协议,数据流H的业务内容可以被识别属于MSN(Microsoft Network,微软网络服务)协议,数据流F的业务内容可以被识别属于SMTP(Simple Mail TransferProtocol,简单邮件传输协议),等。
又例如,根据业务需求,AI模型还可以用于提取出数据流的报文特征规则。比如,针对一个Unknown数据流,可以在识别Unknown数据流的过程中进行报文特征规则提取,即从Unknown数据流中的识别过程提取报文特征规则。本申请实施例中,可以在获得特征规则后,将特征规则更新至SA特征库中。
举例而言,中心节点可以对所述模型训练信息进行压缩后再发送,第一节点可以对接收到的模型训练信息进行解压缩得到AI模型和模型训练配置信息;或者中心节点可以对所述模型训练信息进行加密后再发送,第一节点可以对接收到的模型训练信息进行解密后得到AI模型和模型训练配置信息;或者中心节点可以对所述模型训练信息进行压缩和加密后再发送,第一节点可以对接收到的模型训练信息进行解压缩和解密后得到AI模型和模型训练配置信息。
在一种可能的实现方式中,作为协调方的中心节点可以从多个第一节点中选择至少两个第一节点参与联邦学习,并将模型训练信息发送给所述至少两个第一节点。例如,第一节点可以预先向中心节点进行注册,中心节点从注册的多个第一节点中选择至少两个第一节点参与联邦学习。又例如,中心节点可以随机选择至少两个第一节点或者根据预设规则选择至少两个第一节点,比如中心节点可以根据多个第一节点的数据分布信息,从多个第一节点中选择存储有符合训练需求的业务数据的至少两个第一节点,参与到与AI模型的模型训练过程中。
示例性的,当注册成功后,第一节点还可以定时或者实时向中心节点发送心跳消息;该心跳消息可以包括第一节点的状态信息。
另外,中心节点可以通过训练任务的形式将AI模型以及模型训练配置信息发送给至少两个第一节点。例如,中心节点可以将训练任务信息发送给至少两个第一节点,该训练任务信息包括AI模型以及模型训练配置信息。例如,在将训练任务信息发送给所述至少两个第一节点之前,中心节点可以先向第一节点发送训练任务通知消息,该训练任务通知消息可以包括任务标识ID,然后接收到该训练任务通知消息的第一节点可以向中心节点发送训练任务查询消息,该训练任务查询消息可以包括任务ID,然后中心节点接收到训练任务查询消息后,再将训练任务信息发送给第一节点。
其中,在向至少两个第一节点发送模型训练信息之前,中心节点还可以进行初始化设置,该初始化设置包括:选择参与联邦学习的第一节点;设置汇聚算法;设置模型训练的迭代次数等参数,例如表1中的参数;建立联邦学习实例,并将该实例类型选择为SA,例如将该实例选择为进行AISA流量识别;初始化一个AI模型,例如初始化一个AISA流量识别模型,或者将已经完成预训练的模型参数和权重注入一个AI模型。初始化一个AI模型是指为该AI模型注入初始的模型参数和权重。
S302,所述至少两个第一节点中的第一节点根据本地数据和模型训练配置信息对AI模型进行训练;
示例性的,本地数据可以是第一节点本地通过SA引擎对采集到的数据流进行特征识别,得到数据流的分类结果后,根据数据流的分类结果对数据流进行标签标注得到的数据。
其中,第一节点可以根据接收到的模型训练配置信息先对AI模型进行加载,例如可以根据表1中的参数对AI模型进行加载,比如根据表1中的1、3至4、10至14、16至30号等参数对AI模型进行加载;然后根据本地数据和模型训练配置信息对AI模型进行训练,例如可以根据表1中的3、8、15、31、32号等参数对AI模型进行训练。例如,对所述AI模型进行训练的过程可以包括:将本地数据按照预定大小B(batchsize)划分为K个批次batch;基于K个batch对AI模型训练K次。B的取值为表1中31号参数的参数值。当表1中的参数8训练次数的参数值为1时,上述训练过程执行1次即可,当参数8训练次数的参数值为2时,则上述训练过程需要执行2次,以此类推。
另外,模型训练配置信息还包括:训练结果精度阈值;训练结果精度阈值用于指示第一节点根据本地数据和模型训练配置信息对AI模型进行训练的训练结果精度。例如表1中的15号参数为训练结果参数,该参数中可以包括训练结果精度阈值。当第一节点训练的AI模型的精度达到该训练结果精度阈值时,就可以停止训练,如此中心节点可以预先设置训练结果精度阈值,然后包括在模型训练配置信息中下发给第一节点,实现对第一节点的模型训练进行控制。训练结果精度是指识别成功的样本占识别出的样本的比重,比如,总样本为100,识别出的样本为90,在识别出的样本90中识别成功的样本为80,则精度为80/90。
示例性的,以采用有监督学习方式训练CNN为例,模型训练过程主要包括:训练数据集的收集和标注阶段,训练阶段、以及验证阶段。
训练数据集的收集和标注阶段中,本申请实施例中可以通过SA引擎来获得用于训练CNN模型的训练集,无需人工的参与,不仅可以提高效率,还可以减少人力资源。深度学习训练依赖有标签标注的大数据集,大数据集不仅需要标注标签还需要定期更新,确保能够学习到新的特征。例如,可以基于SA引擎的识别成功的结果,对待训练报文标注标签,形成训练数据集,还可以定期更新数据集。
训练CNN可以采用BP算法,BP可以称为Back Progagation,也称Error BackProgagation,含义为错误反向传播。BP算法基本思路是前向传播和反向传播。前向传播包括输入样本从输入层传入,经各隐含层,逐层处理后,传向输出层。若输出层的实际输出与期望输出不符,则转入误差的反向传播。反向传播包括将输出以某种形式通过逐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单位的误差,此误差作为修正个单元权重的依据。网络学习在权值的修改过程中完成。误差达到所期望值时,网络学习结束。对上述两个环节反复循环迭代,直到网络的对输入的响应达到预定的目标范围为止。
例如,CNN可以包括输入层、隐含层以及输出层。隐含层可以包括多层,本申请对此不作限定。输入的训练样本经输入层输入待训练模型,经过隐含层的逐层处理后,传向输出层。若输出层的实际输出与期望输出不符,则转入误差的反向传播。反向传播即将输出以某种形式通过逐层向输入层逐层反传,并将误差分摊给各层,从而获得各层的误差,此误差作为修正各层权重的依据。训练过程也就是经过多次的权值的修改最后得到CNN模型。误差达到所期望值时,训练过程即结束。
本申请实施例可以采用交叉验证的方式进行模型的训练,训练数据集可以分为两部分,一部分用于训练模型(作为训练样本),另一部分用于验证网络模型的准确程度(验证样本)。当一个CNN模型训练完成后,使用验证样本验证训练的模型是否能够准确地识别数据流,给出识别准确率。当识别准确率达到设定阈值,则可以确定CNN模型可以作为用于后续特征识别的模型。当识别准确率未达到设定阈值,可以继续进行训练,直到识别准确率达到设定阈值。
进一步地,在完成模型训练和验证得到AI模型后,可以根据训练和验证得到的AI模型对Unknown数据流进行特征识别得到分类结果。
示例性的,以采用有监督学习方式训练CNN为例,模型训练过程还可以包括推理识别阶段。例如,在推理识别过程中,输入没有标注标签的数据集(报文)即待识别数据集,给出数据集(报文)的标签分类,即识别结果。示例性的,待识别数据集可以分两部分:一部分是SA引擎已标注识别结果的数据报文,可以用于SA引擎与AI模型之间的功能相互印证,证明AI模型识别的准确度;另一部分是没有被SA引擎标注识别结果的数据报文,可以用于寻找体现SA引擎与AI模型的能力差异的报文。
S303,所述至少两个第一节点中的第一节点确定第一模型参数更新信息;
其中,所述第一模型参数更新信息是根据第一节点的本地数据和模型训练配置信息对AI模型训练后的模型参数更新信息。
举一个例子,第一节点可以将收到的AI模型common model本地备份为old_model,然后进行训练后得到的模型为new_model,计算第一模型参数更新信息grad_n=new_model-old_model。
例如,计算第一模型参数更新信息的过程包括:根据模型结构,将训练后的AI模型的模型参数展开为一维数组Y,将训练前的AI模型的模型参数展开为一维数组X,将Y减去X得到的一维数据Z作为第一模型参数更新。例如,假设数据X为(1,2,3,4,5,6),数组Y为(2,3,4,5,6,7),则数据Z=Y-X,为(1,1,1,1,1,1)。
S304,所述至少两个第一节点中的第一节点发送第一模型参数更新信息;相应的,中心节点接收所述至少两个第一节点的至少两个第一模型参数更新信息;
其中,所述第一模型参数更新信息是根据第一节点的本地数据和所述模型训练配置信息对所述AI模型训练后的模型参数更新信息;
示例性的,所述第一模型参数更新信息是根据所述模型训练配置信息,对训练后的所述AI模型的模型参数校验成功之后发送的。
另外,第一节点可以对第一模型参数更新信息进行压缩后发送给中心节点,中心节点解压缩后得到第一模型参数更新信息;或者第一节点对第一模型参数更新信息进行加密后发送给中心节点,中心节点解密后得到第一模型参数更新信息;或者第一节点对第一模型参数更新信息进行压缩和加密后发送给中心节点,中心节点解压缩以及解密后得到第一模型参数更新信息。
举一个例子,第一模型参数更新信息是根据模型训练配置信息,对训练后的AI模型的模型参数校验成功之后发送的。也就是,第一节点计算得到第一模型参数更新信息之后,需要校验训练后的AI模型和训练前的AI模型的结构是否一致,当结构一致时再将第一模型参数更新信息发送给中心节点,当结构不一致时报错,如此可以保证训练前后的AI模型的结构完全一致,避免影响训练效果。
例如,可以根据模型训练配置信息对训练前后的AI模型的结构是否一致进行校验。比如表1中的3至5、10至13、16至30号参数中的部分或者全部可以作为校验参数,也就是比较训练前后的AI模型的这些参数是否一致,当这些参数完全一致时,确定训练前后的AI模型的结构一致;当这些参数不完全一致时,确定训练前后的AI模型的结构不一致。
另外,第一节点还可以同时向中心节点发送其他参数值,例如训练耗费时间、训练的数据量、训练结果精度、训练结果召回率等。训练结果召回率是指识别出的样本占总样本的比重,例如总样本为100,识别出的样本为90,则召回率为90/100。
其中,第一节点可以任务执行结果的方式将第一模型参数更新信息发送给中心节点。例如,第一节点向中心节点发送训练任务的执行结果信息;该执行结果信息包括:任务ID、任务执行成功、第一模型参数更新信息,或者还可以包括训练耗费时间、训练的数据量、训练结果精度、训练结果召回率等。又例如,当训练失败时,该执行结果信息可以包括:任务ID、任务执行失败,失败原因等。该执行结果信息可以在压缩和/或加密后发送。
S305,中心节点采用预设的汇聚算法对至少两个第一模型参数更新信息进行汇聚得到第二模型参数更新信息;
举例而言,预设的汇聚算法可以是平均算法、加权平均算法、FedAvg(FederatedAveraging)算法、或者随机梯度下降SVRG(stochastic variance reducedgradient)算法等。下面以加权平均算法为例对汇聚计算进行介绍:
假设t时刻中心节点将共享模型参数ωt下发到各第一节点,第一节点的模型更新采用梯度下降:
中心节点模型的更新过程可以采用模型聚合的方式:
另外,也可以采用各第一节点的模型更新量Δωk来聚合模型:
后续中心节点使用ωt+1更新模型,再下发给各第一节点,实现利用联邦学习机制对Local模型的汇聚增强,实现业务目标。
上述公式(1)、公式(2)、公式(3)、公式(4)、公式(5)、公式(6)、公式(7)中,i表示样本编号,i取值为1至n,n表示总样本数量,小写k表示第一节点的编号,K表示第一节点的数量,小写k的取值为1至大写K,nk表示第k节点的样本数量,t表示时刻,t+1表示下一时刻,ω表示模型参数更新,ωt表示在t时刻的模型参数更新,ωt+1表示在t+1时刻的模型参数更新,表示在t+1时刻的第一节点k的模型参数更新,fi(ω)表示样本i对应的模型参数更新,Fk(ω)表示第一节点k的模型参数更新,Fk(ωt)表示第一节点k在t时刻的模型参数更新,f(ω)表示汇聚后的模型参数更新,f(ωt)表示在t时刻的汇聚后的模型参数更新,α表示预设的系数,gk表示
S306,中心节点向所述至少两个第一节点中的第一节点发送第二模型参数更新信息;相应的,所述至少两个第一节点中的第一节点接收第二模型参数更新信息。
其中,所述第二模型参数更新信息是根据所述至少两个第一模型参数更新信息得到的,所述第二模型参数更新信息用于更新第一节点的所述AI模型的模型参数。
示例性的,上述由第一节点执行的方法步骤可以通过部署于云化平台或者边缘计算平台的应用程序APP执行。
在一种可能的实现方式中,所述接收模型训练消息之后,发送第一模型参数更新信息之前,所述方法还包括:通过所述APP的服务端模块接收来自所述第一节点的所述第一模型参数更新信息;所述发送第一模型参数更新信息,包括:通过所述APP的客户端模块发送所述第一模型参数更新信息。
在本申请另一个实施例中,所述第一节点接收第二模型参数更新信息之后,所述方法还可以包括:第一节点获取基于采用所述第二模型参数更新信息更新后的所述AI模型,对数据流进行识别的识别结果和报文特征规则;第一节点根据所述报文特征规则更新业务感知SA特征库。
另外,中心节点可以对第二模型参数更新信息进行压缩后再发送,第一节点解压缩后得到第二模型参数更新信息;或者中心节点可以对第二模型参数更新信息进行加密后再发送,第一节点解密后得到第二模型参数更新信息;或者中心节点可以对第二模型参数更新信息进行压缩和加密后再发送,第一节点进行解压缩和解密后得到第二模型参数更新信息。
S307,所述至少两个第一节点中的第一节点根据第二模型参数更新信息更新本次训练前的AI模型。
例如,假设所述第二模型参数更新信息为一位数组W,W为(4,5,6,7,8,9),训练前的AI模型的模型参数展开为一维数组X为(1,2,3,4,5,6),则计算得到的一位数组V=W+X,应该为(5,6,7,8,9,10),然后按照该数组还原出AI模型的模型参数,根据还原出的模型参数对训练前的AI模型进行更新。
在一种可能的实现方式中,上述步骤S302至S307的过程可以迭代进行,直至满足模型收敛条件,结束联邦学习,得到最终的AI模型。
另外,在上述过程中,第一节点可以定时或者实时向中心节点发送心跳消息,所述心跳消息可以包括训练任务的状态信息,例如接收,运行中,完成,失败等。
还有,联邦学习结束之后,第一节点如果需要下线,可以向中心节点发送去注册请求消息,中心节点去注册所述第一节点,并向所述第一节点发送去注册成功响应消息,所述第一节点下线成功。
在本申请另一个实施例中,在上述内容的基础上,所述方法还可以包括:
S308,第一节点根据本地数据和模型训练配置信息对更新后的AI模型进行训练。
如此,第一节点利用本地数据对联邦学习后的AI模型进行训练,既可以利用联邦学习提高AI模型的识别率,又可以使得训练后的AI模型更加适应于本地数据,进一步提高识别率,满足本地业务需求。
在本申请另一个实施例中,在上述内容的基础上,所述方法还可以包括:
S309,第一节点基于更新后的所述AI模型,对数据流进行识别的识别结果和报文特征规则;
S310,第一节点根据所述报文特征规则更新业务感知SA特征库。
其中,特征规则可以用于实现SA的快速识别,采用SA特征库的方式相比AI模型来说,速率更高,本申请实施例中将获取来的报文特征规则快速补充至SA特征库,将会保证SA具备对满足补充的特征规则的这部分流量的快速识别能力,后续无须再经过AI模型识别。另外,在采用AI模型识别数据流的过程中,进行报文特征规则提取,满足产品自动化运维要求,不再需要人工参与对SA特征库进行升级,提升效率,降低成本。
在本申请另一个实施例中,在上述内容的基础上,所述方法还可以包括:
S311,中心节点向第二节点发送第二模型参数更新信息和AI模型;
其中,第二模型参数更新信息用于更新第二节点的所述AI模型的模型参数。
S312,第二节点根据第二模型参数更新信息更新AI模型。
其中,所述第二节点为没有参与联邦学习的节点。如此,联邦学习得到的联邦模型,可以直接转为非联邦场景使用,即可以将联邦学习得到的AI模型应用于没有参与联邦学习的第二节点,提高第二节点的AI模型的识别率。
例如,如果第二节点有需求,携带这些参数的模型可以直接导出给非联邦节点(即第二节点)使用,非联邦节点通过读取这些参数,可以完全了解AI模型结构,AI模型可自动运行。此处的这些参数可以包括表1中的4至5、14、16至33号参数。
又例如,第二节点也可以直接修改联邦模型后再使用,方便在不同节点使用不同的模型。比如,如果某些节点(即第二节点)使用联邦模型后业务效果不达预期,则可以修改联邦模型的模型参数,也可以将联邦模型下线,通过修改模型参数,运行在非联邦节点上,实现更佳的业务效果。此处修改的模型参数可以包括表1中的4至5、14、16至33号参数。
本申请实施例提供的技术方案,由于第一模型参数更新信息是分别在第一节点利用本地数据和模型训练配置信息训练得到的,因而可以满足数据的隐私保护要求,而且由于第二模型参数更新信息是根据至少两个第一节点的至少两个第一模型参数更新信息得到的,可以使得利用第二模型参数更新信息更新后的AI模型的识别率更高,从而可以尽量提高AI模型的识别率。另外,本申请实施例还可以实现各个节点之间训练算力的分担,避免单个节点的训练时间过长,性能消耗过大等问题。
在本申请另一个实施例中,在上述内容的基础上,如图4所示,在S301之前,该方法还可以包括:
S401,第一节点向中心节点发送注册请求消息;相应的,中心节点接收该注册请求消息;
需要说明的是,参与模型训练的第一节点可以为多个,图3中仅示出了一个第一节点,此仅为示例性显示,并不对本申请实施例进行限制。
示例性的,所述注册请求消息可以包括所述第一节点的名称、标识等,或者还可以包括第一节点本地数据的数据量等信息。
S402,注册成功后,中心节点向第一节点发送注册成功响应消息;相应的,第一节点接收该注册成功响应消息;
其中,当注册失败时,中心节点可以向第一节点发送注册失败响应消息;相应的,第一节点接收该注册失败响应消息。
其中,注册成功后,第一节点还可以持续向中心节点发送心跳消息。
S403,中心节点执行初始化设置;
举例而言,可以由所述中心节点的管理单元执行初始化设置。所述初始化设置可以包括:
1,选择参与本轮联邦学习的第一节点;
在一种可能的实现方式中,可以随机或者按照预设规则从已经注册的多个第一节点中选择参与联邦学习的至少两个第一节点。
2,设置汇聚算法;
3,设置模型训练配置信息;
例如,可以设置模型训练的迭代次数等参数,例如设置表1中的部分或者全部参数;
4,建立联邦学习实例,并将该实例类型选择为SA;
例如,将该实例选择为进行AISA流量识别。
5,初始化一个AI模型。
例如,初始化一个AISA流量识别模型,或者将已经完成预训练的模型参数和权重注入一个AI模型。初始化一个AI模型是指为该AI模型注入初始的模型参数和权重。
S404,中心节点向选择的至少两个第一节点发送训练任务通知消息;相应的所述至少两个第一节点中的第一节点接收训练任务通知消息;
其中,训练任务通知消息可以包括任务ID,用于向第一节点通知训练任务。
S405,所述至少两个第一节点中的第一节点向中心节点发送训练任务查询消息;
其中,训练任务查询消息可以包括任务ID,用于向中心节点查询训练任务。
作为一个示例,S201中,模型训练消息可以携带在训练任务消息中发送给第一节点。例如,中心节点向所述至少两个第一节点发送训练任务信息;相应的所述至少两个第一节点中的第一节点接收训练任务信息;其中,训练任务信息包括初始的AI模型以及模型训练配置信息。AI模型以及模型训练配置信息已经在上一实施例中进行了介绍,在此不再赘述。
另外,中心节点可以将训练任务信息进行压缩和/或加密后发送给第一节点,第一节点接收到信息后进行解压缩和/或解密后得到AI模型以及模型训练配置信息。
还有,在训练过程中,第一节点可以持续向中心节点发送心跳消息,告知中心节点训练任务的状态,例如接收任务,任务运行中,任务完成,任务失败等。
示例性的,S204中,第一模型参数更新信息可以携带在任务执行结果中发送给中心节点。例如,所述至少两个第一节点中的第一节点向中心节点发送任务执行结果;相应的中心节点接收至少两个第一节点发送的至少两个任务执行结果;其中,任务执行结果包括所述第一模型参数更新信息。
还有,任务执行结果还可以包括以下一种或者多种:训练耗费时间、训练的数据量、训练结果精度、或者训练结果召回率等。
其中,第一节点可以先对任务执行结果进行压缩和/或加密后发送给中心节点,中心节点解压缩和/或解密后得到任务执行结果。
在一种可能的实现方式中,还可以进行下一轮训练,即跳转到步骤305再次对更新后的AI模型进行训练,直至模型收敛,联邦学习结束。
本发明实施例提供的技术方案,使用联邦学习机制,将每个本地第一节点本地训练后的模型参数更新在不同节点间传递,使得某第一节点即使因为所需识别的APP流量太少以及识别效果不佳的情况下,也可以通过其他第一节点的识别能力传递,增强本地的识别能力。
另外,当某第一节点需要识别的APP的数量需求大且单靠本地训练无法短时间内完成识别时,通过联邦学习其他第一节点的训练,可以迅速扩充识别能力,提升单节点模型训练效率,实现快速迭代。另外,新的应用APP的识别能力也可以在不同第一节点间快速传递。例如,以A站点和B站点参与联邦学习训练AI模型为例,A站点的识别能力可以传递给B站点,从而使得B站点即使某一APP流量较少(小样本)或没有,也具备与A站点相同的识别能力。
还有,基于联邦学习不同节点间传递的都是模型参数更新,与原数据无任何关系,充分满足了隐私保护的要求。例如,A站点本地数据不出A站点,B站点无需依赖A站点源数据就能实现识别能力提升。
还有,基于联邦学习还可以实现训练算力的分担,实现对重点应用、重点时间内的识别能力快速迭代。例如,B站点可以分担A站点的计算能力,比A站点单独训练性能提升。
在图1的基础上,本申请实施例提供了一种模型训练系统的架构,如图5所示,在中心节点110设置联邦学习服务器FLS1101(Federated Learning Server)和汇聚单元1102,在各个第一节点分别设置联邦学习客户端FLC(Federated Learning Client)和训练单元,例如在第一节点120设置FLC1201和训练单元1202,在第一节点121设置FLC1211和训练单元1212。
其中,FLS1101与各个FLC1201、1211分别通过有线或者无线连接进行信息交互。
如图5所示,汇聚单元1102可以是支持数据汇聚的任意单元,可以与FLS1101合设在中心节点110内,与FLS1101配合一同实现联邦学习。训练单元1201、1212可以是支持AI模型训练的任意单元,可以分别与FLC1201、1211合设在第一节点内,与FLS1101配合一同实现联邦学习。
示例性的,FLS1101和汇聚单元1101可以分别采用不同的容器服务来实现,也可以分别通过一个或者多个虚拟机(virtual machine,VM)来实现,或者分别由一个或者多个处理器来实现、或者分别由一个或者多个计算机来实现。
示例性的,FLC1201、1211和训练单元1201、1212可以分别采用不同的容器服务来实现,也可以分别通过一个或者多个虚拟机(virtual machine,VM)来实现,或者分别由一个或者多个处理器来实现、或分别者由一个或者多个计算机来实现。
作为一个例子,训练单元1201、1212可以是分别部署在第一节点120、121中的应用人工智能的业务感知(artificial intelligence service awareness,AISA),AISA还可以称为人工智能识别功能,也可以命名为其它的名字,本申请实施例中为了描述,以称为AISA为例。
例如,AISA可以用于根据SA特征库针对采集到的数据流进行分类得到分类结果。SA特征库可以位于AISA之内,或者也可以位于AISA之外,通过接口连接。AISA中还可以包括SA引擎。SA引擎用于实现根据SA特征库针对采集到的数据流进行特征识别。AISA可以通过SA引擎对采集到的数据流进行特征识别,得到数据流的分类结果后,根据数据流的分类结果对数据流进行标签标注;然后将具有标签标注的数据流作为AI模型的训练数据集,AISA根据训练数据集来训练AI模型。
又例如,第一节点120、121还可以部署SA识别引擎,例如SA@AI引擎,可以由SA识别引擎作为需要进行SA识别的应用向AISA提出模型训练申请,配置勾选协议,然后由AISA进行数据收集、模型训练、规则提取后,输出识别结果与规则并更新到SA特征库。
示例性的,AI模型可以部署在云化平台,云化平台可以向在云端的中心节点上的联邦学习服务器FLS进行注册,并通过状态消息互相感知状态,AI模型进行数据收集、模型训练后,输出识别结果,云化平台可以将AI模型参与的识别结果等交互数据转发给FLS,FLS接受云化平台上传的模型参数,进行模型汇聚融合,完成后将共享模型下发给云化平台。这样AI模型汇聚融合后实现模型能力增强。
作为一个例子,FLC1201、1211可以负责接收本地节点的数据,并转发给中心节点110,AISA还可以利用FLC1201、1211实现与中心节点FLS1101的状态消息同步,AI模型的模型参数更新导出、上传、下载,训练耗费时间、数据量、识别结果(召回率、精度)等上传与下载,等。在中心节点110,联邦学习服务器FLS1101负责接收FLC1201、1211的数据,检测第一节点120、121状态,实现训练任务的下发,接受各分布式第一节点120、121上传的模型参数跟新,进行模型参数更新汇聚融合,下发汇聚后的模型参数更新,等。
作为另一个例子,还可以在FLC1201、1211中设置服务端模块和客户端模块,在训练单元1201、1212设置客户端模块,在FLS1101设置服务端模块。其中,FLC1201、1211中的服务端模块被配置分别为与训练单元1202、1212中的客户端模块连接,负责FLC1201、1211分别与训练单元1201、1212之间的数据传输。其中,FLC1201、1211中的客户端模块被配置为与FLS1101中的服务端模块连接,负责FLC1201、1211与FLS1101之间的数据传输。
例如图5所示,可以在FLS1101设置服务端模块11011,在FLC1201设置客户端12011和服务端12012,在训练单元1202设置客户端模块12021,在FLC1211设置客户端12111和服务端12112,在训练单元1212设置客户端模块12121。
示例性的,客户端模块12011、12021、12111、12121可以为HTTP/HTTPS客户端Client,服务端模块11011、12012、12112可以为HTTP/HTTPS服务器Server。
在一个例子中,FLC1201、1211可以应用程序APP的方式分别部署在第一节点120、121上。第一节点120、121可以为边缘计算平台或者云化平台的节点,例如,所述FLC1201、1211可以应用程序APP的方式部署在边缘计算平台。又例如,可以将FLC1201、1211作为一个APP在边缘计算平台或者云化平台直接上线,然后由FLC1201、1211代理第一节点120、121与FLS110之间连接。
在另一个例子中,FLC1201、1211可以静态链接库的方式分别部署在第一节点120、121上,例如,可以将所述FLC1201、1211分别集成到部署AISA的虚拟机VM内部,在该VM为所述FLC1201、1211设置与外部连接的接口,还可以通过该虚拟机的登录Portal界面配置所述FLC1201、1211与FLS1101连接的IP地址和参数。该参数是指该FLC1201、1211的名称、标识,向FLS1101注册的用户名和密码等。
基于图5所示的架构,针对图3所示的方法,可以由FLS1101执行中心节点110执行的操作,可以由FLC1201、1211分别执行第一节点120、121执行的操作。
基于图5所示的架构,针对图4所示的方法,可以由FLS1101和汇聚单元1102配合执行中心节点110执行的操作,其中,FLS1101负责数据的接收和发送,汇聚单元1102负责采用预设的汇聚算法对至少两个第一模型参数更新信息进行汇聚得到第二模型参数更新信息。可以由FLC1201、1211分别和训练单元1202、1212执行第一节点120、121执行的操作,其中,训练单元1202、1212负责训练AI模型,其他操作由FLC1201、1211负责。
如下通过具体应用场景对本申请实施例提供的方案达到的效果进行示例性说明。
场景一:小样本节点的联邦学习实验
本场景一中,3个local(即第一节点,以下统一称为local)的样本数分别为总样本数的10%、30%和60%,将总样本集按比例随机分配给各个local。本场景一中各个local的样本数据分布情况如图6所示。由于local1只分配到总数据量的10%,成为小样本节点,通过联邦学习实验以验证小样本节点能否在联邦学习后提升模型的识别能力。
如图7所示,3个local基于本地数据进行训练得到的模型识别准确率分别为76.0%、90.9%和95.6%。当使用全量数据(即总样本集)训练时,得到的模型的识别准确率能够达到97.1%。对3个local进行联邦学习时,模型参数融合策略为每个epoch进行一次参数融合,得到的联邦模型的识别准确率为95.7%。由此可见,由于local1训练样本数量较少,在本地训练得到的模型的识别准确率较低;而由于local3的样本数量较多,在本地训练得到的模型的识别准确率较高。通过联邦学习,各个local得到一个有较高识别的联邦模型,识别准确率相比本地训练都得到了不同幅度的提升。特别是小样本节点local1,通过联邦学习的模型的识别准确率得到大幅提升。
场景二:小样本应用的联邦学习实验
本场景二中,各个local的样本数量相近,但应用的样本数量分布不同,每个local都各有一些应用为小样本应用,但小样本应用在其他local的样本数量足够大。本场景二中各个local的样本数据分布情况如图8所示。通过联邦学习实验以验证各个local的小样本应用能否在联邦学习后具有较好的识别能力。
如图9所示,3个local基于本地数据进行训练得到的模型识别准确率分别为83.6%、81.9%和82.8%。当使用全量数据训练时,得到的模型的识别准确率能够达到97.1%。通过联邦学习之后,得到的联邦模型的识别准确率达到95.6%。由此可见,由于各个local都有一些应用为小样本的,本地训练模型对这些小样本应用的识别准确率不高,但通过联邦学习之后,得到的联邦模型对小样本应用的识别准确率和召回率都得到了明显的提升。例如图10所示为场景二:各个local中小样本应用的召回率及联邦学习后的召回率,各个local中的小样本应用识别的召回率都较低,联邦模型的召回率得到了明显提升,比如应用A在local1本地模型只有46.9%的召回率,但是应用联邦模型(federated)则有95.6%的召回率;比如应用B在local1本地模型只有13.8%的召回率,但是应用联邦模型(federated)则有94.4%的召回率;比如应用C在local2本地模型只有49.7%的召回率,但是应用联邦模型(federated)则有98.5%的召回率;比如应用D在local2本地模型只有42.3%的召回率,但是应用联邦模型(federated)则有97.6%的召回率;比如应用E在local3本地模型只有32.1%的召回率,但是应用联邦模型(federated)则有96.4%的召回率;比如应用F在local3本地模型只有59.1%的召回率,但是应用联邦模型(federated)则有97.3%的召回率。
场景三:扩展识别应用数量的联邦学习实验
本场景三中,各个local的样本数量相近,但应用的样本数量分布不同,一些应用在某一个或某两个local都没有样本。本场景三中各个local的样本数据分布情况如图11所示。通过联邦学习实验以验证各个local能否在联邦学习后具有扩展识别应用数量的能力。
如图12所示,3个local基于本地数据进行训练得到的模型识别准确率分别为87%、87.5%和86.9%,当使用全量数据训练时,得到的模型的识别准确率能够达到98.4%。通过联邦学习之后,得到的联邦模型的识别准确率达97.9%。由此可见,当各local有一些应用没有训练样本时,本地训练模型对这些应用没有识别能力,并且整体的识别准确率较低,通过联邦学习,得到的联邦模型对local无样本的应用有较高的识别准确率和召回率,并且联邦模型的整体识别准确率得到明显提升。例如图13所示场景三:各个local中无样本应用联邦学习后的召回率,当各local有一些应用没有训练样本时,召回率为0,联邦模型的召回率得到了明显提升。比如,APP1在local1召回率为0,应用联邦模型(federated)召回率提升至98.1%。比如,APP2在local2召回率为0,应用联邦模型(federated)召回率提升至97.0%。比如,APP3在local3召回率为0,应用联邦模型(federated)召回率提升至98.5%。比如,APP4在local2和local3召回率都为0,应用联邦模型(federated)召回率提升至96.0%。比如,APP5在local1和local3召回率为0,应用联邦模型(federated)召回率提升至99.3%。比如,APP6在local1和local2召回率为0,应用联邦模型(federated)召回率提升至99.9%。
场景四:基于联邦模型的联邦学习微调实验
在联邦学习完成后得到了一个联邦模型,当某个local产生一些新的应用类别时,可以对模型进行联邦学习的微调或重新初始化后联邦训练两种方法提高识别率,分别实验这两种方法的联邦学习的效果。所述微调就是Federated-finefune,是指将一个预训练模型再进行几轮训练,从而收敛模型,在本场景中是指对联邦模型再进行几轮训练,从而收敛模型。所述重新初始化就是Federated-init,是指对联邦模型进行初始化。
例如图14所示,基于联邦学习的联邦模型,对联邦模型进行微调,即对联邦模型经过500轮联邦训练后,得到的模型的识别准确率为95.7%。而对初始化后的联邦模型进行联邦训练,经过2000轮联邦训练,模型的识别准确率也为95.7%。由此可见,可以基于联邦学习的联邦模型进行微调训练,能够通过较少的联邦训练迭代轮次就达到与模型初始化重新训练相同的模型准确率。
例如图15所示,针对新应用APP_T,基于对联邦模型进行微调后的模型的识别率为99.4%,基于对初始化后的联邦模型进行联邦训练后的模型的识别准确率为99.4%。针对新应用APP_D,基于对联邦模型进行微调后的模型的识别准确率为99.8%,基于对初始化后的联邦模型进行联邦训练后的模型的识别准确率为99.8%。针对新应用APP_Y,基于对联邦模型进行微调后的模型的识别准确率为99.3%,基于对初始化后的联邦模型进行联邦训练后的模型的识别准确率为99.2%.针对新应用APP_M,基于对联邦模型进行微调后的模型的识别准确率为99.7%,基于对初始化后的联邦模型进行联邦训练后的模型的识别准确率为99.5%。由此可见,基于联邦学习的联邦模型进行微调训练的模型,针对新应用的识别率可以达到与模型初始化重新训练后的模型的准确率相同甚至更高。
本申请实施例提供的技术方案可以为基于AI的SA技术在网络中提供一种在缺少训练样本或计算能力不足、同时需要隐私保护情况下,训练得到能够实现高精度高性能识别的AI模型。例如,传统基于AI的SA,均需要大量数据样本进行模型训练,而数据样本的合理采集手段十分有限,如果达不到要求,影响整体性能。本申请实施例提供的可以在缺少训练样本情况下,实现AI模型的识别能力的整体提升。又例如,传统基于AI的流量识别,计算时间普遍较长,容易在单一节点造成的大量性能消耗。本申请实施例可以实现分布式模型训练,避免单一节点性能瓶颈。又例如,网络数据流量隐私保护需求日益增强,本申请实施例可以实现AI技术在网络中的分布式计算,保护原始数据安全,提供安全可信的智能化流量识别服务。
基于上述内容,图16示出了本申请实施例提供的一种模型训练装置的结构。如图16所示,该模型训练装置可以部署于图1或图2中所示的中心节点,或者部署于图5中的FLS。
该模型训练装置包括:第一发送模块1601和接收模块1602。
该第一发送模块1601,用于向至少两个第一节点发送模型训练消息,向所述至少两个第一节点中的第一节点发送第二模型参数更新信息,所述模型训练消息包括人工智能AI模型以及模型训练配置信息,所述AI模型用于识别数据流所属类别,所述第二模型参数更新信息是根据所述至少两个第一模型参数更新信息得到的,所述第二模型参数更新信息用于更新第一节点的所述AI模型的模型参数;
该接收模块1602,用于接收来自所述至少两个第一节点的至少两个第一模型参数更新信息,第一模型参数更新信息是根据所述第一模型参数更新信息对应的第一节点的本地数据和所述模型训练配置信息对所述AI模型训练后的模型参数更新信息。
示例性的,所述数据流所属类别包括以下内容中的至少一项:所述数据流所属的应用;所述数据流的业务内容所属的类型或协议;所述数据流的报文特征规则。
在一种可能的实现方式中,所述装置还包括:第二发送模块1603,用于向第二节点发送所述第二模型参数更新信息和所述AI模型;所述第二模型参数更新信息用于更新所述第二节点的所述AI模型的模型参数。
另外,所述模型训练配置信息还可以包括:训练结果精度阈值;所述训练结果精度阈值用于指示所述第一节点根据本地数据和所述模型训练配置信息对所述AI模型进行训练的训练结果精度。
基于上述内容,图17示出了本申请实施例提供的一种模型训练装置的结构。如图17所示,该模型训练装置可以部署于图1或图2中所示的第一节点,或者部署于图5中的FLC。
该模型训练装置包括:接收模块1701和发送模块1702。
接收模块1701,用于接收模型训练消息,接收第二模型参数更新信息,所述模型训练消息包括AI模型以及模型训练配置信息,所述AI模型用于识别数据流所属类别,所述第二模型参数更新信息是根据至少两个第一节点的至少两个第一模型参数更新信息得到的,所述第二模型参数更新信息用于更新第一节点的所述AI模型的模型参数;
发送模块1702,用于发送第一模型参数更新信息,所述第一模型参数更新信息是根据第一节点的本地数据和所述模型训练配置信息对所述AI模型训练后的模型参数更新信息。
示例性的,所述数据流所属类别包括以下内容中的至少一项:所述数据流所属的应用;所述数据流的业务内容所属的类型或协议;所述数据流的报文特征规则。
示例性的,所述装置还可以包括:训练模块1703,用于确定所述第一节点根据本地数据,对采用所述第二模型参数更新信息更新后的所述AI模型进行训练。
举例而言,所述接收模块和所述发送模块可以为部署于云化平台或者边缘计算平台的应用程序APP的模块。
例如,所述接收模块1701和所述发送模块1702为所述APP的客户端模块;所述APP还包括服务端模块;所述服务端模块,用于向所述第一节点发送所述第一模型参数更新信息。
在一种可能的实现方式中,所述第一模型参数更新信息是根据所述模型训练配置信息,对训练后的所述AI模型的模型参数校验成功之后发送的。
另外,所述模型训练配置信息还包括:训练结果精度阈值;所述训练结果精度阈值用于指示所述第一节点根据本地数据和所述模型训练配置信息对所述AI模型进行训练的训练结果精度。
在一种示例中,所述装置还可以包括:
获取模块1704,用于获取基于采用所述第二模型参数更新信息更新后的所述AI模型,对数据流进行识别的识别结果和报文特征规则;
更新模块1705,用于根据所述报文特征规则更新业务感知SA特征库。
本申请实施例中对模块的划分是示意性的,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
基于上述内容,图18示出了本申请实施例提供的一种模型训练装置的结构。如图18所示,该模型训练装置1800可以部署于图1或图2中所示的中心节点,或者部署于图5中的FLS。或者,该模型训练装置1800可以部署于图1或图2中所示的第一节点,或者部署于图5中的FLC。
该模训练装置1800中可以包括通信接口1810、处理器1820。可选的,模型训练装置1800中还可以包括存储器1830。其中,存储器1830可以设置于模型训练装置内部,还可以设置于模型训练装置外部。上述实施例中所述模型训练装置所实现的功能均可以由处理器1820实现。处理器1820通过通信接口1810接收数据流,并用于实现上述任一实施例所述的模型训练方法。在实现过程中,处理流程的各步骤可以通过处理器1820中的硬件的集成逻辑电路或者软件形式的指令完成上述任一实施例所述的模型训练方法。为了简洁,在此不再赘述。处理器1820用于实现上述任一实施例所述的模型训练方法所执行的程序代码可以存储在存储器1830中。存储器1830和处理器1820耦合。
本申请实施例中涉及的处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例中的耦合是装置、模块或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、模块或模块之间的信息交互。
处理器可能和存储器协同操作。存储器可以是非易失性存储器,比如硬盘(harddisk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
本申请实施例中不限定上述通信接口、处理器以及存储器之间的具体连接介质。比如存储器、处理器以及通信接口之间可以通过总线连接。所述总线可以分为地址总线、数据总线、控制总线等。
基于以上实施例,本申请实施例还提供了一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述任意一个实施例提供的模型训练方法。所述计算机存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任意一个实施例提供的模型训练方法。
基于以上实施例,本申请实施例还提供了一种芯片,该芯片包括处理器,用于实现上述任意一个或多个实施例所提供的模型训练方法的功能。可选地,所述芯片还包括存储器,所述存储器,用于处理器所执行必要的程序指令和数据。该芯片,可以由芯片构成,也可以包含芯片和其他分立器件。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (27)
1.一种模型训练方法,其特征在于,所述方法包括:
向至少两个第一节点发送模型训练消息,所述模型训练消息包括人工智能AI模型以及模型训练配置信息,所述AI模型用于识别数据流所属类别;
接收来自所述至少两个第一节点的至少两个第一模型参数更新信息,第一模型参数更新信息是根据所述第一模型参数更新信息对应的第一节点的本地数据和所述模型训练配置信息对所述AI模型训练后的模型参数更新信息;
向所述至少两个第一节点中的第一节点发送第二模型参数更新信息,所述第二模型参数更新信息是根据所述至少两个第一模型参数更新信息得到的,所述第二模型参数更新信息用于更新第一节点的所述AI模型的模型参数。
2.如权利要求1所述的方法,其特征在于,所述数据流所属类别包括以下内容中的至少一项:
所述数据流所属的应用;所述数据流的业务内容所属的类型或协议;所述数据流的报文特征规则。
3.如权利要求1或2所述的方法,其特征在于,在所述接收来自所述至少两个第一节点的至少两个第一模型参数更新信息之后,还包括:
向第二节点发送所述第二模型参数更新信息和所述AI模型;所述第二模型参数更新信息用于更新所述第二节点的所述AI模型的模型参数。
4.如权利要求1至3中任一项所述的方法,其特征在于,所述模型训练配置信息还包括:训练结果精度阈值;
所述训练结果精度阈值用于指示所述第一节点根据本地数据和所述模型训练配置信息对所述AI模型进行训练的训练结果精度。
5.一种模型训练方法,其特征在于,所述方法包括:
接收模型训练消息,所述模型训练消息包括AI模型以及模型训练配置信息,所述AI模型用于识别数据流所属类别;
发送第一模型参数更新信息,所述第一模型参数更新信息是根据第一节点的本地数据和所述模型训练配置信息对所述AI模型训练后的模型参数更新信息;
接收第二模型参数更新信息,所述第二模型参数更新信息是根据至少两个第一节点的至少两个第一模型参数更新信息得到的,所述第二模型参数更新信息用于更新第一节点的所述AI模型的模型参数。
6.如权利要求5所述的方法,其特征在于,所述数据流所属类别包括以下内容中的至少一项:
所述数据流所属的应用;所述数据流的业务内容所属的类型或协议;所述数据流的报文特征规则。
7.如权利要求5或6所述的方法,其特征在于,所述方法还包括:
确定所述第一节点根据本地数据,对采用所述第二模型参数更新信息更新后的所述AI模型进行训练。
8.如权利要求5至7中任一项所述的方法,其特征在于,所述方法通过部署于云化平台或者边缘计算平台的应用程序APP执行。
9.如权利要求8所述的方法,其特征在于,所述接收模型训练消息之后,发送第一模型参数更新信息之前,所述方法还包括:
通过所述APP的服务端模块接收来自所述第一节点的所述第一模型参数更新信息;
所述发送第一模型参数更新信息,包括:
通过所述APP的客户端模块发送所述第一模型参数更新信息。
10.如权利要求5至9中任一项所述的方法,其特征在于,所述第一模型参数更新信息是根据所述模型训练配置信息,对训练后的所述AI模型的模型参数校验成功之后发送的。
11.如权利要求5至10中任一项所述的方法,其特征在于,所述模型训练配置信息还包括:训练结果精度阈值;
所述训练结果精度阈值用于指示所述第一节点根据本地数据和所述模型训练配置信息对所述AI模型进行训练的训练结果精度。
12.如权利要求5至11中任一项所的方法,其特征在于,所述接收第二模型参数更新信息之后,所述方法还包括:
获取基于采用所述第二模型参数更新信息更新后的所述AI模型,对数据流进行识别的识别结果和报文特征规则;
根据所述报文特征规则更新业务感知SA特征库。
13.一种模型训练装置,其特征在于,所述装置包括:
第一发送模块,用于向至少两个第一节点发送模型训练消息,向所述至少两个第一节点中的第一节点发送第二模型参数更新信息,所述模型训练消息包括人工智能AI模型以及模型训练配置信息,所述AI模型用于识别数据流所属类别,所述第二模型参数更新信息是根据所述至少两个第一模型参数更新信息得到的,所述第二模型参数更新信息用于更新第一节点的所述AI模型的模型参数;
接收模块,用于接收来自所述至少两个第一节点的至少两个第一模型参数更新信息,第一模型参数更新信息是根据所述第一模型参数更新信息对应的第一节点的本地数据和所述模型训练配置信息对所述AI模型训练后的模型参数更新信息。
14.如权利要求13所述的装置,其特征在于,所述数据流所属类别包括以下内容中的至少一项:
所述数据流所属的应用;所述数据流的业务内容所属的类型或协议;所述数据流的报文特征规则。
15.如权利要求13或14所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于向第二节点发送所述第二模型参数更新信息和所述AI模型;所述第二模型参数更新信息用于更新所述第二节点的所述AI模型的模型参数。
16.如权利要求13至15中任一项所述的装置,其特征在于,所述模型训练配置信息还包括:训练结果精度阈值;
所述训练结果精度阈值用于指示所述第一节点根据本地数据和所述模型训练配置信息对所述AI模型进行训练的训练结果精度。
17.一种模型训练装置,其特征在于,所述装置包括:
接收模块,用于接收模型训练消息,接收第二模型参数更新信息,所述模型训练消息包括AI模型以及模型训练配置信息,所述AI模型用于识别数据流所属类别,所述第二模型参数更新信息是根据至少两个第一节点的至少两个第一模型参数更新信息得到的,所述第二模型参数更新信息用于更新第一节点的所述AI模型的模型参数;
发送模块,用于发送第一模型参数更新信息,所述第一模型参数更新信息是根据第一节点的本地数据和所述模型训练配置信息对所述AI模型训练后的模型参数更新信息。
18.如权利要求17所述的装置,其特征在于,所述数据流所属类别包括以下内容中的至少一项:
所述数据流所属的应用;所述数据流的业务内容所属的类型或协议;所述数据流的报文特征规则。
19.如权利要求17或18所述的装置,其特征在于,所述装置还包括:
训练模块,用于确定所述第一节点根据本地数据,对采用所述第二模型参数更新信息更新后的所述AI模型进行训练。
20.如权利要求17至19中任一项所述的装置,其特征在于,所述接收模块和所述发送模块为部署于云化平台或者边缘计算平台的应用程序APP的模块。
21.如权利要求20所述的装置,其特征在于,
所述接收模块和所述发送模块为所述APP的客户端模块;
所述APP还包括服务端模块;
所述服务端模块,用于向所述第一节点发送所述第一模型参数更新信息。
22.如权利要求17至21中任一项所述的装置,其特征在于,所述第一模型参数更新信息是根据所述模型训练配置信息,对训练后的所述AI模型的模型参数校验成功之后发送的。
23.如权利要求17至22中任一项所述的装置,其特征在于,所述模型训练配置信息还包括:训练结果精度阈值;
所述训练结果精度阈值用于指示所述第一节点根据本地数据和所述模型训练配置信息对所述AI模型进行训练的训练结果精度。
24.如权利要求17至23中任一项所的装置,其特征在于,所述装置还包括:
获取模块,用于获取基于采用所述第二模型参数更新信息更新后的所述AI模型,对数据流进行识别的识别结果和报文特征规则;
更新模块,用于根据所述报文特征规则更新业务感知SA特征库。
25.一种模型训练装置,其特征在于,包括处理器以及存储器,其中:
所述存储器,用于存储程序代码;
所述处理器,用于读取并执行所述存储器存储的程序代码,以实现如权利要求1~12中任一项所述的方法。
26.一种模型训练系统,其特征在于,包括如权利要求13至16中任一项所述的装置,以及包括如权利要求17至24中任一项所述的装置。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时,用于实现1至12中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110970462.6A CN115718868A (zh) | 2021-08-23 | 2021-08-23 | 模型训练方法、装置及系统 |
PCT/CN2022/109525 WO2023024844A1 (zh) | 2021-08-23 | 2022-08-01 | 模型训练方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110970462.6A CN115718868A (zh) | 2021-08-23 | 2021-08-23 | 模型训练方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115718868A true CN115718868A (zh) | 2023-02-28 |
Family
ID=85253349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110970462.6A Pending CN115718868A (zh) | 2021-08-23 | 2021-08-23 | 模型训练方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115718868A (zh) |
WO (1) | WO2023024844A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117521115A (zh) * | 2024-01-04 | 2024-02-06 | 广东工业大学 | 一种数据保护方法、装置及计算机存储介质 |
CN117857647A (zh) * | 2023-12-18 | 2024-04-09 | 慧之安信息技术股份有限公司 | 基于mqtt面向工业物联网的联邦学习通信方法和系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116152609B (zh) * | 2023-04-04 | 2023-07-21 | 南京鹤梦信息技术有限公司 | 分布式模型训练方法、系统、装置以及计算机可读介质 |
CN117793764B (zh) * | 2023-12-27 | 2024-07-16 | 广东宜通衡睿科技有限公司 | 5g专网软探针拨测数据完整性校验和补全方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10198635B2 (en) * | 2016-01-19 | 2019-02-05 | Fuji Xerox Co., Ltd. | Systems and methods for associating an image with a business venue by using visually-relevant and business-aware semantics |
CN109189825B (zh) * | 2018-08-10 | 2022-03-15 | 深圳前海微众银行股份有限公司 | 横向数据切分联邦学习建模方法、服务器及介质 |
CN112861894A (zh) * | 2019-11-27 | 2021-05-28 | 华为技术有限公司 | 一种数据流分类方法、装置及系统 |
CN111444848A (zh) * | 2020-03-27 | 2020-07-24 | 广州英码信息科技有限公司 | 一种基于联邦学习的特定场景模型升级方法和系统 |
CN114584581B (zh) * | 2022-01-29 | 2024-01-09 | 华东师范大学 | 面向智慧城市物联网信物融合的联邦学习系统及联邦学习训练方法 |
-
2021
- 2021-08-23 CN CN202110970462.6A patent/CN115718868A/zh active Pending
-
2022
- 2022-08-01 WO PCT/CN2022/109525 patent/WO2023024844A1/zh active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117857647A (zh) * | 2023-12-18 | 2024-04-09 | 慧之安信息技术股份有限公司 | 基于mqtt面向工业物联网的联邦学习通信方法和系统 |
CN117521115A (zh) * | 2024-01-04 | 2024-02-06 | 广东工业大学 | 一种数据保护方法、装置及计算机存储介质 |
CN117521115B (zh) * | 2024-01-04 | 2024-04-23 | 广东工业大学 | 一种数据保护方法、装置及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023024844A1 (zh) | 2023-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115718868A (zh) | 模型训练方法、装置及系统 | |
CN110417558B (zh) | 签名的验证方法和装置、存储介质及电子装置 | |
CN110428056B (zh) | 使用区块链的分散式机器学习的系统和方法 | |
CN112491972A (zh) | 资源获取、分发、下载方法、装置、设备及存储介质 | |
CN109768879B (zh) | 目标业务服务器的确定方法、装置及服务器 | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
KR20220074971A (ko) | 블록체인 기반 데이터 프로세싱 방법, 장치 및 디바이스, 그리고 판독가능 저장 매체 | |
CN111339183A (zh) | 数据处理方法、边缘节点、数据中心及存储介质 | |
CN114296924A (zh) | 一种边缘算力共享方法、服务器及系统 | |
CN115297008B (zh) | 基于智算网络的协同训练方法、装置、终端及存储介质 | |
WO2023091903A1 (en) | Scalable media file transfer | |
CN116157806A (zh) | 支持网络中的人工智能服务的系统和方法 | |
CN115865950A (zh) | 信息中心网络中的存储节点募集 | |
US11030220B2 (en) | Global table management operations for multi-region replicated tables | |
CN115510163A (zh) | 镜像文件的同步方法、装置、存储介质及电子设备 | |
CN112766560B (zh) | 联盟区块链网络优化方法、装置、系统和电子设备 | |
CN113037824A (zh) | 一种面向云计算的高性能区块链架构方法 | |
CN113129002A (zh) | 一种数据处理方法以及设备 | |
US20140280753A1 (en) | Method and apparatus for peer-to-peer file sharing | |
CN103685497A (zh) | 一种在线存储共享方法和系统 | |
CN116050548A (zh) | 一种联邦学习方法、装置及电子设备 | |
CN116095074A (zh) | 资源分配方法、装置、相关设备及存储介质 | |
US12002043B2 (en) | Method for enabling efficient evaluation of transactions in a distributed ledger network | |
CN115842866A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN112055058A (zh) | 数据的存储方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |