CN116502732A - 基于可信执行环境的联邦学习方法以及系统 - Google Patents

基于可信执行环境的联邦学习方法以及系统 Download PDF

Info

Publication number
CN116502732A
CN116502732A CN202310784200.XA CN202310784200A CN116502732A CN 116502732 A CN116502732 A CN 116502732A CN 202310784200 A CN202310784200 A CN 202310784200A CN 116502732 A CN116502732 A CN 116502732A
Authority
CN
China
Prior art keywords
local
data
training
computing node
model
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.)
Granted
Application number
CN202310784200.XA
Other languages
English (en)
Other versions
CN116502732B (zh
Inventor
陈超超
叶家俊
郑小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Jinzhita Technology Co ltd
Original Assignee
Hangzhou Jinzhita Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Jinzhita Technology Co ltd filed Critical Hangzhou Jinzhita Technology Co ltd
Priority to CN202310784200.XA priority Critical patent/CN116502732B/zh
Publication of CN116502732A publication Critical patent/CN116502732A/zh
Application granted granted Critical
Publication of CN116502732B publication Critical patent/CN116502732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书实施例提供基于可信执行环境的联邦学习方法以及系统,其中所述方法应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,包括通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据;通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据;将所述本地加密数据发送至服务端,并接收所述服务端针对所述本地加密数据返回的目标加密数据;通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。通过在可信执行环境处理客户端与服务端之间的通信数据,提高数据的隐私性和安全性。

Description

基于可信执行环境的联邦学习方法以及系统
技术领域
本说明书实施例涉及机器学习技术领域,特别涉及一种基于可信执行环境的联邦学习系统及方法。
背景技术
随着互联网技术的快速发展,互联网数据也随之增多。在不同的机构可能保存着同一样本对应的不同特征数据,例如不同的业务平台存储相同用户的不同数据,如果各个业务平台想挖掘该用户的喜好,则只能依据本地存储的用户数据进行聚类分析,无法获得最优的聚类结果,而将各个业务平台的用户数据进行汇总再聚类又会产生数据隐私安全问题。目前常采用联邦学习方法应用于无需共享本地原始数据的多客户端协作学习,联邦学习是一种针对数据孤岛问题、保护数据安全与隐私而提出的一种算法框架,联邦学习的系统架构通常包括客户端和服务器,客户端为联邦学习中的参与方,服务端为联邦学习中的中间方,但是服务端的数据安全无法保障,在服务端遭受到攻击的情况下,利用服务端收集的各客户端的信息还是会出现数据泄露的问题。因此,如何提供一种安全可靠的联邦学习方法是目前亟需解决的问题。
发明内容
有鉴于此,本说明书实施例提供了基于可信执行环境的联邦学习方法。本说明书一个或者多个实施例同时涉及基于可信执行环境的联邦学习装置、基于可信执行环境的联邦学习系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种基于可信执行环境的联邦学习方法,所述方法应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,包括:
通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据;
通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据;
将所述本地加密数据发送至服务端,并接收所述服务端针对所述本地加密数据返回的目标加密数据;
通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。
根据本说明书实施例的第二方面,提供了一种基于可信执行环境的联邦学习方法,所述方法应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,包括:
通过所述本地公开计算节点利用本地样本文本对本地文本模型进行训练,获得本地训练数据;
通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据并发送至服务端;
接收所述服务端针对所述本地加密数据返回的目标加密数据;
通过所述本地隐私计算节点利用所述目标加密数据对所述本地文本模型进行更新,获得目标文本模型。
根据本说明书实施例的第三方面,提供了一种基于可信执行环境的联邦学习系统,所述系统包括服务端和至少两个客户端,所述服务端包括部署在可信执行环境内的中心隐私计算节点,任意一个客户端包括部署在所述可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,其中,
目标客户端,用于通过本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据,通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据,将所述本地加密数据发送至所述服务端;
所述服务端,用于通过所述中心隐私计算节点对所述至少两个客户端对应的本地加密数据进行聚合,获得目标加密数据并发送至所述至少两个客户端;
所述目标客户端,用于通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。
根据本说明书实施例的第四方面,提供了一种基于可信执行环境的联邦学习装置,所述装置应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,所述装置包括:
训练模块,被配置为通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据;
加密模块,被配置为通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据;
接收模块,被配置为将所述本地加密数据发送至服务端,并接收所述服务端针对所述本地加密数据返回的目标加密数据;
更新模块,被配置为通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。
根据本说明书实施例的第五方面,提供了一种基于可信执行环境的联邦学习装置,所述装置应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,所述装置包括:
训练模块,被配置为通过所述本地公开计算节点利用本地样本文本对本地文本模型进行训练,获得本地训练数据;
加密模块,被配置为通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据并发送至服务端;
接收模块,被配置为接收所述服务端针对所述本地加密数据返回的目标加密数据;
更新模块,被配置为通过所述本地隐私计算节点利用所述目标加密数据对所述本地文本模型进行更新,获得目标文本模型。
根据本说明书实施例的第六方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述基于可信执行环境的联邦学习方法的步骤。
根据本说明书实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述基于可信执行环境的联邦学习方法的步骤。
根据本说明书实施例的第八方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述基于可信执行环境的联邦学习方法的步骤。
本说明书一个实施例实现了通过客户端部署在可信执行环境外的本地公开计算节点对未加密的本地样本数据进行处理,通过客户端部署在可信执行环境内的本地隐私计算节点对加密的加密数据进行处理,使得数据处理的安全性更高;并且无需将数据解密汇总给服务端进行汇总,进一步提高数据的隐私性和安全性。
附图说明
图1是本说明书一个实施例提供的一种基于可信执行环境的联邦学习方法的场景示意图;
图2是本说明书一个实施例提供的一种基于可信执行环境的联邦学习方法的流程图;
图3是本说明书一个实施例提供的一种基于可信执行环境的联邦学习方法的处理过程流程图;
图4是本说明书一个实施例提供的一种基于可信执行环境的联邦学习方法的流程图;
图5是本说明书一个实施例提供的一种基于可信执行环境的联邦学习系统的流程图;
图6是本说明书一个实施例提供的一种基于可信执行环境的联邦学习装置的结构示意图;
图7是本说明书一个实施例提供的一种基于可信执行环境的联邦学习装置的结构示意图;
图8是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
此外,需要说明的是,本说明书一个或多个实施例所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
联邦学习:联邦学习(Federated Learning)是一种分布式机器学习技术,其核心思想是通过在多个拥有本地数据的数据源之间进行分布式模型训练,在不需要交换本地个体或样本数据的前提下,仅通过交换模型参数或中间结果的方式,构建基于虚拟融合数据下的全局模型,从而实现数据隐私保护和数据共享计算的平衡。
可信执行环境:可信执行环境(Trusted execution environment,TEE)基于硬件安全的 CPU 实现了基于内存隔离的安全计算,可在保证计算效率的前提下完成隐私保护的计算。
目前联邦学习、多方安全计算、机密计算作为实现隐私计算的主要解决方案之一,越来越多的企业用户选择使用这种方案进行应用。在联邦学习中,需要依赖于一个可信第三方服务器,将模型的梯度及权重等参数信息上传至中心服务端进行聚合分割,但是中心服务端的安全无法保障,利用中心服务端收集的梯度及权重信息还是有可能反推出每个参与方的数据信息。
基于此在本说明书中,提供了基于可信执行环境的联邦学习方法,本说明书同时涉及基于可信执行环境的联邦学习装置、基于可信执行环境的联邦学习系统,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了根据本说明书一个实施例提供的一种基于可信执行环境的联邦学习方法的场景示意图,其中,基于可信执行环境的联邦学习的参与方包括多个提供数据的客户端和一个进行数据汇总的服务端,每个客户端都部署有在可信执行环境内的本地隐私计算节点和部署在可信执行环境外的本地公开计算节点,服务端也部署有在可信执行环境内的中间隐私计算节点。在联邦学习的过程中,客户端可以通过本地公开计算节点利用本地样本数据进行模型训练,将训练获得的模型参数如权重、梯度等信息通过可信执行环境内的本地隐私计算节点进行加密处理,并将加密后的数据发送至服务端。服务端接收多个客户端发送的加密数据之后,通过可信执行环境内的中间隐私计算节点进行解密并聚合汇总,实现多方联合学习,并将汇总后的数据进行加密并返回给多个客户端,客户端再由本地隐私计算节点对返回的加密数据进行解密并更新本地模型,从而获得经过联邦学习后的目标模型。
参见图2,图2示出了根据本说明书一个实施例提供的一种基于可信执行环境的联邦学习方法的流程图,所述方法应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,具体包括以下步骤。
步骤202:通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据。
其中,客户端部署有在可信执行环境内的本地隐私计算节点和部署在可信执行环境外的本地公开计算节点,本地隐私计算节点可以理解为安全隔离的计算节点,指在客户端对应的计算节点中为加密数据单独分配一块隔离的安全空间,进而通过本地隐私计算节点为加密数据进行计算。本地公开计算节点可以理解为可信执行环境外的普通计算节点。本地样本数据可以理解为每个客户端对应的用于训练本地模型的数据,在对本地模型进行训练之后,则可以获得训练好的本地模型的训练参数,从而将本地模型的训练参数作为本地训练数据,用于后续的数据汇总。
在实际应用中,客户端中的本地隐私计算节点主要用于处理加密数据,如从服务端返回的加密数据;本地公开计算节点主要用于处理非加密数据,如用于训练的本地样本数据。
在本说明书一具体实施例中,客户端A与客户端B想要进行用户行为预测,为了能够更好地预测用户行为,需要汇总客户端A与客户端B的数据,但是为了保证数据隐私安全性,需要采用联邦学习的多方安全计算架构。每个客户端分别采用本地公开计算节点利用本地样本数据进行本地预训练模型的本地训练,本地样本数据为每个客户端采集的用户特征,本地预训练模型为预测用户行为的预训练模型,通过本地样本数据对本地预训练模型进行训练,在满足训练条件之后,获得训练好的本地模型,并将本地模型的模型参数作为本地训练数据。
进一步的,为了保证每个客户端的模型训练同步,需要每个客户端从服务端获取相同的本地预训练模型,具体的通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训之前,所述方法还包括:响应于针对目标学习任务的任务执行指令,向所述目标学习任务对应的服务端发送模型获取请求;接收所述服务端针对所述模型获取请求返回的初始模型参数,并根据所述初始模型参数构建本地预训练模型。
其中,目标学习任务可以理解为联邦学习的学习任务,如客户端A与客户端B进行联邦学习用户行为的学习任务,任务执行指令可以理解为每个客户端对应的用户发出的指令,用于使客户端执行目标学习任务从而向服务端发送模型获取请求,服务端可以理解为联邦学习中的中间汇总方,模型获取请求可以理解为客户端向服务端发送的用于获取本地预训练模型的请求,在服务端接收到客户端发送的模型获取请求之后,则可以将预设的初始模型参数发送给每个客户端,初始模型参数用于使客户端在本地构建预训练模型。
在实际应用中,当联邦学习的参与方开始执行目标学习任务之后,则会向服务端发送模型获取请求,服务端在接收到模型获取请求之后则会将初始模型参数返回至各个客户端,每个客户端则可以根据服务端返回的初始模型参数构建本地预训练模型。
在本说明书一具体实施例中,每个客户端响应于针对目标学习任务的任务执行指令,向目标学习任务对应的服务端发送模型获取请求,目标学习任务为预测用户行为的学习任务,服务端在接收到模型获取请求之后,将初始模型参数发送至每个客户端,每个客户端根据初始模型参数构建本地预训练模型,本地预训练模型用于学习预测用户行为。
基于此,通过每个客户端统一从服务端获取本地预训练模型对应的初始模型参数,使得每个客户端的初始预训练模型相同,提高了后续联邦学习中本地模型训练的一致性,保证后续联邦学习的效果。
进一步的,由于客户端中包括本地隐私计算节点和本地公开计算节点,为了避免客户端错误使用计算节点处理不同类型的数据,需要在客户端中部署任务调度节点,用于调用计算节点处理相对应类型的数据,具体的所述客户端包括任务调度节点,所述方法还包括:创建待执行任务,并确定所述待执行任务对应的任务数据;通过所述任务调度节点选择所述任务数据对应的待处理节点,并将所述任务数据发送至所述待处理节点,其中,所述待处理节点用于利用所述任务数据执行所述待执行任务。
其中,待执行任务可以理解为客户端对应的需要执行的任务,如客户端需要根据本地样本数据执行本地模型训练,则需要先创建待执行任务为本地模型训练任务,待执行任务对应的任务数据可以理解为执行待执行任务时所需要的数据,如待执行任务为本地模型训练任务,任务数据即为训练本地模型时所使用的本地样本数据。待处理节点可以理解为任务调度节点基于任务数据选择的待处理节点,可以理解为任务调度节点将待执行任务分配至待处理节点,由待处理节点来执行该待执行任务,因此也需要将任务数据发送至待处理节点。
在实际应用中,由于客户端中部署有本地隐私计算节点和本地公开计算节点,因此在确定待执行任务的待处理节点时,需要根据任务数据来确定,确定待处理节点为本地隐私计算节点或本地公开计算节点,确定之后再将任务数据发送至待处理节点,由待处理节点利用任务数据来执行待执行任务。
在本说明书一具体实施例中,创建待执行任务,待执行任务为利用本地样本数据对本地预训练模型进行训练,则任务数据为本地样本数据,选择任务数据对应的待处理节点为本地公开计算节点,则将本地样本数据发送至本地公开计算节点,由本地公开计算节点利用本地样本数据执行本地模型训练任务。
基于此,通过调度节点创建待执行任务,并根据待执行任务的任务数据在本地隐私计算节点和本地公开计算节点中选择待处理节点,使得待处理节点能够基于任务数据执行待执行任务,保证任务数据的数据安全性。
进一步的,为了避免任务调度节点无法正确的选择用于执行待执行任务的待处理节点,可以通过不同的任务选择不同的计算节点来处理任务,具体的包括:在接收到训练任务的情况下,通过所述任务调度节点选择所述本地公开计算节点,并执行通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据的步骤;在接收到加密任务的情况下,通过所述任务调度节点选择所述本地隐私计算节点,并执行通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据的步骤;在接收到更新任务的情况下,通过所述任务调度节点选择所述本地隐私计算节点,并执行通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型的步骤。
其中,训练任务可以理解为客户端需要根据本地样本数据执行本地模型训练的任务,加密任务可以理解为客户端需要对本地训练数据进行加密的任务,更新任务可以理解为客户端需要根据目标加密数据对本地预训练模型进行参数更新的任务。
在实际应用中,当任务调度节点创建了待执行任务之后,可以通过不同的任务选择不同的计算节点来执行任务,如需要在可信执行环境中执行任务则选择本地隐私计算节点,如不需要在可信执行环境中执行任务则选择本地公开计算节点。
在本说明书一具体实施例中,确定待执行任务为训练任务,通过任务调度节点选择本地公开计算节点作为执行训练任务的计算节点,使得本地公开计算节点能够利用本地样本数据对本地预训练模型进行训练,获得本地训练数据,从而完成训练任务。
在本说明书另一具体实施例中,确定待执行任务为加密任务,通过任务调度节点选择本地隐私计算节点作为执行加密任务的计算节点,使得本地隐私计算节点能够对本地训练数据进行加密,获得本地加密数据,从而完成加密任务。
在本说明书另一具体实施例中,确待执行任务为更新任务,通过任务调度节点选择本地隐私计算节点作为执行更新任务的计算节点,使得本地隐私计算节点能够利用目标加密数据对本地预训练模型进行更新,获得目标模型,从而完成更新任务。
基于此,通过任务调度节点根据不同的数据状态信息选择不同的待处理节点进行任务执行,使得加密数据都会在本地隐私计算节点中处理,未加密数据都会在本地公开计算节点中处理,保证了的数据的隐私安全性。
进一步的,为了保证联邦学习中服务端能够正常的进行数据汇总,每个客户端需要先进行本地模型训练,具体的通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据,包括:通过所述本地公开计算节点将本地样本数据输入至本地预训练模型,获得所述本地预训练模型输出的本地预测标签;根据所述本地样本数据对应的本地样本标签和所述本地预测标签计算所述本地预训练模型的模型损失值;基于所述模型损失值调整所述本地预训练模型的模型参数,并继续训练所述本地预训练模型,直至获得满足预设模型训练条件的目标预训练模型;将所述目标预训练模型的模型参数作为本地训练数据。
其中,本地样本数据即为每个客户端对应的本地数据,如客户端A对应的本地样本数据为客户端A对应的企业用户收集的用户特征数据,客户端B对应的本地样本数据为客户端B对应的企业用户收集的用户特征数据。每个客户端都会通过本地公开计算节点将本地样本数据输入至本地预训练模型,获得本地预训练模型输出的本地预测标签,本地预测标签可以理解为本地预训练模型根据本地样本数据输出的预测结果,通过本地预测标签和本地样本数据对应的本地样本标签可以计算出本地训练轮次对应的模型损失值,通过模型损失值可以调整模型的模型参数,并进行下一训练轮次的训练,直至模型达到训练停止条件,获得满足预设模型训练条件的目标预训练模型。
在实际应用中,预设模型训练条件可以包括预设训练轮次、预设模型参数等,预设训练轮次即为训练本地预训练模型的轮次达到预设训练轮次之后则停止训练,预设模型参数即为训练本地预训练模型的模型参数达到预设模型参数之后则停止训练,具体实施时可以根据实际情况选择预设模型训练条件。
在本说明书一具体实施例中,客户端通过本地公开计算节点将本地样本数据输入至本地预训练模型,本地样本数据为用户行为数据,将用户行为数据输入本地预训练模型,获得本地预训练模型输出的用户预测行为,基于用户预测行为和本地样本标签即用户真实行为计算模型损失值,并通过模型损失值调整本地预训练模型的模型参数,并继续训练本地预训练模型。在模型训练轮次达到预设训练轮次之后,将满足训练条件的目标预训练模型的模型参数作为本地训练数据,用于后续发送至服务端进行数据汇总。
基于此,通过客户端在本地利用本地样本数据进行模型训练,使得后续可以将训练获得的目标预训练模型的模型参数发送至服务端,服务端根据各个客户端发送的本地训练数据进行数据汇总,从而实现了联邦学习。
步骤204:通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据。
其中,本地加密数据可以理解为本地隐私计算对本地训练数据进行加密后获得的密态数据,由于本地训练数据需要发送至服务端进行数据汇总,为了保证数据的隐私安全性,需要对本地训练数据进行加密,从而将加密后的本地训练数据发送至服务端。
在实际应用中,由于加密密钥存储在本地隐私计算节点中,因此需要通过本地隐私计算节点对本地训练数据进行加密,从而保证数据的隐私安全性。
在本说明书一具体实施例中,客户端通过本地隐私计算节点对本地训练数据进行加密,本地训练数据为本地预训练模型的模型参数,加密之后获得本地加密数据,后续可以将本地加密数据发送至服务端进行处理。
进一步的,为了避免数据出现隐私泄露的问题,需要通过本地隐私计算节点对本地训练数据进行加密,具体的通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据,包括:通过所述本地隐私计算节点确定所述本地训练数据对应的对称密钥;基于所述对称密钥对所述本地训练数据进行加密。
其中,对称密钥可以理解为联邦学习的各个参与方统一的加密密钥,通过对称密钥则可以实现对数据的加密和解密处理。
在实际应用中,为了保证数据的安全性,在将数据发送至服务端之前需要通过本地隐私计算节点对本地训练数据进行加密,并且服务端在接收到本地加密数据之后需要对本地加密数据进行解密之后才能进行处理,因此需要统一各个参与方的密钥。
在本说明书一具体实施例中,客户端通过本地隐私计算节点本地训练数据对应的对称密钥,对称密钥即为各个参与方经过协商之后统一的密钥,通过对称密钥对本地训练数据进行加密,使得后续服务端也可以基于对称密钥对本地加密数据进行解密,保证能够正常运行联邦学习。
基于此,通过本地隐私计算节点获取本地训练数据对应的对称密钥,并基于对称密钥对本地训练数据进行加密,从而获得本地加密数据,使得后续在将本地加密数据发送至服务端之后,服务端也可以通过对称密钥对本地加密数据进行解密,从而保证联邦学习的正常运行。
进一步的,所述对称密钥的生成,包括:响应于针对联邦学习任务的密钥生成指令生成本地公私密钥和本地对称密钥;将所述本地公私密钥中的本地公钥发送至所述联邦学习任务的参与方,以及接收所述联邦学习任务的参与方发送的网络公钥;基于所述网络公钥对所述本地对称密钥进行加密,获得本地加密对称密钥;将所述本地加密对称密钥发送至所述联邦学习的参与方,以及接收所述联邦学习的参与方发送的网络加密对称密钥;根据所述本地加密对称密钥和所述网络加密对称密钥计算所述对称密钥。
其中,联邦学习任务可以理解为进行联邦学习的任务,由于每个联邦学习任务的任务参与方可能不同,因此针对不同的联邦学习任务需要生成不同的加密密钥。本地公私密钥可以理解为每个参与方在本地生成的公私钥对,本地对称密钥可以理解为每个参与方在本地隐私计算节点内部生成的对称密钥,本地加密对称密钥可以理解为客户端根据其他参与方发送的本地公钥对本地对称密钥进行加密后获得的本地加密对称密钥,具体加密过程可以是通过多个本地公钥依次对本地对称密钥进行加密,也可以是多个本地公钥同时对本地对称密钥进行加密,具体加密方式可以根据实际情况选择,对称密钥可以理解为根据每个参与方的本地加密对称密钥进行计算后获得的密钥,对称密钥即为各个参与方协商获得的统一对称密钥。
在实际应用中,在联邦学习过程中客户端和外部交互的数据均为加密数据,密钥在本地隐私计算节点内保存,确保密钥的不可被篡改和安全性,为了提高加密效率可以采用对称加密算法,为了实现加密数据在各个参与方的可信任执行环境的隐私计算节点中进行处理,需要各个参与方统一加密密钥。
具体实施时,各个参与方包括客户端和服务端,在各自的隐私计算节点内部生成本地公私密钥和本地对称密钥,将本地公钥发送至所有参与方,此时也会接收到其他参与方发送的本地公钥,利用接收到的本地公钥对本地对称密钥进行加密,获得本地加密对称密钥。各个参与方将本地加密对称密钥再广播至各个参与方,各个参与方在接收到其他参与方发送的本地加密对称密钥之后,再将所有本地对称加密密钥进行异或处理,从而计算获得一个协商后的对称密钥。
在本说明书一具体实施例中,联邦学习的参与方包括客户端A和客户端B和服务端,各个参与方在各自的可信执行环境的隐私计算节点中生成本地公私钥对和本地对称密钥,将本地公私钥对中的本地公钥发送给其他参与方,如客户端A发送给客户端B和服务端,客户端B发送客户端A和服务端,服务端发送给客户端A和客户端B。在各个参与方接收到本地公钥之后,利用本地公钥对本地对称密钥进行加密,生成本地加密对称密钥,并将本地加密对称密钥发送给其他参与方,每个参与方根据所有的本地加密对称密钥进行异或运算,计算获得对称密钥。
基于此,通过各个参与方之间协商确定对称密钥,统一了各个参与方的加密密钥,使得加密数据在各个参与方的隐私计算节点中都能够正常的进行处理。
步骤206:将所述本地加密数据发送至服务端,并接收所述服务端针对所述本地加密数据返回的目标加密数据。
其中,在对本地训练数据进行加密之后,可以将获得的本地机密数据发送至服务端,由服务端部署在可信执行环境的中间隐私计算节点进行解密处理,服务端会将各个客户端发送的本地加密数据进行汇总并加密,并将获得的目标加密数据再发送至各个客户端。
在本说明书一具体实施例中,客户端将本地加密数据发送至服务端,并接收服务端针对本地加密数据返回的目标加密数据,目标加密数据为服务端对各个客户端发送的本地加密数据进行聚合并加密后获得的数据。
步骤208:通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。
其中,客户端在接收服务端返回的目标加密数据之后,则可以通过本地隐私计算节点利用目标加密数据对本地预训练模型进行更新,从而获得目标模型。目标模型可以理解为本次联邦学习的最终产物,即聚合了各个参与方的本地训练数据训练获得的目标模型。
在实际应用中,由于服务端返回的目标加密数据是密态数据,所以客户端在接收到目标加密数据之后,任务调度节点会将目标加密数据发送至本地隐私计算节点来进行处理,具体的通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,包括:通过所述本地隐私计算节点对所述目标加密数据进行解密,获得目标训练数据;基于所述目标训练数据对本地预训练模型的模型参数进行更新。
其中,目标训练数据可以理解为本地隐私计算节点对目标加密数据进行解密后获得的数据,由于目标加密数据是密态数据,所以客户端需要通过本地隐私计算节点来对其进行解密,解密之后获得目标训练数据,然后再基于目标训练数据对本地预训练模型的模型参数进行更新。
在本说明书一具体实施例中,客户端通过本地隐私计算节点对目标加密数据进行解密,获得目标训练数据,基于目标训练数据对本地预训练模型的模型参数进行更新,根据更新结果获得目标模型。
基于此,通过各个客户端部署有本地隐私计算节点和本地公开计算节点,使得在联邦学习过程中可以根据数据的数据状态来确定使用哪一类计算节点来处理,从而保证隐私数据始终能够在本地隐私计算节点中处理,在实现联邦学习的前提下,提高数据安全隐私性。
进一步的,为了保证联邦学习的各个参与方的可信度,可以对各个参与方的本地隐私计算节点提前进行验证,在验证通过的情况下再开始进行联邦学习,具体的所述方法还包括:响应于针对本地隐私计算节点的验证请求,获取所述本地隐私计算节点对应的验证标识信息;发送所述验证标识信息至验证服务端,并接收所述验证服务端针对所述验证标识信息返回的验证结果;在所述验证结果为验证通过的情况下,继续执行通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据的步骤。
其中,验证请求可以理解为针对每个参与方的隐私计算节点的验证请求,在每个客户端或服务端接收到验证请求之后,则获取到本地隐私计算节点对应的验证标识信息,验证标识信息可以理解为每个本地隐私计算节点对应的唯一标识,验证标识信息可以是节点标识、节点序列号等标识信息,将验证标识信息发送至验证服务端之后,则可以通过验证服务端对每个本地隐私计算节点进行验证,验证服务端可以理解为用于验证本地隐私计算节点是否可信的服务端,在验证通过的情况下,则说明参与方可以参与执行本地联邦学习任务。
在本说明书一具体实施例中,客户端响应于针对本地隐私计算节点的验证请求,获取本地隐私计算节点对应的验证标识信息,发送验证标识信息至验证服务端。验证标识信息为本地隐私计算节点的设备序列号,验证服务端基于设备序列号对本地隐私计算节点进行验证,并将验证结果返回至客户端。验证结果为验证通过,继续执行通过本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据的步骤。
基于此,通过验证服务端在执行联邦学习任务前对各个参与方的本地隐私计算节点进行验证,保证每个参与方的可信度,提高联邦学习任务的数据安全性。
本说明书提供的一种基于可信执行环境的联邦学习方法,所述方法应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,包括:通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据;通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据;将所述本地加密数据发送至服务端,并接收所述服务端针对所述本地加密数据返回的目标加密数据;通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。通过客户端部署在可信执行环境外的本地公开计算节点对未加密的本地样本数据进行处理,通过客户端部署在可信执行环境内的本地隐私计算节点对加密的加密数据进行处理,使得数据处理的安全性更高;并且无需将数据解密汇总给服务端进行汇总,进一步提高数据的隐私性和安全性。
下述结合附图3,以本说明书提供的基于可信执行环境的联邦学习方法在文本聚类的应用为例,对所述基于可信执行环境的联邦学习方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种基于可信执行环境的联邦学习方法的处理过程流程图,具体包括以下步骤。
步骤302:响应于针对目标学习任务的任务执行指令,向所述目标学习任务对应的服务端发送模型获取请求。
在一种可实现的方式中,目标学习任务为两个企业需要根据双方的用户数据预测用户喜好的模型学习任务,每个企业对应的客户端响应于任务执行指令,向目标学习任务对应的服务端发送模型获取请求,模型获取请求用于获取初始预训练模型。
步骤304:接收所述服务端针对所述模型获取请求返回的初始模型参数,并根据所述初始模型参数构建本地预训练模型。
在一种可实现的方式中,客户端接收服务端返回的初始模型参数,并基于初始模型参数构建本地预训练模型,本地预训练模型用于根据输入的样本数据输出预测数据,如输入的样本数据为用户行为文本,输出的预测数据为用户的喜好特征。
步骤306:通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据。
在一种可实现的方式中,客户端通过本地公开计算节点利用本地样本数据对本地预训练模型进行训练,将训练后的模型的模型参数作为本地训练数据。
步骤308:通过所述本地隐私计算节点确定所述本地训练数据对应的对称密钥,基于所述对称密钥对所述本地训练数据进行加密,获得本地加密数据。
在一种可实现的方式中,客户端通过本地隐私计算节点确定对称密钥,并基于对称密钥对本地训练数据进行加密,获得本地加密数据。
步骤310:将所述本地加密数据发送至服务端,并接收所述服务端针对所述本地加密数据返回的目标加密数据。
在一种可实现的方式中,客户端将本地加密数据发送至服务端,并接收服务端返回的目标加密数据。
步骤312:通过所述本地隐私计算节点对所述目标加密数据进行解密,获得目标训练数据,基于所述目标训练数据对本地预训练模型的模型参数进行更新,获得目标模型。
在一种可实现的方式中,客户端通过本地隐私计算节点对目标加密数据进行解密,获得目标训练数据,并基于目标训练数据对本地预训练模型的模型参数进行更新,获得目标文本聚类模型。
本说明书提供的一种基于可信执行环境的联邦学习方法,通过客户端部署在可信执行环境外的本地公开计算节点对未加密的本地样本数据进行处理,通过客户端部署在可信执行环境内的本地隐私计算节点对加密的加密数据进行处理,使得数据处理的安全性更高;并且无需将数据解密汇总给服务端进行汇总,进一步提高数据的隐私性和安全性。
参见图4,图4示出了根据本说明书一个实施例提供的一种基于可信执行环境的联邦学习方法的流程图,所述方法应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,具体包括以下步骤。
步骤402:通过所述本地公开计算节点利用本地样本文本对本地文本模型进行训练,获得本地训练数据。
步骤404:通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据并发送至服务端。
步骤406:接收所述服务端针对所述本地加密数据返回的目标加密数据。
步骤408:通过所述本地隐私计算节点利用所述目标加密数据对所述本地文本模型进行更新,获得目标文本模型。
本说明书提供的一种基于可信执行环境的联邦学习方法,通过客户端部署在可信执行环境外的本地公开计算节点对未加密的本地样本数据进行处理,通过客户端部署在可信执行环境内的本地隐私计算节点对加密的加密数据进行处理,使得数据处理的安全性更高;并且无需将数据解密汇总给服务端进行汇总,进一步提高数据的隐私性和安全性。
参见图5,图5示出了根据本说明书一个实施例提供的一种基于可信执行环境的联邦学习系统的结构流程图,所述系统包括服务端502和至少两个客户端504,所述服务端包括部署在可信执行环境内的中心隐私计算节点,任意一个客户端包括部署在所述可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,其中,
目标客户端504,用于通过本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据,通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据,将所述本地加密数据发送至所述服务端;
所述服务端502,用于通过所述中心隐私计算节点对所述至少两个客户端对应的本地加密数据进行聚合,获得目标加密数据并发送至所述至少两个客户端;
所述目标客户端504,用于通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。
本说明书提供的一种基于可信执行环境的联邦学习系统,通过客户端部署在可信执行环境外的本地公开计算节点对未加密的本地样本数据进行处理,通过客户端部署在可信执行环境内的本地隐私计算节点对加密的加密数据进行处理,使得数据处理的安全性更高;并且无需将数据解密汇总给服务端进行汇总,进一步提高数据的隐私性和安全性。
与上述方法实施例相对应,本说明书还提供了基于可信执行环境的联邦学习装置实施例,图6示出了本说明书一个实施例提供的一种基于可信执行环境的联邦学习装置的结构示意图。如图6所示,该装置包括:
训练模块602,被配置为通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据;
加密模块604,被配置为通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据;
接收模块606,被配置为将所述本地加密数据发送至服务端,并接收所述服务端针对所述本地加密数据返回的目标加密数据;
更新模块608,被配置为通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。
可选的,所述装置还包括构建模块,被配置为响应于针对目标学习任务的任务执行指令,向所述目标学习任务对应的服务端发送模型获取请求;接收所述服务端针对所述模型获取请求返回的初始模型参数,并根据所述初始模型参数构建本地预训练模型。
可选的,所述装置还包括调度模块,被配置为在接收到训练任务的情况下,通过所述任务调度节点选择所述本地公开计算节点,并执行通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据的步骤;在接收到加密任务的情况下,通过所述任务调度节点选择所述本地隐私计算节点,并执行通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据的步骤;在接收到更新任务的情况下,通过所述任务调度节点选择所述本地隐私计算节点,并执行通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型的步骤。
可选的,所述训练模块602,进一步被配置为通过所述本地公开计算节点将本地样本数据输入至本地预训练模型,获得所述本地预训练模型输出的本地预测标签;根据所述本地样本数据对应的本地样本标签和所述本地预测标签计算所述本地预训练模型的模型损失值;基于所述模型损失值调整所述本地预训练模型的模型参数,并继续训练所述本地预训练模型,直至获得满足预设模型训练条件的目标预训练模型;将所述目标预训练模型的模型参数作为本地训练数据。
可选的,所述加密模块604,进一步被配置为通过所述本地隐私计算节点确定所述本地训练数据对应的对称密钥;基于所述对称密钥对所述本地训练数据进行加密。
可选的,所述加密模块604,进一步被配置为响应于针对联邦学习任务的密钥生成指令生成本地公私密钥和本地对称密钥;将所述本地公私密钥中的本地公钥发送至所述联邦学习任务的参与方,以及接收所述联邦学习任务的参与方发送的网络公钥;基于所述网络公钥对所述本地对称密钥进行加密,获得本地加密对称密钥;将所述本地加密对称密钥发送至所述联邦学习的参与方,以及接收所述联邦学习的参与方发送的网络加密对称密钥;根据所述本地加密对称密钥和所述网络加密对称密钥计算所述对称密钥。
可选的,所述更新模块608,进一步被配置为通过所述本地隐私计算节点对所述目标加密数据进行解密,获得目标训练数据;基于所述目标训练数据对本地预训练模型的模型参数进行更新。
可选的,所述装置还包括验证模块,被配置为响应于针对本地隐私计算节点的验证请求,获取所述本地隐私计算节点对应的验证标识信息;发送所述验证标识信息至验证服务端,并接收所述验证服务端针对所述验证标识信息返回的验证结果。
本说明书提供的一种基于可信执行环境的联邦学习装置,通过客户端部署在可信执行环境外的本地公开计算节点对未加密的本地样本数据进行处理,通过客户端部署在可信执行环境内的本地隐私计算节点对加密的加密数据进行处理,使得数据处理的安全性更高;并且无需将数据解密汇总给服务端进行汇总,进一步提高数据的隐私性和安全性。
与上述方法实施例相对应,本说明书还提供了基于可信执行环境的联邦学习装置实施例,图7示出了本说明书一个实施例提供的一种基于可信执行环境的联邦学习装置的结构示意图。如图7所示,该装置包括:
训练模块702,被配置为通过所述本地公开计算节点利用本地样本文本对本地文本模型进行训练,获得本地训练数据;
加密模块704,被配置为通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据并发送至服务端;
接收模块706,被配置为接收所述服务端针对所述本地加密数据返回的目标加密数据;
更新模块708,被配置为通过所述本地隐私计算节点利用所述目标加密数据对所述本地文本模型进行更新,获得目标文本模型。
本说明书提供的一种基于可信执行环境的联邦学习装置,通过客户端部署在可信执行环境外的本地公开计算节点对未加密的本地样本数据进行处理,通过客户端部署在可信执行环境内的本地隐私计算节点对加密的加密数据进行处理,使得数据处理的安全性更高;并且无需将数据解密汇总给服务端进行汇总,进一步提高数据的隐私性和安全性。
上述为本实施例的基于可信执行环境的联邦学习装置的示意性方案。需要说明的是,该基于可信执行环境的联邦学习装置的技术方案与上述的基于可信执行环境的联邦学习方法的技术方案属于同一构思,基于可信执行环境的联邦学习装置的技术方案未详细描述的细节内容,均可以参见上述基于可信执行环境的联邦学习方法的技术方案的描述。
图8示出了根据本说明书一个实施例提供的一种计算设备800的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。
计算设备800还包括接入设备840,接入设备840使得计算设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,networkinterface controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)。
在本说明书的一个实施例中,计算设备800的上述部件以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备800可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备800还可以是移动式或静止式的服务器。
其中,处理器820用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述基于可信执行环境的联邦学习方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的基于可信执行环境的联邦学习方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述基于可信执行环境的联邦学习方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述基于可信执行环境的联邦学习方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的基于可信执行环境的联邦学习方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述基于可信执行环境的联邦学习方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述基于可信执行环境的联邦学习方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的基于可信执行环境的联邦学习方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述基于可信执行环境的联邦学习方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据专利实践的要求进行适当的增减,例如在某些地区,根据专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (12)

1.一种基于可信执行环境的联邦学习方法,其特征在于,所述方法应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,所述方法包括:
通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据;
通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据;
将所述本地加密数据发送至服务端,并接收所述服务端针对所述本地加密数据返回的目标加密数据;
通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。
2.如权利要求1所述的方法,其特征在于,通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练之前,所述方法还包括:
响应于针对目标学习任务的任务执行指令,向所述目标学习任务对应的服务端发送模型获取请求;
接收所述服务端针对所述模型获取请求返回的初始模型参数,并根据所述初始模型参数构建本地预训练模型。
3.如权利要求1所述的方法,其特征在于,所述客户端包括任务调度节点,所述方法还包括:
在接收到训练任务的情况下,通过所述任务调度节点选择所述本地公开计算节点,并执行通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据的步骤;
在接收到加密任务的情况下,通过所述任务调度节点选择所述本地隐私计算节点,并执行通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据的步骤;
在接收到更新任务的情况下,通过所述任务调度节点选择所述本地隐私计算节点,并执行通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型的步骤。
4.如权利要求1所述的方法,其特征在于,通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据,包括:
通过所述本地公开计算节点将本地样本数据输入至本地预训练模型,获得所述本地预训练模型输出的本地预测标签;
根据所述本地样本数据对应的本地样本标签和所述本地预测标签计算所述本地预训练模型的模型损失值;
基于所述模型损失值调整所述本地预训练模型的模型参数,并继续训练所述本地预训练模型,直至获得满足预设模型训练条件的目标预训练模型;
将所述目标预训练模型的模型参数作为本地训练数据。
5.如权利要求1所述的方法,其特征在于,通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据,包括:
通过所述本地隐私计算节点确定所述本地训练数据对应的对称密钥;
基于所述对称密钥对所述本地训练数据进行加密。
6.如权利要求5所述的方法,其特征在于,所述对称密钥的生成,包括:
响应于针对联邦学习任务的密钥生成指令生成本地公私密钥和本地对称密钥;
将所述本地公私密钥中的本地公钥发送至所述联邦学习任务的参与方,以及接收所述联邦学习任务的参与方发送的网络公钥;
基于所述网络公钥对所述本地对称密钥进行加密,获得本地加密对称密钥;
将所述本地加密对称密钥发送至所述联邦学习的参与方,以及接收所述联邦学习的参与方发送的网络加密对称密钥;
根据所述本地加密对称密钥和所述网络加密对称密钥计算所述对称密钥。
7.如权利要求1所述的方法,其特征在于,通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,包括:
通过所述本地隐私计算节点对所述目标加密数据进行解密,获得目标训练数据;
基于所述目标训练数据对本地预训练模型的模型参数进行更新。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
响应于针对本地隐私计算节点的验证请求,获取所述本地隐私计算节点对应的验证标识信息;
发送所述验证标识信息至验证服务端,并接收所述验证服务端针对所述验证标识信息返回的验证结果;
在所述验证结果为验证通过的情况下,继续执行通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据的步骤。
9.一种基于可信执行环境的联邦学习方法,其特征在于,所述方法应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,所述方法包括:
通过所述本地公开计算节点利用本地样本文本对本地文本模型进行训练,获得本地训练数据;
通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据并发送至服务端;
接收所述服务端针对所述本地加密数据返回的目标加密数据;
通过所述本地隐私计算节点利用所述目标加密数据对所述本地文本模型进行更新,获得目标文本模型。
10.一种基于可信执行环境的联邦学习系统,其特征在于,所述系统包括服务端和至少两个客户端,所述服务端包括部署在可信执行环境内的中心隐私计算节点,任意一个客户端包括部署在所述可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,其中,
目标客户端,用于通过本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据,通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据,将所述本地加密数据发送至所述服务端;
所述服务端,用于通过所述中心隐私计算节点对所述至少两个客户端对应的本地加密数据进行聚合,获得目标加密数据并发送至所述至少两个客户端;
所述目标客户端,用于通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。
11.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至9任意一项所述方法的步骤。
12.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至9任意一项所述方法的步骤。
CN202310784200.XA 2023-06-29 2023-06-29 基于可信执行环境的联邦学习方法以及系统 Active CN116502732B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310784200.XA CN116502732B (zh) 2023-06-29 2023-06-29 基于可信执行环境的联邦学习方法以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310784200.XA CN116502732B (zh) 2023-06-29 2023-06-29 基于可信执行环境的联邦学习方法以及系统

Publications (2)

Publication Number Publication Date
CN116502732A true CN116502732A (zh) 2023-07-28
CN116502732B CN116502732B (zh) 2023-10-20

Family

ID=87320652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310784200.XA Active CN116502732B (zh) 2023-06-29 2023-06-29 基于可信执行环境的联邦学习方法以及系统

Country Status (1)

Country Link
CN (1) CN116502732B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116760634A (zh) * 2023-08-14 2023-09-15 国网天津市电力公司信息通信公司 一种数据隐私保护方法、系统、设备及存储介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851472A (zh) * 2019-11-19 2020-02-28 深圳前海微众银行股份有限公司 样本匹配方法、设备及可读存储介质
CN111462097A (zh) * 2020-04-03 2020-07-28 深圳前海微众银行股份有限公司 基于联邦学习的图像处理方法、装置、设备及存储介质
CN112580821A (zh) * 2020-12-10 2021-03-30 深圳前海微众银行股份有限公司 一种联邦学习方法、装置、设备及存储介质
CN112733901A (zh) * 2020-12-30 2021-04-30 杭州趣链科技有限公司 基于联邦学习和区块链的结构化动作分类方法与装置
CN113095510A (zh) * 2021-04-14 2021-07-09 深圳前海微众银行股份有限公司 一种基于区块链的联邦学习方法及装置
CN113127916A (zh) * 2021-05-18 2021-07-16 腾讯科技(深圳)有限公司 数据集合处理方法、数据处理方法、装置及存储介质
CN113395159A (zh) * 2021-01-08 2021-09-14 腾讯科技(深圳)有限公司 一种基于可信执行环境的数据处理方法以及相关装置
CN114254360A (zh) * 2021-12-22 2022-03-29 东软集团股份有限公司 模型训练方法、装置、存储介质、系统以及区块链节点
CN115114642A (zh) * 2022-06-29 2022-09-27 蚂蚁区块链科技(上海)有限公司 基于链下可信计算的融资租赁核验方法、装置以及设备
WO2022222152A1 (zh) * 2021-04-23 2022-10-27 Oppo广东移动通信有限公司 联邦学习方法、联邦学习系统、第一设备和第三设备
CN115455476A (zh) * 2022-09-16 2022-12-09 中国电力科学研究院有限公司 基于多密钥同态加密的纵向联邦学习隐私保护方法及系统
CN115906172A (zh) * 2022-12-07 2023-04-04 中国电子科技集团公司第三十研究所 一种联邦学习数据保护方法
CN115905648A (zh) * 2023-01-06 2023-04-04 北京锘崴信息科技有限公司 基于高斯混合模型的用户群和金融用户群分析方法及装置
CN116186754A (zh) * 2022-12-07 2023-05-30 国网上海市电力公司 一种基于区块链的联邦随机森林电力数据协作分析方法
CN116340995A (zh) * 2023-03-01 2023-06-27 蚂蚁区块链科技(上海)有限公司 一种联合建模方法、装置以及电子设备

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851472A (zh) * 2019-11-19 2020-02-28 深圳前海微众银行股份有限公司 样本匹配方法、设备及可读存储介质
CN111462097A (zh) * 2020-04-03 2020-07-28 深圳前海微众银行股份有限公司 基于联邦学习的图像处理方法、装置、设备及存储介质
CN112580821A (zh) * 2020-12-10 2021-03-30 深圳前海微众银行股份有限公司 一种联邦学习方法、装置、设备及存储介质
CN112733901A (zh) * 2020-12-30 2021-04-30 杭州趣链科技有限公司 基于联邦学习和区块链的结构化动作分类方法与装置
CN113395159A (zh) * 2021-01-08 2021-09-14 腾讯科技(深圳)有限公司 一种基于可信执行环境的数据处理方法以及相关装置
CN113095510A (zh) * 2021-04-14 2021-07-09 深圳前海微众银行股份有限公司 一种基于区块链的联邦学习方法及装置
WO2022222152A1 (zh) * 2021-04-23 2022-10-27 Oppo广东移动通信有限公司 联邦学习方法、联邦学习系统、第一设备和第三设备
CN113127916A (zh) * 2021-05-18 2021-07-16 腾讯科技(深圳)有限公司 数据集合处理方法、数据处理方法、装置及存储介质
CN114254360A (zh) * 2021-12-22 2022-03-29 东软集团股份有限公司 模型训练方法、装置、存储介质、系统以及区块链节点
CN115114642A (zh) * 2022-06-29 2022-09-27 蚂蚁区块链科技(上海)有限公司 基于链下可信计算的融资租赁核验方法、装置以及设备
CN115455476A (zh) * 2022-09-16 2022-12-09 中国电力科学研究院有限公司 基于多密钥同态加密的纵向联邦学习隐私保护方法及系统
CN115906172A (zh) * 2022-12-07 2023-04-04 中国电子科技集团公司第三十研究所 一种联邦学习数据保护方法
CN116186754A (zh) * 2022-12-07 2023-05-30 国网上海市电力公司 一种基于区块链的联邦随机森林电力数据协作分析方法
CN115905648A (zh) * 2023-01-06 2023-04-04 北京锘崴信息科技有限公司 基于高斯混合模型的用户群和金融用户群分析方法及装置
CN116340995A (zh) * 2023-03-01 2023-06-27 蚂蚁区块链科技(上海)有限公司 一种联合建模方法、装置以及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A. MONDAL ET AL: "Poster: FLATEE: Federated Learning Across Trusted Execution Environments", 《2021 IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY》, pages 707 - 709 *
石聪聪等: "联邦学习隐私模型发布综述", 《南京信息工程大学学报(自然科学版)》, pages 3 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116760634A (zh) * 2023-08-14 2023-09-15 国网天津市电力公司信息通信公司 一种数据隐私保护方法、系统、设备及存储介质
CN116760634B (zh) * 2023-08-14 2023-11-07 国网天津市电力公司信息通信公司 一种数据隐私保护方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN116502732B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
US11947680B2 (en) Model parameter training method, terminal, and system based on federation learning, and medium
CN110633805B (zh) 纵向联邦学习系统优化方法、装置、设备及可读存储介质
Xu et al. Privacy-preserving federated deep learning with irregular users
WO2022247576A1 (zh) 一种数据处理方法、装置、设备及计算机可读存储介质
JP6234607B2 (ja) 処理されたデータを検証する方法および装置
CN110633806A (zh) 纵向联邦学习系统优化方法、装置、设备及可读存储介质
CN113127916B (zh) 数据集合处理方法、数据处理方法、装置及存储介质
US20220350898A1 (en) Model training method, model using method, system, trusted node and device
CN107359998B (zh) 一种便携式智能口令管理体制的建立与操作方法
CN111428887B (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
GB2585170A (en) Oblivious pseudorandom function in a key management system
CN104158827B (zh) 密文数据共享方法、装置、查询服务器和上传数据客户端
CN107196919B (zh) 一种匹配数据的方法和装置
CN116502732B (zh) 基于可信执行环境的联邦学习方法以及系统
CN107154916A (zh) 一种认证信息获取方法、提供方法及装置
CN111767411A (zh) 知识图谱表示学习优化方法、设备及可读存储介质
CN116992458A (zh) 基于可信执行环境的可编程数据处理方法以及系统
CN112765642A (zh) 数据处理方法、数据处理装置、电子设备及介质
CN115935438A (zh) 数据隐私求交系统及方法
CN112818369A (zh) 一种联合建模方法及装置
CN114301677A (zh) 秘钥协商方法、装置、电子设备及存储介质
Li et al. Epps: Efficient privacy-preserving scheme in distributed deep learning
CN111125734B (zh) 一种数据处理方法及系统
CN107193884B (zh) 一种匹配数据的方法和装置
CN116506227B (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
GR01 Patent grant
GR01 Patent grant