CN114548255A - 一种模型的训练方法、装置及设备 - Google Patents
一种模型的训练方法、装置及设备 Download PDFInfo
- Publication number
- CN114548255A CN114548255A CN202210148159.2A CN202210148159A CN114548255A CN 114548255 A CN114548255 A CN 114548255A CN 202210148159 A CN202210148159 A CN 202210148159A CN 114548255 A CN114548255 A CN 114548255A
- Authority
- CN
- China
- Prior art keywords
- model
- sub
- information corresponding
- target
- updating information
- 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 338
- 238000000034 method Methods 0.000 title claims abstract description 133
- 238000012545 processing Methods 0.000 claims abstract description 81
- 230000002776 aggregation Effects 0.000 claims abstract description 26
- 238000004220 aggregation Methods 0.000 claims abstract description 26
- 230000006870 function Effects 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 39
- 238000003860 storage Methods 0.000 claims description 33
- 230000004931 aggregating effect Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 19
- 230000002265 prevention Effects 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 238000013475 authorization Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本说明书实施例公开了一种模型的训练方法、装置及设备,该方法应用于终端设备,该终端设备包括可信执行环境,包括:接收服务器发送的针对目标业务的待训练的目标模型,然后,将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息。
Description
技术领域
本文件涉及计算机技术领域,尤其涉及一种模型的训练方法、装置及设备。
背景技术
数据是风险防控等很多应用中最重要的生产资料,随着终端设备中的应用程序获取数据的隐私政策趋严,应用程序进行数据采集都必须满足“最小够用”和“用户授权”的原则。在风险防控应用中,其目的是通过分析黑产的行为,提炼黑产存在的风险特征,从而进行实时风险防控。而黑产数据的授权意愿很低,因此对风险防控的影响会很大。为此,需要提供一种通过业务数据(尤其是其中包含用户没有授权的数据)能够更准确、更安全的进行模型训练的技术方案。
发明内容
本说明书实施例的目的是提供一种通过业务数据(尤其是其中包含用户没有授权的数据)能够更准确、更安全的进行模型训练的技术方案。
为了实现上述技术方案,本说明书实施例是这样实现的:
本说明书实施例提供的一种模型的训练方法,应用于终端设备,所述终端设备包括可信执行环境,所述方法包括:接收服务器发送的针对目标业务的待训练的目标模型。将所述目标模型进行拆分处理,得到能够在所述可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述可信执行环境中。通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息发送给所述服务器,以触发所述服务器对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供的一种模型的训练方法,应用于服务器,所述方法包括:获取用于训练目标业务的目标模型的终端设备的设备信息,基于获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中。在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供的一种模型的训练方法,应用于服务器,所述方法包括:获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型。基于获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中。在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供的一种模型的训练方法,应用于区块链系统,所述方法包括:获取目标业务的目标模型的模型训练规则信息,采用所述模型训练规则信息生成相应的第一智能合约,并将所述第一智能合约部署到所述区块链系统中。基于所述第一智能合约获取用于训练目标业务的目标模型的终端设备的设备信息。基于所述第一智能合约和获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。基于所述第一智能合约,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述区块链系统中的区块链节点的第二可信执行环境中。基于所述第一智能合约,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供的一种模型的训练方法,应用于区块链系统,所述方法包括:获取目标业务的目标模型的模型训练规则信息,采用所述模型训练规则信息生成相应的第二智能合约,并将所述第二智能合约部署到所述区块链系统中。基于所述第二智能合约获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型。基于所述第二智能合约和获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。基于所述第二智能合约,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中。基于所述第二智能合约,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供的一种模型的训练装置,所述装置包括可信执行环境,所述装置包括:模型接收模块,接收服务器发送的针对目标业务的待训练的目标模型。模型拆分模块,将所述目标模型进行拆分处理,得到能够在所述可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述可信执行环境中。训练模块,通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。更新模块,将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息发送给所述服务器,以触发所述服务器对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供的一种模型的训练装置,所述装置包括:信息获取模块,获取用于训练目标业务的目标模型的终端设备的设备信息。模型发送模块,基于获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。更新信息获取模块,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述装置的第二可信执行环境中。模型更新模块,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供的一种模型的训练装置,所述装置包括:模型拆分模块,获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型。模型发送模块,基于获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。更新信息获取模块,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述装置的第二可信执行环境中。模型更新模块,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供的一种模型的训练设备,所述设备包括可信执行环境,所述模型的训练设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:包括可信执行环境,所述方法包括:接收服务器发送的针对目标业务的待训练的目标模型。将所述目标模型进行拆分处理,得到能够在所述可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述可信执行环境中。通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息发送给所述服务器,以触发所述服务器对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供的一种模型的训练设备,所述模型的训练设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取用于训练目标业务的目标模型的终端设备的设备信息。基于获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述设备的第二可信执行环境中。在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供的一种模型的训练设备,所述模型的训练设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型。基于获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述设备的第二可信执行环境中。在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例还提供了一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被处理器执行时实现以下流程:接收服务器发送的针对目标业务的待训练的目标模型。将所述目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述可信执行环境中。通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息发送给所述服务器,以触发所述服务器对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例还提供了一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被处理器执行时实现以下流程:获取用于训练目标业务的目标模型的终端设备的设备信息。基于获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中。在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例还提供了一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被处理器执行时实现以下流程:获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型。基于获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中。在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一种模型的训练方法实施例;
图2为本说明书一种模型的训练系统的结构示意图;
图3为一种REE与TEE的结构示意图;
图4为本说明书另一种模型的训练方法实施例;
图5为本说明书又一种模型的训练方法实施例;
图6为本说明书又一种模型的训练方法实施例;
图7为本说明书又一种模型的训练方法实施例;
图8为本说明书又一种模型的训练方法实施例;
图9A为本说明书又一种模型的训练方法实施例;
图9B为本说明书一种模型的训练过程示意图;
图10A为本说明书又一种模型的训练方法实施例;
图10B为本说明书另一种模型的训练过程示意图;
图11为本说明书一种模型的训练装置实施例;
图12为本说明书另一种模型的训练装置实施例;
图13为本说明书又一种模型的训练装置实施例;
图14为本说明书又一种模型的训练装置实施例;
图15为本说明书又一种模型的训练装置实施例;
图16为本说明书一种模型的训练设备实施例。
具体实施方式
本说明书实施例提供一种模型的训练方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例一
如图1所示,本说明书实施例提供一种模型的训练方法,该方法的执行主体可以为终端设备,其中,该终端设备可以如笔记本电脑或台式电脑等计算机设备,或者,可以为IoT设备等。该终端设备中可以设置有可信执行环境,该可信执行环境可以是TEE(TrustedExecution Environment),该可信执行环境可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),也可以通过硬件设备和预先编写的程序共同实现(即可以是以硬件+软件的形式实现)等,该可信执行环境可以为进行数据处理的安全运行环境。该方法具体可以包括以下步骤:
在步骤S102中,接收服务器发送的针对目标业务的待训练的目标模型。
其中,服务器可以是任意服务器,本实施例中,该服务器可以是目标业务的后台服务器。目标业务可以是任意业务,具体如风险防控业务、生物识别业务或信息推荐业务等,具体可以根据实际情况设定,本说明书实施例对此不做限定。目标模型可以是针对目标业务的相关模型,可以基于不同的目标业务构建不同的目标模型,例如,如果目标业务为信息推荐业务,则目标模型可以是用于进行信息推荐的模型,如果目标业务为金融体系中的风险防控业务,则目标模型可以是用于对该金融体系进行风险防控的模型,如果目标业务的商品交易业务,则目标模型可以是用于对某商品的销量进行预测的模型等。目标模型可以包括多种,不同的目标模型可以通过不同的方式构建,例如,可以通过分类算法构建用于进行信息推荐的模型,或者,可以通过卷积神经网络算法构建用于对金融体系进行风险防控的模型等。
在实施中,数据是风险防控等很多应用中最重要的生产资料,随着终端设备中的应用程序获取数据的隐私政策趋严,应用程序进行数据采集都必须满足“最小够用”和“用户授权”的原则。在风险防控应用中,其目的是通过分析黑产的行为,提炼黑产存在的风险特征,从而进行实时风险防控。而黑产数据的授权意愿很低,因此对风险防控的影响会很大。因此,设计了一种基于TEE的端云模型训练方案,其目的是,对于用户没有授权的信息,应用程序依然不能进行数据的采集,而是将联邦学习与终端设备的可信执行环境进行结合,从而得到相应的信息。在模型训练的过程中,模型可以部署在可信执行环境中,整个过程中应用程序只获取最终的输出结果,保证计算过程和计算结果的安全性,具体可以包括以下内容:
如图2所示,本实施例的模型训练方式可以是针对联邦学习,服务器中可以基于预先设定的算法构建针对目标业务的模型(即目标模型),目标模型中可以包括模型架构和模型参数,模型参数可以根据目标模型的不同而不同,模型参数可以包括如某权重、系数或某向量等,模型参数可以是待确定的参数。当需要执行联邦学习处理时,服务器可以对目标模型进行初始化处理,从而为目标模型中的模型参数赋初始值,得到初始化的目标模型,可以将初始化的目标模型确定为待训练的目标模型。然后,服务器可以根据实际情况制定进行联邦学习的计划或任务,可以基于制定的计划或任务,确定进行联邦学习的终端设备的相关信息,之后,可以基于制定的计划或任务,以及确定的终端设备的相关信息,将初始化的目标模型下发到上述终端设备中,从而各个终端设备可以接收服务器发送的针对目标业务的待训练的目标模型。
例如,需要通过联邦学习的方式训练用于对目标业务(如金融业务等)进行风险防控的目标模型,本实施例中的目标模型可以称为风险防控模型,服务器可以对风险防控模型进行初始化处理,得到初始化的风险防控模型,然后,可以根据实际情况制定进行联邦学习的计划或任务,并确定进行联邦学习的终端设备的相关信息。可以基于制定的计划或任务,以及确定的终端设备的相关信息,将初始化的风险防控模型下发到上述终端设备中,从而各个终端设备可以接收服务器发送的针对目标业务的待训练的风险防控模型。
在步骤S104中,将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中。
其中,可信执行环境可以是安全并与其它环境相隔离的数据处理环境,即在可信执行环境中执行的处理,以及数据处理的过程中产生的数据等无法被可执行环境外的其它执行环境或应用程序所访问。如图3所示,可信执行环境可以通过创建一个可以在可信区域(如TrustZone等)中独立运行的小型操作系统实现,可信执行环境可以以系统调用(如由TrustZone内核直接处理)的方式直接提供的服务。设备中可以包括REE(通用执行环境)和可信执行环境,REE下可以运行终端设备安装的操作系统,如Android操作系统、iOS操作系统、Windows操作系统、Linux操作系统等,REE的特点可包括如功能强大,开放性和扩展性较好等,可以为上层应用程序提供该设备的所有功能,比如摄像功能,触控功能等,但是,REE中存在很多安全隐患,例如,操作系统可以获得某应用程序的所有数据,但很难验证该操作系统或该应用程序是否被篡改,如果被篡改,则用户的信息将存在很大的安全隐患,针对于此,就需要设备中的可信执行环境进行处理。可信执行环境具有其自身的执行空间,也即是在可信执行环境下也存在一个操作系统,可信执行环境比REE的安全级别更高,可信执行环境所能访问的该设备中的软件和硬件资源是与REE分离的,但可信执行环境可以直接获取REE的信息,而REE不能获取可信执行环境的信息。可信执行环境可以通过提供的接口来进行验证等处理,从而保证用户信息(如支付信息、用户隐私信息等)不会被篡改、密码不会被劫持、指纹或面部等信息不会被盗用。
在实施中,可以将整个目标模型设置于可信执行环境中进行模型训练,但是,上述模型训练方式会使得目标模型的训练效率较低,为了提高目标模型的训练效率,可以将目标模型进行拆分,可以将拆分出的一部分设置于可信执行环境中,另一部分可以不需要设置于可信执行环境中(例如,另一部分可以设置于通用执行环境REE中)。目标模型的拆分方式可以包括多种,例如,可以对目标模型进行随机拆分,得到第一子模型和第二子模型,可以从上述两个子模型中选择一个子模型作为能够在可信执行环境中运行的子模型,例如,选择的子模型为第一子模型,则可以将第一子模型设置于可信执行环境中。
除了可以通过上述方式拆分目标模型,还可以通过其它多种方式拆分目标模型,例如,不同业务的目标模型可以分为公共部分和私有部分,私有部分为企业或组织的目标模型中的需要保护的模型结构或相关数据所在的子模型。基于此,对于任意目标业务,可以为目标业务设置对该目标业务的业务数据进行处理的目标模型,并可以根据目标业务的要求或根据实际情况,将该目标模型进行分割,从而得到分割出的多个不同的部分。在实际应用中,也可以根据目标业务的要求或根据实际情况,预先设定目标业务对应的模型保护规则,该模型保护规则中可以记载有目标模型中需要保护的模型参数和模型架构等信息,因此,也可以基于上述模型保护规则对该目标模型进行拆分,从而拆分出多个不同的部分。其中拆分出的各部分子模型经过拼接可以得到该目标模型,此外,在目标模型中,排列在前的子模型的输出数据可以作为拆分出的该子模型之后的一个子模型的输入数据。本实施例中,可以将目标模型分割为两个部分,其中的一个部分可以是公共部分,另一个部分可以是私有部分,即目标模型可以被拆分为第一子模型和第二子模型,在实际应用中,还可以将目标模型分割为两个以上的部分,例如,可以将目标模型拆分为部分1、部分2和部分3,然后,可以根据实际情况对上述多个部分进行分类,确定可以作为公共部分的部分和可以作为私有部分的部分,例如,上述的部分1可以作为公共部分,上述的部分2和部分3可以作为私有部分等。可以将能够作为公共部分的部分作为第二子模型,可以将能够作为私有部分的部分作为第一子模型。对于第一子模型,可以将第一子模型设置于可信执行环境中。考虑到终端设备中往往会设置有可信执行环境,而可信执行环境作为终端设备中的安全隔离环境,可以与终端设备中的其它环境相隔离,从而保证可信执行环境中数据的安全,基于此,可以将需要保护模型架构和相关数据的子模型设置于可信执行环境运行,即可以对目标模型中的第一子模型进行分析,基于得到的分析结果,可以将第一子模型设置于可信执行环境中运行,从而实现将第一子模型设置于可信执行环境中,并能够在可信执行环境中运行的目的。对于第一子模型,可以将其设置于业务处理设备的通用执行环境中,或者,也可以是将其设置于预先设定或指定的环境参数的执行环境中,或者,也可以将其设置于可信执行环境中,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S106中,通过目标业务的业务数据对可信执行环境中的第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息。
其中,模型更新信息可以包括多种,例如子模型对应的梯度信息、子模型的模型参数等能够促进服务器中的目标模型进行更新的参数信息,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在实施中,可以通过终端设备获取目标业务的业务数据,该业务数据可以是终端设备从当前时刻开始,直到之后的预定时长内获取的针对目标业务的业务数据,或者,也可以是终端设备以当前时刻为最终时间点,获取之前的预定时长内的针对目标业务的业务数据等。此外,业务数据的获取可以是通过终端设备中的指定应用程序获取,例如可以通过终端设备中的可信应用获取业务数据,或者,也可以通过目标业务对应的应用程序获取业务数据等,具体可以根据实际情况设定,本说明书实施例对此不做限定。终端设备获取到业务数据后,可以通过业务数据对目标模型进行模型训练,具体可以通过下述方式实现:如果业务数据中包括用户的隐私数据和/或终端设备的敏感信息,则可以通过终端设备中的可信应用获取目标业务的业务数据,并可以将该业务数据传输至可信执行环境中,在可信执行环境中,可以对第一子模型进行训练,得到训练后的第一子模型,可以获取训练后的第一子模型相对于训练前的第一子模型的模型更新信息。然后,可以将第一子模型的输出结果作为第二子模型的输入数据,并通过该输入数据对第二子模型进行模型训练,得到训练后的第二子模型,获取训练后的第二子模型的模型更新信息。或者,可信应用还可以将业务数据先输入至第二子模型,以对第二子模型进行模型训练,得到训练后的第二子模型,可以将第二子模型的输出结果作为第一子模型的输入数据,可以将该输入数据传输至可信执行环境中,以对第一子模型进行模型训练,得到训练后的第一子模型,可以分别获取第一子模型对应的模型更新信息和第二子模型对应的模型更新信息。
此外,如果业务数据中不包括用户的隐私数据和/或终端设备的敏感信息,还可以由目标业务对应的应用程序(非可信应用)获取业务数据,可以对第二子模型进行模型训练,得到训练后的第二子模型。可以将第二子模型的输出结果作为第一子模型的输入数据,可以将该输入数据传输至可信执行环境中,以对第一子模型进行模型训练,得到训练后的第一子模型。或者,可以将该业务数据传输至可信执行环境中,在可信执行环境中,可以对第一子模型进行训练,得到训练后的第一子模型,可以获取训练后的第一子模型相对于训练前的第一子模型的模型更新信息,然后,可以将第一子模型的输出结果作为第二子模型的输入数据,并通过该输入数据对第二子模型进行模型训练,得到训练后的第二子模型,可以分别获取第一子模型对应的模型更新信息和第二子模型对应的模型更新信息。另外,如果业务数据中不包括用户的隐私数据和/或终端设备的敏感信息,也可以通过终端设备中的可信应用获取目标业务的业务数据,并执行后续的模型训练过程。
在步骤S108中,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,并通过目标模型对应的模型更新信息对目标模型进行更新。
在实施中,为了对服务器中的目标模型进行更新,可以将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,服务器可以对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,并通过目标模型对应的模型更新信息对目标模型进行更新,例如,终端设备可以将第一子模型对应的梯度信息和第二子模型对应的梯度信息发送给服务器,服务器可以对上述得到的梯度信息进行聚合处理,得到目标模型的模型参数,然后,可以使用得到的模型参数对服务器中当前存储的目标模型的模型参数进行更新,从而得到更新后的目标模型。更新后的目标模型,可以由服务器通过预设的损失函数判断更新后的目标模型是否收敛,如果为收敛,则可以重复上述步骤S102~步骤S108的处理,直到更新后的目标模型收敛为止。
本说明书实施例提供一种模型的训练方法,应用于终端设备,该终端设备包括可信执行环境,接收服务器发送的针对目标业务的待训练的目标模型,然后,将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
实施例二
如图4所示,本说明书实施例提供一种模型的训练方法,该方法的执行主体可以为终端设备,其中,该终端设备可以如笔记本电脑或台式电脑等计算机设备,或者,可以为IoT设备等。该终端设备中可以设置有可信执行环境,该可信执行环境可以是TEE(TrustedExecution Environment),该可信执行环境可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),也可以通过硬件设备和预先编写的程序共同实现(即可以是以硬件+软件的形式实现)等,该可信执行环境可以为进行数据处理的安全运行环境。该方法具体可以包括以下步骤:
在步骤S402中,接收服务器发送的针对目标业务的待训练的目标模型。
其中,目标模型可以是深度学习模型等,例如,神经网络模型、决策树模型、生成式对抗网络模型、可解释神经网路XNN模型或深度神经网络MNN模型等。
在步骤S404中,基于目标业务对应的模型保护规则,将目标模型拆分为第一子模型和第二子模型,第一子模型中包括该模型保护规则中记载的待保护的模型信息。
在实际应用中,第二子模型可以由主干特征网络BackBone模型构建,第一子模型可以由特征数据处理Neck模型和利用特征做预测Head模型构建,第二子模型可以以图Graph等方式呈现。其中,第一子模型的模型信息可以多种,例如第一子模型的模型架构的信息、模型参数等信息,其中的模型参数可以包括权重Weights参数和/或偏移Bias参数等。主干特征网络BackBone模型具体可以为特征提取模型,如卷积神经网络模型或残差网络模型等。
在实施中,可以根据目标模型中需要保护的模型参数和模型架构等相关信息,并可以基于上述信息构建针对目标业务的模型保护规则。然后,可以基于构建的模型保护规则对目标模型进行保护性的拆分处理,得到第一子模型和第二子模型。
需要说明的是,上述目标模型的拆分方式仅是一种可实现的、可选的拆分方式,在实际应用中,还可以包括多种不同的拆分方式,例如,可以对目标模型进行平均拆分,得到相同网络层层数的第一子模型和第二子模型,或者,还可以对目标模型进行随机拆分等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S406中,将第一子模型转换为能够在可信执行环境中运行的预设类型的数据。
其中,预设类型包括图Graph文件类型、参数类型中的一种或多种。此外,为了方便可信执行环境能够高效的执行被保护的子模型,还可以在可信执行环境中设置参数索引表,具体可以通过以下方式处理:如果预设类型包括参数类型,则可以基于转换后的该参数类型的数据,生成相应的参数索引信息,然后,将该参数索引信息进行加密处理,并将加密后的参数索引信息设置于可信执行环境中,可以在可信执行环境中对加密后的参数索引信息进行解密处理,得到原始的参数索引信息。
在步骤S408中,将转换后的数据进行加密处理,并将加密后的数据设置于可信执行环境中。
在实施中,为了保护数据传输过程的安全性,可以预先设定数据的加密算法,具体如AES加密算法、RSA加密算法等。在得到转换后的业务数据后,可以使用上述加密算法,对相应的转换后的数据进行加密处理,得到加密后的数据,其中,转换后的数据中包含的不同类型的数据可以使用相同的加密算法进行加密处理,也可以使用不同的加密算法进行加密处理,具体可以根据实际情况设定。然后,可以通过目标业务对应的应用将加密后的数据传递至可信执行环境中。
在步骤S410中,在可信执行环境中对加密后的数据进行解密处理,得到第一子模型对应的转换后的数据。
在步骤S412中,通过目标业务对应的可信应用获取目标业务的业务数据,并将该业务数据传递至可信执行环境中,并在可信执行环境中,通过该业务数据对第一子模型进行模型训练。
其中,目标业务对应的可信应用可以是预先设定的、可以用于在业务模型的不同部分之间进行数据传递,且具体向可信执行环境传递数据的权限的应用,目标业务对应的可信应用可以是需要安装在业务处理设备中的应用程序,也可以是预先植入业务处理设备某硬件设备中的代码程序,还可以是以插件的形式设置于业务处理设备的操作系统的后台运行的程序等,目标业务对应的可信应用可以是具有指定权限的部件或组件(如可信执行环境对应的组件或中央处理器等)才能够调用的应用,具体可以根据实际情况设定。
在步骤S414中,在对第一子模型进行模型训练的过程中,获取该业务数据的输出结果,并将该业务数据的输出结果提供给第二子模型,以对第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息。
在步骤S416中,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,并通过目标模型对应的模型更新信息对目标模型进行更新。
需要说明的是,上述处理方式仅是一种可选的处理方式,在实际应用中,还可以包括多种处理方式,例如可以如上述实施例一中提供的多种方式对第一子模型和第二子模型进行模型训练等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
本说明书实施例提供一种模型的训练方法,该终端设备包括可信执行环境,接收服务器发送的针对目标业务的待训练的目标模型,然后,将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
实施例三
如图5所示,本说明书实施例提供一种模型的训练方法,该方法的执行主体可以为服务器,其中,服务器可以是某项业务(如进行交易的业务或金融业务等)的服务器,具体如,该服务器可以是支付业务的服务器,也可以是与金融或即时通讯等相关业务的服务器等。该服务器中可以设置有可信执行环境,该可信执行环境可以是TEE(Trusted ExecutionEnvironment),该可信执行环境可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),也可以通过硬件设备和预先编写的程序共同实现(即可以是以硬件+软件的形式实现)等,该可信执行环境可以为进行数据处理的安全运行环境。该方法具体可以包括以下步骤:
在步骤S502中,获取用于训练目标业务的目标模型的终端设备的设备信息。
其中,设备信息可以包括终端设备的IMEI码、终端设备的名称、终端设备的账户信息、终端设备的IP地址等,具体可以根据实际情况设定。
在实施中,本实施例的模型训练方式可以是针对联邦学习,服务器中可以基于预先设定的算法构建针对目标业务的目标模型,目标模型中可以包括模型架构和模型参数。当需要执行联邦学习处理时,服务器可以对目标模型进行初始化处理,得到初始化的目标模型,可以将初始化的目标模型确定为待训练的目标模型。然后,服务器可以根据实际情况制定进行联邦学习的计划或任务,可以基于制定的计划或任务,确定进行联邦学习的终端设备的设备信息。
在步骤S504中,基于获取的设备信息向相应的终端设备发送待训练的目标模型,以触发终端设备将目标模型进行拆分处理,得到能够在终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于第一可信执行环境中,通过目标业务的业务数据对第一可信执行环境中的第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息。
其中,第一可信执行环境可以是安全并与其它环境相隔离的数据处理环境,即在可信执行环境中执行的处理,以及数据处理的过程中产生的数据等无法被可执行环境外的其它执行环境或应用程序所访问,具体可以参见上述关于可信执行环境的内容,在此不再赘述。
在步骤S506中,通过目标业务对应的可信应用从上述终端设备获取第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,并将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息传递至服务器的第二可信执行环境中。
其中,第二可信执行环境可以是安全并与其它环境相隔离的数据处理环境,即在可信执行环境中执行的处理,以及数据处理的过程中产生的数据等无法被可执行环境外的其它执行环境或应用程序所访问,具体可以参见上述关于可信执行环境的内容,在此不再赘述。
在实施中,为了保证第一子模型对应的模型更新信息和第二子模型对应的模型更新信息的安全性,服务器可以使用目标业务对应的可信应用从上述终端设备获取第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,该可信应用可以是预先设定的、可以用于在业务模型的不同部分之间进行数据传递,且具体向可信执行环境传递数据的权限的应用,目标业务对应的可信应用可以是需要安装在业务处理设备中的应用程序,也可以是预先植入业务处理设备某硬件设备中的代码程序,还可以是以插件的形式设置于业务处理设备的操作系统的后台运行的程序等,目标业务对应的可信应用可以是具有指定权限的部件或组件(如可信执行环境对应的组件或中央处理器等)才能够调用的应用,具体可以根据实际情况设定。同时,还可以通过该可信应用将将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息传递至服务器的第二可信执行环境中,从而进一步保证模型更新信息在传输过程中,以及在服务器中的安全性。
在步骤S508中,在第二可信执行环境中对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,并通过目标模型对应的模型更新信息对目标模型进行更新。
在对目标模型进行更新后,还可以判断目标模型是否收敛,如果目标模型未收敛,则可以对目标模型再次进行训练,如图6所示,具体可以包括以下步骤510和步骤512的处理。
在步骤S510中,通过目标模型对应的损失函数,确定更新后的目标模型是否收敛。
在实施中,可以获取用于测试目标函数的测试样本,可以将测试样本输入到更新后的目标模型中,得到相应的输出结果,然后,可以通过目标模型对应的损失函数计算该输出结果对应的损失值,如果该损失值不满足预设的收敛条件,则确定更新后的目标模型未收敛,如果该损失值满足预设的收敛条件,则确定更新后的目标模型收敛。
在步骤S512中,如果更新后的目标模型未收敛,则执行获取用于训练目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送目标模型进行训练的,直到通过目标模型对应的损失函数,确定更新后的目标模型收敛为止。
在实施中,如果更新后的目标模型未收敛,则可以重新执行上述步骤S502~步骤S508的处理,直到通过目标模型对应的损失函数,确定更新后的目标模型收敛为止。
本说明书实施例提供一种模型的训练方法,该终端设备包括可信执行环境,接收服务器发送的针对目标业务的待训练的目标模型,然后,将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
实施例四
如图7所示,本说明书实施例提供一种模型的训练方法,该方法的执行主体可以为服务器,其中,该服务器可以是某项业务(如进行交易的业务或金融业务等)的服务器,具体如,该服务器可以是支付业务的服务器,也可以是与金融或即时通讯等相关业务的服务器等。该服务器中可以设置有可信执行环境,该可信执行环境可以是TEE(Trusted ExecutionEnvironment),该可信执行环境可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),也可以通过硬件设备和预先编写的程序共同实现(即可以是以硬件+软件的形式实现)等,该可信执行环境可以为进行数据处理的安全运行环境。该方法具体可以包括以下步骤:
在实际应用中,除了可以通过上述实施例三中的方式实现联邦学习过程外,还可以通过多种不同的方式进行联邦学习过程,如可以由服务器对目标模型进行拆分,然后将拆分后的子模型发送给相应的终端设备,具体可以参见下述步骤的处理。
在步骤S702中,获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的目标模型进行拆分处理,得到能够在终端设备的第一可信执行环境中运行的第一子模型和第二子模型。
需要说明的是,服务器将目标模型进行拆分处理可以是在服务器的可信执行环境中执行,也可以是在服务器中的富执行环境中执行,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S704中,基于获取的设备信息向相应的终端设备发送第一子模型和第二子模型,以触发终端设备将第一子模型设置于第一可信执行环境中,通过目标业务的业务数据对第一可信执行环境中的第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息。
在步骤S706中,通过目标业务对应的可信应用从终端设备获取第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,并将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息传递至服务器的第二可信执行环境中。
在步骤S708中,在第二可信执行环境中对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,并通过目标模型对应的模型更新信息对目标模型进行更新。
在对目标模型进行更新后,还可以判断目标模型是否收敛,如果目标模型未收敛,则可以对目标模型再次进行训练,如图8所示,具体可以包括以下步骤710和步骤712的处理。
在步骤S710中,通过目标模型对应的损失函数,确定更新后的目标模型是否收敛。
在步骤S712中,如果更新后的目标模型未收敛,则执行获取用于训练目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送目标模型进行训练的,直到通过目标模型对应的损失函数,确定更新后的目标模型收敛为止。
本说明书实施例提供一种模型的训练方法,该终端设备包括可信执行环境,接收服务器发送的针对目标业务的待训练的目标模型,然后,将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
实施例五
如图9A和图9B所示,本说明书实施例提供一种模型的训练方法,该方法的执行主体可以为区块链系统,该区块链系统可以由终端设备和/或服务器等组成,其中,该终端设备可以如手机、平板电脑等移动终端设备,也可以是个人计算机等设备,该服务器可以是独立的一个服务器,还可以是由多个服务器构成的服务器集群等,该服务器可以是如金融业务或网络购物业务等的后台服务器,也可以是某应用程序的后台服务器等。该方法可以应用于模型训练等的相关场景中,该方法具体可以包括以下步骤:
在步骤S902中,获取目标业务的目标模型的模型训练规则信息,采用该模型训练规则信息生成相应的第一智能合约,并将第一智能合约部署到区块链系统中。
其中,第一智能合约可以是一种旨在以信息化方式传播、验证或执行合同的计算机协议,第一智能合约允许在没有第三方的情况下进行可信交互,进行的上述交互过程可追踪且不可逆转,第一智能合约中包括合约参与方可以在上面执行合约参与方同意的权利和义务的协议。
在实施中,为了使得基于目标业务的目标模型的模型训练过程的可追溯性更好,可以创建或加入指定的区块链系统,这样,可以基于区块链系统对目标模型进行模型训练,具体地,区块链节点中可以安装有相应的应用程序,该应用程序中可以设置有中目标业务的目标模型的模型训练规则信息的输入框和/或选择框等,可以在上述输入框和/或选择框中设置相应的信息。然后,区块链系统可以接收目标业务的目标模型的模型训练规则信息。区块链系统可以通过目标业务的目标模型的模型规则信息生成相应的第一智能合约,并可以向该区块链系统中部署该第一智能合约,这样,区块链系统中存储了目标业务的目标模型的模型训练规则信息和相应的第一智能合约,其他用户无法篡改目标业务的目标模型的模型训练规则信息和相应的第一智能合约,而且,区块链系统通过第一智能合约对目标模型进行模型训练。
在步骤S904中,基于第一智能合约获取用于训练目标业务的目标模型的终端设备的设备信息。
在实施中,第一智能合约中可以设置有获取用于训练目标业务的目标模型的终端设备的设备信息的相关规则信息,这样,基于第一智能合约中的上述规则信息可以实现上述相应的处理,具体可以参见上述相关内容,在此不再赘述。
在步骤S906中,基于第一智能合约和获取的设备信息向相应的终端设备发送待训练的目标模型,以触发终端设备将目标模型进行拆分处理,得到能够在终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于第一可信执行环境中,通过目标业务的业务数据对第一可信执行环境中的第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息。
在实施中,第一智能合约中可以设置有向相应的终端设备发送待训练的目标模型的相关规则信息,这样,基于第一智能合约中的上述规则信息可以实现上述相应的处理,具体可以参见上述相关内容,在此不再赘述。
在步骤S908中,基于第一智能合约,通过目标业务对应的可信应用从终端设备获取第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,并将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息传递至区块链系统中的区块链节点的第二可信执行环境中。
在实施中,第一智能合约中可以设置有通过目标业务对应的可信应用从终端设备获取第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,并将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息传递至区块链系统中的区块链节点的第二可信执行环境中的相关规则信息,这样,基于第一智能合约中的上述规则信息可以实现上述相应的处理,具体可以参见上述相关内容,在此不再赘述。
在步骤S910中,基于第一智能合约,在第二可信执行环境中对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,并通过目标模型对应的模型更新信息对目标模型进行更新。
在实施中,第一智能合约中可以设置有在第二可信执行环境中对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,以及通过目标模型对应的模型更新信息对目标模型进行更新的相关规则信息,这样,基于第一智能合约中的上述规则信息可以实现上述相应的处理,具体可以参见上述相关内容,在此不再赘述。
在对目标模型进行更新后,还可以判断目标模型是否收敛,如果目标模型未收敛,则可以对目标模型再次进行训练,具体可以包括以下步骤A2和步骤A4的处理。
在步骤A2中,基于第一智能合约,通过目标模型对应的损失函数,确定更新后的目标模型是否收敛。
在实施中,第一智能合约中可以设置有通过目标模型对应的损失函数,确定更新后的目标模型是否收敛的相关规则信息,这样,基于第一智能合约中的上述规则信息可以实现上述相应的处理,具体可以参见上述相关内容,在此不再赘述。
在步骤A4中,如果更新后的目标模型未收敛,则基于第一智能合约执行获取用于训练目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送目标模型进行训练的,直到通过标模型对应的损失函数,确定更新后的目标模型收敛为止。
在实施中,第一智能合约中可以设置有如果更新后的目标模型未收敛,则执行获取用于训练目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送目标模型进行训练的,直到通过标模型对应的损失函数,确定更新后的目标模型收敛为止的相关规则信息,这样,基于第一智能合约中的上述规则信息可以实现上述相应的处理,具体可以参见上述相关内容,在此不再赘述。
上述步骤S904~步骤S910的具体处理,可以参见上述实施例三中的相关内容,即可以通过相应的第一智能合约,实现如上述实施例三中的涉及的各种处理。
本说明书实施例提供一种模型的训练方法,应用于区块链系统,该终端设备包括可信执行环境,接收服务器发送的针对目标业务的待训练的目标模型,然后,将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
实施例六
如图10A和图10B所示,本说明书实施例提供一种模型的训练方法,该方法的执行主体可以为区块链系统,该区块链系统可以由终端设备和/或服务器等组成,其中,该终端设备可以如手机、平板电脑等移动终端设备,也可以是个人计算机等设备,该服务器可以是独立的一个服务器,还可以是由多个服务器构成的服务器集群等,该服务器可以是如金融业务或网络购物业务等的后台服务器,也可以是某应用程序的后台服务器等。该方法可以应用于模型训练等的相关场景中,该方法具体可以包括以下步骤:
在步骤S1002中,基于第二智能合约获取目标业务的目标模型的模型训练规则信息,采用该模型训练规则信息生成相应的第二智能合约,并将第二智能合约部署到区块链系统中。
其中,第二智能合约可以是一种旨在以信息化方式传播、验证或执行合同的计算机协议,第二智能合约允许在没有第三方的情况下进行可信交互,进行的上述交互过程可追踪且不可逆转,第二智能合约中包括合约参与方可以在上面执行合约参与方同意的权利和义务的协议。
在实施中,为了使得基于目标业务的目标模型的模型训练过程的可追溯性更好,可以创建或加入指定的区块链系统,这样,可以基于区块链系统对目标模型进行模型训练,具体地,区块链节点中可以安装有相应的应用程序,该应用程序中可以设置有中目标业务的目标模型的模型训练规则信息的输入框和/或选择框等,可以在上述输入框和/或选择框中设置相应的信息。然后,区块链系统可以接收目标业务的目标模型的模型训练规则信息。区块链系统可以通过目标业务的目标模型的模型规则信息生成相应的第二智能合约,并可以向该区块链系统中部署该第二智能合约,这样,区块链系统中存储了目标业务的目标模型的模型训练规则信息和相应的第二智能合约,其他用户无法篡改目标业务的目标模型的模型训练规则信息和相应的第二智能合约,而且,区块链系统通过第二智能合约对目标模型进行模型训练。
在步骤S1004中,基于第二智能合约获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的目标模型进行拆分处理,得到能够在终端设备的第一可信执行环境中运行的第一子模型和第二子模型。
在实施中,第二智能合约中可以设置有获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的目标模型进行拆分处理的相关规则信息,这样,基于第二智能合约中的上述规则信息可以实现上述相应的处理,具体可以参见上述相关内容,在此不再赘述。
在步骤S1006中,基于第二智能合约和获取的设备信息向相应的终端设备发送第一子模型和第二子模型,以触发终端设备将第一子模型设置于第一可信执行环境中,通过目标业务的业务数据对第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息。
在实施中,第二智能合约中可以设置有向相应的终端设备发送待训练的目标模型的相关规则信息,这样,基于第二智能合约中的上述规则信息可以实现上述相应的处理,具体可以参见上述相关内容,在此不再赘述。
在步骤S1008中,基于第二智能合约,通过目标业务对应的可信应用从终端设备获取第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,并将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息传递至区块链系统中的区块链节点的第二可信执行环境中。
在实施中,第二智能合约中可以设置有通过目标业务对应的可信应用从终端设备获取第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,并将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息传递至区块链系统中的区块链节点的第二可信执行环境中的相关规则信息,这样,基于第二智能合约中的上述规则信息可以实现上述相应的处理,具体可以参见上述相关内容,在此不再赘述。
在步骤S1010中,基于第二智能合约,在第二可信执行环境中对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,并通过目标模型对应的模型更新信息对目标模型进行更新。
在实施中,第二智能合约中可以设置有在第二可信执行环境中对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,以及通过目标模型对应的模型更新信息对目标模型进行更新的相关规则信息,这样,基于第二智能合约中的上述规则信息可以实现上述相应的处理,具体可以参见上述相关内容,在此不再赘述。
在对目标模型进行更新后,还可以判断目标模型是否收敛,如果目标模型未收敛,则可以对目标模型再次进行训练,具体可以包括以下步骤B2和步骤B4的处理。
在步骤B2中,基于第二智能合约,通过目标模型对应的损失函数,确定更新后的目标模型是否收敛。
在实施中,第二智能合约中可以设置有通过目标模型对应的损失函数,确定更新后的目标模型是否收敛的相关规则信息,这样,基于第二智能合约中的上述规则信息可以实现上述相应的处理,具体可以参见上述相关内容,在此不再赘述。
在步骤B4中,如果更新后的目标模型未收敛,则基于第二智能合约执行获取用于训练目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送目标模型进行训练的,直到通过标模型对应的损失函数,确定更新后的目标模型收敛为止。
在实施中,第二智能合约中可以设置有如果更新后的目标模型未收敛,则执行获取用于训练目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送目标模型进行训练的,直到通过标模型对应的损失函数,确定更新后的目标模型收敛为止的相关规则信息,这样,基于第二智能合约中的上述规则信息可以实现上述相应的处理,具体可以参见上述相关内容,在此不再赘述。
上述步骤S1004~步骤S1010的具体处理,可以参见上述实施例四中的相关内容,即可以通过相应的第二智能合约,实现如上述实施例四中的涉及的各种处理。
本说明书实施例提供一种模型的训练方法,应用于区块链系统,该终端设备包括可信执行环境,接收服务器发送的针对目标业务的待训练的目标模型,然后,将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
实施例七
以上为本说明书实施例提供的模型的训练方法,基于同样的思路,本说明书实施例还提供一种模型的训练装置,如图11所示。
该模型的训练装置包括:模型接收模块1101、模型拆分模块1102、训练模块1103和更新模块1104,其中:
模型接收模块1101,接收服务器发送的针对目标业务的待训练的目标模型;
模型拆分模块1102,将所述目标模型进行拆分处理,得到能够在所述可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述可信执行环境中;
训练模块1103,通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
更新模块1104,将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息发送给所述服务器,以触发所述服务器对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例中,所述训练模块1103,包括:
第一训练单元,通过所述目标业务对应的可信应用获取所述目标业务的业务数据,并将所述业务数据传递至所述可信执行环境中,并在所述可信执行环境中,通过所述业务数据对所述第一子模型进行模型训练;
第二训练单元,在对所述第一子模型进行模型训练的过程中,获取所述业务数据的输出结果,并将所述业务数据的输出结果提供给所述第二子模型,以对所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。
本说明书实施例中,所述模型拆分模块1102,包括:
转换单元,将所述第一子模型转换为能够在所述可信执行环境中运行的预设类型的数据;
加密单元,将转换后的数据进行加密处理,并将加密后的数据设置于所述可信执行环境中;
解密单元,在所述可信执行环境中对所述加密后的数据进行解密处理,得到所述第一子模型对应的转换后的数据。
本说明书实施例中,所述预设类型包括图Graph文件类型、参数类型中的一种或多种;
所述预设类型包括参数类型,所述装置还包括:
转换模块,基于转换后的所述参数类型的数据,生成相应的参数索引信息;
加密模块,将所述参数索引信息进行加密处理,并将加密后的参数索引信息设置于所述可信执行环境中;
解密模块,在所述可信执行环境中对所述加密后的参数索引信息进行解密处理,得到所述参数索引信息。
本说明书实施例中,所述模型拆分模块1102,基于所述目标业务对应的模型保护规则,将所述目标模型拆分为所述第一子模型和所述第二子模型,所述第一子模型中包括所述模型保护规则中记载的待保护的模型信息。
本说明书实施例提供一种模型的训练装置,包括可信执行环境,接收服务器发送的针对目标业务的待训练的目标模型,然后,将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
实施例八
基于同样的思路,本说明书实施例还提供一种模型的训练装置,如图12所示。
该模型的训练装置包括:信息获取模块1201、模型发送模块1202、更新信息获取模块1203和模型更新模块1204,其中:
信息获取模块1201,获取用于训练目标业务的目标模型的终端设备的设备信息;
模型发送模块1202,基于获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
更新信息获取模块1203,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述装置的第二可信执行环境中;
模型更新模块1204,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例中,所述装置还包括:
收敛判定模块,通过所述目标模型对应的损失函数,确定更新后的所述目标模型是否收敛;
模型训练模块,如果更新后的所述目标模型未收敛,则执行获取用于训练所述目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送所述目标模型进行训练的,直到通过所述目标模型对应的损失函数,确定更新后的所述目标模型收敛为止。
本说明书实施例提供一种模型的训练装置,通过向终端设备发送的针对目标业务的待训练的目标模型,然后,终端设备将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
实施例九
基于同样的思路,本说明书实施例还提供一种模型的训练装置,如图13所示。
该模型的训练装置包括:模型拆分模块1301、模型发送模块1302、更新信息获取模块1303和模型更新模块1304,其中:
模型拆分模块1301,获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型;
模型发送模块1302,基于获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
更新信息获取模块1303,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述装置的第二可信执行环境中;
模型更新模块1304,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供一种模型的训练装置,通过向终端设备发送的针对目标业务的待训练的目标模型,然后,终端设备将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
实施例十
基于同样的思路,本说明书实施例还提供一种模型的训练装置,该装置为区块链系统中的装置,如图14所示。
该模型的训练装置包括:合约部署模块1401、信息获取模块1402、模型发送模块1403、更新信息获取模块1404和模型更新模块1405,其中:
合约部署模块1401,获取目标业务的目标模型的模型训练规则信息,采用所述模型训练规则信息生成相应的第一智能合约,并将所述第一智能合约部署到所述区块链系统中;
信息获取模块1402,基于所述第一智能合约获取用于训练目标业务的目标模型的终端设备的设备信息;
模型发送模块1403,基于所述第一智能合约和获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
更新信息获取模块1404,基于所述第一智能合约,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述装置的第二可信执行环境中;
模型更新模块1405,基于所述第一智能合约,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例中,所述装置还包括:
收敛判定模块,基于所述第一智能合约,通过所述目标模型对应的损失函数,确定更新后的所述目标模型是否收敛;
模型训练模块,如果更新后的所述目标模型未收敛,则基于所述第一智能合约执行获取用于训练所述目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送所述目标模型进行训练的,直到通过所述目标模型对应的损失函数,确定更新后的所述目标模型收敛为止。
本说明书实施例提供一种模型的训练装置,通过向终端设备发送的针对目标业务的待训练的目标模型,然后,终端设备将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
实施例十一
基于同样的思路,本说明书实施例还提供一种模型的训练装置,该装置为区块链系统中的装置,如图15所示。
该模型的训练装置包括:合约部署模块1501,模型拆分模块1502、模型发送模块1503、更新信息获取模块1504和模型更新模块1505,其中:
合约部署模块1501,获取目标业务的目标模型的模型训练规则信息,采用所述模型训练规则信息生成相应的第二智能合约,并将所述第二智能合约部署到所述区块链系统中;
模型拆分模块1502,基于所述第二智能合约获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型;
模型发送模块1503,基于所述第二智能合约和获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
更新信息获取模块1504,基于所述第二智能合约,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述装置的第二可信执行环境中;
模型更新模块1505,基于所述第二智能合约,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供一种模型的训练装置,通过向终端设备发送的针对目标业务的待训练的目标模型,然后,终端设备将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
实施例十二
以上为本说明书实施例提供的模型的训练装置,基于同样的思路,本说明书实施例还提供一种模型的训练设备,如图16所示。
所述模型的训练设备可以为上述实施例提供终端设备、服务器或区块链系统中的设备等。
模型的训练设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1601和存储器1602,存储器1602中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1602可以是短暂存储或持久存储。存储在存储器1602的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对模型的训练设备中的一系列计算机可执行指令。更进一步地,处理器1601可以设置为与存储器1602通信,在模型的训练设备上执行存储器1602中的一系列计算机可执行指令。模型的训练设备还可以包括一个或一个以上电源1603,一个或一个以上有线或无线网络接口1604,一个或一个以上输入输出接口1605,一个或一个以上键盘1606。
具体在本实施例中,模型的训练设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对模型的训练设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
接收服务器发送的针对目标业务的待训练的目标模型;
将所述目标模型进行拆分处理,得到能够在所述可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述可信执行环境中;
通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息发送给所述服务器,以触发所述服务器对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例中,所述通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,包括:
通过所述目标业务对应的可信应用获取所述目标业务的业务数据,并将所述业务数据传递至所述可信执行环境中,并在所述可信执行环境中,通过所述业务数据对所述第一子模型进行模型训练;
在对所述第一子模型进行模型训练的过程中,获取所述业务数据的输出结果,并将所述业务数据的输出结果提供给所述第二子模型,以对所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。
本说明书实施例中,所述将所述第一子模型设置于所述可信执行环境中,包括:
将所述第一子模型转换为能够在所述可信执行环境中运行的预设类型的数据;
将转换后的数据进行加密处理,并将加密后的数据设置于所述可信执行环境中;
在所述可信执行环境中对所述加密后的数据进行解密处理,得到所述第一子模型对应的转换后的数据。
本说明书实施例中,所述预设类型包括图Graph文件类型、参数类型中的一种或多种;
所述预设类型包括参数类型,所述方法还包括:
基于转换后的所述参数类型的数据,生成相应的参数索引信息;
将所述参数索引信息进行加密处理,并将加密后的参数索引信息设置于所述可信执行环境中;
在所述可信执行环境中对所述加密后的参数索引信息进行解密处理,得到所述参数索引信息。
本说明书实施例中,所述将所述目标模型进行拆分处理,得到能够在所述可信执行环境中运行的第一子模型和第二子模型,包括:
基于所述目标业务对应的模型保护规则,将所述目标模型拆分为所述第一子模型和所述第二子模型,所述第一子模型中包括所述模型保护规则中记载的待保护的模型信息。
此外,具体在本实施例中,模型的训练设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对模型的训练设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取用于训练目标业务的目标模型的终端设备的设备信息;
基于获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中;
在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例中,所述还包括:
通过所述目标模型对应的损失函数,确定更新后的所述目标模型是否收敛;
如果更新后的所述目标模型未收敛,则执行获取用于训练所述目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送所述目标模型进行训练的,直到通过所述目标模型对应的损失函数,确定更新后的所述目标模型收敛为止。
另外,具体在本实施例中,模型的训练设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对模型的训练设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型;
基于获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中;
在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
此外,具体在本实施例中,模型的训练设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对模型的训练设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取目标业务的目标模型的模型训练规则信息,采用所述模型训练规则信息生成相应的第一智能合约,并将所述第一智能合约部署到所述区块链系统中;
基于所述第一智能合约获取用于训练目标业务的目标模型的终端设备的设备信息;
基于所述第一智能合约和获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
基于所述第一智能合约,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述区块链系统中的区块链节点的第二可信执行环境中;
基于所述第一智能合约,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例中,还包括:
基于所述第一智能合约,通过所述目标模型对应的损失函数,确定更新后的所述目标模型是否收敛;
如果更新后的所述目标模型未收敛,则基于所述第一智能合约执行获取用于训练所述目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送所述目标模型进行训练的,直到通过所述目标模型对应的损失函数,确定更新后的所述目标模型收敛为止。
此外,具体在本实施例中,模型的训练设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对模型的训练设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取目标业务的目标模型的模型训练规则信息,采用所述模型训练规则信息生成相应的第二智能合约,并将所述第二智能合约部署到所述区块链系统中;
基于所述第二智能合约获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型;
基于所述第二智能合约和获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
基于所述第二智能合约,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中;
基于所述第二智能合约,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供一种模型的训练设备,通过向终端设备发送的针对目标业务的待训练的目标模型,然后,终端设备将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
实施例七
进一步地,基于上述图1到图10B所示的方法,本说明书一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
接收服务器发送的针对目标业务的待训练的目标模型;
将所述目标模型进行拆分处理,得到能够在所述可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述可信执行环境中;
通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息发送给所述服务器,以触发所述服务器对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例中,所述通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,包括:
通过所述目标业务对应的可信应用获取所述目标业务的业务数据,并将所述业务数据传递至所述可信执行环境中,并在所述可信执行环境中,通过所述业务数据对所述第一子模型进行模型训练;
在对所述第一子模型进行模型训练的过程中,获取所述业务数据的输出结果,并将所述业务数据的输出结果提供给所述第二子模型,以对所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。
本说明书实施例中,所述将所述第一子模型设置于所述可信执行环境中,包括:
将所述第一子模型转换为能够在所述可信执行环境中运行的预设类型的数据;
将转换后的数据进行加密处理,并将加密后的数据设置于所述可信执行环境中;
在所述可信执行环境中对所述加密后的数据进行解密处理,得到所述第一子模型对应的转换后的数据。
本说明书实施例中,所述预设类型包括图Graph文件类型、参数类型中的一种或多种;
所述预设类型包括参数类型,所述方法还包括:
基于转换后的所述参数类型的数据,生成相应的参数索引信息;
将所述参数索引信息进行加密处理,并将加密后的参数索引信息设置于所述可信执行环境中;
在所述可信执行环境中对所述加密后的参数索引信息进行解密处理,得到所述参数索引信息。
本说明书实施例中,所述将所述目标模型进行拆分处理,得到能够在所述可信执行环境中运行的第一子模型和第二子模型,包括:
基于所述目标业务对应的模型保护规则,将所述目标模型拆分为所述第一子模型和所述第二子模型,所述第一子模型中包括所述模型保护规则中记载的待保护的模型信息。
在另一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
获取用于训练目标业务的目标模型的终端设备的设备信息;
基于获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中;
在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例中,还包括:
通过所述目标模型对应的损失函数,确定更新后的所述目标模型是否收敛;
如果更新后的所述目标模型未收敛,则执行获取用于训练所述目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送所述目标模型进行训练的,直到通过所述目标模型对应的损失函数,确定更新后的所述目标模型收敛为止。
在另一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型;
基于获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中;
在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
在另一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
获取目标业务的目标模型的模型训练规则信息,采用所述模型训练规则信息生成相应的第一智能合约,并将所述第一智能合约部署到所述区块链系统中;
基于所述第一智能合约获取用于训练目标业务的目标模型的终端设备的设备信息;
基于所述第一智能合约和获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
基于所述第一智能合约,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述区块链系统中的区块链节点的第二可信执行环境中;
基于所述第一智能合约,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例中,还包括:
基于所述第一智能合约,通过所述目标模型对应的损失函数,确定更新后的所述目标模型是否收敛;
如果更新后的所述目标模型未收敛,则基于所述第一智能合约执行获取用于训练所述目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送所述目标模型进行训练的,直到通过所述目标模型对应的损失函数,确定更新后的所述目标模型收敛为止。
在另一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
获取目标业务的目标模型的模型训练规则信息,采用所述模型训练规则信息生成相应的第二智能合约,并将所述第二智能合约部署到所述区块链系统中;
基于所述第二智能合约获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型;
基于所述第二智能合约和获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
基于所述第二智能合约,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中;
基于所述第二智能合约,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
本说明书实施例提供一种存储介质,通过向终端设备发送的针对目标业务的待训练的目标模型,然后,终端设备将目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将第一子模型设置于可信执行环境中,通过目标业务的业务数据对第一子模型和第二子模型进行模型训练,分别得到第一子模型对应的模型更新信息和第二子模型对应的模型更新信息,将第一子模型对应的模型更新信息和第二子模型对应的模型更新信息发送给服务器,以触发服务器对第一子模型对应的模型更新信息和第二子模型对应的模型更新信息进行聚合处理,得到目标模型对应的模型更新信息,这样,提出了一种基于TEE的端云模型训练方案,通过上述方式,对于用户没有授权的信息,应用程序依然不进行业务数据的采集,但可以完成对目标模型的训练,并且可信执行环境是终端设备上由软硬件方式构建的一个安全区域,可保证在安全区域内部加载代码和数据,从而使得数据的机密性和完整性得到保护、安全性高,同时兼顾模型训练的效率。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程欺诈案例的串并设备的处理器以产生一个机器,使得通过计算机或其他可编程欺诈案例的串并设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程欺诈案例的串并设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程欺诈案例的串并设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (20)
1.一种模型的训练方法,应用于终端设备,所述终端设备包括可信执行环境,所述方法包括:
接收服务器发送的针对目标业务的待训练的目标模型;
将所述目标模型进行拆分处理,得到能够在所述可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述可信执行环境中;
通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息发送给所述服务器,以触发所述服务器对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
2.根据权利要求1所述的方法,所述通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,包括:
通过所述目标业务对应的可信应用获取所述目标业务的业务数据,并将所述业务数据传递至所述可信执行环境中,并在所述可信执行环境中,通过所述业务数据对所述第一子模型进行模型训练;
在对所述第一子模型进行模型训练的过程中,获取所述业务数据的输出结果,并将所述业务数据的输出结果提供给所述第二子模型,以对所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息。
3.根据权利要求1所述的方法,所述将所述第一子模型设置于所述可信执行环境中,包括:
将所述第一子模型转换为能够在所述可信执行环境中运行的预设类型的数据;
将转换后的数据进行加密处理,并将加密后的数据设置于所述可信执行环境中;
在所述可信执行环境中对所述加密后的数据进行解密处理,得到所述第一子模型对应的转换后的数据。
4.根据权利要求3所述的方法,所述预设类型包括图Graph文件类型、参数类型中的一种或多种;
所述预设类型包括参数类型,所述方法还包括:
基于转换后的所述参数类型的数据,生成相应的参数索引信息;
将所述参数索引信息进行加密处理,并将加密后的参数索引信息设置于所述可信执行环境中;
在所述可信执行环境中对所述加密后的参数索引信息进行解密处理,得到所述参数索引信息。
5.根据权利要求1所述的方法,所述将所述目标模型进行拆分处理,得到能够在所述可信执行环境中运行的第一子模型和第二子模型,包括:
基于所述目标业务对应的模型保护规则,将所述目标模型拆分为所述第一子模型和所述第二子模型,所述第一子模型中包括所述模型保护规则中记载的待保护的模型信息。
6.一种模型的训练方法,应用于服务器,所述方法包括:
获取用于训练目标业务的目标模型的终端设备的设备信息;
基于获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中;
在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
7.根据权利要求6所述的方法,所述方法还包括:
通过所述目标模型对应的损失函数,确定更新后的所述目标模型是否收敛;
如果更新后的所述目标模型未收敛,则执行获取用于训练所述目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送所述目标模型进行训练的,直到通过所述目标模型对应的损失函数,确定更新后的所述目标模型收敛为止。
8.一种模型的训练方法,应用于服务器,所述方法包括:
获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型;
基于获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中;
在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
9.一种模型的训练方法,应用于区块链系统,所述方法包括:
获取目标业务的目标模型的模型训练规则信息,采用所述模型训练规则信息生成相应的第一智能合约,并将所述第一智能合约部署到所述区块链系统中;
基于所述第一智能合约获取用于训练目标业务的目标模型的终端设备的设备信息;
基于所述第一智能合约和获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
基于所述第一智能合约,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述区块链系统中的区块链节点的第二可信执行环境中;
基于所述第一智能合约,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
10.根据权利要求9所述的方法,所述方法还包括:
基于所述第一智能合约,通过所述目标模型对应的损失函数,确定更新后的所述目标模型是否收敛;
如果更新后的所述目标模型未收敛,则基于所述第一智能合约执行获取用于训练所述目标模型的终端设备的设备信息,并基于获取的设备信息向相应的终端设备发送所述目标模型进行训练的,直到通过所述目标模型对应的损失函数,确定更新后的所述目标模型收敛为止。
11.一种模型的训练方法,应用于区块链系统,所述方法包括:
获取目标业务的目标模型的模型训练规则信息,采用所述模型训练规则信息生成相应的第二智能合约,并将所述第二智能合约部署到所述区块链系统中;
基于所述第二智能合约获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型;
基于所述第二智能合约和获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
基于所述第二智能合约,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中;
基于所述第二智能合约,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
12.一种模型的训练装置,所述装置包括可信执行环境,所述装置包括:
模型接收模块,接收服务器发送的针对目标业务的待训练的目标模型;
模型拆分模块,将所述目标模型进行拆分处理,得到能够在所述可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述可信执行环境中;
训练模块,通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
更新模块,将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息发送给所述服务器,以触发所述服务器对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
13.一种模型的训练装置,所述装置包括:
信息获取模块,获取用于训练目标业务的目标模型的终端设备的设备信息;
模型发送模块,基于获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
更新信息获取模块,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述装置的第二可信执行环境中;
模型更新模块,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
14.一种模型的训练装置,所述装置包括:
模型拆分模块,获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型;
模型发送模块,基于获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
更新信息获取模块,通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述装置的第二可信执行环境中;
模型更新模块,在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
15.一种模型的训练设备,所述设备包括可信执行环境,所述模型的训练设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
包括可信执行环境,所述方法包括:
接收服务器发送的针对目标业务的待训练的目标模型;
将所述目标模型进行拆分处理,得到能够在所述可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述可信执行环境中;
通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息发送给所述服务器,以触发所述服务器对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
16.一种模型的训练设备,所述模型的训练设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取用于训练目标业务的目标模型的终端设备的设备信息;
基于获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述设备的第二可信执行环境中;
在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
17.一种模型的训练设备,所述模型的训练设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型;
基于获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述设备的第二可信执行环境中;
在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
18.一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被处理器执行时实现以下流程:
接收服务器发送的针对目标业务的待训练的目标模型;
将所述目标模型进行拆分处理,得到能够在可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述可信执行环境中;
通过所述目标业务的业务数据对所述可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息发送给所述服务器,以触发所述服务器对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
19.一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被处理器执行时实现以下流程:
获取用于训练目标业务的目标模型的终端设备的设备信息;
基于获取的设备信息向相应的终端设备发送待训练的所述目标模型,以触发所述终端设备将所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型,并将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中;
在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
20.一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被处理器执行时实现以下流程:
获取用于训练目标业务的目标模型的终端设备的设备信息,并将待训练的所述目标模型进行拆分处理,得到能够在所述终端设备的第一可信执行环境中运行的第一子模型和第二子模型;
基于获取的设备信息向相应的终端设备发送所述第一子模型和所述第二子模型,以触发所述终端设备将所述第一子模型设置于所述第一可信执行环境中,通过所述目标业务的业务数据对所述第一可信执行环境中的第一子模型和所述第二子模型进行模型训练,分别得到所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息;
通过所述目标业务对应的可信应用从所述终端设备获取所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息,并将所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息传递至所述服务器的第二可信执行环境中;
在所述第二可信执行环境中对所述第一子模型对应的模型更新信息和所述第二子模型对应的模型更新信息进行聚合处理,得到所述目标模型对应的模型更新信息,并通过所述目标模型对应的模型更新信息对所述目标模型进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210148159.2A CN114548255A (zh) | 2022-02-17 | 2022-02-17 | 一种模型的训练方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210148159.2A CN114548255A (zh) | 2022-02-17 | 2022-02-17 | 一种模型的训练方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114548255A true CN114548255A (zh) | 2022-05-27 |
Family
ID=81675804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210148159.2A Pending CN114548255A (zh) | 2022-02-17 | 2022-02-17 | 一种模型的训练方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114548255A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109308418A (zh) * | 2017-07-28 | 2019-02-05 | 阿里巴巴集团控股有限公司 | 一种基于共享数据的模型训练方法及装置 |
CN110633805A (zh) * | 2019-09-26 | 2019-12-31 | 深圳前海微众银行股份有限公司 | 纵向联邦学习系统优化方法、装置、设备及可读存储介质 |
CN111008709A (zh) * | 2020-03-10 | 2020-04-14 | 支付宝(杭州)信息技术有限公司 | 联邦学习、资料风险评估方法、装置和系统 |
CN111061963A (zh) * | 2019-11-28 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 基于多方安全计算的机器学习模型训练及预测方法、装置 |
CN111241580A (zh) * | 2020-01-09 | 2020-06-05 | 广州大学 | 一种基于可信执行环境的联邦学习方法 |
CN111260053A (zh) * | 2020-01-13 | 2020-06-09 | 支付宝(杭州)信息技术有限公司 | 使用可信执行环境来进行神经网络模型训练的方法和装置 |
CN111291416A (zh) * | 2020-05-09 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护对业务模型进行数据预处理的方法及装置 |
US20200234198A1 (en) * | 2019-01-22 | 2020-07-23 | Baidu Online Network Technology (Beijing) Co., Ltd. | Machine learning training method, controller, device, server, terminal and medium |
CN112580821A (zh) * | 2020-12-10 | 2021-03-30 | 深圳前海微众银行股份有限公司 | 一种联邦学习方法、装置、设备及存储介质 |
CN113159316A (zh) * | 2021-04-08 | 2021-07-23 | 支付宝(杭州)信息技术有限公司 | 模型训练方法、进行预测业务的方法及装置 |
CN113792297A (zh) * | 2021-09-10 | 2021-12-14 | 支付宝(杭州)信息技术有限公司 | 一种业务处理方法、装置及设备 |
WO2022022274A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 一种模型训练方法及装置 |
-
2022
- 2022-02-17 CN CN202210148159.2A patent/CN114548255A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109308418A (zh) * | 2017-07-28 | 2019-02-05 | 阿里巴巴集团控股有限公司 | 一种基于共享数据的模型训练方法及装置 |
US20200234198A1 (en) * | 2019-01-22 | 2020-07-23 | Baidu Online Network Technology (Beijing) Co., Ltd. | Machine learning training method, controller, device, server, terminal and medium |
CN110633805A (zh) * | 2019-09-26 | 2019-12-31 | 深圳前海微众银行股份有限公司 | 纵向联邦学习系统优化方法、装置、设备及可读存储介质 |
CN111061963A (zh) * | 2019-11-28 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 基于多方安全计算的机器学习模型训练及预测方法、装置 |
CN111241580A (zh) * | 2020-01-09 | 2020-06-05 | 广州大学 | 一种基于可信执行环境的联邦学习方法 |
CN111260053A (zh) * | 2020-01-13 | 2020-06-09 | 支付宝(杭州)信息技术有限公司 | 使用可信执行环境来进行神经网络模型训练的方法和装置 |
CN111008709A (zh) * | 2020-03-10 | 2020-04-14 | 支付宝(杭州)信息技术有限公司 | 联邦学习、资料风险评估方法、装置和系统 |
CN111291416A (zh) * | 2020-05-09 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护对业务模型进行数据预处理的方法及装置 |
WO2022022274A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 一种模型训练方法及装置 |
CN112580821A (zh) * | 2020-12-10 | 2021-03-30 | 深圳前海微众银行股份有限公司 | 一种联邦学习方法、装置、设备及存储介质 |
CN113159316A (zh) * | 2021-04-08 | 2021-07-23 | 支付宝(杭州)信息技术有限公司 | 模型训练方法、进行预测业务的方法及装置 |
CN113792297A (zh) * | 2021-09-10 | 2021-12-14 | 支付宝(杭州)信息技术有限公司 | 一种业务处理方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
王丽;郭振华;曹芳;高开;赵雅倩;赵坤;: "面向模型并行训练的模型拆分策略自动生成方法", 计算机工程与科学, no. 09, 15 September 2020 (2020-09-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111680305B (zh) | 一种基于区块链的数据处理方法、装置及设备 | |
EP3044901B1 (en) | Keying infrastructure | |
CN110457912B (zh) | 数据处理方法、装置和电子设备 | |
CN112016120B (zh) | 基于用户隐私保护的事件预测方法和装置 | |
CN105453102B (zh) | 用于识别已泄漏的私有密钥的系统和方法 | |
US11676011B2 (en) | Private transfer learning | |
CN111737279B (zh) | 基于区块链的业务处理方法、装置、设备及存储介质 | |
CN105408912A (zh) | 处理认证和资源许可 | |
CN113792297A (zh) | 一种业务处理方法、装置及设备 | |
CN111737686B (zh) | 一种区块链数据的处理方法、装置及设备 | |
CN112182506A (zh) | 一种数据的合规检测方法、装置及设备 | |
WO2023226801A1 (zh) | 一种业务处理方法、装置及设备 | |
CN114969784A (zh) | 一种模型的处理方法、装置及设备 | |
CN113239853A (zh) | 一种基于隐私保护的生物识别方法、装置及设备 | |
CN112287376A (zh) | 一种隐私数据的处理方法及装置 | |
CN114329644A (zh) | 对逻辑系统设计进行加密仿真的方法、设备及存储介质 | |
CN114638005A (zh) | 基于区块链的数据处理方法、装置及系统、存储介质 | |
CN112800467B (zh) | 基于数据隐私保护的在线模型训练方法、装置以及设备 | |
CN112182509A (zh) | 一种合规数据的异常检测方法、装置及设备 | |
WO2023155641A1 (zh) | 数据的处理 | |
CN116050847A (zh) | 一种数据风险评估的方法、装置、存储介质及电子设备 | |
CN114548255A (zh) | 一种模型的训练方法、装置及设备 | |
CN110569659A (zh) | 数据处理方法、装置和电子设备 | |
CN114638685B (zh) | 一种风险识别方法、装置及设备 | |
JP7572132B2 (ja) | プライベート転移学習 |
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 |