Reliable distributed aggregation for associative learning
The multi-layered defense strategy of trusted aggregation and distributed model partitioning with dynamic sorting in federated learning addresses privacy leaks and data reconstruction threats, enhancing security and accuracy while decentralizing the aggregation process.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-05-17
- Publication Date
- 2026-04-07
AI Technical Summary
Existing federated learning techniques are vulnerable to privacy leaks and data reconstruction attacks, with central aggregators being potential single points of failure and current security measures like differential privacy and cryptographic protocols being computationally expensive or accuracy-degrading.
A multi-layered defense strategy involving trusted aggregation through encrypted virtual machines and distributed aggregation with model partitioning, combined with dynamic sorting to obfuscate model updates, ensuring that even if some aggregators are compromised, adversaries cannot reconstruct training data.
Enhances privacy protection in federated learning by preventing information leaks and ensuring resilience against security attacks, maintaining model accuracy and reducing computational overhead.
Smart Images

Figure 0007841826000002 
Figure 0007841826000003 
Figure 0007841826000004
Abstract
Description
[Technical Field]
[0001] This disclosure relates to distributed machine learning techniques in general. [Background technology]
[0002] Federated Learning (FL) provides a collaborative learning mechanism that enables multiple stakeholders to build machine learning (ML) models together. Instead of pooling all training data on a central training server (or data center), federated learning allows stakeholders to keep private data within a trusted and protected domain / infrastructure. Each stakeholder trains a local model and periodically uploads only model updates and gradients to a central aggregation server. This aggregator fuses the model updates and distributes the aggregated model to all stakeholders for model synchronization. The federated learning training setup presents a unique advantage for protecting the privacy of training data. This is particularly attractive to training stakeholders who distrust or compete with each other, or to holders of sensitive data (such as health or financial data) whose data sharing is prohibited by law or regulation.
[0003] There is a misconception that associative learning, i.e., model updates exchanged via FL communication, contains less information than the raw training data. Therefore, sharing model updates has been considered "privacy-protecting." However, model updates are directly derived from the local training data. While not explicitly identifiable, information from the training data is embedded in the representation of the model updates. Recent research has questioned the privacy promised by associative learning. In particular, this research demonstrates that, assuming an honest-but-curious central aggregation server, it is certainly possible for adversaries to exploit model updates to infer private attributes or reconstruct the training data.
[0004] Existing techniques to address these problems include differential private aggregation by adding statistical noise to model updates, and the use of cryptographic primitives such as the Secure Multi-Party Computation (SMC) protocol and homomorphic encryption (HE). Both methods have several drawbacks. The former often significantly degrades the accuracy of trained models and requires careful hyperparameter tuning, while the latter is computationally expensive. Furthermore, because the parties involved do not trust each other, the central aggregator often runs on the computing infrastructure of an untrusted third party (cloud), which can become a single point of failure during an attack.
[0005] Therefore, there remains a need to provide a more robust federative learning framework to address this threat model. [Overview of the Initiative]
[0006] This disclosure describes a federated learning system and method for training neural networks to defend against privacy leaks and data restructuring attacks. The approach described herein provides enhanced defense against information leaks by leveraging a multi-layered defense strategy that includes multiple aspects such as trusted aggregation, distributed aggregation with model partitioning, and dynamic sorting.
[0007] As used herein, trusted aggregation refers to the concept of using a trusted execution environment (TEE) that provides runtime memory encryption and remote authentication to facilitate isolated, confidential execution on untrusted servers. Distributed aggregation refers to the concept of partitioning a central aggregator into multiple independent, functionally equivalent execution entities, with each execution entity running within an encrypted virtual machine. Multiple distributed aggregators give stakeholders the freedom to decompose model updates at the model parameter granularity and map each single weight to a specific aggregator. Therefore, it is desirable that each aggregator has only a partial view of the model update and is unaware of the model architecture. By decentralizing a single aggregator through partitioning model updates, this approach prevents the aggregator from becoming a single point of failure under security attacks (e.g., attacks targeting a specific TEE). Furthermore, users can deploy multiple aggregators on physical servers in different geographical locations and utilize diverse TEEs on other microprocessors. Even if a subset of the aggregator is compromised, the adversary cannot aggregate the entire model update information.
[0008] In one implementation example, all aggregator execution entities run within an encrypted virtual machine (EVM) with encrypted runtime memory. Before participating in training, each party to federated learning remotely authenticates the authenticity of the hardware and establishes an end-to-end secure channel for exchanging model updates.
[0009] In an additional aspect, as described above, the additional defensive strategy is referred to herein as dynamic sorting. Dynamic sorting leverages the concept that the arithmetic operations of federated learning fusion algorithms, such as Federated Stochastic Gradient Descent (FedSGD) and Federated Averaging (FedAvg), are bijective across model updates. Therefore, partitioning and (internally) shuffling the model updates does not affect the fusion result. In this aspect of the disclosure, stakeholders are provided with the ability to dynamically shuffle fragmented model updates in each training iteration, further obfuscating the information dispatched to each aggregator execution entity. This strategy ensures that even if all distributed aggregators are compromised, adversaries will not be able to decipher the correct order of model updates for reconstructing the training data. Dynamic sorting is effective when the stakeholder-side transformations of the model updates are deterministic and reversible and identical across stakeholders.
[0010] The above outlines some of the more appropriate features of the subject. These features should be interpreted as merely illustrative. Many other beneficial results can be achieved by applying the disclosed subject in different ways, or by modifying the subject as will be described below.
[0011] To fully understand the subject and its advantages, please refer to the following description in conjunction with the attached drawings. [Brief explanation of the drawing]
[0012] [Figure 1] An exemplary block diagram of a distributed data processing environment in which exemplary embodiments of the exemplary embodiment may be implemented is shown. [Figure 2] This is an exemplary block diagram of a data processing system in which exemplary embodiments of exemplary embodiments may be implemented. [Figure 3]This disclosure describes a cloud computing environment in which a secure, distributed machine learning framework fusion server can be implemented in accordance with this disclosure. [Figure 4] This demonstrates a distributed learning framework that includes an aggregation server and a set of data owners / learning agents. [Figure 5] This specification introduces the first security technique, called trusted aggregation. [Figure 6] This disclosure presents a system architecture for implementing trusted distributed federative learning. [Figure 7] This document presents typical implementations of model partitioning and dynamic sorting schemes. [Modes for carrying out the invention]
[0013] <Detailed description of exemplary embodiments> Referring here to the drawings, particularly Figures 1 and 2, illustrative diagrams of data processing environments in which exemplary embodiments of the present disclosure may be implemented are provided. Figures 1 and 2 are illustrative only and are not intended to claim or imply any limitations on the environments in which aspects of the disclosed subject matter or embodiments may be implemented. Many modifications to the depicted environments can be made without departing from the spirit and scope of the invention.
[0014] Referring here to the drawings, Figure 1 shows a pictorial representation of an exemplary distributed data processing system in which an aspect of the exemplary embodiment may be implemented. The distributed data processing system 100 may include a network of computers in which an aspect of the exemplary embodiment may be implemented. The distributed data processing system 100 includes at least one network 102 which is a medium used to provide communication links between various devices and computers connected together within the distributed data processing system 100. The network 102 may include connections such as wired, wireless, or fiber optic cables.
[0015] In the illustrated example, servers 104 and 106 are connected to network 102 along with storage device 108. Furthermore, clients 110, 112, and 114 are also connected to network 102. These clients 110, 112, and 114 may be, for example, personal computers, network computers, etc. In the illustrated example, server 104 provides clients 110, 112, and 114 with data such as boot files, operating system images, and applications. Clients 110, 112, and 114 are clients to server 104 in the illustrated example. The distributed data processing system 100 may include additional servers, clients, and other devices not shown.
[0016] In the example depicted, the distributed data processing system 100 is the Internet, which has a network 102 representing a global collection of networks and gateways that use the TCP / IP (Transmission Control Protocol / Internet Protocol) suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational, and other computer systems routing data and messages. Of course, the distributed data processing system 100 could also be implemented to include many different types of networks, such as intranets, local area networks (LANs), wide area networks (WANs), etc. As stated above, Figure 1 is intended as an example and not an architectural limitation to different embodiments of the disclosed subject matter, and therefore, the specific elements shown in Figure 1 should not be considered limiting with respect to the environments in which exemplary embodiments of the present invention may be implemented.
[0017] Referring now to FIG. 2, there is shown a block diagram of an exemplary data processing system in which aspects of an exemplary embodiment may be implemented. Data processing system 200 is an example of a computer such as client 110 in FIG. 1, and computer-usable code or instructions implementing processes of exemplary embodiments of the present disclosure may be located therein.
[0018] Referring now to FIG. 2, there is shown a block diagram of a data processing system in which an exemplary embodiment may be implemented. Data processing system 200 is an example of a computer such as server 104 or client 110 in FIG. 1, and computer-usable program code or instructions implementing processes according to an exemplary embodiment may be located therein. In this exemplary embodiment, data processing system 200 includes a communication fabric 202 that provides communication between a processor unit 204, a memory 206, a persistent storage 208, a communication unit 210, an input / output (I / O) unit 212, and a display 214.
[0019] Processor unit 204 serves to execute software instructions that may be loaded into memory 206. Processor unit 204 may be a set of one or more processors or may be a multi-processor core, depending on the particular implementation. Further, processor unit 204 may be implemented using one or more heterogeneous processor systems in which a main processor is present on a single chip along with secondary processors. As another exemplary example, processor unit 204 may be a symmetric multi-processor (SMP) system including a plurality of processors of the same type.
[0020] Memory 206 and persistent storage 208 are an example of a storage device. A storage device is any part of hardware that can store information either temporarily or permanently or both. Memory 206, in these examples, may be, for example, random access memory, or any other suitable volatile or non-volatile storage device. Persistent storage 208 can take various forms depending on the particular implementation. For example, persistent storage 208 can include one or more components or devices. For example, persistent storage 208 may be a hard drive, flash memory, rewritable optical disk, rewritable magnetic tape, or a combination thereof. The medium used by persistent storage 208 may also be removable. For example, a removable hard drive may be used for persistent storage 208.
[0021] Communication unit 210, in these embodiments, provides communication with other data processing systems or devices. In these embodiments, communication unit 210 is a network interface card. Communication unit 210 can provide communication through the use of either or both physical communication links and wireless communication links.
[0022] Input / output unit 212 enables the input and output of data with other devices that can be connected to data processing system 200. For example, input / output unit 212 can provide connections for user input via a keyboard and a mouse. Further, input / output unit 212 may send output to a printer. Display 214 provides a mechanism for displaying information to the user.
[0023] Operating system and application or program instructions are placed in persistent storage 208. These instructions may be loaded into memory 206 for execution by the processor unit 204. Processing in different embodiments may be executed by the processor unit 204 using computer-implemented instructions which may be placed in memory such as memory 206. These instructions are referred to as program code, computer-readable program code, or computer-accessible program code, which can be read and executed by the processor in the processor unit 204. The program code in different embodiments may be implemented on different physical or tangible computer-readable media, such as memory 206 or persistent storage 208.
[0024] The program code 216 is functionally arranged on a selectively removable computer-readable medium 218 and can be loaded onto or transferred to the data processing system 200 for execution by the processor unit 204. The program code 216 and the computer-readable medium 218 together form a computer program product 220 in these examples. In one embodiment, the computer-readable medium 218 may be in tangible form, such as an optical or magnetic disk, inserted into or placed on a drive or other device that is part of persistent storage 208 for transfer onto a storage device, such as a hard drive that is part of persistent storage 208. In tangible form, the computer-readable medium 218 can also take the form of persistent storage such as a hard drive, thumb drive, or flash memory connected to the data processing system 200. The tangible form of the computer-readable medium 218 is also called a computer-recordable storage medium. In some embodiments, the computer-recordable medium 218 may not be removable.
[0025] Alternatively, the program code 216 may be transferred from the computer-readable medium 218 to the data processing system 200 via a communication link to the communication unit 210, or via a connection to the input / output unit 212, or both. The communication link or connection, or both, may be physical or wireless in the illustrated example. The computer-readable medium may also take the form of an intangible medium, such as a communication link or wireless transmission containing the program code. The different components illustrated for the data processing system 200 are not intended to provide architectural limitations on how different embodiments may be implemented. Different exemplary embodiments may be implemented in a data processing system including components in addition to, or instead of, the components illustrated for the data processing system 200. Other components shown in Figure 2 may be modified from the illustrated examples. As an example, a storage device in the data processing system 200 is any hardware device capable of storing data. Memory 206, persistent storage 208, and the computer-readable medium 218 are examples of storage devices in tangible form.
[0026] In another example, a bus system may be used to implement the communication fabric 202, and may consist of one or more buses, such as a system bus or input / output buses. Of course, the bus system may be implemented using any suitable type of architecture that provides data transfer between different components or devices connected to the bus system. Furthermore, the communication unit may include one or more devices used for sending and receiving data, such as a modem or network adapter. In addition, memory may be, for example, memory 206, or a cache, such as those found in the interface and memory controller hub that may be present in the communication fabric 202.
[0027] The computer program code for performing the operations of the present invention can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java®, Smalltalk, and C++, and conventional procedural programming languages such as the C programming language and similar programming languages. The program code can be executed as a standalone software package, either entirely on the user's computer or partially on the user's computer. Alternatively, it can be executed partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or to an external computer (for example, via the Internet using an Internet service provider).
[0028] Those skilled in the art will understand that the hardware in Figures 1 and 2 may vary depending on the implementation. Other internal hardware or peripheral devices, such as flash memory, equivalent non-volatile memory, or optical disc drives, may be used in addition to or instead of the hardware depicted in Figures 1 and 2. Furthermore, the processes of the exemplary embodiments can be applied to multiprocessor data processing systems other than the SMP systems described above without departing from the spirit and scope of the disclosed subject matter.
[0029] As will be seen, the technologies described herein can operate in conjunction within a standard client-server paradigm, as shown in Figure 1, where a client machine communicates with an internet-accessible web-based portal running on one or more sets of machines. End users interact with internet-connected devices (such as desktop computers, notebook computers, or internet-enabled mobile devices) that can access and interact with the portal. Typically, each client or server machine is a data processing system, as shown in Figure 2, including hardware and software, and these entities communicate with each other over a network, such as the internet, intranet, extranet, private network, or any other medium or link. A data processing system typically includes one or more processors, an operating system, one or more applications, and one or more utilities. Applications on a data processing system provide native support for web services, including but not limited to support for HTTP, SOAP, XML, WSDL, UDDI, and WSFL. Information on SOAP, WSDL, UDDI, and WSFL is available from the World Wide Web Consortium (W3C), which is responsible for the development and maintenance of these standards. Detailed information on HTTP and XML is available from the Internet Engineering Task Force (IETF). Familiarity with these standards is assumed.
[0030] Applications on data processing systems can also use native support for non-standard protocols or private protocols developed to run on TCP / IP networks.
[0031] <Cloud Computing Model> As described above, the distributed machine learning techniques of this disclosure preferably utilize computing elements located in a cloud computing environment. Therefore, the following additional background regarding cloud computing is provided.
[0032] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with service providers. This cloud model may include at least five characteristics, at least three service models, and at least four implementation models, all of which are described and defined in more detail in "The NIST Definition of Cloud Computing" by Peter Mell and Tim Grance in September 2011.
[0033] In particular, the characteristics are as follows:
[0034] On-demand self-service: Cloud consumers can unilaterally prepare computing power, such as server time and network storage, automatically as needed, without requiring human interaction with service providers.
[0035] Broad network access: Computing power is available over the network and accessible through standard mechanisms. This facilitates utilization by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, PDAs).
[0036] Resource pooling: A provider's computing resources are pooled and delivered to multiple consumers using a multi-tenant model. Various physical and virtual resources are dynamically allocated and reallocated as needed. Generally, consumers have a sense of location independence because they do not manage or know the exact location of the resources provided. However, consumers may be able to identify the location at a higher level of abstraction (e.g., country, state, data center).
[0037] Rapid Elasticity: Computing power can be prepared quickly and flexibly, allowing it to scale out automatically and immediately, and to be quickly released and scale in immediately. To consumers, the computing power available for preparation often appears unlimited and can be purchased in any quantity at any time.
[0038] Measured Services: Cloud systems leverage metric capabilities at a certain level of abstraction, appropriate for the type of service (e.g., storage, processing, bandwidth, active user accounts), to automatically control and optimize resource usage. Resource usage can be monitored, controlled, and reported, providing transparency to both service providers and consumers.
[0039] The service model is as follows:
[0040] Software as a Service (SaaS): The functionality offered to consumers is the ability to use the provider's applications running on a cloud infrastructure. These applications can be accessed from various client devices via thin client interfaces such as web browsers (e.g., webmail). Consumers do not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application functions, except for configuring a limited number of user-specific applications.
[0041] Platform as a Service (PaaS): The functionality offered to consumers is the ability to deploy applications they have created or acquired to cloud infrastructure using programming languages and tools supported by the provider. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, and storage, but they can control the deployed applications and, in some cases, the configuration of their hosting environment.
[0042] Infrastructure as a Service (IaaS): The functionality provided to consumers is the provision of processors, storage, networking, and other basic computing resources that enable consumers to deploy and run any software, including operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but they can control the operating system, storage, and deployed applications, and in some cases, partially control certain network components (e.g., host firewalls).
[0043] The deployment model is as follows:
[0044] Private Cloud: This cloud infrastructure is operated exclusively for a specific organization. This cloud infrastructure can be managed by that organization or a third party and can reside on-premises or off-premises.
[0045] Community Cloud: This cloud infrastructure is shared by multiple organizations to support a specific community with common interests (e.g., mission, security requirements, policies, and compliance). This cloud infrastructure can be managed by the organization or a third party and can reside on-premises or off-premises.
[0046] Public Cloud: This cloud infrastructure is provided to a large number of people or large industry groups and is owned by organizations that sell cloud services.
[0047] Hybrid Cloud: This cloud infrastructure combines two or more cloud models (private, community, or public). While maintaining the unique entities of each model, they are bound together by standards or individual technologies to achieve data and application portability (e.g., cloud bursting for load balancing across clouds).
[0048] Cloud computing environments are service-oriented environments that emphasize statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is infrastructure, including a network of interconnected nodes. Typical cloud computing nodes are shown in Figure 2 above. Specifically, cloud computing nodes include computer systems / servers that can operate with numerous other general-purpose or specialized computing system environments or configurations. Examples of well-known computing systems, environments, or configurations, or combinations thereof, that may be suitable for use with computer systems / servers include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable home appliances, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices. Computer systems / servers are sometimes described in the general context of computer systems executing computer system executable instructions, such as program modules. Generally, a program module can include routines, programs, objects, components, logic, data structures, etc., that perform a specific task or implement a specific abstract data type. Computer systems / servers may operate in a distributed cloud computing environment where tasks are performed by remote processing devices linked over a communication network. In a distributed cloud computing environment, program modules may reside on both local and remote computer system storage media, including memory storage devices.
[0049] In a typical cloud computing environment, a set of functional abstraction layers is provided, as illustrated in Figure 3. These include hardware and software layers, a virtualization layer, a management layer, and a workload layer.
[0050] The hardware and software layer 300 includes hardware and software components. Examples of hardware components include mainframes (e.g., IBM® zSeries® systems), reduced instruction set computer (RISC) architecture-based servers (e.g., IBM pSeries® systems, IBM xSeries® systems, IBM BladeCenter® systems), storage devices, and networks and network components. Examples of software components include network application server software such as IBM WebSphere® application server software, and database software such as IBM DB2® database software. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere, and DB2 are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide.)
[0051] The virtualization layer 302 provides an abstraction layer. From this layer, for example, the following virtual entities can be provided: virtual servers, virtual storage, virtual networks including virtual private networks, virtual applications and operating systems, and virtual clients.
[0052] Management Layer 304 provides various management functions. For example, resource preparation enables the dynamic procurement of computing and other resources used to perform tasks within the cloud computing environment. Metering and pricing enables cost tracking as resources are used within the cloud computing environment and billing or invoicing for the consumption of these resources. As an example, these resources may include application software licenses. Security enables not only protection of data and other resources but also identification and verification of cloud consumers and tasks. The user portal provides consumers and system administrators with access to the cloud computing environment. Service level management enables the allocation and management of cloud computing resources to ensure that requested service levels are met. Service Level Agreement (SLA) planning and execution enables the pre-arrangement and procurement of cloud computing resources that are expected to be needed in the future in accordance with the SLA.
[0053] Workload layer 306 provides capabilities that leverage the cloud computing environment. Examples of workloads and capabilities that can be provided from this layer include mapping and navigation, software development and lifecycle management, virtual classroom education delivery, data analytics processing, transaction processing, enterprise-specific capabilities within a private cloud, and, according to this disclosure, distributed machine learning 308.
[0054] Therefore, a typical cloud computing environment has a set of high-level functional components, including a front-end identity manager, business support services (BSS) functional components, operational support services (OSS) functional components, and compute cloud components. The identity manager is responsible for interfaceing with clients that request identity management, and this component can be implemented in one or more known systems, such as Tivoli Federated Identity Manager (TFIM), available from IBM in Armonk, New York. In appropriate situations, TFIM can be used to provide federated single sign-on (F-SSO) to other cloud components. The business support services component provides specific management functions, such as billing support. The operational support services component is used to provide deployment and management of other cloud components, such as virtual machine (VM) instances. A virtual machine is an operating system or application environment installed on top of software that mimics a hardware machine. Cloud components represent the primary computing resources and are typically multiple virtual machine instances used to run target applications that are made accessible via the cloud. One or more databases are used to store directories, logs, and other working data. While all of these components (including the front-end identity manager) are located "within" the cloud, this is not a requirement. In alternative implementations, the identity manager may operate outside the cloud. The service provider can also operate outside the cloud.
[0055] Some clouds are based on non-traditional IP networks. For example, a cloud might be based on a two-layer CLOS-based network with special single-layer IP routing that uses MAC address hashes. The techniques described herein can also be used in such non-traditional clouds.
[0056] In general, cloud computing infrastructure provides a virtual machine hosting environment with host machines (e.g., servers or similar physical computing devices) connected over a network, and one or more management servers. Typically, each physical server is adapted to dynamically serve one or more virtual machines using virtualization technologies such as VMware ESX / ESXi. By placing multiple VMs on a single host machine and sharing the host machine's CPU, memory, and other resources, organizations can increase the utilization of their data centers. Among other tasks, the management servers monitor the infrastructure and automatically manipulate VM placement as needed, for example, by moving virtual machines between hosts.
[0057] In non-exclusive implementations, representative platform technologies include, but are not limited to, IBM System x® servers running VMware vSphere 4.1 Update 1 and 5.0.
[0058] Associative Learning and Threat Models A known approach to distributed machine learning is illustrated in Figure 4. This system includes an aggregation server 400 and a number N of data owners or agents 402, sometimes referred to herein as learning agents. In this embodiment, each learning agent works with the local dataset d _ican be accessed, usually consisting of labeled samples, and desires to train the same machine learning or neural network model. Each agent has its own dataset to be protected and cannot share it with other agents or the aggregation server. In a typical operation, the distributed learning process is executed as follows. In step (1), each agent 402 connects to the aggregation server 400 to obtain hyperparameters for training. In machine learning, hyperparameters are parameters whose values are set before learning begins, while the values of other parameters are derived by training. Each agent 402 trains the same type of neural network. In a representative example, the model associated with an agent is characterized by a parameter vector A = [p1...p k is characterized. There are multiple agents in the system, and A i is the parameter vector given by agent i. In step (2), the i-th agent trains the model with its local dataset d _i . Such training is usually performed by taking mini-batches, which are small subsets of the overall training data, so that the i-th agent calculates its parameter vector A i . In step (3), each agent 402 sends the resulting parameters to the aggregation server 400, and the aggregation server 400 fuses each parameter in the vector (typically calculates the mean or weighted mean). The mean can use different priorities (weights m) for each agent. For example, if agent i obtains weight m i , the mean parameter vector calculated by the aggregation server is Σ i m i A i / Σ i m iThis is how it works. In step (4), the aggregation server 400 sends the average parameter vector back to agent 402. Steps (2) and (3) are repeated a predetermined number of times until learning is deemed complete.
[0059] The process described above has been shown to lead to the creation of the same model as if all the data were collected in one place and used to train the model, at least for additive loss functions, i.e., index loss functions (e.g., cross-entropy loss, norm-based loss, binary cross-entropy, etc.). However, this approach has the challenge of exposing the model to an aggregation server. Aggregation servers are typically cloud hosting services and may not be trusted by data owners / agents who may not reside in the cloud. As will be discussed later, the multi-layered security techniques in this disclosure address this problem.
[0060] To further explain the background, a key driving force behind the emergence of federative learning is the need to address the privacy risks and constraints of centralized training, where training data must be collected from all stakeholders and pooled on a central server for training. In FL, training data is distributed and managed on each participant's local device. Participants (or stakeholders) need to agree on the model architecture and maintain a local training pipeline. As shown in Figure 4, instead of providing raw training data to a central server, each stakeholder trains a local model using private training data and uploads model updates to the central server. Typically, an aggregator is also responsible for managing stakeholders, orchestrating training tasks, and merging model updates. Aggregated model updates are dispatched (usually) to each stakeholder after each training iteration to synchronize their local models.
[0061] TIFF0007841826000001.tif111167
[0062] Both the FedSGD and FedAvg algorithms only perform bijective summation and averaging operations. Simply put, if the model is represented as an array, these fusion algorithms perform coordinate fusion between stakeholders. That is, they add or average the parameter at index i of stakeholder P1's model M1 with the parameter at the same index i of stakeholder P2's model M2. The parameters at index i given between stakeholders can be fused without knowing the parameters at other indices. In this way, the entire model update can be partitioned into multiple parts, deployed across multiple servers, and the same fusion algorithm can be run independently. Furthermore, parameters and gradients can be shuffled before aggregation, as long as all stakeholders perform the same sorting. In FL privacy attacks, the completeness of the model update and the order of the data are critical to the optimization procedure for reconstructing the training data. If either is missing, reconstruction fails. As will be discussed later, the methods described herein are not limited in this way, as it is sufficient if partitioning and sorting can be reversed locally.
[0063] Generally, federative learning can be used in both cross-device and cross-silo scenarios. Typically, cross-device FL training uses a large number of mobile devices and IoT (Internet of Things) devices as clients. Client reliability is very low. Devices can frequently join and leave, and are often battery-powered, resulting in energy constraints. However, in cross-silo FL training, a certain number of organizations typically share an incentive to jointly train a model. These organizations can provide reliable local training facilities. Therefore, the aggregator can maintain the state of stakeholders and deal with them with unique IDs. Cross-silo training places a greater emphasis on data privacy by strictly requiring data confidentiality. As will be discussed later, this approach addresses the problems of FL cross-silo training, but is also applicable to the cross-device domain.
[0064] The threat model described herein assumes an honest-but-curious aggregation server. It is assumed that all parties involved in the FL training process are benevolent but do not tend to share training data with each other. An adversary attempts to inspect model updates uploaded by the parties. The adversary's objective is to reconstruct the training data of the parties who participated in the FL training. This threat model is identical to a FL privacy attack. Furthermore, it is assumed that the parties involved in the FL trust the system-on-a-chip (SoC) hardware and the EVM that holds the model aggregation workload.
[0065] <System Design> The following details a typical design of the federated learning framework of this disclosure and how this approach effectively mitigates information leakage channels in FL privacy attacks. As described above, the framework preferably leverages a multi-layered security approach that includes (1) trusted aggregation, (2) distributed aggregation, and (3) dynamic sorting. The first aggregation technique enables secret and trusted aggregation via remotely verifiable encrypted virtual machines with runtime memory encryption (e.g., AMD® SEV EVM). Secure Encrypted Virtualization (SEV), used in this exemplary embodiment, is a computing technology introduced by AMD in 2016. It is intended to protect security-sensitive workloads in public cloud environments. SEV relies on AMD Secure Memory Encryption (SME) to enable runtime memory encryption. Combined with the AMD Virtualization (AMD-V) architecture, SEV can enforce cryptographic isolation between guest VMs and the hypervisor. Therefore, SEV can prevent, for example, high-level system administrators at the hypervisor level from accessing data within a domain of encrypted virtual machines. When SEV is enabled, the SEV hardware assigns an Address Space Identifier (ASID) to all code and data in the VM, and the ASID is associated with a separate, transient Advanced Encryption Standard (AES) key called the VM Encryption Key (VEK). The key is managed by the AMD SP, a 32-bit ARM Cortex-A5 microcontroller integrated into the AMD SoC. Runtime memory encryption is performed via the on-die memory controller. Each memory controller has an AES engine that encrypts / decrypts data when writing to main memory or reading to the SoC. Memory page encryption is controlled via a page table.Physical address bit 47 (also known as the C bit) is used to indicate whether a memory page is encrypted. Like other TEEs, SEV also provides a remote authentication mechanism for authenticating the hardware platform and the launched guest VM. The authenticity of the platform is proven by an identity key signed by AMD and the platform owner. Before preparing the secret, the guest VM owner verifies both the authenticity of the SEV-enabled hardware and the instrumentation of the UEFI firmware that assists in booting the encrypted virtual machine.
[0066] Figure 5 illustrates the general concept of this confidential aggregation. It assumes the existence of isolated, independent, and trusted execution environments (one of which is shown as 500) within the cloud, similar to the cloud execution environment described in Figure 3. A TEE like TEE500 allows users to outsource computations to a third-party cloud server while trusting the CPU package. Representative TEE technologies include, for example, Intel® SGX (Software Guard Extensions) / TDX (Trust Domain Extensions), AMD® SEV (mentioned above), IBM® PEF (Protected Execution Facility), and ARM TrustZone. TEEs are particularly attractive for collaborative ML computations, which may involve large amounts of privacy-sensitive training data, multiple distributors, and potentially stricter data protection regulations. Here, as will be explained, TEE500 acts as a trusted intermediary to isolate the aggregator execution entity from other such execution entities facilitating federated learning.
[0067] As shown in Figure 5, the TEE500 runs an isolated virtual machine associated with an operating system-based container mechanism (e.g., an open-source container such as Kata Container) for packing and deployment. Specifically, the TEE500 runs an aggregator 502 within an encrypted virtual machine (EVM) 504 supported by runtime memory encryption (such as SEV) 506. Running the aggregator within the TEE mitigates memory corruption attacks. Aggregator 502 is one of a set of distributed aggregators, including the single aggregator depicted in Figure 4. Each aggregator, such as aggregator 502, runs within the EVM 504, and the EVM memory is protected by a separate transient virtual machine encryption key (VEK). In this way, the confidentiality of the model aggregation computation is also protected from unauthorized users, such as system administrators, and privileged software such as hypervisors and operating systems running on the hosting server. As will be explained below, each of the federated learning stakeholders 508 remotely authenticates their genuine SEV hardware / firmware and establishes an end-to-end secure channel for exchanging model updates before participating in the training. In particular, remote authentication facilitated by the authentication server 505 is used to provide hardware authentication and load-based integrity checks for the aggregator. Also, as depicted, each stakeholder 508 has its own data and machine learning (ML) infrastructure 510 and typically cooperates by exchanging attributes (e.g., model gradients).
[0068] Against this backdrop, the following section will provide a more detailed explanation of typical deployment examples of the federated learning framework described herein.
[0069] Figure 6 shows a typical deployment example of a federative learning framework. In this example, there are four stakeholders 600 (numbered stakeholders 1-4) participating in federative learning, and the aggregation mechanism is distributed across three aggregator execution entities 602 (numbered aggregators 1-3). Since each aggregator execution entity 602 runs within a TEE 604, there are three TEEs (numbered TEEs 1-3). Similar to conventional federative learning, in this approach, each stakeholder 600 needs to register with an aggregator 602 to participate in training. Before registration, each stakeholder needs to verify the TEE platform, for example, through remote authentication. First, one aggregator execution entity starts the training process by notifying all stakeholders. During the training phase, the aggregators repeat the training with all stakeholders several times. In each training iteration, each stakeholder first synchronizes their local model by downloading the latest model update from the aggregator, then generates a new model update using the local training data, and uploads it to the aggregator. The aggregator merges model updates from all stakeholders and sends the aggregated version back to all stakeholders. Global training terminates when predetermined training criteria are met. For example, each stakeholder can decide to terminate FL training when it reaches a specified number of training iterations or when the model accuracy requirements are met locally. Unlike traditional FL, instead of a single central aggregator as depicted in Figure 4, multiple aggregators 602 running within TEE604 are involved in the deployment. In this system, the aggregators 602 need to communicate with each other for training synchronization. Furthermore, as will be explained below, an authentication server 606 is also deployed, which is responsible for authenticating the aggregator workloads and deployment secrets.
[0070] <Reliable Aggregation> As mentioned above, model updates exchanged between stakeholders and the aggregator may contain information essential for reverse engineering private training data. The following techniques are used to eliminate channels through which adversaries could intercept and inspect model updates in transmission and use. In this design, cryptographic isolation of the FL aggregation is preferably implemented via a mechanism such as SEV (but not limited to). As shown in Figure 5, the aggregator runs within an EVM, and the memory of each EVM is protected by a separate transient VEK. In the embodiment shown in Figure 6, the establishment of trust between the aggregator 602 and the stakeholders 600 is divided into two stages.
[0071] <Stage I: Activating a reliable aggregator> First, the SEV EVM is securely started with the aggregator running internally. To establish trust in the EVM, authentication is provided to prove that (1) the platform is genuine secure (e.g., AMD SEV-enabled) hardware that provides the necessary security characteristics, and (2) the UEFI (Unified Extensible Firmware Image) for starting the EVM has not been tampered with. Once remote authentication is complete, a secret is deployed to the EVM, preferably as a unique identifier for the trusted aggregator. The secret is injected into the EVM's encrypted physical memory and used to authenticate the aggregator in Stage II, described below. In Figure 6, step (1) shows an authentication server 606 that facilitates remote authentication. For this purpose, the EVM owner instructs the service provider (e.g., AMD® SP) to export a certificate chain from, for example, the platform Diffie-Hellman public key (PDH) to the root (e.g., the AMD root key (ARK)). This certificate chain can be verified by the root certificate. Furthermore, it is desirable that the authentication report also include the UEFI image digest, SEV API version, and VM deployment policy, along with the certificate chain.
[0072] The authentication report is sent to authentication server 606, which is deployed with a root certificate that verifies the certificate chain to authenticate the hardware platform. Authentication server 606 then generates a boot blob and a guest owner Diffie-Hellman public key (GODH) certificate. These are sent back to aggregation server 606 to negotiate a Transport Encryption Key (TEK) and Transport Integrity Key (TIK) via Diffie-Hellman Key Exchange (DHKE) and boot the EVM. By pausing the EVM during boot, UEFI measurements can be obtained via the SP. These measurements are sent to authentication server 606 to prove the integrity of the UEFI boot process. After this, authentication server 606 generates a packaged secret, which preferably contains an ECDSA prime251v1 key. The hypervisor (not shown) injects this secret into the EVM's physical memory space as a unique identifier for trusted aggregators and continues the boot process. This secret injection procedure preferably follows a remote authentication protocol such as the first-generation SEV remote authentication protocol. The integrity of the startup process can be further enhanced by implementing other remote authentication protocols, such as the upcoming SEV-SNP.
[0073] <Stage II: Aggregator Certification> Parties participating in the FL must ensure they are interacting with a trusted aggregator that has runtime memory encryption protection. To enable aggregator authentication, and as mentioned above, in Stage I, the authentication server 606 specifies an ECDSA private key as secret during EVM deployment. This key is used to sign challenge requests and thus helps identify legitimate aggregators. In step (2) of Figure 6, before participating in the FL, the party first authenticates the aggregator by participating in the challenge request protocol. For this purpose, party 600 sends a randomly generated nonce to aggregator 602. Aggregator 602 digitally signs the nonce using the corresponding ECDSA private key and returns the signed nonce to the requesting party. The party verifies that the nonce is signed with the corresponding ECDSA public key. If the verification is successful, party 600 registers with aggregator 602 and participates in the FL. Furthermore, preferably, a secure channel is provided to protect communication between aggregators and between aggregators and parties for updating model parameters. A secure channel can be implemented using Transport Layer Security (TLS) to support mutual authentication between stakeholders and aggregators. In this way, all exchanged model updates are protected both in use and in transmission.
[0074] <Distributed aggregation using model partitioning> While enabling trusted aggregation offers significant advantages, it may not be sufficient on its own, as there is no guarantee that the TEE is infallible and that security vulnerabilities will not be discovered in the future. Therefore, a second security layer, distributed aggregation with model partitioning, enhances the system's resilience to ensure that even if the TEE is compromised by a data breach, an adversary cannot reconstruct the training data from the model updates. This aspect of the disclosure is described again in detail with respect to a typical implementation shown in Figure 6.
[0075] As explained earlier, each aggregator 602 operates within the EVM and is responsible for only a portion of the model updates. In Figure 6, three aggregators are established, and as mentioned above, each participating party authenticates and registers all aggregators. In this example, distributed aggregation is enabled as follows.
[0076] <Training synchronization between aggregators> A communication channel is maintained between aggregators, for example, for training synchronization in step (3). Any one of the aggregators 602 can start a training iteration and defaults to becoming the initiator node. All other aggregators become follower nodes and wait for commands from the initiator. In each training iteration, the initiator first starts local training and queries all stakeholders to obtain model updates for fusion. The initiator then notifies all follower nodes to obtain the corresponding model updates, aggregate them, and distribute the aggregated updates to each stakeholder.
[0077] Distributed aggregation increases the cost of illegally obtaining model information at aggregation points. Aggregators no longer hold architectural information about the models and only see a vector of numbers. Furthermore, even missing a small portion of model updates can completely neutralize a data reconstruction attack. Therefore, this protection scheme requires compromising all TEE-protected aggregators to obtain a complete set of model updates.
[0078] While it is extremely difficult to compromise all aggregators protected by TEE, the following describes dynamic sorting, a third security layer that can be implemented to further protect federative learning from information leaks and other compromises.
[0079] <Dynamic sorting> For this purpose, and to further obfuscate the information transferred from stakeholders to the aggregator, a dynamic sorting scheme is preferably deployed, preferably at each training iteration (or at other defined intervals), to shuffle the partitioned model updates. As mentioned above, the dynamic sorting scheme is based on the insight that the order of parameters in the model updates is irrelevant to the fusion algorithm but is important to the data reconstruction algorithm used in FL privacy attacks. Because this data order is obfuscated, even if an adversary obtains the entire model update, it is impossible for them to generate the reconstructed training data.
[0080] <Randomized model partitioning> Model partitioning and dynamic sorting are depicted in Figure 7, with respect to the three aggregators shown therein. In particular, aggregator 702 (aggregators 1-3) corresponds to aggregator 602 in Figure 6. Before training begins, an aggregator mapper 710 (data structure) is randomly generated for each DNN model to be trained. Each stakeholder selects a percentage of model parameters for each aggregator, which can also be set to a default. Local stakeholders must also agree on the mapper 710, and thus this mapper 710 is shared by all stakeholders participating in FL training. In Figure 7, the first stakeholder has a trained local model 712. As shown in Figure 7, and using the mapper 710, the k parameters of the local model 712 are mapped to the three aggregators, i.e., aggregators {1-3} as shown, with shading and cross-hatching representing the aggregator attributes for each parameter in the model. As further shown, in step (4) of Figure 6, the model updates are broken down and rearranged for different aggregators to generate shuffled partitions. The shuffled partitions are then uploaded to each aggregator, where fusion is performed to generate aggregated partitions. After receiving the aggregated model updates from the different aggregators, the stakeholders reverse-shuffle the aggregated model updates back into the correct order. The same mapper 710 is then queried again to merge the model updates back into their original positions within the local model (step (5) of Figure 6). In Figure 7, only one local model (trained and then merged) is depicted, but each stakeholder has its own such local model configuration.
[0081] Preferably, this dynamic sorting scheme shuffles the updates of the partitioned model with each training iteration. Each sort is seeded with a secret agreed upon by all parties (e.g., distributed through a trusted intermediary) and a dynamically generated training iteration ID. Thus preferably, the sort changes between all training iterations, but it is the same among all parties. In other words, the approach herein prefers to dynamically shuffle the model updates in each training iteration using deterministic sorting. The aggregator (i.e., the aggregator execution entity) merges the model updates, and the parties are responsible for restoring the order of the aggregated model updates. This approach mitigates data leakage attacks by dynamically shuffling the order of uploaded model parameters. In this way, among other advantages, this approach is more efficient at protecting the privacy of local training data in federated learning.
[0082] Therefore, according to this embodiment, preferably, the entire model update generated by the stakeholders is partitioned into multiple parts (partitions), and the partitions are spread across multiple servers (aggregation execution entities) where the same fusion algorithm is run independently. Furthermore, parameters and gradients (more generally elements) are also shuffled (i.e., sorted) locally before aggregation, provided that all stakeholders perform the same sorting. The only requirement is that stakeholders can reverse the partitioning and sorting locally. Local model update partitioning and sorting can be performed periodically, for example, at each training iteration, or at other defined intervals, or alternatively, the update partitioning and sorting can be performed asynchronously.
[0083] Partitioning of the entire local model into partitions, and sorting of one or more elements within each partition, is performed with each iteration of modeling. All partitions either apply the same partitioning or none at all. Furthermore, partitioning, sorting, or both strategies can also be applied to centralized aggregators (cases where the number of aggregation entities is equal to 1). In this case, there are no partitions, but there is sorting of weights in model updates.
[0084] In general, the dynamic sorting scheme described above facilitates aggregated obfuscation in federative learning. The parties involved in the federative learning (or, more generally, the first system of multiple systems engaged in the federative learning) decide that an update vector (or, more generally, an update) should be sent for fusion. An obfuscation algorithm is then applied to obfuscate the update vector, generating an obfuscated update vector. For this purpose, a secret shared by each party may be used, each party in the federative learning using the same shared secret to apply the obfuscation algorithm locally. As illustrated in the example in Figure 7, a preferred obfuscation algorithm swaps the order of the elements of the update vector to generate an obfuscated update vector. In this specification, the concept of swapping the order of elements is synonymous with shuffling or rearranging. The obfuscated update vector is then sent to each aggregator running entity (if multiple such entities are used to create the machine learning model). Updates are performed in a different element order in each training iteration. Shuffling the order of elements in the update vector is a preferred obfuscation technique, but other obfuscation algorithms can also be used.
[0085] The techniques described herein offer significant advantages. As those skilled in the art will understand, this approach securely protects aggregation in federative learning from reverse engineering attacks while keeping overhead low and supporting many different deep learning models and frameworks. Furthermore, the techniques herein provide multiple structured and random model partitioning mechanisms to decompose swapped model parameters. Thus, even if a subset of the aggregator is compromised, adversaries are still prevented from reconstructing the training data information. In addition, the techniques herein enable learning participants to authenticate trusted hardware platforms and authenticate the workloads subject to federative learning, thus further ensuring that sensitive data is not exposed and transmitted without end-to-end cryptographic protection. The techniques herein do not affect the accuracy and convergence rate of the final model compared to conventional FL training. At the same time, this approach significantly minimizes the exposure of non-essential information between parties, which is critical to the execution of FL privacy attacks.
[0086] As described above, this approach leverages the unique computational properties of federated learning fusion algorithms to provide architectural and prototyping enhancements to mitigate potential information leakage channels. The described federated learning system preferably employs a three-tier security strategy: confidential and trusted aggregation, decentralized model partitioning, and dynamic reordering of model updates. A federated learning system implementing these security strategies is immune to training data reconstruction attacks.
[0087] Furthermore, while the three techniques are preferably used together, this is not a requirement. Thus, a federated learning framework implementing the techniques of this disclosure can benefit from one or more of the following techniques and strategies: The first strategy is to leverage sensitive computing techniques to enable reliable, remotely authenticated model aggregation. The second strategy involves distributing a single aggregator across multiple independent execution entities, preferably each execution entity having only a fragmentary view of the model updates and being unaware of the model architecture. The third strategy is to support random and dynamic reordering of the partitioned model updates in each training iteration, making it impossible for data reconstruction algorithms to execute. By implementing all three layers of security strategies, as described above, the system neutralizes state-of-the-art federated learning privacy attacks and exhibits low performance overhead in real-world deployments.
[0088] There are further advantages. One is that the distributed learning approach does not require the generation of auxiliary inputs, and training participants share only an obfuscated subset of model parameters in the federative learning process. A trusted execution environment protects the confidentiality of model update data at transmission and aggregation. Furthermore, this approach prevents malicious or compromised aggregation servers from reconstructing the training data of federative learning participants. This approach prevents both (i) honest but curious aggregators and (ii) malicious or compromised aggregators from reconstructing private training data from model updates. Another advantage is that the same approach can be used for different FL tasks and can achieve the same level of training performance as the baseline.
[0089] The techniques described above can be implemented using machine learning algorithms or computations that can be distributed in the manner described.
[0090] This subject may be implemented as a whole or in part as a service. In general, trusted distributed aggregation for federated learning capabilities may be offered as a standalone feature or may leverage the capabilities of other ML-based products or services. For example, the security techniques herein can leverage known offerings and solutions such as the IBM Framework for Federated Learning (FFL) to support the trusted aggregation, distributed multi-aggregator with model partitioning, and dynamic model update sorting described herein. Preferably, the aggregator application is containerized for ease of deployment, but this is not mandatory. Kata Containers are employed to deploy the aggregator container within a lightweight VM. Therefore, as described herein, preferably, each aggregator container runs on an EVM (or equivalent) protected by SEV. To provide TEE security capabilities, this exemplary but non-limiting embodiment uses an AMD EPYC 7642 (Rome) microprocessor running a firmware SEV API.
[0091] All or part of the functions described above may be implemented as standalone functions, for example, software-based functions executed by a hardware processor, or they may be available as managed services (including web services via SOAP / XML interfaces). Details of specific hardware and software implementations described herein are for illustrative purposes only and do not limit the scope of the subject matter described.
[0092] More generally, computing devices within the context of the disclosed subject are data processing systems (as shown in Figure 2) each comprising hardware and software, and these entities communicate with each other over networks such as the Internet, intranets, extranets, private networks, or any other medium of communication or links. Applications on the data processing systems provide native support for the Web and other known services and protocols, including but not limited to support for HTTP, FTP, SMTP, SOAP, XML, WSDL, UDDI, and WSFL. Information on SOAP, WSDL, UDDI, and WSFL is available from the World Wide Web Consortium (W3C), which is responsible for the development and maintenance of these standards. More information on HTTP, FTP, SMTP, and XML is available from the Internet Engineering Task Force (IETF). Familiarity with these standards and protocols is assumed.
[0093] The schemes described herein can be implemented in or in conjunction with various server-side architectures, including simple n-tier architectures, security systems, web portals, and federated systems. Furthermore, as mentioned above, the technologies described herein can also be implemented in loosely coupled server (including "cloud") environments, as illustrated in Figure 3.
[0094] More generally, the subject matter described herein can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments that include elements of both hardware and software. In preferred embodiments, the functionality is implemented in software, which includes, but is not limited to, firmware, resident software, microcode, etc. Furthermore, as described above, the ID context-based access control functionality can take the form of a computer program product accessible from a computer-enabled medium or computer-readable medium that provides program code for use by or in connection with a computer or any instruction execution system. In this specification, a computer-enabled or computer-readable medium can be any device capable of storing or storing a program for use by or in connection with an instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device). Examples of computer-readable media include semiconductor or solid-state memory, magnetic tape, removable computer diskettes, random access memory (RAM), read-only memory (ROM), hard magnetic disks, optical disks, etc. Current examples of optical discs include CompactDisc Read-Only Memory (CD-ROM), CompactDisc Read / Write (CD-R / W), and DVD. Computer-readable media are tangible objects.
[0095] A computer program product may be a product having program instructions (or program code) for implementing one or more of the functions described. These instructions or code may be downloaded over a network from a remote data processing system and then stored on a computer-readable storage medium within the data processing system. Alternatively, these instructions or code may be stored on a computer-readable storage medium within a server data processing system and adapted to be downloaded over a network to a remote data processing system for use on a computer-readable storage medium in the remote system.
[0096] In a typical embodiment, the fusion server and each agent are implemented on a special-purpose computer, preferably in software that runs on one or more processors. The software is stored in one or more datastores or memories associated with one or more processors, and the software may be implemented as one or more computer programs. Collectively, this special-purpose hardware and software constitute the functions described above.
[0097] While the above describes a specific sequence of operations performed by a particular embodiment of the present invention, it should be understood that such a sequence is illustrative, as alternative embodiments may perform operations in a different order, combine certain operations, or duplicate certain operations. References to specific embodiments in this specification indicate that the described embodiments may include certain features, structures, or characteristics, but not all embodiments necessarily include certain features, structures, or characteristics.
[0098] Finally, while we have described the specific components of the system individually, those skilled in the art will understand that some functions can be combined or shared within specific instructions, program sequences, or code sections.
[0099] The technologies described herein provide improvements to other technologies or technical fields, such as machine learning systems, security incident and event management (SIEM) systems, other security systems, and automation-based cybersecurity analytics.
[0100] Having explained the subject, our argument is as follows:
Claims
1. A method for providing federative learning in which a computer reduces information leakage during model aggregation, The computer loads an aggregator execution entity in a trusted execution environment, the trusted execution environment providing runtime memory encryption protection, and the aggregator execution entity is one of a set of aggregator execution entities comprising an aggregator configured to fuse model updates provided by multiple stakeholders collaborating to build a machine learning model. The computer registers each of the aforementioned multiple parties with the aggregator execution entity, The computer receives model updates from each of the multiple stakeholders in the aggregator execution entity, wherein the model updates are automatically encrypted in memory by the trusted execution environment, and are partitions of a plurality of partitions that partition the entire set of model updates generated by the multiple stakeholders, and the order of the parameters, which are values derived by training in each partition, or the gradients of the loss function with respect to those parameters, is shuffled upon receipt. The computer uses the model updates to generate the machine learning model in a safe and reliable manner, and fuses the model updates by executing the aggregator execution entities in the trusted execution environment in relation to other aggregator execution entities in the set of aggregator execution entities, Methods that include...
2. The method according to claim 1, further comprising a computer certifying the integrity of the aggregator execution entity.
3. The computer establishes and maintains a secure communication channel with at least one other aggregator execution entity, The computer uses the secure communication channel for training synchronization during the federated learning, The method according to claim 1, further comprising:
4. The method according to any one of claims 1 to 3, wherein, with respect to at least one other of the set of aggregator execution entities, the aggregator execution entity runs on one of the following: different machines, different data centers, different trusted execution environment architectures, and different geographical locations.
5. The method according to any one of claims 1 to 3, wherein loading the aggregator execution entity includes receiving a unique secret in the trusted execution environment and using the unique secret to authenticate the aggregator execution entity in participant registration.
6. It is a device, Hardware processor and The system includes a computer memory that holds computer program instructions that are executed by the hardware processor and provide federative learning with reduced information leakage of model aggregation, wherein the computer program instructions are: Loading an aggregator execution entity in a trusted execution environment, wherein the trusted execution environment provides runtime memory encryption protection, and the aggregator execution entity is one of a set of aggregator execution entities comprising an aggregator configured to fuse model updates provided by multiple stakeholders collaborating to build a machine learning model. Registering each of the aforementioned multiple parties to the aggregator execution entity, The aggregator execution entity receives a model update, wherein the model update is automatically encrypted in memory by the trusted execution environment, is a partition of a plurality of partitions that partition the entire model update generated by the plurality of parties, and the order of the parameters, which are values derived by training in each partition, or the gradients of the loss function with respect to the parameters, is shuffled. To generate the machine learning model in a safe and reliable manner, the model update is used and the aggregator execution entity is fused by executing the aggregator execution entity in the trusted execution environment in relation to other aggregator execution entities in the set of aggregator execution entities. A device configured to perform the following actions.
7. The apparatus according to claim 6, wherein the computer program instructions are further configured to verify the integrity of the aggregator execution entity.
8. The aforementioned computer program instruction is Establish and maintain a secure communication channel with at least one other aggregator execution entity, The secure communication channel is used for training synchronization during the aforementioned federated learning, The apparatus according to claim 6, further configured to perform the following:
9. The apparatus according to any one of claims 6 to 8, wherein, with respect to at least one other of the set of aggregator execution entities, the aggregator execution entity runs on one of different machines, different data centers, different trusted execution environment architectures, and different geographical locations.
10. The apparatus according to any one of claims 6 to 8, wherein the computer program instruction configured to load the aggregator execution entity further includes a computer program instruction configured to perform the actions of receiving a unique secret in the trusted execution environment and using the unique secret to authenticate the aggregator execution entity in the registration of persons.
11. A computer program in a non-temporary computer-readable medium for use in a data processing system that provides federative learning with reduced information leakage in model aggregation, wherein the computer program has computer program instructions and, when executed in the data processing system, Loading an aggregator execution entity in a trusted execution environment, wherein the trusted execution environment provides runtime memory encryption protection, and the aggregator execution entity is one of a set of aggregator execution entities comprising an aggregator configured to fuse model updates provided by multiple stakeholders collaborating to build a machine learning model. Registering each of the aforementioned multiple parties to the aggregator execution entity, The aggregator execution entity receives a model update, wherein the model update is automatically encrypted in memory by the trusted execution environment, is a partition of a plurality of partitions that partition the entire model update generated by the plurality of parties, and the order of the parameters, which are values derived by training in each partition, or the gradients of the loss function with respect to the parameters, is shuffled. To generate the machine learning model in a safe and reliable manner, the model update is used and the aggregator execution entity is fused by executing the aggregator execution entity in the trusted execution environment in relation to other aggregator execution entities in the set of aggregator execution entities. A computer program configured to execute [something].
12. The computer program according to claim 11, wherein the computer program instructions are further configured to verify the integrity of the aggregator execution entity.
13. The aforementioned computer program instruction is Establish and maintain a secure communication channel with at least one other aggregator execution entity, The secure communication channel is used for training synchronization during the aforementioned federated learning, The computer program according to claim 11, further configured to perform the following:
14. The computer program according to any one of claims 11 to 13, wherein, with respect to at least one other of the set of aggregator execution entities, the aggregator execution entity runs on one of different machines, different data centers, different trusted execution environment architectures, and different geographical locations.
15. The computer program according to any one of claims 11 to 13, wherein the computer program instruction configured to load an aggregator execution entity further includes a computer program instruction configured to perform the actions of receiving a unique secret in the trusted execution environment and using the unique secret to authenticate the aggregator execution entity in the registration of persons.
16. A federated learning system that is secure against information leakage during model aggregation, A set of trusted execution environments, An aggregator divided into a set of independent aggregator execution entities, each aggregator execution entity being located in one of a predetermined set of trusted execution environments, includes: The aggregator execution entity is configured to receive model updates from each of the set of stakeholders participating in a federated learning session, the model updates being automatically encrypted in memory by the trusted execution environment, and being a partition of a set of partitions that partition the entire set of model updates generated by the multiple stakeholders, the order of the parameters or the gradients of the loss function with respect to those parameters being shuffled in each partition, the parameters being the values derived by training. The aggregator execution entity, which runs within the trusted execution environment, executes a fusion algorithm using the model updates to generate a machine learning model in a safe and reliable manner. Associative learning system.
17. The federated learning system according to claim 16, wherein, with respect to at least one other of the set of aggregator execution entities, the aggregator execution entity runs on one of the following: different machines, different data centers, different trusted execution environment architectures, and different geographical locations.
Citation Information
Patent Citations
Joint learning system, training result aggregation method and equipment
CN112749812A
Methods and apparatus for distributed use of a machine learning model
US20190042878A1
Distributed learning of composite machine learning models
US20210133555A1
System and method for secure electronic transaction platform
WO2019227208A1