CN109918444A - 模型结果的训练/验证/管理方法/***、介质及设备 - Google Patents
模型结果的训练/验证/管理方法/***、介质及设备 Download PDFInfo
- Publication number
- CN109918444A CN109918444A CN201910104386.3A CN201910104386A CN109918444A CN 109918444 A CN109918444 A CN 109918444A CN 201910104386 A CN201910104386 A CN 201910104386A CN 109918444 A CN109918444 A CN 109918444A
- Authority
- CN
- China
- Prior art keywords
- training
- model
- result
- node
- verifying
- 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
- 238000012549 training Methods 0.000 title claims abstract description 212
- 238000007726 management method Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 100
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000005259 measurement Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 60
- 238000012795 verification Methods 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 8
- 235000013399 edible fruits Nutrition 0.000 claims description 6
- 230000003252 repetitive effect Effects 0.000 claims description 5
- 230000005055 memory storage Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 10
- 238000013473 artificial intelligence Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009394 selective breeding Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种模型结果的训练/验证/管理方法/***、介质及设备,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;所述模型结果的训练方法包括:待任务发布节点发布AI训练任务后,对待训练模型进行训练并保存N个中间结果模型;将N个中间结果模型进行哈希运算,以获取N个第一哈希值,并广播N个第一哈希值,以验证所保存的N个不同的中间结果模型是否为通过造假将同一个中间结果模型复制N次给出的;同时保存训练过程中针对N个中间结果模型对应的N个数组长度为M的损失函数。本发明可以用于衡量AI训练有效工作量是否造假,使训练节点和任务发布节点都有衡量的依据。特别是针对去中心化的区块链网络、算力共享网络中的AI训练有效工作量的衡量。
Description
技术领域
本发明属于人工智能技术领域、区块链技术领域,涉及一种练/验证/管理方法/***,特别是涉及一种模型结果的训练/验证/管理方法/***、介质及设备。
背景技术
随着模型算法、数据和硬件算力的高速发展,人工智能(AI)技术得到了广泛的应用。一方面,随着模型变得更加复杂、数据变得更加庞大,人们对于硬件算力的需求也越来越高。另一方面,拥有闲置算力资源的人,希望共享其闲置的算力用于AI训练以获得收益。目前没有一个成熟的、可落地的AI算力共享平台,很大的原因在于算力提供方(也称训练节点)和需求方(也称任务发布节点)之间的互不信任。由于AI训练是一个耗时的过程,最长的训练过程可达几天甚至几个月。一方面,算力提供方(训练节点)可以通过改变训练超参数,使得在相同的训练过程和训练步骤下训练时间大大缩短,也即从中偷懒,使其有效工作量难以被衡量。这种做法对于算力提供方是有利的,其可以通过训练时间造假多获取收益。但是对于算力需求方(任务发布节点)则是不利的,因为其付出了全部费用,但是得到的AI模型训练结果真实性却无法保证。另一方面,训练节点担心自己花费大量时间训练得出的结果被任务发布者恶意不承认,因而白白浪费时间和算力得不到回报。因而供需双方无法达成一致。
目前评价AI模型训练好坏的方法是利用数据验证集对模型推断结果进行评价。但是,该方法存在如下问题:
第一,通过诚实的AI训练后得到的模型,也会由于模型本身参数设置不合理,而得到不好的推断结果。因而该方法无法区分模型自身超参数设置不好和AI训练过程中工作量造假这两种情况;
第二,算力提供方可以通过将数据验证集用于训练,从而在工作量造假的情况下,得到好的推断结果,因此该验证方法反而会将工作量造假的情况判断为诚实的AI训练。
因此,如何提供一种模型结果的训练/验证/管理方法/***、介质及设备,以解决现有技术中任务发布节点担心训练节点所提供的AI模型训练结果真实性无法保证,训练节点担心自己花费大量时间训练得出的结果被任务发布节点恶意不承认,导致供需双方无法达成一致等缺陷,实以成为本领域技术人员亟待解决的技术问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种模型结果的训练/验证/管理方法/***、介质及设备,用于解决现有技术中任务发布节点担心训练节点所提供的AI模型训练结果真实性无法保证,训练节点担心自己花费大量时间训练得出的结果被任务发布节点恶意不承认,导致供需双方无法达成一致的问题。
为实现上述目的及其他相关目的,本发明一方面提供一种模型结果的训练方法,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;所述模型结果的训练方法包括:待任务发布节点发布AI训练任务后,对待训练模型进行训练并保存N个中间结果模型;将N个中间结果模型进行哈希运算,以获取N个第一哈希值,并广播N个第一哈希值,以验证所保存的N个不同的中间结果模型是否为将同一个中间结果模型复制N次给出的;同时保存训练过程中针对N个中间结果模型对应的N个数组长度为M的损失函数。
本发明另一方面提供一种基于所述模型结果的训练方法的模型结果的验证方法,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;其中,所述任务训练网络通过共识机制选出2L+1个所述验证节点;L为正整数;所述模型结果的验证方法包括:从训练节点处随机挑选K个第一哈希值及其对应的K个中间结果模型;再从所述训练节点处获得K个长度为M的第二损失函数;对获得的K个中间结果模型进行哈希运算,得到K个第二哈希值,判断该K个第二哈希值与训练节点公布的K个第一哈希值是否完全一一对应,以验证所述训练节点公布的第一哈希值是否有对应的中间结果模型存在;在通过哈希验证的中间结果模型上继续进行迭代训练,得到K个长度为M的第一损失函数;根据第一损失函数和第二损失函数进行误差评判,以验证训练节点的工作量是否造假。
于本发明的一实施例中,所述对所述第一损失函数和第二损失函数进行误差评判,以验证所述训练者的工作量是否造假的步骤包括:对所述第一损失函数和所述第二损失函数做差,以获取两者的数组差;根据所述数组差,计算用于评判所述训练者的工作量是否造成的衡量指标。
于本发明的一实施例中,在2L+1个所述验证节点给出判断结果以后,所述计帐节点进行统计并最终裁决训练节点是否工作量造假,将结果广播全网所有节点。
于本发明的一实施例中,所述衡量指标采用阿兰方差。
于本发明的一实施例中,所述计算用于评判所述训练者的工作量是否造假的衡量指标的步骤包括:对所述阿兰方差进行一阶拟合,以获取到与所述阿兰方差对应的斜率;判断所述斜率的符号是否大于0,若是,则表示所述训练者的工作量造假;如否,则表示所述训练者的工作量真实。
于本发明的一实施例中,所述验证节点对所述的K个中间结果模型进行工作量是否造假的裁决标准为只有K个中间结果模型均无造假,才给出训练节点无造假。
于本发明的一实施例中,采用用于计算梯度的梯度下降算法、只采用一个样本的随机梯度下降算法,和采用部分样本的小批量梯度下降算法来计算M次迭代的损失函数。
本发明又一方面提供一种基于所述模型结果的验证方法的模型结果的管理方法,其特征在于,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;所述模型结果的管理方法包括:统计2L+1个验证节点的验证结果;将大于L+1个验证节点的验证结果一致的结果进行验证记录,并广播该验证记录给全网所有节点。
本发明再一方面提供一种模型结果的训练***,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;所述模型结果的训练***包括:第一训练模块,用于待任务发布节点发布AI训练任务后,对待训练模型进行训练;存储模块,用于保存N个中间结果模型;同时保存训练过程中针对N个中间结果模型对应的N个数组长度为M的损失函数第一处理模块,用于将N个中间结果模型进行哈希运算,以获取N个第一哈希值,并通过第一广播模块广播N个第一哈希值,以验证所保存的N个不同的中间结果模型是否为将同一个中间结果模型复制N次给出的。
本发明再一方面还提供一种基于所述模型结果的训练***的模型结果的验证***,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;其中,所述任务训练网络通过共识机制的证明选出2L+1个所述验证节点;L为正整数;所述模型结果的验证***包括:挑选模块,用于从训练节点处随机挑选K个第一哈希值及其对应的K个中间结果模型;第二处理模块,用于对获得的K个中间结果模型进行哈希运算,得到K个第二哈希值,判断该第二哈希值与训练节点公布的K个第一哈希值是否完全一一对应,以验证所述训练节点公布的第一哈希值是否有对应的中间结果模型存在;第二训练模块,用于在通过哈希验证的中间结果模型上继续进行迭代训练,得到K个长度为M的第一损失函数;获取模块,用于从所述训练节点处获得K个长度为M的第二损失函数;误差评判模块,用于根据第一损失函数和第二损失函数进行误差评判,以验证训练节点的工作量是否造假。
本发明再一方面又提供一种基于所述模型结果的验证***的模型结果的管理***,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;所述模型结果的管理***包括:统计模块,用于统计2L+1个验证节点的验证结果;记录模块,用于将大于L+1个验证节点的验证结果一致的结果进行验证记录,并通过第二广播模块广播该验证记录给全网所有节点。
本发明再一方面还提供一种介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述模型结果的训练方法,实现基于模型结果的训练方法的模型结果的验证方法和/或实现所述基于模型结果的验证方法的模型结果的管理方法。
本发明最后一方面提供一种设备,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述模型结果的训练方法,执行基于模型结果的训练方法的模型结果的验证方法和/或执行基于模型结果的验证方法的模型结果的管理方法。
如上所述,本发明所述的模型结果的训练/验证/管理方法/***、介质及设备,具有以下有益效果:
第一、本发明可以用于衡量AI训练有效工作量是否造假,使得算力共享平台中训练节点和任务发布节点都有衡量的依据,使得算力共享平台可以真正落地实施;
第二、本发明中验证过程不用再从头到尾计算,而只需要完成k/N(k可以远小于N)的计算验证,节约了算力。使得我们提出的验证AI训练有效工作量的方法适用于与现实世界中,算力提供者(训练者)和任务发布者中间无信用中介存在的情况。;
第三、本发明自动完成了AI训练有效工作量是否造假的自动化裁决,节约了大量的工作量;
第四、本发明利用阿兰方差来判断随机涨落,从而作为一个客观的判断依据。消除了人为选取判断阈值的主观性。
附图说明
图1显示为本发明的应用场景示意图。
图2显示为本发明的模型结果的训练方法于一实施例中的流程示意图。
图3A显示为本发明的基于模型结果的训练方法的模型结果的验证方法于一实施例中的流程示意图。
图3B显示为本发明的模型结果的验证方法中S34的流程示意图。
图4显示为本发明的基于模型结果的的验证方法的模型结果的管理方法于一实施例中的流程示意图。
图5A显示为本发明的模型结果的训练***于一实施例中的原理结构示意图。
图5B显示为本发明的基于模型结果的训练***的模型结果的验证***于一实施例中的原理结构示意图。
图5C显示为本发明的基于模型结果的验证***的模型结果的管理***于一实施例中的原理结构示意图。
元件标号说明
1 任务训练网络
11 任务发布节点
12 训练节点
13 验证节点
14 记账节点
51 模型结果的训练***
511 第一训练模块
512 存储模块
513 第一处理模块
514 第一广播模块
52 基于上述模型结果的训练***的模型结果的验证***
521 挑选模块
522 第二处理模块
523 第二训练模块
524 获取模块
525 误差评判模块
53 基于模型结果的验证***的模型结果的管理***
531 统计模块
532 记录模块
533 第二广播模块
S21~S24 步骤
S231~S232 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
实施例一
本实施例提供一种模型结果的训练方法,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;所述模型结果的训练方法包括:
待任务发布节点发布AI训练任务后,对待训练模型进行训练并保存N个中间结果模型;
将N个中间结果模型进行哈希运算,以获取N个第一哈希值,并广播N个第一哈希值,后续可供验证节点验证所保存的N个不同的中间结果模型是否为将同一个中间结果模型复制N次给出的;同时保存训练过程中针对N个中间结果模型对应的N个数组长度为M的损失函数。
以下将结合图示对本实施例所述模型结果的训练方法进行详细描述。本实施例所述训练模型结果的验证方法应用于图1所示任务训练网络1。如图1中,所述任务训练网络1包括任务发布节点11、训练节点12、验证节点13及记账节点14。其中,在执行所述模型结果的训练方法之前,训练任务发布节点发布训练任务。所述训练节点执行所述训练任务,以形成N个中间结果模型。在所述训练节点执行完所述训练任务,发布N个中间结果模型的哈希值后,任务训练网络1通过共识机制(在本实施例中,所述共识机制包括基于工作量的证明(POW)、基于权益的证明(POS)、基于认证的证明(POA)等等)产生2L+1个所述验证节点13,L为正整数。所述验证节点13获取K个中间结果模型并进行哈希验证和工作量是否造假验证。
请参阅图2,显示为模型结果的训练方法于一实施例中的流程示意图。如图2所示,所述模型结果的训练方法具体包括以下几个步骤:
S21,待任务发布节点发布AI训练任务后,对待训练模型进行训练并保存N个中间结果模型。
具体地,在训练阶段,所述训练节点将AI训练的中间过程记录下来,保存成N(N为正整数)个中间结果模型的检查点(所述中间结果模型在本实施例中亦称为监测点(checkpoint)),第i(i为小于N的正整数)个checkpoint对应于从开始到第i阶段训练后的中间结果模型。与只将整个AI训练的最终过程保存成一个checkpoint的方案相比,存在一个好处,即验证阶段只需要随机挑选一个或几个checkpoint,并进行验证比较,因而验证阶段只消耗更少的算力。
S22,将N个中间结果模型进行哈希运算,以获取N个第一哈希值,并广播N个第一哈希值,以验证所保存的N个不同的中间结果模型是否为将同一个中间结果模型复制N次给出的;同时保存训练过程中针对N个中间结果模型对应的N个数组长度为M的损失函数,以达到节约存储空间和网络传输带宽技术效果。同时通过比对哈希值可以验证所保存的N个不同的中间结果模型是否有真实的中间结果模型存在,而不是将少数几个模型复制成N个给出。在本实施例中,所述哈希值为一串由简单的16进制表示的字符串。N个第一哈希值字符串应该各不相同,而且中间结果模型和哈希字符串一一对应。如果第一哈希值所对应的中间结果模型都是真实存在的,那么选中随机一个第一哈希值,对其所对应的中间结果模型再进行哈希运算,则两次哈希运算应该得到相同的哈希字符串。由于中间结果模型占据很大的存储空间和传输空间,通过只广播哈希字符串的方法,既可以节约带宽和存储空间,又可以验证N个中间结果模型的真实存在。
在训练阶段的同时,所述训练节点保存其训练过程中所有迭代(epoch或者iteration)次数的损失函数(loss)数值。若共迭代M次,则所述损失函数为长度为M的一维数组。
请参阅图3A,显示为基于模型结果的训练方法的模型结果的验证方法于一实施例中的流程示意图。如图3A所示,所述模型结果的验证方法具体包括以下步骤:
S31,从所述训练节点处获取训练模型的N个哈希值,并从中随机挑选K第一哈希值,及其对应的K个中间结果模型(对应于从N个checkpoint中随机挑选K个checkpoint),K为大于1,小于N的正整数;M为大于1的正整数。)
在AI训练过程中,每一个算法都会有一个目标函数。算法的求解过程,也即AI训练过程,是通过对目标函数的优化过程实现的。所述整体损失函数用于评价中间结果模型的预测值与真实值的不同程度。一般可以将整体损失函数作为其目标函数,损失函数越小,模型的性能就越好。
S32,对获得的K个中间结果模型进行哈希运算,得到K个第二哈希值,判断该K个第二哈希值与训练节点公布的K个第一哈希值是否完全一一对应,以验证所述训练节点公布的第一哈希值是否有对应的中间结果模型存在,即所述第二哈希值与第一哈希值完全一致,则验证所述训练节点公布的第一哈希值存在有对应的中间结果模型。由于K个中间结果模型是随机挑选的,当这K个第一哈希值和第二哈希值一一对应的话,则从概率上保证了所述训练节点公布的N个第一哈希值都有对应的真实中间结果模型存在。
S33,在通过哈希验证的中间结果模型上继续进行迭代训练,得到K个长度为M的第一损失函数;同时从所述训练节点处再从所述训练节点处获得K个长度为M的第二损失函数,K为大于1,小于N的正整数;M为大于1的正整数。
在本实施例中,第一损失函数(loss1)和第二损失函数(loss2)皆为K个长度为M的一维数组。
在本实施例中,采用用于计算梯度的梯度下降算法、只采用一个样本的随机梯度下降算法,和采用部分样本的小批量梯度下降算法来计算M次迭代的整体损失函数。为了内存效率和内存容量之间寻找最佳平衡,在深度学习中一般采用小批量梯度下降算法,正确的选择批次的大小,可以使梯度下降方向准确度增加,损失函数沿着这个比较确定的方向优化。
S34,根据第一损失函数和第二损失函数进行误差评判,以验证训练节点的工作量是否造假。
请参阅图3B,显示为S34的流程示意图。如图3B所示,所述S34具体包括以下步骤:
S341,对所述第一损失函数和所述第二损失函数做差,以获取两者的数组差。
如果在参数不变的情况下,重复整个AI训练,会得到两次AI训练得到的损失函数其变化基本一致。将两次得到的损失函数做差,得到数值在0附近随机涨落的一列数组。如果两次AI训练使用的参数不一致,则这两次AI训练的梯度下降方向不一致,因而两次AI训练得到的损失函数会有较大的差别,做差以后,会得到一列非随机的数组。因此,通过判断两次损失函数做差的结果的随机性可以推断出两次AI训练使用的参数是否一致,进而推断有效工作量是否造假。比如,如果AI训练者通过改变训练参数,使训练加快,从而在训练时间上造假,使得有效工作量不足。为了节省算力,验证节点不需要从头到尾计算,只需要重复一小部分的计算,比如1/100或者更少比例的AI训练。此时比较的是相同训练时段内对应的损失函数之差是否随机涨落。
当两次AI训练的损失函数之差组成的数组是在0附近涨落的随机系列,则对应于两次AI训练所采用的模型参数一致,也即双方都不存在训练有效工作量造假。
S342,根据所述数组差,计算用于评判所述训练者的工作量是否造成的衡量指标。为了自动化验证一个一维数组是否由0附近涨落的随机系列组成,于本实施例提出了利用阿兰(Allan)方差这个指标来衡量。阿兰方差能够比较容易对各种误差项的统计特性进行细致的表征和辨识。每个误差项在Allan方差曲线上对应不同的斜率。它反映了相邻两个采样段内平均数值的差的起伏。
阿兰方差的基本原理如下:设***采样周期为t,连续采样N个数据点Y(i)(其中i=1,2,3,…,N)。将该N个数据点再平均分为长度为M的采样时间段(其中M=1,2,3,…,N/2),求Y(i)在每个采样时间段M内的平均值YM(j)(其中j=1,2,3,…,N/M)。例如:
1)当M=1时,Y1(1)=Y(1),Y1(2)=Y(2),…,Y1(N)=Y(N);
2)当M=2时,Y2(1)=1/2*<Y(1)+Y(2)>,Y2(2)=1/2*<Y(3)+Y(4)>/2,…,Y(N/2)=1/2*<Y(N-1)+Y(N)>;
3)当M=3时,Y3(1)=1/3<Y(1)+Y(2)+Y(3)>,Y3(2)=1/3<Y(4)+Y(5)+Y(6)>,…,Y3(N/3)=1/3<Y(N-2)+Y(N-1)+Y(N)>;
依次类推,
M)当M=N/2时:
此时,共得到M个YM数组,对于每个YM数组,可得到一个数值σ,求得:
其中m=1,2,3,…,M。
具体地,所述S342包括:
对所述阿兰方差进行一阶拟合,以获取到与所述阿兰方差对应的斜率。在本实施例中,由数组σ(m)构成Allan方差曲线。通过一阶拟合求得Allan方差曲线的斜率。
判断所述斜率的符号是否大于0,若是,则表示所述训练者的工作量造假;如否,则表示所述训练者的工作量真实。在本实施例中,当斜率小于等于0时,说明σ(m)数组是由随机涨落的数值构成。当斜率大于0时,说明σ(m)数组存在非随机因素,也即对应于两次AI训练参数不一致,进而推断出AI训练有效工作量造假。
本实施例还提供一种基于上述模型结果的验证方法的模型结果的管理方法,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;请参阅图4,显示为模型结果的管理方法于一实施例中的流程示意图。如图4所示,所述模型结果的管理方法包括:
S41,统计2L+1个验证节点的验证结果;
S42,将大于L+1个验证节点的验证结果一致的结果进行验证记录;
S43,广播该验证记录给全网所有节点。
本实施例还提供一种介质(亦称为计算机可读存储介质),其上存储有计算机程序,该计算机程序被处理器执行时实现上述模型结果的训练方法,实现基于模型结果的训练方法的模型结果的验证方法和/或实现基于模型结果的验证方法的模型结果的管理方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例所述训练模型结果的验证方法具有以下有益效果:
第一、本实施例所述训练模型结果的验证方法可以用于衡量AI训练有效工作量是否造假,使得算力共享平台中训练者和任务发布者都有衡量的依据,使得算力共享平台可以真正落地实施;
第二、本实施例所述模型结果的验证方法训练不用从头到尾计算,而只需要完成k/N(k可以远小于N)的计算,节约了算力。使得我们提出的验证AI训练有效工作量的方法与现实世界中,算力提供者(训练者)占大多数(比如90%以上),而可信第三方比例非常低(1-10%)的场景与相符合;
第三、本实施例所述模型结果的验证方法自动完成了AI训练有效工作量是否造假的自动化裁决,节约了大量的工作量;
第四、本实施例所述模型结果的验证方法利用阿兰方差来判断随机涨落,从而作为一个客观的判断依据。消除了人为选取判断阈值的主观性。
实施例二
本实施例提供一种模型结果的训练***,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中。请参阅图5A,显示为模型结果的训练***于一实施例中的原理结构示意图。如图5A所示,所述模型结果的训练***51包括:第一训练模块511、存储模块512、第一处理模块513及第一广播模块514。
所述第一训练模块511用于待任务发布节点发布AI训练任务后,对待训练模型进行训练;
所述存储模块512用于保存N个中间结果模型;同时保存训练过程中针对N个中间结果模型对应的N个数组长度为M的损失函数。
与所述第一训练模块511和存储模块512耦合的第一处理模块513用于将N个中间结果模型进行哈希运算,以获取N个第一哈希值,并通过第一广播模块514广播N个第一哈希值,以验证所保存的N个不同的中间结果模型是否为将同一个中间结果模型复制N次给出的。
基于模型结果的训练***的模型结果的验证***应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;其中,所述任务训练网络通过共识机制(在本实施例中,所述共识机制包括基于工作量的证明(POW)、基于权益的证明(POS)、基于认证的证明(POA)等等)选出2L+1个所述验证节点;L为大于1的正整数;请参阅图5B,显示为基于模型结果的训练***的模型结果的验证***于一实施例中的原理结构示意图。如图5B所示,所述基于上述模型结果的训练***的模型结果的验证***52包括:挑选模块521、第二处理模块522、第二训练模块523、获取模块524及误差评判模块525。
所述挑选模块521用于从训练节点处随机挑选K个中间结果模型及其对应的K个第一哈希值。
与所述挑选模块521耦合的第二处理模块522用于对获得的K个中间结果模型进行哈希运算,得到K个第二哈希值,判断该第二哈希值与训练节点公布的K个第一哈希值是否完全一一对应,以验证所述训练节点公布的第一哈希值是否有对应的中间结果模型存在。
与所述挑选模块521和第二处理模块522耦合的第二训练模块523用于在通过哈希验证的中间结果模型上进行训练,得到K个长度为M的第一损失函数。
所述获取模块524用于从所述训练节点处获得K个长度为M的第二损失函数。
与第二训练模块523和获取模块524耦合的误差评判模块525用于根据第一损失函数和第二损失函数进行误差评判,以验证训练节点的工作量是否造假。
本实施例还提供一种基于上述模型结果的验证***的模型结果的管理***,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中。请参阅图5C,显示为基于模型结果的验证***的模型结果的管理***于一实施例中的原理结构示意图。如图5C所示,所述模型结果的管理***53包括:统计模块531、记录模块532及第二广播模块533。
所述统计模块531用于统计2L+1个验证节点的验证结果;
与所述统计模块531耦合的所述记录模块532用于将大于L+1个验证节点的验证结果一致的结果进行验证记录,并通过第二广播模块533广播该验证记录给全网所有节点。
需要说明的是,应理解以上***的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如:x模块可以为单独设立的处理元件,也可以集成在上述***的某一个芯片中实现。此外,x模块也可以以程序代码的形式存储于上述***的存储器中,由上述***的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),一个或多个微处理器(Digital Singnal Processor,简称DSP),一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。这些模块可以集成在一起,以片上***(System-on-a-chip,简称SOC)的形式实现。
实施例三
本实施例提供一种设备,包括:处理器、存储器、收发器、通信接口或/和***总线;存储器和通信接口通过***总线与处理器和收发器连接并完成相互间的通信,存储器用于存储计算机程序,通信接口用于和其他设备进行通信,处理器和收发器用于运行计算机程序,使电子设备执行如实施例一所述模型结果的训练方法,执行基于模型结果的训练方法的模型结果的验证方法和/或执行如所述基于模型结果的验证方法的模型结果的管理方法的各个步骤。
上述提到的***总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该***总线可以分为地址总线、数据总线、控制总线等。通信接口用于实现数据库访问装置与其他设备(如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上所述,本发明提供的训练模型结果的验证方法/***、存储介质及电子设备具有以下有益效果:
第一、本发明可以用于衡量AI训练有效工作量是否造假,使得算力共享平台中训练者和任务发布者都有衡量的依据,使得算力共享平台可以真正落地实施;
第二、本发明中验证过程不用再从头到尾计算,而只需要完成k/N(k可以远小于N)的计算验证,节约了算力。使得我们提出的验证AI训练有效工作量的方法适用于现实世界中,算力提供者(训练者)和任务发布者中间无信用中介存在的情况。
第三、本发明自动完成了AI训练有效工作量是否造假的自动化裁决,节约了大量的工作量;
第四、本发明利用阿兰方差来判断随机涨落,从而作为一个客观的判断依据。消除了人为选取判断阈值的主观性。本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (13)
1.一种模型结果的训练方法,其特征在于,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;所述模型结果的训练方法包括:
待任务发布节点发布AI训练任务后,对待训练模型进行训练并保存N个中间结果模型;
将N个中间结果模型进行哈希运算,以获取N个第一哈希值,并广播N个第一哈希值,以验证所保存的N个不同的中间结果模型是否为将同一个中间结果模型复制N次给出的;同时保存训练过程中针对N个中间结果模型对应的N个数组长度为M的损失函数。
2.一种基于权1所述模型结果的训练方法的模型结果的验证方法,其特征在于,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;其中,所述任务训练网络通过共识机制选出2L+1个所述验证节点;L为正整数;所述模型结果的验证方法包括:
从训练节点处随机挑选K个第一哈希值及其对应的K个中间结果模型;再从所述训练节点处获得其对应的K个长度为M的第二损失函数;
对获得的K个中间结果模型进行哈希运算,得到K个第二哈希值,判断该K个第二哈希值与训练节点公布的K个第一哈希值是否完全一一对应,以验证所述训练节点公布的第一哈希值是否有对应的中间结果模型存在;
在通过哈希验证的中间结果模型上继续进行迭代训练,得到K个长度为M的第一损失函数;
根据第一损失函数和第二损失函数进行误差评判,以验证训练节点的工作量是否造假。
3.根据权利要求2所述的模型结果的验证方法,其特征在于,
所述对所述第一损失函数和第二损失函数进行误差评判,以验证所述训练者的工作量是否造假的步骤包括:对所述第一损失函数和所述第二损失函数做差,以获取两者的数组差;根据所述数组差,计算用于评判所述训练者的工作量是否造成的衡量指标。
于本发明的一实施例中,在2L+1个所述验证节点给出判断结果以后,所述计帐节点进行统计并最终裁决训练节点是否工作量造假,将结果广播全网所有节点。
4.根据权利要求3所述的模型结果的验证方法,其特征在于,所述衡量指标采用阿兰方差。
5.根据权利要求4所述的模型结果的验证方法,其特征在于,所述计算用于评判所述训练者的工作量是否造假的衡量指标的步骤包括:对所述阿兰方差进行一阶拟合,以获取到与所述阿兰方差对应的斜率;判断所述斜率的符号是否大于0,若是,则表示所述训练者的工作量造假;如否,则表示所述训练者的工作量真实。
6.根据权利要求3所述的模型结果的验证方法,其特征在于,所述验证节点对所述的K个中间结果模型进行工作量是否造假的裁决标准为只有K个中间结果模型均无造假,才给出训练节点无造假。
7.根据权利要求3所述的模型结果的验证方法,其特征在于,采用用于计算梯度的梯度下降算法、只采用一个样本的随机梯度下降算法,和采用部分样本的小批量梯度下降算法来计算M次迭代的损失函数。
8.一种基于权2至权7任一项所述模型结果的验证方法的模型结果的管理方法,其特征在于,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;所述模型结果的管理方法包括:
统计2L+1个验证节点的验证结果;
将大于L+1个验证节点的验证结果一致的结果进行验证记录,并广播该验证记录给全网所有节点。
9.一种模型结果的训练***,其特征在于,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;所述模型结果的训练***包括:
第一训练模块,用于待任务发布节点发布AI训练任务后,对待训练模型进行训练;
存储模块,用于保存N个中间结果模型;同时保存训练过程中针对N个中间结果模型对应的N个数组长度为M的损失函数
第一处理模块,用于将N个中间结果模型进行哈希运算,以获取N个第一哈希值,并通过第一广播模块广播N个第一哈希值,以验证所保存的N个不同的中间结果模型是否为将同一个中间结果模型复制N次给出的。
10.一种基于权9所述模型结果的训练***的模型结果的验证***,其特征在于,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;其中,所述任务训练网络通过共识机制选出2L+1个所述验证节点;L为正整数;所述模型结果的验证***包括:
挑选模块,用于从训练节点处随机挑选K个第一哈希值并获得其对应的K个中间结果模型;
第二处理模块,用于对获得的K个中间结果模型进行哈希运算,得到K个第二哈希值,判断该第二哈希值与训练节点公布的K个第一哈希值是否完全一一对应,以验证所述训练节点公布的第一哈希值是否有对应的中间结果模型存在;
第二训练模块,用于在通过哈希验证的中间结果模型上继续进行迭代训练,得到K个长度为M的第一损失函数;
获取模块,用于从所述训练节点处获得K个长度为M的第二损失函数。
误差评判模块,用于根据第一损失函数和第二损失函数进行误差评判,以验证训练节点的工作量是否造假。
11.一种基于权10所述模型结果的验证***的模型结果的管理***的,其特征在于,应用于包括任务发布节点、训练节点、验证节点及记账节点的任务训练网络中;所述模型结果的管理***包括:
统计模块,用于统计2L+1个验证节点的验证结果;
记录模块,用于将大于L+1个验证节点的验证结果一致的结果进行验证记录,并通过第二广播模块广播该验证记录给全网所有节点。
12.一种介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1所述模型结果的训练方法,实现权利要求2至7中任一项基于模型结果的训练方法的模型结果的验证方法和/或实现权利要求8所述基于模型结果的验证方法的模型结果的管理方法。
13.一种设备,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求1所述模型结果的训练方法,执行如权利要求2至7中任一项基于模型结果的训练方法的模型结果的验证方法和/或执行如权利要求8所述基于模型结果的验证方法的模型结果的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910104386.3A CN109918444A (zh) | 2019-02-01 | 2019-02-01 | 模型结果的训练/验证/管理方法/***、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910104386.3A CN109918444A (zh) | 2019-02-01 | 2019-02-01 | 模型结果的训练/验证/管理方法/***、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109918444A true CN109918444A (zh) | 2019-06-21 |
Family
ID=66961373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910104386.3A Pending CN109918444A (zh) | 2019-02-01 | 2019-02-01 | 模型结果的训练/验证/管理方法/***、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109918444A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110879827A (zh) * | 2019-10-23 | 2020-03-13 | 联想(北京)有限公司 | 一种基于区块链网络的信息处理方法及设备 |
CN111429280A (zh) * | 2020-03-25 | 2020-07-17 | 南京三眼精灵信息技术有限公司 | 一种跨域模型多方交易可信、账本化的方法 |
CN111858756A (zh) * | 2020-06-30 | 2020-10-30 | 全链通有限公司 | 基于区块链的ai训练任务的处理方法、节点及介质 |
CN113239635A (zh) * | 2021-06-16 | 2021-08-10 | 中国银行股份有限公司 | 一种模型评价方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392125A (zh) * | 2017-07-11 | 2017-11-24 | 中国科学院上海高等研究院 | 智能模型的训练方法/***、计算机可读存储介质及终端 |
CN108288271A (zh) * | 2018-02-06 | 2018-07-17 | 上海交通大学 | 基于三维残差网络的图像检测***及方法 |
CN109214404A (zh) * | 2017-07-07 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 基于隐私保护的训练样本生成方法和装置 |
US11288575B2 (en) * | 2017-05-18 | 2022-03-29 | Microsoft Technology Licensing, Llc | Asynchronous neural network training |
-
2019
- 2019-02-01 CN CN201910104386.3A patent/CN109918444A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11288575B2 (en) * | 2017-05-18 | 2022-03-29 | Microsoft Technology Licensing, Llc | Asynchronous neural network training |
CN109214404A (zh) * | 2017-07-07 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 基于隐私保护的训练样本生成方法和装置 |
CN107392125A (zh) * | 2017-07-11 | 2017-11-24 | 中国科学院上海高等研究院 | 智能模型的训练方法/***、计算机可读存储介质及终端 |
CN108288271A (zh) * | 2018-02-06 | 2018-07-17 | 上海交通大学 | 基于三维残差网络的图像检测***及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110879827A (zh) * | 2019-10-23 | 2020-03-13 | 联想(北京)有限公司 | 一种基于区块链网络的信息处理方法及设备 |
CN110879827B (zh) * | 2019-10-23 | 2023-07-25 | 联想(北京)有限公司 | 一种基于区块链网络的信息处理方法及设备 |
CN111429280A (zh) * | 2020-03-25 | 2020-07-17 | 南京三眼精灵信息技术有限公司 | 一种跨域模型多方交易可信、账本化的方法 |
CN111858756A (zh) * | 2020-06-30 | 2020-10-30 | 全链通有限公司 | 基于区块链的ai训练任务的处理方法、节点及介质 |
CN113239635A (zh) * | 2021-06-16 | 2021-08-10 | 中国银行股份有限公司 | 一种模型评价方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109918444A (zh) | 模型结果的训练/验证/管理方法/***、介质及设备 | |
CN109948669A (zh) | 一种异常数据检测方法及装置 | |
CN109670940A (zh) | 基于机器学习的信用风险评估模型生成方法及相关设备 | |
CN111028016A (zh) | 销量数据预测方法、装置以及相关设备 | |
CN105354595A (zh) | 一种鲁棒视觉图像分类方法及*** | |
CN110110529B (zh) | 一种基于复杂网络的软件网络关键节点挖掘方法 | |
CN111709756A (zh) | 一种可疑社团的识别方法、装置、存储介质和计算机设备 | |
CN108830443A (zh) | 一种合同审阅方法及装置 | |
CN110333991B (zh) | 云平台任务最大资源使用率预测方法 | |
CN112054943A (zh) | 一种移动网络基站流量预测方法 | |
CN103577876A (zh) | 基于前馈神经网络的可信与不可信用户识别方法 | |
CN110705045A (zh) | 一种利用网络拓扑特性构建加权网络的链路预测方法 | |
CN109685321A (zh) | 基于数据挖掘的事件风险预警方法、电子设备及介质 | |
CN112734161A (zh) | 精准识别空壳企业的方法、设备和存储介质 | |
CN110457576A (zh) | 账户分类方法、装置、计算机设备和存储介质 | |
CN105868906A (zh) | 一种优化的区域发展成熟度分析方法 | |
CN110445939A (zh) | 容量资源的预测方法及装置 | |
CN110134907A (zh) | 一种降雨缺失数据填补方法、***及电子设备 | |
CN116012131A (zh) | 一种用于评估用户信贷风险的方法、***、装置以及介质 | |
CN117170848A (zh) | 一种资源调度方法及装置 | |
Huang et al. | Temporal analysis of transaction ego networks with different labels on ethereum | |
CN110060163A (zh) | 基于以太坊的播客链的交易方法、***、介质及装置 | |
CN110059749A (zh) | 重要特征的筛选方法、装置及电子设备 | |
CN206039610U (zh) | 一种配网电力工程验收*** | |
CN108805603A (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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240419 |