基于区块链的分布式模型训练方法和装置、电子设备制造方法及图纸

技术编号:32731269 阅读:11 留言:0更新日期:2022-03-20 08:37
本申请提供了一种基于区块链的分布式模型训练方法和装置、电子设备及计算机可读存储介质,涉及计算机技术领域。该方法包括确定与模型训练任务对应的任务相关内容和初始模型结构;将任务相关内容和初始模型结构发送给所有参与模型训练的边缘节点;当所有边缘节点都参与过聚合后,根据区块链上保存的聚合后的本地模型参数计算出参与聚合次数最多的边缘节点,由参与聚合次数最多的边缘节点广播其上的本地模型参数给参与模型训练的其它边缘节点。本申请实施例通过参与模型训练的边缘节点采用分布式的方式代替集中式方式训练模型参数,使本地数据不离开本地的基础上训练模型,保证了数据的安全性。了数据的安全性。了数据的安全性。

【技术实现步骤摘要】
基于区块链的分布式模型训练方法和装置、电子设备


[0001]本申请涉及计算机
,尤其涉及一种基于区块链的分布式模型训练方法和装置、电子设备及计算机可读存储介质。

技术介绍

[0002]在边缘计算场景下,边缘服务器部署在数据源头附近,为无法完成大型训练与计算的本地设备提供计算与模型训练服务。边缘计算的应用程序是在数据源头边缘侧发起的,相比于云计算减少了数据在网络上转移的过程,那么所产生的网络服务也会更快,在一些行业中的实时业务、应用智能、安全与隐私保护等方面应用都很不错。但是,现阶段边缘计算还是存在隐私争议,虽然数据能够在近端计算,但是依然离开了本地设备,同时边缘计算场景下也存在安全隐患,数据在传输过程中也可能被篡改。机器学习与人工智能的提出使得很多任务能够通过模型的训练完成,比如说图像识别、语音识别等。但是模型训练需要大量的数据,这些数据又存储在用户的本地设备中,用户为了保护自身隐私不愿意分享数据,但是没有数据又无法完成模型训练为用户提供更好更方便的服务。因此,亟需解决这一技术问题。

技术实现思路

[0003]鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的基于区块链的分布式模型训练方法和装置、电子设备及计算机可读存储介质。所述技术方案如下:
[0004]第一方面,提供了一种基于区块链的分布式模型训练方法,应用于训练任务发布方,包括:
[0005]确定与模型训练任务对应的任务相关内容和初始模型结构;
[0006]将所述任务相关内容和所述初始模型结构发送给所有参与模型训练的边缘节点;其中,各个边缘节点各自基于本地训练数据和所述任务相关内容对所述初始模型结构中的初始参数进行训练得到训练后的本地模型参数,进而在边缘节点之间进行数据交互时,在传输的数据包中携带本地模型参数,本地模型参数每经过一个边缘节点进行聚合处理,得到聚合后的本地模型参数,将聚合后的本地模型参数保存到区块链;
[0007]当所有边缘节点都参与过聚合后,根据区块链上保存的聚合后的本地模型参数计算出参与聚合次数最多的边缘节点,由所述参与聚合次数最多的边缘节点广播其上的本地模型参数给参与模型训练的其它边缘节点,从而所述其它边缘节点各自将自身的本地模型参数更新为所述参与聚合次数最多的边缘节点广播的本地模型参数。
[0008]在一种可能的实现方式中,所述其它边缘节点各自将自身的本地模型参数更新为所述参与聚合次数最多的边缘节点广播的本地模型参数之后,所述方法还包括:
[0009]接收所有参与模型训练的边缘节点各自基于本地模型参数对当前模型结构进行评估的评估结果;
[0010]根据所述评估结果分析当前模型结构是否达到任务条件;
[0011]若是,则将当前模型结构部署到各个边缘节点投入使用;
[0012]若否,则将本地模型参数作为初始参数,并由各个边缘节点各自基于本地训练数据和所述任务相关内容对当前模型结构进行训练,训练完成后再次依靠边缘节点之间的信息交互进行聚合。
[0013]第二方面,提供了一种基于区块链的分布式模型训练方法,应用于参与模型训练的边缘节点,包括:
[0014]接收训练任务发布方发送的与模型训练任务对应的任务相关内容和初始模型结构;
[0015]基于本地训练数据和所述任务相关内容对所述初始模型结构中的初始参数进行训练得到训练后的本地模型参数;
[0016]在边缘节点之间进行数据交互时,在传输的数据包中携带本地模型参数,本地模型参数每经过一个边缘节点进行聚合处理,得到聚合后的本地模型参数,将聚合后的本地模型参数保存到区块链;
[0017]接收训练任务发布方发起的由参与聚合次数最多的边缘节点广播其上的本地模型参数给参与模型训练的其它边缘节点的指令;
[0018]根据所述指令由参与聚合次数最多的边缘节点广播其上的本地模型参数给参与模型训练的其它边缘节点,且所述其它边缘节点各自将自身的本地模型参数更新为所述参与聚合次数最多的边缘节点广播的本地模型参数。
[0019]在一种可能的实现方式中,在边缘节点之间进行数据交互时,在传输的数据包中携带本地模型参数,本地模型参数每经过一个边缘节点进行聚合处理,得到聚合后的本地模型参数,包括:
[0020]在边缘节点之间进行数据交互,不妨称为源节点与目的节点之间进行数据交互,且中间经过一个或多个中继节点;
[0021]在传输的数据包中不仅携带数据交互需要的交互信息数据,还携带源节点训练得到的本地模型参数;
[0022]每当数据包经过一个中继节点,该中继节点会收下该数据包中的本地模型参数,并且将该本地模型参数与该中继节点的本地模型参数计算每个维度的平均值进行聚合处理,得到聚合后的本地模型参数;进而将聚合后的本地模型参数替换数据包中的本地模型参数以及该中继节点的本地模型参数;随后将数据包传输到下一个中继节点,在下一个中继节点中执行上述聚合过程。
[0023]在一种可能的实现方式中,所述其它边缘节点各自将自身的本地模型参数更新为所述参与聚合次数最多的边缘节点广播的本地模型参数之后,所述方法还包括:
[0024]所有参与模型训练的边缘节点各自基于本地模型参数对当前模型结构进行评估,将评估结果发送给训练任务发布方;其中,训练任务发布方根据所述评估结果分析当前模型结构是否达到任务条件;若是,则将当前模型结构部署到各个边缘节点投入使用;若否,则将本地模型参数作为初始参数,并由各个边缘节点各自基于本地训练数据和所述任务相关内容对当前模型结构进行训练,训练完成后再次依靠边缘节点之间的信息交互进行聚合;
[0025]接收训练任务发布方发送的训练指令,各个边缘节点各自基于本地训练数据和所述任务相关内容对当前模型结构进行训练,训练完成后再次依靠边缘节点之间的信息交互进行聚合。
[0026]第三方面,提供了一种基于区块链的分布式模型训练装置,应用于训练任务发布方,包括:
[0027]确定模块,用于确定与模型训练任务对应的任务相关内容和初始模型结构;
[0028]发送模块,用于将所述任务相关内容和所述初始模型结构发送给所有参与模型训练的边缘节点;其中,各个边缘节点各自基于本地训练数据和所述任务相关内容对所述初始模型结构中的初始参数进行训练得到训练后的本地模型参数,进而在边缘节点之间进行数据交互时,在传输的数据包中携带本地模型参数,本地模型参数每经过一个边缘节点进行聚合处理,得到聚合后的本地模型参数,将聚合后的本地模型参数保存到区块链;
[0029]计算模块,用于当所有边缘节点都参与过聚合后,根据区块链上保存的聚合后的本地模型参数计算出参与聚合次数最多的边缘节点,由所述参与聚合次数最多的边缘节点广播其上的本地模型参数给参与模型训练的其它边缘节点,从而所述其它边缘节点各自将自身的本地模型参数更新为所述参与聚合次数最多的边缘节点广播的本地模型参数。
[0030]在一种可能的实现方式中,所述装置还包括:
[0031]评估模块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的分布式模型训练方法,应用于训练任务发布方,其特征在于,包括:确定与模型训练任务对应的任务相关内容和初始模型结构;将所述任务相关内容和所述初始模型结构发送给所有参与模型训练的边缘节点;其中,各个边缘节点各自基于本地训练数据和所述任务相关内容对所述初始模型结构中的初始参数进行训练得到训练后的本地模型参数,进而在边缘节点之间进行数据交互时,在传输的数据包中携带本地模型参数,本地模型参数每经过一个边缘节点进行聚合处理,得到聚合后的本地模型参数,将聚合后的本地模型参数保存到区块链;当所有边缘节点都参与过聚合后,根据区块链上保存的聚合后的本地模型参数计算出参与聚合次数最多的边缘节点,由所述参与聚合次数最多的边缘节点广播其上的本地模型参数给参与模型训练的其它边缘节点,从而所述其它边缘节点各自将自身的本地模型参数更新为所述参与聚合次数最多的边缘节点广播的本地模型参数。2.根据权利要求1所述的基于区块链的分布式模型训练方法,其特征在于,所述其它边缘节点各自将自身的本地模型参数更新为所述参与聚合次数最多的边缘节点广播的本地模型参数之后,所述方法还包括:接收所有参与模型训练的边缘节点各自基于本地模型参数对当前模型结构进行评估的评估结果;根据所述评估结果分析当前模型结构是否达到任务条件;若是,则将当前模型结构部署到各个边缘节点投入使用;若否,则将本地模型参数作为初始参数,并由各个边缘节点各自基于本地训练数据和所述任务相关内容对当前模型结构进行训练,训练完成后再次依靠边缘节点之间的信息交互进行聚合。3.一种基于区块链的分布式模型训练方法,应用于参与模型训练的边缘节点,其特征在于,包括:接收训练任务发布方发送的与模型训练任务对应的任务相关内容和初始模型结构;基于本地训练数据和所述任务相关内容对所述初始模型结构中的初始参数进行训练得到训练后的本地模型参数;在边缘节点之间进行数据交互时,在传输的数据包中携带本地模型参数,本地模型参数每经过一个边缘节点进行聚合处理,得到聚合后的本地模型参数,将聚合后的本地模型参数保存到区块链;接收训练任务发布方发起的由参与聚合次数最多的边缘节点广播其上的本地模型参数给参与模型训练的其它边缘节点的指令;根据所述指令由参与聚合次数最多的边缘节点广播其上的本地模型参数给参与模型训练的其它边缘节点,且所述其它边缘节点各自将自身的本地模型参数更新为所述参与聚合次数最多的边缘节点广播的本地模型参数。4.根据权利要求3所述的基于区块链的分布式模型训练方法,其特征在于,在边缘节点之间进行数据交互时,在传输的数据包中携带本地模型参数,本地模型参数每经过一个边缘节点进行聚合处理,得到聚合后的本地模型参数,包括:在边缘节点之间进行数据交互,不妨称为源节点与目的节点之间进行数据交互,且中
间经过一个或多个中继节点;在传输的数据包中不仅携带数据交互需要的交互信息数据,还携带源节点训练得到的本地模型参数;每当数据包经过一个中继节点,该中继节点会收下该数据包中的本地模型参数,并且将该本地模型参数与该中继节点的本地模型参数计算每个维度的平均值进行聚合处理,得到聚合后的本地模型参数;进而将聚合后的本地模型参数替换数据包中的本地模型参数以及该中继节点的本地模型参数;随后将数据包传输到下一个中继节点,在下一个中继节点中执行上述聚合过程。5.根据权利要求3所述的基于区块链的分布式模型训练方法,其特征在于,所述其它边缘节点各自将自身的本地模型参数更新为所述参与聚合次数最多的边缘节点广播的本地模型参数之后,所述方法还包括:所有参与模型训练的边缘节点各自基于本地模型参数对当前模型结构...

【专利技术属性】
技术研发人员:胡卓杰尹艳迪张旭阳
申请(专利权)人:海南火链科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1