CN115373796A - 具有分区和动态混洗模型更新的联合学习 - Google Patents

具有分区和动态混洗模型更新的联合学习 Download PDF

Info

Publication number
CN115373796A
CN115373796A CN202210537839.3A CN202210537839A CN115373796A CN 115373796 A CN115373796 A CN 115373796A CN 202210537839 A CN202210537839 A CN 202210537839A CN 115373796 A CN115373796 A CN 115373796A
Authority
CN
China
Prior art keywords
model
aggregator
partitions
training
fused
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
Application number
CN202210537839.3A
Other languages
English (en)
Inventor
顾钟蔬
J·K·拉德哈克里希南
A·维尔玛
E·瓦尔迪兹
郑葆诚
H·T·贾姆乔姆
K·艾克霍特
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN115373796A publication Critical patent/CN115373796A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Neurology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及具有分区和动态混洗模型更新的联合学习。联合学习技术利用多层防御策略来减少信息泄漏。代替集中聚合模型更新,聚合功能被分散到多个独立且功能等效的执行实体中,每个执行实体在其自身的TEE内运行。TEE实现机密和远程可证明的联合聚合。每个聚合器实体在支持运行时存储器加密的加密虚拟机内运行。每一方在参与训练之前远程地认证TEE。使用多个分散聚合器,各方能够以模型参数粒度分割它们各自的模型更新,并可将单个权重映射到特定聚合器实体。各方还可在每一训练迭代处动态地混洗片段模型更新以进一步模糊化分派给每一聚集器执行实体的信息。该架构防止聚合器成为单个故障点,并用于在即使所有聚合器被损坏情况下保护模型。

Description

具有分区和动态混洗模型更新的联合学习
技术领域
本发明基本上涉及用于分布式机器学习的技术。
背景技术
联合学习(FL)提供协作训练机制,其允许多方一起构建机器学习(ML)模型。与在中央训练服 务器(或数据中心)中合并所有训练数据不同,联合学习允许各方在他们的可信和受保护的域/基础 设施内保留私有数据。每一方训练本地模型并且仅周期性地向中央聚合服务器上传模型更新或梯度。 此聚合器融合模型更新并将所聚合的模型广播回各方以用于模型同步。联合学习训练的设置呈现用于 保留训练数据隐私的独特优点。这对于相互不信任/竞争的训练各方以及对于敏感数据(例如,健康 和财务数据)的持有者特别有吸引力,其中,法律或法规禁止共享数据。
在联合学习中存在误解,即,FL通信中交换的模型更新包含比原始训练数据少的信息。这使得得 出的结论为,共享模型更新被认为是“隐私保护的”。然而,模型更新是直接从本地训练数据导出。 尽管它可能不是明确可辨别的,但训练数据信息仍被隐藏在模型更新的表示中。最近的研究对联合学 习的隐私承诺提出了挑战。具体地,此研究表明,设定诚实但好奇的中央聚合服务器,对手完全可以 利用模型更新来推断私有属性或重构训练数据。
解决这些问题的现有技术是通过向模型更新添加统计噪声和使用加密原语来区别化地进行隐私 聚合,所述加密原语诸如安全多方计算(SMC)协议或同态加密(HE)。这两种技术均具有缺点。前者 通常显著地降低了训练模型的准确性并且需要仔细的超参数调整,而后者在计算上是昂贵的。此外, 因为各方彼此不信任,所以中央聚合器经常在不值得信任的第三方(云)计算基础设施上运行并且在 攻击时可能变成单个故障点。
因此,仍然具有提供解决这个威胁模型的增强的联合学习框架的需求。
发明内容
根据本公开,描述了用于神经网络训练以防止隐私泄露和数据重构攻击的联合学习系统和方法。 本文中的方法通过利用多层防御策略来提供针对信息泄露的增强的保护,该多层防御策略包括若干方 面,即,可信聚合、具有模型分割的分散聚合和动态置换。
如本文所使用的,可信聚集指的是使用可信执行环境(TEE)的概念,所述TEE提供运行时存储 器加密和远程证明以促使在不可信的服务器上的隔离和机密执行。分散聚合指的是将中央聚合器划分 成多个独立且功能等效的执行实体的概念,其中每个这样的实体之后在加密的虚拟机内运行。通过多 个分散的聚合器,各方具有以模型参数粒度分解模型更新以及将每个单个权重映射到特定聚合器的自 由度。因此,优选地,每个聚合器仅具有模型更新的一部分视图并且对模型架构不加注意。通过将单 个聚合器与模型更新分区分散,该方法将防止聚合器在安全攻击(例如,针对某些TEE的安全攻击) 下变成单个故障点。进一步,用户可以进一步将多个聚合器部署到在不同地理位置处的物理服务器, 并且潜在地在其他微处理器上具有多样化的TEE。即使聚合器的子集被破坏,对手也不能拼和出整个 模型更新信息。
在一个示范性实现方式中,每个聚合器执行实体在带有运行时存储器加密的加密虚拟机(EVM) 内运行。在参与训练之前,联合学习的每一方远程地认证硬件是真实的并且建立用于交换模型更新的 端到端安全信道。
根据附加方面,如上所述,附加防御策略在本文中被称为动态置换。动态置换利用了联合学习融 合算法(例如,联合随机梯度下降(FedSGD)和联合平均(FedAvg))的算术运算跨模型更新是双射 的概念。因此,分割和(内部)混洗模型更新不影响融合结果。根据本公开的这一方面,各方被提供 有在每个训练迭代处动态地混洗片段模型更新以进一步使分派给每个聚合器执行实体的信息模糊的 能力。该策略保证即使所有分散的聚合器被破坏,对手也无法将用于重建训练数据的模型更新的正确 排序进行解密。当模型更新一方侧的变换在各方之间是确定性的、可逆的和相同的时,启用动态置换。
前述内容概述了本主题的一些更相关的特征。这些特征应被解释为仅是说明性的。许多其他有益 的结果可以通过以不同方式应用所披露的主题或通过修改将要描述的主题来获得。
附图说明
为了更完整地理解主题及其优点,现在参考结合附图进行的以下描述,其中:
图1示出了可以实现说明性实施例的示例性方面的分布式数据处理环境的示例性框图;
图2示出了可以实现说明性实施例的示例性方面的数据处理系统的示例性框图;
图3示出了根据本公开的可以实现安全分布式机器学习框架的融合服务器的云计算环境;
图4示出了涉及聚合服务器和一组数据所有者/学习代理的分布式学习框架;
图5示出了在本文中被称为可信聚合的第一安全技术;
图6示出了实现本公开的可信和分散联合学习的系统架构;以及
图7示出了模型划分和动态置换方案的代表性实现方式。
具体实施方式
现在参考附图并且具体参见图1-2,提供了可以实现本公开的说明性实施例的数据处理环境的示 范性示图。应当理解,图1-2仅仅是示例性的,并不旨在断言或暗示对所公开的主题的各方面或实施 例在其中实现的环境的任何限制。在不背离本发明的精神和范围的情况下,可以对所描绘的环境做出 许多修改。
现在参考附图,图1描绘了其中可以实施说明性实施例的方面的示范性分布式数据处理系统的图 形表示。分布式数据处理系统100可以包括可以在其中实现说明性实施例的方面的计算机网络。分布 式数据处理系统100包含至少一个网络102,网络102是用于在分布式数据处理系统100内连接在一 起的不同设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光纤 电缆之类的连接。
在所描绘的示例中,服务器104和服务器106与存储单元108一起连接到网络102。此外,客户 端110、112和114也连接到网络102。这些客户端110、112和114可以是例如个人计算机、网络计 算机等。在所描绘的示例中,服务器104向客户端110、112和114提供诸如引导文件、操作系统映 像和应用之类的数据。在所描绘的示例中,客户端110、112和114是服务器104的客户端。分布式 数据处理系统100可以包括附加的服务器、客户端和未示出的其他设备。
在所描绘的示例中,分布式数据处理系统100是具有网络102的互联网,网络102表示使用传输 控制协议/互联网协议(TCP/IP)协议组来彼此通信的网络和网关的全球集合。互联网的核心是主节 点或主计算机之间的高速数据通信线路的主干,由数千个路由数据和消息的商业、政府、教育和其他 计算机系统组成。当然,分布式数据处理系统100还可被实现为包括多个不同类型的网络,诸如例如 内联网、局域网(LAN)、广域网(WAN)等。如上所述,图1意图是示例,而不是作为对公开的主题 的不同实施例的架构限制,并且因此,在图1中示出的特定元件不应当被认为是关于其中可以实现本 发明的说明性实施例的环境的限制。
现在参考图2,示出了可以实现说明性实施例的各方面的示例性数据处理系统的框图。数据处理 系统200是计算机(诸如图1中的客户端110)的示例,实施本公开的说明性实施例的处理的计算机 可用代码或指令可以位于其中。
现在参考图2,示出了可以实现说明性实施例的数据处理系统的框图。数据处理系统200是计算 机(诸如图1中的服务器104或客户端110)的示例,对于说明性实施例,实施过程的计算机可用程 序代码或指令可以位于其中。在这个说明性的示例中,数据处理系统200包括通信结构202,其提供 处理器单元204、存储器206、永久性存储器208、通信单元210、输入/输出(I/O)单元212和显示 器214之间的通信。
处理器单元204用于执行可以被加载到存储器206中的软件的指令。处理器单元204可以是一个 或多个处理器的集合,或者可以是多处理器核心,这取决于特定的实施方式。进一步,处理器单元204 可以使用一个或多个异构处理器系统来实现,在所述异构处理器系统中,主处理器与次级处理器存在 于单个芯片上。作为另一说明性实例,处理器单元204可为包含多个相同类型的处理器的对称多处理 器(SMP)系统。
存储器206和永久性存储器208是存储设备的示例。存储设备是能够临时地和/或永久地存储信 息的任何硬件。在这些示例中,存储器206可以是例如随机存取存储器或任何其他合适的易失性或非 易失性存储设备。永久性存储器208可以采取各种形式,这取决于特定的实施方式。例如,永久存储 器208可包含一个或多个组件或装置。例如,永久存储器208可以是硬盘驱动器、闪存、可重写光盘、 可重写磁带或上述的一些组合。由永久存储器208使用的介质也可以是可移动的。例如,可移动硬盘 驱动器可以用于永久性存储器208。
在这些示例中,通信单元210提供与其他数据处理系统或设备的通信。在这些示例中,通信单元 210是网络接口卡。通信单元210可通过使用物理和无线通信链路中的任一者或两者提供通信。
输入/输出单元212允许与可以连接到数据处理系统200的其他设备进行数据的输入和输出。例 如,输入/输出单元212可以为通过键盘和鼠标的用户输入提供连接。此外,输入/输出单元212可以 将输出发送到打印机。显示器214提供向用户显示信息的机制。
用于操作系统和应用或程序的指令位于永久存储器208上。这些指令可被加载到存储器206中以 供处理器单元204执行。处理器单元204可以使用计算机实施的指令来执行不同实施例的过程,这些 指令可以位于存储器(例如存储器206)中。这些指令被称为可以由处理器单元204中的处理器读取 和执行的程序代码、计算机可用程序代码或计算机可读程序代码。不同实施例中的程序代码可实施在 不同的物理或有形计算机可读介质上,诸如存储器206或永久性存储器208。
程序代码216以功能形式位于选择性可移除的计算机可读介质218上,并且可被加载到或转移到 数据处理系统200以供处理器单元204执行。在这些示例中,程序代码216和计算机可读介质218形 成计算机程序产品220。在一个示例中,计算机可读介质218可以是有形形式,诸如,插入或放置在 驱动器或作为永久性存储器208的一部分的其他设备中的光盘或磁盘,用于转移到存储设备上,诸如, 作为永久性存储器208的一部分的硬盘驱动器。在有形形式中,计算机可读介质218还可以采取永久 性存储器的形式,诸如连接到数据处理系统200的硬盘驱动器、拇指驱动器或闪存。计算机可读介质 218的有形形式也被称为计算机可记录存储介质。在一些实例中,计算机可读介质218可能不是可移 除的。
可替代地,程序代码216可以通过到通信单元210的通信链路和/或通过到输入/输出单元212的 连接从计算机可读介质218传输到数据处理系统200。在说明性实例中,通信链路和/或连接可以是物 理或无线的。计算机可读介质还可采取非有形介质的形式,诸如包含程序代码的通信链路或无线传输。 为数据处理系统200示出的不同组件不意味着对可以实现不同实施例的方式提供架构限制。不同的说 明性实施例可以在包括除了或代替为数据处理系统200示出的那些组件的组件的数据处理系统中实现。 图2所示的其它组件可以不同于所示的说明性示例。作为一个示例,数据处理系统200中的存储设备 是可以存储数据的任何硬件装置。存储器206、永久性存储器208以及计算机可读介质218是有形形 式的存储设备的实例。
在另一示例中,总线系统可用于实现通信结构202,并且可包括一个或多个总线,诸如系统总线 或输入/输出总线。当然,可以使用在附接到总线系统的不同组件或设备之间提供数据传送的任何合 适类型的架构来实现总线系统。此外,通信单元可包括用于发送和接收数据的一个或多个设备,诸如 调制解调器或网络适配器。进一步,存储器可以是例如存储器206或诸如在可能存在于通信结构202 中的接口和存储器控制器集线器中发现的高速缓存。
能够以一种或多种程序设计语言的任意组合来编写用于执行本发明的操作的计算机程序代码,所 述程序设计语言包括面向对象的程序设计语言一诸如JavaTM、Smalltalk、C++等,还包括常规的过程 式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、 部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行、或 者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局 域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服 务提供商通过互联网)。
本领域普通技术人员将理解,图1-2中的硬件可以取决于实现方式而变化。除了或代替在图1-2 中描述的硬件,可以使用其他内部硬件或外围设备,诸如闪存、等效非易失性存储器或光盘驱动器等。 此外,说明性实施例的过程在脱离公开的主题的精神和范围的情况下,可应用于不是前述SMP系统的 多处理器数据处理系统,而不。
如将看到的,本文所述的技术可在诸如图1所示的标准客户端-服务器范例内协同操作,其中客 户端机器与在一个或多个机器组上执行的互联网可访问的基于网络的门户通信。终端用户操作能够访 问门户并与门户交互的互联网可连接设备(例如,台式计算机、笔记本计算机、启用互联网的移动设 备等)。通常,每个客户端或服务器机器是诸如图2所示的包括硬件和软件的数据处理系统,并且这 些实体通过诸如互联网、内联网、外联网、专用网络或任何其他通信介质或链路的网络彼此通信。数 据处理系统通常包括一个或多个处理器、操作系统、一个或多个应用和一个或多个实用程序。数据处 理系统上的应用提供对Web服务的本地支持,包括但不限于对HTTP、SOAP、XML、WSDL、UDDI和WSFL 等的支持。关于SOAP、WSDL、UDDI和WSFL的信息可从负责开发和维护这些标准的全球网联盟(W3C) 获得;关于HTTP和XML的进一步信息可从互联网工程任务组(IETF)获得。假定熟悉这些标准。
数据处理系统上的应用还可以使用对非标准协议的本地支持,或者开发为在TCP/IP网络上工作 的私有协议。
云计算模型
如上所述,本公开的分布式机器学习技术优选地利用位于云计算环境中的计算元件。由此,提供 了关于云计算的以下附加背景。
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、 网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可 以以最小的管理努力或与服务的提供商的交互来快速供应和释放。这个云模型可以包括至少五个特征、 至少三个服务模型和至少四个部署模型,所有这些都更具体地在2011年9月的Peter Mell和Tim Grance的“The NIST Definition of CloudComputing”中描述和定义。
具体地,以下是典型的特征:
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存 储,而不需要与服务的提供者的人类交互。
广泛的网络接入:可通过网络获得能力并且通过标准机制接入,该标准机制促进异构瘦客户机平 台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚 拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的 资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、省或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。 对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个 抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的 服务的提供者和消费者提供透明度。
服务模型通常如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过 诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消 费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可 能的例外是有限的用户特定应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程 语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存 储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运 行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基 础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙) 的可能受限的控制。
部署模型通常如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所 外。
社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规 性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通 过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块性和语义互操作性。云计算的核心是包 括互连节点网络的基础设施。代表性的云计算节点如以上图2所示。具体地,在云计算节点中,存在 计算机系统/服务器,其可与许多其他通用或专用计算系统环境或配置一起操作。适于与计算机系统/ 服务器一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务 器计算机系统、瘦客户机、厚客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、 机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统和包括以上系统或设备中 的任一个的分布式云计算环境等。计算机系统/服务器可以在由计算机系统执行的诸如程序模块之类 的计算机系统可执行指令的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定 抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器可以在分布式云 计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序 模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
在典型的云计算环境中,并且如图3所示,提供一组功能抽象层。这些包括硬件和软件层、虚拟 化层、管理层和工作负荷层。
硬件和软件层300包括硬件和软件组件。硬件组件的实例包括大型机,在一个示例中为
Figure BDA0003647105060000081
系统;基于RISC(精简指令集计算机)架构的服务器,在一个示例中为IBM
Figure BDA0003647105060000082
系统;IBM
Figure BDA0003647105060000083
系统;IBM
Figure BDA0003647105060000084
系统;存储装置;网络和网络组件。软件组件的示例包 括网络应用服务器软件,在一个示例中为IBM
Figure BDA0003647105060000091
应用服务器软件;以及数据库软件,在一个 示例中为IBM
Figure BDA0003647105060000092
数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere和DB2 是在全球许多司法辖区中注册的国际商业机器公司的商标)
虚拟化层302提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器;虚拟存储; 虚拟网络,包括虚拟专用网络;虚拟应用和操作系统;以及虚拟客户端。
管理层304提供各种管理功能。例如,资源供应提供用于在云计算环境内执行任务的计算资源和 其他资源的动态采购。计量和定价在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开 账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份 验证,以及为数据和其他资源提供保护。用户门户为消费者和系统管理员提供对云计算环境的访问。 服务水平管理提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和 履行提供云计算资源的预安排和采购,根据该SLA预期该云计算资源的未来要求。
工作负载层306提供云计算环境被利用的功能。可以从该层提供的工作负荷和功能的示例包括: 映射和导航;软件开发和生命周期管理;虚拟教室教育递送;数据分析处理;事务处理;私有云中的 企业特定功能;以及根据本公开,分布式机器学习308。
因此,代表性云计算环境具有一组高级功能组件,其包括前端身份管理器、业务支持服务(BSS) 功能组件、操作支持服务(OSS)功能组件和计算云组件。身份管理器负责与请求客户端交互以提供 身份管理,并且该组件可以用一个或多个已知系统来实现,诸如可从纽约Armonk的IBM公司获得的 Tivoli联合身份管理器(TFIM)。在适当的情况下,TFIM可以用于向其他云组件提供联合单登录(F-SSO)。 业务支持服务组件提供某些管理功能,例如计费支持。操作支持服务组件被用于提供对其他云组件(诸 如虚拟机(VM)实例)的供应和管理。虚拟机是安装在软件上、但模仿硬件机器的操作系统或应用环 境。云组件表示主计算资源,所述主计算资源通常是用于执行目标应用的多个虚拟机实例,所述目标 应用可用于经由云访问。一个或多个数据库用于存储目录、日志和其他工作数据。所有这些部件(包括前端身份管理器)位于云“内”,但这不是必需的。在替代实施例中,可以在云外部操作身份管理 器。服务提供者也可以在云外部操作。
一些云基于非传统IP网络。由此,例如,云可以基于双层基于CLOS的网络,该网络具有使用MAC 地址的散列的特殊单层IP路由。本文描述的技术可在这样的非传统云中使用。
一般来讲,云计算基础设施提供包括经由网络连接的主机(例如,服务器或类似物理机计算设备) 和一个或多个管理服务器的虚拟机托管环境。通常,每个物理服务器适于使用诸如VMware ESX/ESXi 的虚拟化技术来动态地提供一个或多个虚拟机。多个VM可被放置到单个主机中并共享主机的CPU、存 储器和其他资源,从而增加组织的数据中心的利用。除了其他任务之外,管理服务器监视基础结构并 根据需要自动操纵VM放置,例如通过在主机之间移动虚拟机。
在非限制性实现方式中,代表性平台技术是但不限于具有VMware vSphere4.1Update 1和5.0 的IBM System
Figure BDA0003647105060000101
服务器。
联合学习和威胁模型
图4中描述了分布式机器学习的已知方法。该系统包括融合(聚合)服务器400,以及N个数据 所有者或代理402,在本文中有时称为学习代理。在该实施例中,每个学习代理能够访问本地数据集 d_i(通常由标记的样本组成),并且想要训练相同的机器学习或神经网络模型。每个代理具有其自己 的希望保护的数据集,且不能与其他代理或聚合服务器共享。在典型的操作中,可以如下执行分布式 学习过程。在步骤(1),每个代理402联系聚合服务器400以获得用于训练的超参数。在机器学习中, 超参数是其值在学习过程开始之前被设置的参数;相反,其他参数的值经由训练导出。每个代理402 训练相同类型的神经网络。在代表性实例中,与代理相关联的模型然后通过由几个参数组成的参数向 量A=[p1…pk]表征。系统中存在多个代理,其中Ai是由代理i给出的参数向量。在步骤(2),第i个 代理在其本地数据集d_i上训练模型,并且这种训练通常通过采用小批量来完成,该小批量是总体训 练数据的小子集,并且在这样做时,第i个代理计算其参数向量Ai。在步骤(3),每个代理402将所 得到的参数发送到聚合服务器400,聚合服务器400然后融合(通常通过计算向量的平均值或加权平 均值)向量中的每个参数。该平均值可以对于不同的代理使用不同的优先级(权重m);例如,如果代 理i得到权重mi,则由聚合服务器计算的平均参数向量是ΣimiAii mi。在步骤(4),聚合服务器400 将平均参数向量发布回代理402。然后,对于给定数量的迭代,重复步骤(2)-(3),直到学习被认 为完成。
已经显示,上述过程导致如果所有数据在单个位置处被收集并且用于至少针对加法的损耗函数 (即,指示符损失函数(例如,交叉熵损失、基于范数的损失、二进制交叉熵等))训练该模型则将 创建的相同模型。然而,该方法具有以下挑战:其向聚合服务器揭示了模型,聚合服务器通常是云托 管的服务,其有可能不被可能本身不位于云中的数据所有者/代理信任。如下面将描述的,本公开的 多层安全技术解决了该问题。
通过进一步的背景,联合学习出现之后的关键驱动是需要解决集中式训练的隐私风险和约束,其 中训练数据必须从所有各方收集并且汇集到中央服务器用于训练。在FL中,训练数据在每个参与者 的本地设备中保持分散。参与者(或各方)必须同意模型架构并维护本地训练流水线。不是向中央服 务器提供原始训练数据,如图4所示,而是每一方利用其私人训练数据来训练本地模型并将模型更新 上传到中央服务器。通常,聚合器还负责管理各方、编排训练任务和合并模型更新。聚合的模型更新 被分派给各方,以便(通常)在每次训练迭代之后同步它们的本地模型。
下文提供关于在联合学习分布式设置中训练DNN的进一步的附加背景。将θ表示为模型参数并且 将L表示为损耗函数。每一方具有其自己的训练数据/标签对(xi,yi)。各方可以选择向聚合器共享针对 数据批的梯度
Figure BDA0003647105060000111
聚合器计算所有各方的梯度总和,并且使各方在本地同步他们的模型参数:
Figure BDA0003647105060000112
该融合算法被称为FedSGD。可替代地,各方还可本地训练若干时期并将 模型参数:
Figure BDA0003647105060000113
上传到聚合器。该聚合器可以计算模型参数的加权平均值
Figure BDA0003647105060000114
Figure BDA0003647105060000115
其中ni是i方上的训练数据的大小并且n是所有ni的总和。然后,聚合器将聚合的模型参数 发送回各方以用于同步。该模型平均融合算法被称为FedAvg。如果在单个FL训练轮次中仅训练一批 数据并且使模型参数同步,则FedAvg和FedSGD是等同的,因为梯度可以从两个连续模型参数上传的 差来计算。由于FedAvg允许各方在同步更新之前批处理多个SGD迭代,因此隐私攻击得以成功将更 具挑战性,因为模型参数随着输注的更多数据而被掩盖。
FedSGD算法和FedAvg算法仅涉及双射求和和平均操作。简单地说,如果模型被表示为阵列,则 这些融合算法在各方之间执行坐标式融合。也就是说,他们将来自P1方的模型M1在索引i下的参数 与P2方的模型M2在同一索引i下的参数相加或平均-跨各方的在给定索引i下的参数可以在没有任 何其他索引的那些知识的情况下融合。由此,能够将整个模型更新分割成多个片段,将它们部署到多 个服务器,并且独立地执行相同的融合算法。此外,参数或梯度也可以在聚集之前被混洗,只要所有 方执行相同的置换。对于FL隐私攻击,模型更新的完整性和数据排序对于重建训练数据的优化过程 是关键的。缺少任一导致重建失败。如将描述的,本文中的技术不具有这样的限制,因为仅需要各方 可反转本地侧处的分割和排列。
通常,联合学习可以用于跨设备和跨筒仓情境。通常,跨设备FL训练涉及作为客户端的大量移 动设备或物联网(IoT)设备。客户非常不可靠。这些装置可能频繁地联结和下线,并且它们由于经 常由电池供电而具有能源上的局限。然而,跨筒仓FL训练通常涉及一起共享协作学习模型激励的固 定数量的组织。它们可以提供可靠的本地训练设施。因此,聚合器可以维护具有它们的唯一ID的各 方状态和地址方。跨筒仓训练更注重对数据保密性要求严格的数据隐私。如还将看到的,本文中的方 法解决了FL交叉筒仓训练中的问题,但它也可适用于交叉装置域。
本文中的威胁模型假定了诚实但好奇的聚合服务器。假设FL训练过程中涉及的所有方是良性的, 但不倾向于彼此共享训练数据。对手尝试检查从各方上传的模型更新。其目的是重构参与FL训练的 各方的训练数据。该威胁模型与FL隐私攻击中的相同。进一步,假设FL中涉及的各方信任片上系统 (SoC)硬件和保持模型聚合工作负载的EVM。
系统设计
以下详述了本公开的联合学习框架的代表性设计并且描述了该方法如何有效地减轻用于FL隐私 攻击的信息泄漏信道。如上所述,框架优选地利用多层安全方法,该多层安全方法包括(1)可信聚 合、(2)分散聚合和(3)动态置换。第一聚合技术优选地经由具有运行时存储器加密的远程可证明 的加密虚拟机(例如,
Figure BDA0003647105060000124
)实现机密和值得信任的聚合。在本示例实施例中使用的安全加密 虚拟(SEV)是由AMD在2016年引入的计算技术。其目的是保护公共云环境中的安全敏感工作负荷。 SEV依赖于AMD安全存储器加密(SME)以实现运行时存储器加密。结合AMD虚拟化(AMD-V)架构, SEV可以实施客户VM和管理程序之间的密码隔离。因此,SEV可以防止更高权限的系统管理员(例如, 在管理程序级)访问加密虚拟机域内的数据。当启用SEV时,SEV硬件用地址空间标识符(ASID)标 记VM的所有代码和数据,地址空间标识符与被称为VM加密密钥(VEK)的不同短暂高级加密标准(AES) 密钥相关联。密钥由AMD SP管理,AMDSP是集成在AMD SoC中的32位ARM Cortex-A5微控制器。运 行时存储器加密经由管芯上存储器控制器来执行。每个存储器控制器具有AES引擎,该AES引擎在数 据被写到主存储器或者被读到SoC中时加密/解密数据。对存储器页加密的控制经由页表进行。物理 地址位47(又名C位)用于标记存储器页是否被加密。类似于其他TEE,SEV还提供用于认证硬件平 台和认证待启动的客户VM的远程认证机制。利用由AMD和平台拥有者签名的身份密钥来证明平台的 真实性。在供应任何秘密之前,客户VM所有者验证启用SIM的硬件的真实性和UEFI固件的测量,以 帮助启动加密的虚拟机。
图5描绘了机密聚合的一般概念。假设在云中存在隔离且独立的可信执行环境(其中的一个在500 处示出),诸如以上图3描述的云执行环境。诸如TEE500的TEE允许用户在CPU封装具有信任的情况 下将其计算外包到第三方云服务器。代表性TEE技术包括例如
Figure BDA0003647105060000121
SGX(软件防护扩展)/TDX(信 任域扩展)、
Figure BDA0003647105060000122
SEV(如上所述)、
Figure BDA0003647105060000123
PEF(受保护的执行设施)、ARM TrustZone等。TEE对于协 作ML计算特别有吸引力,其中协作ML计算可能涉及大量隐私敏感训练数据、多个分发方以及更严格 的数据保护是规则。在此,并且如将描述的,TEE 500充当用于将聚合器执行实体与促进联合学习的 其他的执行实体隔离的可信媒介。
如图5所示,TEE 500与用于打包和部署的基于操作系统的容器机制(例如,开源容器,诸如Kata 容器)相关联,并且其执行隔离的虚拟机。具体地,TEE 500在由运行时存储器加密(诸如SEV)506 支持的经加密的虚拟机(EVM)504内运行聚合器502。在TEE内执行聚合器减轻了存储器损坏攻击。 聚合器502是包括图4中描绘的单个聚合器一起的一组分散聚合器中的一个。每个聚合器(诸如聚合 器502)在EVM504内执行,并且EVM存储器由不同的暂时虚拟机加密密钥(VEK)保护。以这种方式, 还保护模型聚合计算的机密性免受未授权用户(例如,系统管理员)和在托管服务器上运行的特许软 件(诸如管理程序或OS)的影响。如将描述的,联合学习的各方508在参与训练之前远程地认证真正 的SEV硬件/固件并且建立用于交换模型更新的端到端安全信道。具体地,由证明服务器505促进的 远程证明用于提供聚合器的硬件认证和加载时间完整性检查。还如所描绘的,每一方508具有数据和 其自身的机器学习(ML)基础设施510,并且通常通过交换属性(例如,模型梯度)来协作。
上述内容作为背景,以下提供了用于本公开的联合学习框架的代表性部署示例的更详细的描述。
用于联合学习框架的代表性部署示例在图6中示出。在该实例中,存在参与联合学习的四(4) 方600(编号为1至4),并且聚合机制被分散到三(3)个聚合器执行实体602(编号为聚合器1至3) 中。每个聚合器执行实体602在TEE 604内执行,并且因此存在三个TEE(编号TEE 1至3)。类似于 传统的联合学习,在本文的方法中,每一方600需要向聚合器602注册以参与训练。每一方需要在注 册之前例如经由远程证明来验证TEE平台。一个聚合器执行实体首先通过通知所有方来发起训练过程。 在训练阶段期间,聚合器参与与所有各方的多个训练迭代。在每次训练迭代时,每一方首先通过从聚 合器下载最新的模型更新来同步本地模型,然后使用本地训练数据来产生新的模型更新,并且将其上 传到聚合器。聚合器合并来自所有方的模型更新并将聚合版本派遣回所有方。一旦满足预定训练标准, 例如,FL训练达到训练迭代的指定次数,或者一旦满足本地模型精度要求,各方可决定退出FL训练,则全局训练结束。与传统FL不同,部署涉及在TEE 604内运行的多个聚合器602,而不是如图4所示 的单个中央聚合器。在该系统中,聚合器602需要彼此通信以用于训练同步。此外,还部署负责证实 聚合器的工作负载和供应秘密的证明服务器606,如现在将描述的。
可信聚合
如前所述,在各方和聚集器之间交换的模型更新可以包含用于反向工程私有训练数据的基本信息。 以下技术用于消除对手在传送中以及还在使用中拦截和检查模型更新的通道。在此设计中,优选地, 经由诸如(但不限于)SEV的机制来强制执行用于FL聚合的密码隔离。如在图5中所指出的,这些聚 合器在EVM内执行,并且每个EVM的存储器用不同的短暂VEK来保护。在图6所示的实施例中,在聚 合器602和各方600之间建立信任被划分成两个阶段:
阶段I:发射可信聚集器
首先,利用在其中运行的聚合器安全地启动SIM EVM。为了建立EVM的信任,提供证明以证明(1) 平台是提供所需安全属性的真实安全(例如,AMD SEV启用)硬件,以及(2)用于发起EVM的统一可 扩展固件图像(UEFI)未被篡改。一旦完成了远程证明,则优选地将秘密作为可信赖的聚合器的唯一 标识符提供给EVM。该秘密被注入到EVM的经加密的物理存储器中并在以下描述的阶段II被用于聚合 器认证。在图6中,步骤(1)示出了促进远程证明的证明服务器606。为此,EVM所有者指示服务提 供商(例如,
Figure BDA0003647105060000141
SP)将证书链例如从平台迪菲-赫尔曼公钥(PDH)向下导出到根(例如,AMD根密 钥(ARK))。该证书链可以通过根证书来验证。此外,优选地,UEFI映像的摘要、SIM API版本、以 及VM部署策略也与证书链一起被包括在证明报告中。
认证报告被发送到认证服务器606,其被提供有根证书以验证证书链来认证硬件平台。此后,证 明服务器606生成发起blob和客户所有者Diffie-Hellman公钥(GODH)证书。这些被发送回聚合服 务器606,用于通过Diffie-Hellman密钥交换(DHKE)协商传输加密密钥(TEK)和传输完整性密钥 (TIK)并且启动EVM。UEFI测量可以通过SP通过在启动时间暂停EVM来检索。这个测量被发送至证 明服务器606以证明UEFI启动过程的完整性。只有在此之后,证明服务器606才生成封装秘密,该 封装秘密优选地包括ECDSA prime251v1密钥。管理程序(未示出)将该秘密注入到EVM的物理存储 器空间中作为可信聚合器的唯一标识符并且继续启动过程。用于该秘密的注入过程优选地遵循远程证 明协议,诸如第一代SEV远程证明协议。可以实现其他远程证实协议,例如即将到来的SIM-SNP,进 一步增强启动过程的完整性。
阶段II:聚合器认证
参与FL的各方必须确保它们与具有运行时存储器加密保护的可信聚集器进行交互。为了实现聚 合器认证,并且如上所述,在阶段I,证明服务器606在EVM部署期间将ECDSA私钥配置为秘密。该 密钥用于对质询请求进行签名,并因此用于识别合法的聚合器。在图6的步骤(2)中,在参与FL之 前,一方首先通过参与挑战请求协议来证实聚合器。为此,一方600向聚合器602发送随机生成的数。 聚合器602使用其对应的ECDSA私有密钥对随机数进行数字签名,并且然后将经签名的随机数返回给 请求方。该方验证随机数是用相应的ECDSA公钥签名的。如果验证成功,则一方600继续向聚合器602 注册以参与FL。此外,优选地,提供安全信道以保护在聚合器之间以及在聚合器和各方之间的通信用 于更新模型参数。可以使用传输层安全(TLS)来实现安全信道以支持一方与聚集器之间的相互认证。 以这种方式,所有交换的模型更新在使用和传输中都受到保护。
具有模型分割的分散聚合
虽然启用可信聚集提供了显著的优点,但是只有它可能不是足够的,因为不能保证TEE是全能的 并且将不存在未来的安全漏洞。因此,具有模型分割的分散式聚合的第二安全层增强了系统的弹性, 以确保即使TEE被数据泄漏破坏,对手仍然不能从模型更新中重构训练数据。现在再次关于图6中所 示的代表性实现方式详细描述本公开的上述方面。
如先前所解释的,每个聚合器602在EVM内运行并且仅负责模型更新的一部分。在图6中,建立 三个(3)聚合器,并且如上所述,每个参与方分别向所有聚合器认证和注册。在该示例中,如下实 现分散聚合。
聚合器间训练同步。在聚合器之间维持通信信道以用于训练同步,例如,步骤(3)。聚合器602 中的任何一个可以开始训练迭代,并且缺省变成发起者节点。所有其他聚合器变成跟随器节点并且等 待来自发起器的命令。在每次训练迭代时,发起者首先问询所有各方以开始本地训练并检索模型更新 以供融合。此后,发起者通知所有跟随者节点拉取它们对应的模型更新,将它们聚合在一起,并且将 聚合的更新分发回各方。
分散聚集确实增加了用于在聚集点处非法获得模型信息的成本。聚合器不再保持模型架构信息; 它们只看到数字向量。此外,即使错过非常小部分的模型更新也可以完全使得数据重构攻击无效。因 此,这种保护方案需要所有TEE保护的聚合器的折衷以获得完整的模型更新集合。
虽然所有TEE保护的聚合器的折衷是非常困难的,但是以下描述可以被实现以进一步保护联合学 习免受信息泄漏或其他折衷的第三安全层、动态置换。
动态置换
为此,并且为了进一步使从各方传输到聚合器的信息模糊,优选地部署动态置换方案以优选地在 每次训练迭代(或某个其他定义的周期)时混洗经分割的模型更新。如上所述,动态置换方案基于以 下洞察:模型更新中的参数顺序与融合算法无关,而它们对于FL隐私攻击中使用的数据重构算法是 至关重要的。随着该数据次序被混淆,对手生成重构的训练数据是不可行的,即使它们获得整个模型 更新。
随机模型分割
在图7中描绘了模型划分和动态置换,并且相对于那里描绘的三个(3)聚合器。具体地,聚合 器702(聚合器1至3)对应于图6中的聚合器602。在训练开始之前,为每个待训练的DNN模型随机 生成聚合器映射器710(数据结构)。各方为每个聚合器选择模型参数的比例,尽管这可以被设置为默 认。此外,本地各方必须允许映射器710,并且因此该映射器710被参与FL训练的所有方共享。在图 7中,第一方具有训练的本地模型712。如图7中所示,并且使用映射器710,本地模型712的k参数 被映射到三个聚合器,即,如所示的聚合器{1-3},其中描绘的阴影和交叉阴影表示模型内的每个参 数的聚合器属性。如还示出的,模型更新针对不同的聚合器被拆卸和重新布置(图6中的步骤(4)) 以生成混洗的分区。然后,混洗的分区被上传到相应的聚合器,并且执行融合以生成聚合的分区。在 各方从不同的聚合器接收到经聚合的模型更新之后,他们将经聚合的模型更新反向混洗到正确的次序。 然后,再次查询同一映射器710,以将模型更新合并至本地模型内的原始位置(图6中的步骤(5))。在图7中,仅描绘了一个本地模型(训练然后合并),但各方均具有其自身的这种本地模型构造。
优选地,该动态置换方案在每次训练迭代时混洗经分割的模型更新。每个置换播种有在所有部分 间达成一致的秘密(例如,经由可信媒介分发)和动态生成的训练迭代ID。因此,优选地,置换在每 个训练迭代之间变化,但是对所有各方是相同的。换言之,本文中的方法优选地在每一训练迭代处用 确定性置换来动态地混洗模型更新。聚合器(即聚合器执行实体)合并模型更新,各方负责恢复聚合 模型更新的顺序。该方法通过动态地混洗上传的模型参数的顺序来缓解数据泄漏攻击。以此方式,除 了其他益处之外,该方法使得对本地训练数据的隐私保护在联合学习中更有效。
因此,根据这个方面,优选地,由一方生成的整个模型更新被分割成多个片段(分区),其中, 分区被部署到独立执行相同融合算法的多个服务器(聚合执行实体)。进一步,参数或梯度(或,更 一般地,元素)也在聚集之前被本地地混洗(即,置换),只要所有各方执行相同的置换。只需要各 方可以反向本地端的分割和置换。本地模型更新分割和置换可以周期性地执行,例如在每次训练迭代 时或者在某个其他定义的周期;在替代方案中,更新分割和置换异步发生。
将整个本地模型分割成分区以及每个分区内的一个或多个元素的置换发生在每个建模迭代处。所 有分区应用相同的分区或不相同的分区。此外,分割和/或置换策略可以应用于集中式聚合器(聚合 实体的数目等于1的情况);在这样的情况下,没有分区,但是在模型更新中存在权重的置换。
一般地,如上所述的动态置换方案促进联合学习中的聚合模糊。联合学习(或者更一般地,参与 联合学习的多个系统中的第一系统)的一方确定应当传送更新向量(或者更一般地,更新)以用于融 合。然后应用混淆算法来混淆更新向量以生成混淆的更新向量。由每一方共享的秘密可以用于该目的, 并且联合学习的每一方使用相同的共享秘密来本地地应用混淆算法。如通过图7中的实例解释的,优 选的混淆算法交换更新向量的元素顺序以产生混淆的更新向量。如本文所用,交换元素顺序的概念与 混洗或置换同义。经模糊的更新向量接着被发送到每个聚合器执行实体(当使用多个这样的实体来创 建机器学习模型时)。可以在每个训练迭代以不同的元素排序来执行更新。虽然改组更新向量元素顺 序是用于模糊的优选技术,但是可以使用其他模糊算法。
在此描述的技术提供了显著的优点。如本领域技术人员将认识到的,该方法在联合学习中保护并 屏蔽聚合免受反向工程攻击,同时保持低开销并且支持许多不同的深度学习模型和框架。此外,本文 的技术提供多个结构和随机化模型划分机制以分解所交换的模型参数。由此,即使聚合器的子集被损 害,仍然可以阻止对手重建训练数据信息。进一步,本文的技术使得学习参与者能够认证可信硬件平 台并且证明经受联合学习的工作负荷,因此进一步确保在缺乏端到端密码保护的情况下不暴露和传输 敏感数据。与传统FL训练相比,本文中的技术不影响最终模型准确性和收敛速率。同时,该方法显 著地最小化非必要的一方到聚集器信息暴露,这对于进行FL隐私攻击是至关重要的。
如上所述,本文的方法利用联合学习融合算法的独特算术属性,并且提供架构和协议增强以减少 潜在的信息泄漏信道。所描述的联合学习系统优选地采用三层安全策略,即,机密和可信聚合、分散 模型分割以及模型更新的动态置换。实现这些安全策略的联合学习系统免于训练数据重构攻击。
进一步,尽管优选地一起使用三种技术,但这不是必需的。由此,实现本公开的技术的联合学习 框架可以受益于以下技术和策略中的一个或多个。第一策略通过利用机密计算技术来实现值得信任的 和远程证明的模型聚合。第二策略涉及将单个聚合器分散至多个独立执行实体,优选地,每个执行实 体仅具有模型更新的片段视图并且不知晓模型架构。第三策略提供在每个训练迭代处对经分割的模型 更新的随机化和动态置换的支持,以使数据重建算法不可行。通过实施所有三层安全策略,并且如上 所述,系统中和了现有技术中的联合学习隐私攻击,并且在现实世界部署中表现出低性能开销。
还存在另外的优点。一种是分布式学习方法不需要生成辅助输入,并且训练参与者在联合学习过 程中仅共享模糊化模型参数的子集。可信执行环境保护在传输和聚合中更新数据的模型的机密性。进 一步,该方法防止恶意或受损的聚合服务器重建联合学习参与者的训练数据。该方法防止(i)诚实 但好奇的聚合器和(ii)恶意或受损的聚合器两者从模型更新重构私有训练数据。另一个优点是相同 的方法可以用于不同的FL任务并且可以实现与基线相同水平的训练表现。
上述技术可以使用能够以所描述方式分布的任何机器学习算法或计算来实现。
该主题可全部或部分地实现为服务。概括地,用于联合学习功能的可信和分散聚合可以作为独立 功能提供,或者它可以利用来自其他基于ML的产品和服务的功能。例如,本文的安全技术可以利用 已知的服务和解决方案,诸如用于联合学习(FFL)的IBM框架,以支持所描述的可信聚合、具有模 型分割的分散式多聚合器以及动态模型更新置换。优选地,聚合器应用被容器化以便于其部署,尽管 这不是必需的。可以采用Kata容器来在轻量VM内部部署聚合器容器。因此,并且如已描述的,优选 地,每个聚合器容器在SEV保护的EVM(或等效物)中运行。为了提供TEE安全功能,并且在该示范 性但非限制性实施例中,使用运行固件SEV API的AMD EPYC 7642(Rome)微处理器。
上述功能全部或部分可以被实现为独立方法,例如,由硬件处理器执行的基于软件的功能,或者 它可以作为管理服务(包括作为经由SOAP/XML接口的web服务)可用。本文描述的特定硬件和软件 实现细节仅用于说明性目的并不旨在限制所描述的主题的范围。
更一般地,所公开主题的上下文中的计算设备均是包括硬件和软件的数据处理系统(诸如图2中 所示),并且这些实体通过诸如互联网、内联网、外联网、专用网络或任何其他通信介质或链路的网 络彼此通信。数据处理系统上的应用提供对Web和其他已知服务和协议的本机支持,包括但不限于对 HTTP、FTP、SMTP、SOAP、XML、WSDL、UDDI和WSFL等的支持。关于SOAP、WSDL、UDDI和WSFL的信 息可从负责开发和维护这些标准的万维网联盟(W3C)获得;关于HTTP、FTP、SMTP和XML的进一步 信息可从互联网工程任务组(IETF)获得。假定熟悉这些已知的标准和协议。
本文描述的方案可以在包括简单n层架构、安全系统、web门户、联合系统等的不同服务器侧架 构中或者结合不同服务器侧架构来实现。如还注意到的,在此的技术可以在松散耦合的服务器(包括 基于“云”)环境中实践,如结合图3所描述。
更一般地,本文描述的主题可以采取完全硬件实施例、完全软件实施例或包含硬件和软件元素两 者的实施例的形式。在优选实施例中,该功能在软件中实现,该软件包括但不限于固件、常驻软件、 微代码等。此外,如上所述,基于标识上下文的访问控制功能可以采取可从计算机可用或计算机可读 介质访问的计算机程序产品的形式,该计算机可用或计算机可读介质提供用于由计算机或任何指令执 行系统使用或者与计算机或任何指令执行系统结合使用的程序代码。为了本描述的目的,计算机可用 或计算机可读介质可以是可包含或存储供指令执行系统、装置或设备使用或与指令执行系统、装置或 设备结合使用的程序的任何装置。该介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装 置或设备)。计算机可读介质的示例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前实例包括致密盘-只读存储器(CD-ROM)、 致密盘-读/写(CD-R/W)和DVD。计算机可读介质是有形物品。
计算机程序产品可以是具有用于实现所描述的功能中的一个或多个的程序指令(或程序代码)的 产品。那些指令或代码可在通过网络从远程数据处理系统下载之后存储在数据处理系统中的计算机可 读存储介质中。或者,这些指令或代码可存储在服务器数据处理系统中的计算机可读存储介质中,且 适于经由网络下载到远程数据处理系统以供在远程系统内的计算机可读存储媒体中使用。
在代表性实施例中,融合服务器和每个代理在专用计算机中实现,优选地在由一个或多个处理器 执行的软件中实现。软件被维护在与一个或多个处理器相关联的一个或多个数据存储或存储器中,并 且软件可以被实现为一个或多个计算机程序。总的来说,该专用硬件和软件包括上述功能。
虽然以上描述了由本发明的某些实施例执行的操作的特定顺序,但应理解,这样的顺序是示范性 的,因为替代实施例可以不同顺序执行操作、组合某些操作、重叠某些操作等。说明书中对给定实施 例的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以不必包括该特定 特征、结构或特性。
最后,虽然已经单独地描述了系统的给定组件,但是本领域普通技术人员将理解,可以在给定指 令、程序序列、代码部分等中组合或共享一些功能。
本文的技术提供对另一技术或技术领域(例如,机器学习系统、安全事件和事件管理(SIEM)系 统、其他安全系统)的改进,以及对基于自动化的网络安全分析的改进。

Claims (13)

1.一种具有减少的信息泄露的联合学习的方法,其中,参与方提供的模型更新被融合,包括:
根据映射器分割本地模型以生成分区集,其中,所述映射器将所述本地模型的元素映射到共同包括聚合器的独立聚合器执行实体集;
将置换运算应用于所述分区中每一个分区内的一个或多个元素以生成混洗分区;
模型更新时,将混洗分区转发到所述聚集器执行实体集;以及
从所述聚集器执行实体集接收到融合的模型更新后,恢复融合的本地模型。
2.根据权利要求1所述的方法,其中恢复融合的本地模型包括:调整融合模型更新中的一个或多个元素的排序,以生成对应于所述本地模型中的所述分区的原始位置的反向混洗分区,以及根据所述映射器合并所述反向混洗分区。
3.根据权利要求1所述的方法,进一步包括动态地重复所述置换运算。
4.根据权利要求3所述的方法,其中,所述置换运算在每个训练迭代处重复。
5.根据权利要求1所述的方法,其中,所述置换运算基于所述参与方相互协定的机密,并且其中所述映射器由全部所述参与方共享。
6.根据权利要求1所述的方法,其中,所述元素是以下中的一个:模型参数和模型梯度。
7.根据权利要求1所述的方法,其中,应用所述置换运算仅调整单个模型参数。
8.一种防止信息泄露的联合学习安全的方法,包括:
将聚集器划分为独立的聚集器执行实体集;
在与一方相关联的本地计算实体处,其中所述一方是参与联合学习的各参与方中的一个,并且其中,由参与方生成的模型更新在所述聚合器中被融合:
根据映射器分割本地模型以生成分区集,其中,所述映射器将所述本地模型的元素映射到共同包括聚合器的独立聚合器执行实体集;
将置换运算应用于所述分区中的每一个分区内的一个或多个元素以生成混洗分区;以及
将所述混洗分区作为与所述一方相关联的所述模型更新转发到所述聚集器执行实体集。
9.根据权利要求8所述的方法,进一步包括:
在所述本地计算实体处,
从所述聚合器执行实体集接收融合模型更新集;以及
恢复融合的本地模型。
10.根据权利要求9所述的方法,其中,通过调整融合模型更新中的一个或多个元素的排序,以生成对应于所述本地模型中的所述分区的原始位置的反向混洗分区,以及根据所述映射器合并所述反向混洗分区来恢复所述融合的本地模型。
11.根据权利要求8所述的方法,进一步包括在每个训练迭代中重复所述置换运算。
12.一种设备,包括:
硬件处理器;
计算机程序指令,所述计算机程序指令由所述硬件处理器执行时实施根据权利要求1-11中任一项所述的方法。
13.一种计算机程序产品,包括:
指令,所述指令可由处理器执行以使所述处理器实施根据权利要求1-11中任意一项所述的方法。
CN202210537839.3A 2021-05-18 2022-05-17 具有分区和动态混洗模型更新的联合学习 Pending CN115373796A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/323099 2021-05-18
US17/323,099 US20220374763A1 (en) 2021-05-18 2021-05-18 Federated learning with partitioned and dynamically-shuffled model updates

Publications (1)

Publication Number Publication Date
CN115373796A true CN115373796A (zh) 2022-11-22

Family

ID=84060210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210537839.3A Pending CN115373796A (zh) 2021-05-18 2022-05-17 具有分区和动态混洗模型更新的联合学习

Country Status (3)

Country Link
US (1) US20220374763A1 (zh)
JP (1) JP2022177828A (zh)
CN (1) CN115373796A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115719094B (zh) * 2023-01-06 2023-04-28 腾讯科技(深圳)有限公司 基于联邦学习的模型训练方法、装置、设备及存储介质
TWI829558B (zh) * 2023-03-17 2024-01-11 英業達股份有限公司 保護資料摘要的聯邦學習系統及其方法
CN116388987B (zh) * 2023-06-06 2023-08-25 北京原语科技有限公司 隐私数据聚合方法
CN116436699B (zh) * 2023-06-09 2023-08-22 北京原语科技有限公司 基于加密方式的联邦学习数据安全训练方法及系统

Also Published As

Publication number Publication date
US20220374763A1 (en) 2022-11-24
JP2022177828A (ja) 2022-12-01

Similar Documents

Publication Publication Date Title
US10970402B2 (en) Distributed learning preserving model security
JP7133706B2 (ja) 分散型元帳におけるdagベースのトランザクション処理方法およびシステム
JP6537455B2 (ja) マルチテナント・コンピューティング・インフラストラクチャにおける鍵管理の方法、装置、コンピュータ・プログラム製品、およびクラウド・コンピュート・インフラストラクチャ(マルチテナント環境における鍵管理)
US11038698B2 (en) Securing a path at a selected node
US10833860B2 (en) Shared key processing by a host to secure links
US9917818B2 (en) Multi-tenant secure separation of data in a cloud-based application
US11568257B2 (en) Secure cloud-based machine learning without sending original data to the cloud
JP7110339B2 (ja) セキュア・プロセッサ・ベースのクラウド・コンピューティング環境において情報を保護するための方法、装置、およびコンピュータ・プログラム
US9426155B2 (en) Extending infrastructure security to services in a cloud computing environment
JP2020514889A (ja) ブロックチェーンクラウドサービスのためのインターフェイスを提供するためのシステムおよび方法
US20220374763A1 (en) Federated learning with partitioned and dynamically-shuffled model updates
US20200076582A1 (en) Securing a path at a node
US20200076581A1 (en) Shared key processing by a storage device to secure links
WO2022243871A1 (en) Trusted and decentralized aggregation for federated learning
US20200296089A1 (en) Validating containers on a microservice framework
US10673827B1 (en) Secure access to user data
He et al. A trusted VM live migration protocol in IaaS
Mohan et al. Research in cloud computing-an overview
Singh et al. Secure Cloud Architecture based on YAK and ECC
Srivatsa Cloudless and Mixclaves
Vaucher Exploring the potential of modern hardware-assisted security and networking technologies
Sabapathi et al. A Hybrid Cloud Architecture for Secure Service—Measures Against Poodle Vulnerability
Manjunath et al. Secure Framework of Authentication Mechanism Over Cloud Environment
Cushman et al. Designing Hybrid Cloud Computing Framework using OpenStack for Supporting Multimedia with Security and Privacy
CN117726095A (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