Model generation method and device based on federated learning

By using federated learning to stitch together data and conduct distributed training, the problem of small businesses lacking data to train high-precision models is solved, generating efficient and secure target models.

CN112348197BActive Publication Date: 2025-01-07BEIJING WODONG TIANJUN INFORMATION TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202010622796.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-07-01
Publication Date
2025-01-07
Estimated Expiration
2040-07-01

AI Technical Summary

Technical Problem

Small businesses and institutions lack high-quality data to train high-precision artificial intelligence models, and existing technologies make it difficult to achieve secure and reasonable exchange and joint training of data from multiple parties.

Method used

By employing a federated learning approach, high-quality target models are generated through data concatenation, resource allocation, and distributed training, ensuring data security and preventing data exchange.

Benefits of technology

This improved the accuracy and efficiency of the model, ensured data security, and avoided privacy risks associated with data exchange.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112348197B_ABST
    Figure CN112348197B_ABST
Patent Text Reader

Abstract

The present application discloses a model generation method and device based on federated learning. A specific implementation of the method includes: splicing the data obtained from multiple users to obtain spliced ​​data; configuring resources for multiple users according to the preset cooperation agreement of multiple users; using the spliced ​​data as input data, performing distributed training on the initial model of multiple users built based on the configured resources to obtain a target model. This implementation obtains a high-quality target model through data training of multiple users, thereby improving the accuracy of the target model; moreover, multiple users do not need to exchange data, thereby ensuring the data security of multiple users.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer technology, and specifically to a model generation method and device based on federated learning. Background Art

[0002] At present, artificial intelligence technology is very popular. From face recognition, AlphaGo to driverless cars and precision marketing, which has long been widely used, artificial intelligence technology has entered every aspect of people's lives. Generally, the corresponding model of artificial intelligence needs to be trained with a large amount of high-quality data. In real life, except for a few giant companies that have a large amount of high-quality data, most companies have problems with small data volume and information islands, so that they cannot obtain an artificial intelligence model with accurate output results. Summary of the invention

[0003] The embodiment of the present application proposes a model generation method and device based on federated learning.

[0004] In a first aspect, an embodiment of the present application provides a model generation method based on federated learning, comprising: performing data splicing on data obtained from multiple users to obtain spliced ​​data; performing resource configuration for the multiple users according to a preset cooperation agreement of the multiple users; using the spliced ​​data as input data, performing distributed training on an initial model of the multiple users constructed based on the configured resources to obtain a target model.

[0005] In some embodiments, the above-mentioned data obtained from multiple users are spliced ​​to obtain spliced ​​data, including: performing data conversion on the original data obtained from multiple users to obtain converted data; and encrypting the data during the splicing process of the converted data to obtain encrypted spliced ​​data.

[0006] In some embodiments, the above-mentioned data obtained from multiple users are spliced ​​to obtain spliced ​​data, including: for each piece of data of each user among the multiple users obtained, identity information of the data is obtained; data splicing of data with the same identity information in the data of multiple users to obtain spliced ​​data.

[0007] In some embodiments, the above-mentioned data with the same identity information in the data of multiple users are spliced ​​to obtain spliced ​​data, including: data splicing the data with the same identity information in the data of multiple users through multiple data splicing modules to obtain spliced ​​data; and / or data splicing the data with the same identity information in the data of multiple users in a sliding time window including a preset number of data to obtain spliced ​​data.

[0008] In some embodiments, the above-mentioned resource configuration for multiple users according to the preset cooperation agreement of the multiple users includes: determining resource configuration information according to the preset cooperation agreement of the multiple users, wherein the resource configuration information includes multiple containers for model training of each of the multiple users; and configuring resources for the multiple users according to the resource configuration information.

[0009] In some embodiments, the above-mentioned method of using the spliced ​​data as input data to perform distributed training on the initial models of multiple users built based on the configured resources to obtain the target model includes: pairing multiple trainers deployed in multiple containers of one user among the multiple users with multiple trainers deployed in multiple containers of other users among the multiple users to obtain multiple trainer groups, wherein the trainer groups correspond to the initial models one-to-one, and for each trainer in the same trainer group, the trainer is used to train the initial model corresponding to the trainer using part of the data belonging to the user to which the trainer belongs in the same spliced ​​data as input data; and performing distributed training of multiple initial models of multiple users through multiple trainer groups to obtain the target model.

[0010] In some embodiments, the method further includes: during the distributed training process, in response to a pairing failure of multiple trainers in the same trainer group, re-pairing.

[0011] In some embodiments, the above method further includes: during the distributed training process, information interaction is performed between multiple users via data packets.

[0012] In some embodiments, during the distributed training process, information interaction is performed between multiple users through data packets, including: during the distributed training process, in response to receiving a response data packet from a data receiver among multiple users, determining that a data sender among multiple users has completed information interaction based on sending the data packet, wherein the difference between the numerical value represented by the identity information of the response data packet and the numerical value represented by the identity information of the sending data packet is a preset value.

[0013] In some embodiments, during the distributed training process, in response to receiving a response data packet from a data receiver among multiple users, determining that a data sender among multiple users has completed information interaction based on a sent data packet includes: during the distributed training process, in response to receiving a response data packet from a data receiver among multiple users, determining that a data sender among multiple users has completed information interaction based on multiple sent data packets sent at one time, wherein the value represented by the identity information of the multiple sent data packets sent at one time is a continuous value, and the difference between the value represented by the identity information of the response data packet and the largest value among the received continuous values ​​is a preset value.

[0014] In some embodiments, the above-mentioned information interaction between multiple users through data packets during the distributed training process also includes: during the distributed training process, in response to not receiving a response data packet from a data recipient among the multiple users, re-sending a data packet to the data recipient among the multiple users.

[0015] In some embodiments, the above-mentioned distributed training of multiple initial models of multiple users through multiple trainer groups to obtain a target model includes: for each trainer group among the multiple trainer groups, in response to determining that a trainer in the trainer group corresponding to one user among the multiple users has pre-acquired input data, information is exchanged with trainers in the trainer group corresponding to other users among the multiple users through data packets to synchronize the input data of multiple trainers in the trainer group during the model training process; and distributed training of multiple initial models of multiple users using the pre-acquired input data as input data is performed through the multiple trainer groups to obtain a target model.

[0016] In some embodiments, the above-mentioned method of performing distributed training on multiple initial models of multiple users by using the multiple trainer groups and taking the pre-acquired input data as input data to obtain a target model includes: performing distributed training on multiple initial models of multiple users by using the multiple trainer groups and taking the pre-acquired input data as input data, and during the distributed training process, updating the parameters of the multiple initial models of the multiple users by using a parameter server to obtain a target model.

[0017] On the second aspect, the present application provides a model generation device based on federated learning, including: a splicing unit, configured to perform data splicing on data obtained from multiple users to obtain spliced ​​data; a configuration unit, configured to perform resource configuration for multiple users according to a preset cooperation agreement of the multiple users; a training unit, configured to use the spliced ​​data as input data, perform distributed training on an initial model of multiple users constructed based on the configured resources, and obtain a target model.

[0018] In some embodiments, the splicing unit is further configured to: perform data conversion on the original data obtained from multiple users to obtain converted data; and perform data encryption during the splicing process of the converted data to obtain encrypted spliced ​​data.

[0019] In some embodiments, the splicing unit is further configured to: obtain identity information of each piece of data of each user among the multiple users; and splice data with the same identity information among the data of the multiple users to obtain spliced ​​data.

[0020] In some embodiments, the splicing unit is further configured to: splice data with the same identity information in the data of multiple users through multiple data splicing modules to obtain spliced ​​data; and / or splice data with the same identity information in the data of multiple users in a sliding time window including a preset number of data to obtain spliced ​​data.

[0021] In some embodiments, the configuration unit is further configured to: determine resource configuration information based on a preset cooperation agreement among multiple users, wherein the resource configuration information includes multiple containers for model training by each of the multiple users; and perform resource configuration for the multiple users based on the resource configuration information.

[0022] In some embodiments, the training unit is further configured to: pair multiple trainers deployed in multiple containers of one user among the multiple users with multiple trainers deployed in multiple containers of other users among the multiple users to obtain multiple trainer groups, wherein the trainer groups correspond to the initial models one-to-one, and for each trainer in the same trainer group, the trainer is used to train the initial model corresponding to the trainer using part of the data belonging to the user to which the trainer belongs in the same spliced ​​data as input data; and perform distributed training of multiple initial models of multiple users through multiple trainer groups to obtain a target model.

[0023] In some embodiments, the training unit is further configured to: during the distributed training process, in response to a pairing failure of multiple trainers in the same trainer group, perform re-pairing.

[0024] In some embodiments, the above-mentioned device also includes: an interaction unit, configured to: during the distributed training process, perform information interaction between multiple users through data packets.

[0025] In some embodiments, the interaction unit is further configured to: during the distributed training process, in response to receiving a response data packet from a data receiver among multiple users, determine whether a data sender among multiple users has completed information interaction based on the sent data packet, wherein the difference between the numerical value represented by the identity information of the response data packet and the numerical value represented by the identity information of the sent data packet is a preset value.

[0026] In some embodiments, the interaction unit is further configured to: during the distributed training process, in response to receiving a response data packet from a data receiver among multiple users, determine that a data sender among multiple users has completed information interaction based on multiple sending data packets sent at one time, wherein the value represented by the identity information of the multiple sending data packets sent at one time is a continuous value, and the difference between the value represented by the identity information of the response data packet and the largest value among the received continuous values ​​is a preset value.

[0027] In some embodiments, the interaction unit is further configured to: during the distributed training process, in response to not receiving a response data packet from a data recipient among the multiple users, resend a send data packet to a data recipient among the multiple users.

[0028] In some embodiments, the training unit is further configured to: for each trainer group among the multiple trainer groups, in response to determining that the trainer in the trainer group corresponding to one user among the multiple users has pre-acquired input data, interact with the trainers in the trainer group corresponding to other users among the multiple users through data packets to synchronize the input data of the multiple trainers in the trainer group during the model training process; and perform distributed training on multiple initial models of the multiple users using the pre-acquired input data through the multiple trainer groups to obtain a target model.

[0029] In some embodiments, the training unit is further configured to: perform distributed training on multiple initial models of multiple users through the multiple trainer groups using pre-acquired input data as input data; during the distributed training process, update parameters of the multiple initial models of multiple users through the parameter server to obtain a target model.

[0030] In a third aspect, an embodiment of the present application provides a computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the method described in any implementation manner of the first aspect is implemented.

[0031] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising: one or more processors; a storage device on which one or more programs are stored, and when the one or more programs are executed by one or more processors, the one or more processors implement the method described in any implementation manner of the first aspect.

[0032] The model generation method and device based on federated learning provided in the embodiment of the present application obtains spliced ​​data by splicing the data of multiple users; configures resources for the multiple users according to the preset cooperation agreement of the multiple users; uses the spliced ​​data as input data, performs distributed training on the initial models of the multiple users built based on the configured resources, and obtains the target model, thereby obtaining a high-quality target model through data training of multiple users, thereby improving the accuracy of the target model; moreover, the multiple users do not need to exchange data, thereby ensuring the data security of the multiple users. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] Other features, objects and advantages of the present application will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings:

[0034] Figure 1 is an exemplary system architecture diagram in which an embodiment of the present application may be applied;

[0035] Figure 2 is a flowchart of an embodiment of a model generation method based on federated learning according to the present application;

[0036] Figure 3 is a schematic diagram of an application scenario of the model generation method based on federated learning according to this embodiment;

[0037] Figure 4 is a flowchart of another embodiment of the model generation method based on federated learning according to the present application;

[0038] Figure 5 is a structural diagram of an embodiment of a model generation device based on federated learning according to the present application;

[0039] Figure 6 It is a structural diagram of a computer system suitable for implementing the embodiments of the present application. DETAILED DESCRIPTION

[0040] The present application will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the relevant invention, rather than to limit the invention. It should also be noted that, for ease of description, only the parts related to the relevant invention are shown in the accompanying drawings.

[0041] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0042] Figure 1 An exemplary architecture 100 is shown to which the federated learning-based model generation method and apparatus of the present application can be applied.

[0043] like Figure 1 As shown, the system architecture 100 may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0044] Terminal devices 101, 102, 103 may be hardware devices or software that support network connection for data interaction and data processing. When terminal devices 101, 102, 103 are hardware, they may be various electronic devices that support functions such as information interaction, network connection, image capture, information processing, etc., including but not limited to smart phones, tablet computers, e-book readers, laptop portable computers, and desktop computers, etc. When terminal devices 101, 102, 103 are software, they may be installed in the electronic devices listed above. They may be implemented as multiple software or software modules, for example, for providing distributed services, or they may be implemented as a single software or software module. No specific limitation is made here.

[0045] The server 105 can be a server that provides various services, such as a background processing server that performs data splicing based on the data of multiple users sent by the terminal devices 101, 102, and 103, and performs model training based on the spliced ​​data. The background processing server can perform feature extraction, analysis and processing on the data of multiple users to obtain spliced ​​data for model training. Optionally, the background processing server can also feed back the trained target model to the terminal device for use by the terminal device. As an example, the server 105 can be a cloud server.

[0046] It should be noted that the server can be hardware or software. When the server is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or it can be implemented as a single server. When the server is software, it can be implemented as multiple software or software modules (for example, software or software modules used to provide distributed services), or it can be implemented as a single software or software module. No specific limitation is made here.

[0047] It should also be noted that the model generation method based on federated learning provided in the embodiments of the present disclosure can be executed by a server, or by a terminal device, or by a server and a terminal device in cooperation with each other. Accordingly, the various parts (such as various units, sub-units, modules, and sub-modules) included in the model generation device based on federated learning can be all set in the server, or all set in the terminal device, or respectively set in the server and the terminal device.

[0048] It should be understood that Figure 1 The number of terminal devices, networks, and servers in the example is only illustrative. Depending on the implementation requirements, there may be any number of terminal devices, networks, and servers. When the electronic device on which the federated learning-based model generation method runs does not need to transmit data with other electronic devices, the system architecture may only include the electronic device (e.g., server or terminal device) on which the federated learning-based model generation method runs.

[0049] Continue to refer Figure 2 , a process 200 of an embodiment of a method for generating a model based on federated learning is shown, comprising the following steps:

[0050] Step 201, data splicing is performed on the acquired data of multiple users to obtain spliced ​​data.

[0051] In this embodiment, the execution subject of the model generation method based on federated learning (for example Figure 1 The terminal device or server in the network can obtain data of multiple users remotely or locally through a wired connection or a wireless connection, and splice the obtained data to obtain spliced ​​data.

[0052] In this embodiment, the multiple users may be multiple users with cooperative relationships or multiple users with business connections. Taking multiple users with cooperative relationships as an example, the multiple users may be different companies with cooperative relationships or different departments in the same company.

[0053] In view of this, the data of multiple users may be data representing different aspects of information of the same person or object. As an example, the data of multiple users may be feature information of the same product obtained based on different businesses with upstream and downstream relationships.

[0054] In some optional implementations of this embodiment, the execution subject may perform step 201 in the following manner:

[0055] First, the original data of multiple users is converted to obtain converted data. Then, data encryption is performed during the splicing of the converted data to obtain encrypted spliced ​​data. In this implementation, the above-mentioned execution subject can adopt various data conversion technologies and data encryption technologies. Data conversion technology and data encryption technology are mature technologies applied to data processing and will not be described in detail here. Based on data conversion and data encryption of data of multiple users, the data security of multiple users is guaranteed.

[0056] In some optional implementations of this embodiment, the execution subject may perform step 201 in the following manner:

[0057] First, for each piece of data of each user among the multiple users, the identity information of the data is obtained. Then, the data with the same identity information in the data of the multiple users is spliced ​​to obtain spliced ​​data. As an example, the data of one user among the multiple users represents the consumption information of a target person, the data of another user among the multiple users represents the walking trajectory information of the target person, and the identity information of the data of both users represents the attribute information of the target person. According to the attribute information of the target person, the consumption information and walking trajectory information of the target person can be spliced ​​to obtain more comprehensive spliced ​​data.

[0058] In this implementation, the execution subject may set up multiple data splicing modules, and use the multiple data splicing modules to splice the data with the same identity information in the data of multiple users to obtain spliced ​​data. For large-scale offline data, data splicing can be performed through multiple data splicing modules to improve data splicing efficiency.

[0059] In this implementation, the above-mentioned execution subject can also splice the data with the same identity information in the data of multiple users in a sliding time window including a preset number of data to obtain spliced ​​data. Since the online real-time data is generated in chronological order, it is basically sorted by time. Therefore, for online real-time data, the above-mentioned execution subject can set corresponding sliding time windows for multiple users and perform data splicing within the sliding time window. As the sliding time window slides along time, the data splicing of all data generated up to the current time is completed. Among them, the sliding time windows of multiple users can be the same or different, and the preset number can be set according to the specific situation, which is not limited here.

[0060] As an example, the preset number corresponding to the sliding time window is 5000, the generation time of the first piece of data among these 5000 pieces of data corresponds to the upper limit time of the time window, and the generation time of the last piece of data among these 5000 pieces of data corresponds to the lower limit time of the time window.

[0061] In the data splicing process based on the sliding time window, the sliding time window of user A among multiple users slides along time. If the data corresponding to an intermediate time in the sliding time window of user A does not find data with the same identity information in the sliding time window of user B among multiple users, it is necessary to slide the sliding time window of user B along time to load new data. Among them, the intermediate time of the sliding time window of user A is earlier than the lower limit time of the sliding time window of user B.

[0062] The lower limit time of the sliding time window of the user of Party B after sliding is later than the upper limit time of the sliding time window of the user of Party A.

[0063] In this embodiment, the above optional implementation methods can be combined with each other. As an example, the above execution subject obtains the identity information of each piece of data of each user among the multiple users, and performs data conversion on each piece of data to obtain converted data. Then, in the data splicing process of the data with the same identity information in the data of the multiple users, the data is encrypted to obtain the encrypted spliced ​​data.

[0064] Step 202: Allocate resources for multiple users according to their preset cooperation agreement.

[0065] In this embodiment, the above-mentioned execution subject can obtain the preset cooperation agreement of multiple users remotely or locally through a wired connection or a wireless connection, and configure resources for the multiple users according to the preset cooperation agreement of the multiple users.

[0066] The preset cooperation agreement of multiple users is an agreement that characterizes the cooperation strategy of multiple users, including but not limited to cooperation matters, cooperation purposes, initial model information, configuration information of the initial model, etc. Resource configuration can be performed for multiple users based on the information on resource configuration of multiple users in the preset cooperation agreement.

[0067] Specifically, the above-mentioned execution entity can configure resources through the K8S (short for Kubernetes) management platform, dynamically create, manage and recycle resources to improve resource utilization; and can adjust the scale of the distributed cluster according to the scale and complexity of the training task to improve the flexibility and efficiency of resource configuration.

[0068] In some optional implementations of this embodiment, the execution subject may perform step 202 in the following manner:

[0069] First, according to a preset cooperation agreement of multiple users, resource configuration information is determined, wherein the resource configuration information includes multiple containers for each user of the multiple users to perform model training, wherein a container is a group of processes for training an initial model that are subject to resource constraints and isolated from each other. In addition, the resource configuration information may also include initial model information and trainer information for training the initial model.

[0070] Then, according to the resource configuration information, resources are configured for multiple users. For each user, the execution subject allocates multiple containers and multiple trainers deployed in the multiple containers. Generally speaking, one trainer is deployed in one container.

[0071] In this embodiment, the initial model can be an initial model that implements any function with any algorithm, including but not limited to a logistic regression model, a deep learning model, a decision tree model, a support vector machine model, and the like.

[0072] Step 203 , using the spliced ​​data as input data, performing distributed training on the initial models of multiple users constructed based on the configured resources to obtain a target model.

[0073] In this embodiment, the execution entity may use the spliced ​​data obtained in step 201 as input data to perform distributed training on the initial models of multiple users constructed based on the resources configured in step 202 to obtain a target model.

[0074] In this embodiment, the target model may be a modern neural network architecture trained on a large-scale dataset, which can achieve impressive performance in a variety of fields, from speech and image recognition to natural language processing, fraud detection and recommendation systems. In order to solve the problem that model training takes a long time on a single machine, multiple initial models can be trained in a distributed training manner.

[0075] Based on data parallel distributed training, the above execution entity deploys a trainer in each container, and uses different subsets of the large-scale training data set as input data for the initial model corresponding to the trainer in each container for model training. During the training process, parameters can be updated based on the parameter server to quickly obtain the final target model. As an example, the parameter server can use parameter averaging methods, gradient-based methods, centralized synchronization, distributed synchronization and other methods to update each model during the training process.

[0076] Continue to see Figure 3 , Figure 3 FIG. 1 is a schematic diagram of an application scenario of the model generation method based on federated learning according to this embodiment. Figure 3In the application scenario, multiple users include user 301 and user 302 who have a cooperative relationship. User 301 is a company user that provides a shopping platform, and user 302 is a company user that provides short video applications. In the short video applications provided by user 302, advertising information of various items in the shopping platform provided by user 301 is inserted. First, servers 303 and 304 respectively obtain data of user 301 and user 302 from their respective data centers 305 and 306, and splice the obtained data to obtain spliced ​​data. Then, servers 303 and 304 respectively configure resources for user 301 and user 302 according to the preset cooperation agreement between user 301 and user 302. Among them, for user 301 and user 302, servers 303 and 304 are respectively configured with 3 containers and 3 trainers. The containers configured for user 301 include containers 307, 308, and 309, and the containers configured for user 302 include containers 310, 311, and 312, and trainers are deployed in each container. Finally, servers 307-312 use the spliced ​​data as input data to perform distributed training on the initial models of user 301 and user 302 built based on the configured resources to obtain the target model, which is used to determine the advertising push information of each person using short video applications, and the advertising push information is the advertising push information about items in the shopping platform.

[0077] The method provided by the above-mentioned embodiment of the present disclosure obtains data from multiple users by splicing data to obtain spliced ​​data; configures resources for the multiple users according to the preset cooperation agreement of the multiple users; uses the spliced ​​data as input data, performs distributed training on the initial models of the multiple users built based on the configured resources to obtain the target model, thereby obtaining a high-quality target model through data training of multiple users, thereby improving the accuracy of the target model; moreover, the multiple users do not need to exchange data, thereby ensuring the data security of the multiple users.

[0078] In some optional implementations of this embodiment, the above-mentioned execution subject may also perform the following steps: in the distributed training process, information interaction is performed between multiple users through data packets.

[0079] During the distributed training process, the models of multiple users need to interact with each other to update parameters, gradients, input data and other information in order to synchronize the information during the model training process.

[0080] In this implementation, further, the above-mentioned execution subject can perform information interaction in the following manner: during the distributed training process, the above-mentioned execution subject responds to receiving a response data packet from a data receiver among multiple users, and determines that the data sender among multiple users completes the information interaction based on the sent data packet, wherein the difference between the numerical value represented by the identity information of the response data packet and the numerical value represented by the identity information of the sent data packet is a preset value.

[0081] As an example, the preset value may be 1. A data sender among multiple users sends a send data packet whose value represented by the identity information is 1 to a data receiver. If a response data packet whose value represented by the identity information sent by the data receiver is 2 is received, it indicates that the send data packet whose value represented by the identity information is 1 is successfully received by the data receiver.

[0082] In the present implementation, further, the above-mentioned execution subject can perform information interaction in the following manner: in the distributed training process, in response to receiving a response data packet from a data receiver among multiple users, it is determined that the data sender among the multiple users completes the information interaction based on multiple sending data packets sent at one time, wherein the value represented by the identity information of the multiple sending data packets sent at one time is a continuous value, and the difference between the value represented by the identity information of the response data packet and the largest value among the received continuous values ​​is a preset value.

[0083] Continuing with the example of the preset value being 1, the data sender among the multiple users sends 5 data packets to the data receiver at one time, and the values ​​represented by the identity information of the 5 data packets are 1, 2, 3, 4, and 5. If a response data packet with a value represented by the identity information of 6 sent by the data receiver is received, it indicates that the 5 data packets with the values ​​represented by the identity information of 1, 2, 3, 4, and 5 are successfully received by the data receiver.

[0084] In this implementation, during the distributed training process, the execution subject resends the data packet to the data recipient among the multiple users in response to not receiving a response data packet from the data recipient among the multiple users.

[0085] As an example, the preset value is 1. A data sender among multiple users sends a sending data packet whose value represented by the identity information is 1 to a data receiver. If a response data packet whose value represented by the identity information is 2 sent by the data receiver is not received, it indicates that the sending data packet whose value represented by the identity information is 1 has not been successfully received by the data receiver, and the sending data packet whose value represented by the identity information is 1 needs to be resent by the data sender to the data receiver.

[0086] As another example, the preset value is 1, and the data sender among the multiple users sends 5 transmission data packets to the data receiver at one time, and the values ​​represented by the identity information of the 5 transmission data packets are 1, 2, 3, 4, and 5, respectively. If a response data packet with a value of 5 represented by the identity information sent by the data receiver is received, it indicates that the 4 transmission data packets with values ​​of 1, 2, 3, and 4 represented by the identity information are successfully received by the data receiver, and the transmission data packet with a value of 5 represented by the identity information is not successfully received by the data receiver, and the transmission data packet with a value of 5 represented by the identity information needs to be resent by the data sender to the data receiver.

[0087] In this implementation, the above-mentioned execution entity can simultaneously ensure the stability of resource connections of multiple users through TCP (Transmission Control Protocol) long connections, keep-alive heartbeats, reconnections, connection pools, etc., to ensure successful information interaction based on data packets.

[0088] In some optional implementations of this embodiment, the above-mentioned execution subject may further perform the following steps: in the distributed training process, in response to a pairing failure of multiple trainers in the same trainer group, re-pairing is performed.

[0089] In this implementation, when the trainer pairing fails due to a container failure, the above-mentioned execution subject can reallocate the container for pairing; when it is due to a trainer failure, the above-mentioned execution subject can restart the trainer for pairing.

[0090] Continue to refer Figure 4 , shows a schematic process 400 of another embodiment of a model generation method based on federated learning according to the present application, comprising the following steps:

[0091] Step 401, data splicing is performed on the acquired data of multiple users to obtain spliced ​​data.

[0092] In this embodiment, step 401 and Figure 2 Step 201 in the corresponding embodiment is basically the same and will not be described again here.

[0093] Step 402: Allocate resources for multiple users according to their preset cooperation agreement.

[0094] In this embodiment, step 402 and Figure 2 Step 202 in the corresponding embodiment is basically the same and will not be described again here.

[0095] Step 403: Pair the multiple trainers deployed in the multiple containers of one user among the multiple users with the multiple trainers deployed in the multiple containers of the other users among the multiple users to obtain multiple trainer groups.

[0096] In this embodiment, since a two-party federated learning method is adopted, multiple users are deployed with multiple trainers. Therefore, the execution subject of the model generation method based on federated learning can pair multiple trainers deployed in multiple containers of one user among the multiple users with multiple trainers deployed in multiple containers of other users among the multiple users to obtain multiple trainer groups. Among them, the trainer group corresponds to the initial model one by one. For each trainer in the same trainer group, the trainer is used to train the initial model corresponding to the trainer using part of the data belonging to the user to which the trainer belongs in the same spliced ​​data as input data.

[0097] Specifically, the above-mentioned execution entity can adopt a dynamic pairing mechanism to synchronize the container list of one user among multiple users to other users; the other users perform random pairing according to their own container lists to obtain multiple container groups, and return the pairing information to one user among the multiple users, and determine multiple trainers in the same container group as a trainer group.

[0098] Step 404, performing distributed training of multiple initial models of multiple users through multiple trainer groups to obtain a target model.

[0099] In this embodiment, each trainer in the same trainer group is used to train the initial model corresponding to the trainer using part of the data belonging to the user of the trainer in the same spliced ​​data as input data.

[0100] In some optional implementations of this embodiment, the execution subject may perform step 404 in the following manner:

[0101] First, for each trainer group among the multiple trainer groups, in response to determining that a trainer in the trainer group corresponding to one user among the multiple users has pre-acquired input data, information interaction is performed with trainers in the trainer group corresponding to other users among the multiple users through data packets to synchronize the input data of the multiple trainers in the trainer group during the model training process.

[0102] Then, the plurality of initial models of the plurality of users are subjected to distributed training by the plurality of trainer groups using the pre-acquired input data as input data to obtain a target model.

[0103] In this implementation, for model training, the trainer can obtain training data in advance. The above-mentioned execution subject synchronizes the input data of multiple trainers in the same trainer type group during the model training process based on the pre-acquired training data, thereby improving the model training efficiency.

[0104] In this implementation, during the distributed training process, the above-mentioned execution entity can update the parameters of multiple initial models of multiple users through the parameter server to obtain the target model.

[0105] It can be seen from this embodiment that Figure 2 Compared with the corresponding embodiment, the process 400 of the model generation method based on federated learning in this embodiment specifically describes the training process of the trainer based on the pairing of multiple users. In this way, the training efficiency of the target model and the consistency of the target models of multiple users are further improved.

[0106] Continue to refer Figure 5 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a model generation device based on federated learning. Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.

[0107] like Figure 5 As shown, a model generation device based on federated learning includes: a splicing unit 501, configured to perform data splicing on data obtained from multiple users to obtain spliced ​​data; a configuration unit 502, configured to perform resource configuration for multiple users according to a preset cooperation agreement of the multiple users; a training unit 503, configured to use the spliced ​​data as input data, and perform distributed training on the initial model of the multiple users constructed based on the configured resources to obtain a target model.

[0108] In some embodiments, the splicing unit 501 is further configured to: perform data conversion on the original data obtained from multiple users to obtain converted data; and perform data encryption during the splicing process of the converted data to obtain encrypted spliced ​​data.

[0109] In some embodiments, the splicing unit 501 is further configured to: obtain identity information of each piece of data of each user among the multiple users; and splice data with the same identity information among the data of the multiple users to obtain spliced ​​data.

[0110] In some embodiments, the splicing unit 501 is further configured to: perform data splicing on the data of multiple users with the same identity information through multiple data splicing modules to obtain spliced ​​data; and / or perform data splicing on the data of multiple users with the same identity information in a sliding time window including a preset number of data to obtain spliced ​​data.

[0111] In some embodiments, the configuration unit 502 is further configured to: determine resource configuration information according to a preset cooperation agreement among multiple users, wherein the resource configuration information includes multiple containers for model training for each of the multiple users; and perform resource configuration for the multiple users according to the resource configuration information.

[0112] In some embodiments, the training unit 503 is further configured to: pair multiple trainers deployed in multiple containers of one user among multiple users with multiple trainers deployed in multiple containers of other users among multiple users to obtain multiple trainer groups, wherein the trainer groups correspond to the initial models one-to-one, and for each trainer in the same trainer group, the trainer is used to train the initial model corresponding to the trainer using part of the data belonging to the user to which the trainer belongs in the same spliced ​​data as input data; and perform distributed training of multiple initial models of multiple users through multiple trainer groups to obtain a target model.

[0113] In some embodiments, the training unit 503 is further configured to: during the distributed training process, in response to a pairing failure of multiple trainers in the same trainer group, perform re-pairing.

[0114] In some embodiments, the above-mentioned apparatus further includes: an interaction unit (not shown in the figure), configured to: perform information interaction between multiple users via data packets during the distributed training process.

[0115] In some embodiments, the interaction unit (not shown in the figure) is further configured to: during the distributed training process, in response to receiving a response data packet from a data receiver among multiple users, determine whether the data sender among the multiple users has completed the information interaction based on the sent data packet, wherein the difference between the numerical value represented by the identity information of the response data packet and the numerical value represented by the identity information of the sent data packet is a preset value.

[0116] In some embodiments, the interaction unit (not shown in the figure) is further configured to: during the distributed training process, in response to receiving a response data packet from a data receiver among multiple users, determine that the data sender among the multiple users has completed information interaction based on multiple sending data packets sent at one time, wherein the value represented by the identity information of the multiple sending data packets sent at one time is a continuous value, and the difference between the value represented by the identity information of the response data packet and the largest value among the received continuous values ​​is a preset value.

[0117] In some embodiments, the interaction unit (not shown in the figure) is further configured to: during the distributed training process, in response to not receiving a response data packet from a data recipient among the multiple users, resend a data packet to the data recipient among the multiple users.

[0118] In some embodiments, the training unit 503 is further configured to: for each trainer group among the multiple trainer groups, in response to determining that the trainer in the trainer group corresponding to one user among the multiple users has pre-acquired input data, interact with the trainers in the trainer group corresponding to other users among the multiple users through data packets to synchronize the input data of the multiple trainers in the trainer group during the model training process; and perform distributed training on multiple initial models of the multiple users using the pre-acquired input data as input data through the multiple trainer groups to obtain a target model.

[0119] In some embodiments, the training unit 503 is further configured to: perform distributed training on multiple initial models of multiple users through the multiple trainer groups using pre-acquired input data as input data; during the distributed training process, update parameters of the multiple initial models of multiple users through the parameter server to obtain a target model.

[0120] In this embodiment, the splicing unit in the model generation device based on federated learning performs data splicing on the data obtained from multiple users to obtain spliced ​​data; the configuration unit configures resources for the multiple users according to the preset cooperation agreement of the multiple users; the training unit uses the spliced ​​data as input data, performs distributed training on the initial models of the multiple users built based on the configured resources, and obtains the target model, thereby obtaining a high-quality target model through data training of multiple users, thereby improving the accuracy of the target model; moreover, the multiple users do not need to exchange data, thereby ensuring the data security of the multiple users.

[0121] Reference below Figure 6 , which shows a device suitable for implementing the embodiments of the present application (eg Figure 1 Schematic diagram of the structure of a computer system 600 of the devices 101, 102, 103, 105 shown. Figure 6 The device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0122] like Figure 6 As shown, the computer system 600 includes a processor (e.g., CPU, central processing unit) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage part 608 into a random access memory (RAM) 603. Various programs and data required for the operation of the system 600 are also stored in the RAM 603. The processor 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0123] The following components are connected to the I / O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage section 608 as needed.

[0124] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication part 609, and / or installed from a removable medium 611. When the computer program is executed by the processor 601, the above-mentioned functions defined in the method of the present application are executed.

[0125] It should be noted that the computer-readable medium of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0126] Computer program code for performing the operations of the present application may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the client computer, partially on the client computer, as a separate software package, partially on the client computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the client computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0127] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the device, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0128] The units involved in the embodiments described in the present application may be implemented by software or by hardware. The described units may also be arranged in a processor, for example, may be described as: a processor comprising a splicing unit, a configuration unit and a training unit. Among them, the names of these units do not constitute a limitation on the unit itself under certain circumstances. For example, the training unit may also be described as "a unit that uses splicing data as input data, performs distributed training on the initial models of multiple users built based on the configured resources, and obtains a target model".

[0129] As another aspect, the present application also provides a computer-readable medium, which may be included in the device described in the above embodiment; or it may exist independently without being assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by the device, the computer device: performs data splicing on the data obtained from multiple users to obtain spliced ​​data; performs resource configuration for multiple users according to the preset cooperation agreement of multiple users; uses the spliced ​​data as input data, performs distributed training on the initial model of multiple users constructed based on the configured resources, and obtains the target model.

[0130] The above description is only a preferred embodiment of the present application and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the present application is not limited to the technical solution formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above invention concept. For example, the above features are replaced with the technical features with similar functions disclosed in this application (but not limited to) by each other to form a technical solution.

Claims

1. A model generation method based on federated learning, comprising: The data obtained from multiple users are spliced ​​to obtain spliced ​​data; According to the preset cooperation agreement of the multiple users, resources are configured for the multiple users, and a plurality of containers for each of the multiple users to perform model training are determined; Using the spliced ​​data as input data, performing distributed training on the initial models of the multiple users constructed based on the configured resources to obtain a target model, including: Pairing multiple trainers deployed in multiple containers of one user among the multiple users with multiple trainers deployed in multiple containers of other users among the multiple users to obtain multiple trainer groups, wherein the trainer groups correspond to the initial models one by one, and for each trainer in the same trainer group, the trainer is used to train the initial model corresponding to the trainer using part of the data belonging to the user to which the trainer belongs in the same spliced ​​data as input data; Distributed training of the multiple initial models of the multiple users is performed through multiple trainer groups to obtain the target model.

2. The method according to claim 1, wherein: The step of performing data splicing on the acquired data of multiple users to obtain spliced ​​data includes: Performing data conversion on the acquired original data of the multiple users to obtain converted data; Data encryption is performed during the splicing process of the converted data to obtain the encrypted spliced ​​data.

3. The method according to claim 1, wherein: The step of performing data splicing on the acquired data of multiple users to obtain spliced ​​data includes: For each piece of data of each user among the multiple users, obtaining identity information of the data; The data with the same identity information among the data of the multiple users are spliced ​​to obtain the spliced ​​data.

4. The method according to claim 3, wherein: The step of splicing the data with the same identity information among the data of the multiple users to obtain the spliced ​​data includes: Splicing the data of the multiple users with the same identity information through the multiple data splicing modules to obtain the spliced ​​data; and / or In a sliding time window including a preset amount of data, data with the same identity information in the data of the multiple users are spliced ​​to obtain the spliced ​​data.

5. The method according to claim 1, wherein the configuring resources for the multiple users according to the preset cooperation agreement of the multiple users comprises: Determining resource configuration information according to a preset cooperation agreement of the multiple users, wherein the resource configuration information includes a plurality of containers for each of the multiple users to perform model training; Perform resource configuration for the multiple users according to the resource configuration information.

6. The method according to claim 1, wherein: The method further comprises: During distributed training, in response to multiple trainers in the same trainer group failing to pair, re-pairing is performed.

7. The method according to claim 1, wherein: The method further comprises: During the distributed training process, information is exchanged between the multiple users via data packets.

8. The method according to claim 7, wherein: In the distributed training process, information interaction is performed between the multiple users through data packets, including: During the distributed training process, in response to receiving a response data packet from a data receiver among the multiple users, it is determined that the data sender among the multiple users has completed the information interaction based on the sent data packet, wherein the difference between the numerical value represented by the identity information of the response data packet and the numerical value represented by the identity information of the sent data packet is a preset value.

9. The method according to claim 8, wherein: In the distributed training process, in response to receiving a response data packet from a data receiver among the multiple users, determining that a data sender among the multiple users completes information interaction based on sending the data packet includes: During the distributed training process, in response to receiving a response data packet from a data receiver among the multiple users, it is determined that the data sender among the multiple users has completed information interaction based on multiple sending data packets sent at one time, wherein the value represented by the identity information of the multiple sending data packets sent at one time is a continuous value, and the difference between the value represented by the identity information of the response data packet and the largest value among the received continuous values ​​is a preset value.

10. The method according to claim 8 or 9, wherein: In the distributed training process, information interaction is performed between the multiple users through data packets, and further includes: In the distributed training process, in response to not receiving a response data packet from a data receiving party among the multiple users, the sending data packet is resent to the data receiving party among the multiple users.

11. The method according to claim 1, wherein: The step of performing distributed training of the multiple initial models of the multiple users through the multiple trainer groups to obtain the target model comprises: For each of the plurality of trainer groups, in response to determining that a trainer in the trainer group corresponding to one of the plurality of users has pre-acquired input data, information is exchanged with trainers in the trainer group corresponding to other users in the plurality of users through data packets to synchronize input data of the plurality of trainers in the trainer group during model training; The target model is obtained by performing distributed training on the multiple initial models of the multiple users through the multiple trainer groups using the pre-acquired input data as input data.

12. The method according to claim 11, wherein: The step of performing distributed training on the multiple initial models of the multiple users by the multiple trainer groups using the pre-acquired input data as input data to obtain the target model includes: The multiple initial models of the multiple users are distributedly trained by the multiple trainer groups using pre-acquired input data as input data. During the distributed training process, the parameters of the multiple initial models of the multiple users are updated by a parameter server to obtain the target model.

13. A model generation device based on federated learning, comprising: The splicing unit is configured to splice the acquired data of multiple users to obtain spliced ​​data; A configuration unit, configured to perform resource configuration for the multiple users according to a preset cooperation agreement of the multiple users, and determine a plurality of containers for each of the multiple users to perform model training; The training unit is configured to use the spliced ​​data as input data to perform distributed training on the initial models of the multiple users built based on the configured resources to obtain a target model, including: pairing a plurality of trainers deployed in a plurality of containers of one user among the multiple users with a plurality of trainers deployed in a plurality of containers of other users among the multiple users to obtain a plurality of trainer groups, wherein a trainer group corresponds to an initial model one-to-one, and for each trainer in the same trainer group, the trainer is used to use part of the data belonging to the user to which the trainer belongs in the same spliced ​​data as input data to train the initial model corresponding to the trainer; and performing distributed training on the plurality of initial models of the multiple users through the plurality of trainer groups to obtain the target model.

14. The device according to claim 13, wherein: The splicing unit is further configured to: The obtained original data of the multiple users are converted to obtain converted data; and data encryption is performed during the splicing process of the converted data to obtain the encrypted spliced ​​data.

15. The device according to claim 13, wherein: The splicing unit is further configured to: For each piece of data of each user among the multiple users, identity information of the data is obtained; and data with the same identity information among the data of the multiple users are spliced ​​to obtain the spliced ​​data.

16. The device according to claim 15, wherein: The splicing unit is further configured to: The data with the same identity information in the data of the multiple users are spliced ​​by setting up multiple data splicing modules to obtain the spliced ​​data; and / or the data with the same identity information in the data of the multiple users are spliced ​​in a sliding time window including a preset number of data to obtain the spliced ​​data.

17. The apparatus according to claim 13, wherein the configuration unit is further configured to: Determine resource configuration information according to the preset cooperation agreement of the multiple users, wherein: The resource configuration information includes a plurality of containers for each of the multiple users to perform model training; Perform resource configuration for the multiple users according to the resource configuration information.

18. The device according to claim 13, wherein: The training unit is further configured to: During distributed training, in response to multiple trainers in the same trainer group failing to pair, re-pairing is performed.

19. The device according to claim 13, wherein: The device further comprises: an interaction unit configured to: During the distributed training process, information is exchanged between the multiple users via data packets.

20. The device according to claim 19, wherein The interaction unit is further configured to: During the distributed training process, in response to receiving a response data packet from a data receiver among the multiple users, it is determined that the data sender among the multiple users has completed the information interaction based on the sent data packet, wherein the difference between the numerical value represented by the identity information of the response data packet and the numerical value represented by the identity information of the sent data packet is a preset value.

21. The device according to claim 20, wherein: The interaction unit is further configured to: During the distributed training process, in response to receiving a response data packet from a data receiver among the multiple users, it is determined that the data sender among the multiple users has completed information interaction based on multiple sending data packets sent at one time, wherein the value represented by the identity information of the multiple sending data packets sent at one time is a continuous value, and the difference between the value represented by the identity information of the response data packet and the largest value among the received continuous values ​​is a preset value.

22. The device according to claim 20 or 21, wherein: The interaction unit is further configured to: In the distributed training process, in response to not receiving a response data packet from a data receiving party among the multiple users, the sending data packet is resent to the data receiving party among the multiple users.

23. The device according to claim 13, wherein: The training unit is further configured to: For each of the plurality of trainer groups, in response to determining that a trainer in the trainer group corresponding to one of the plurality of users has pre-acquired input data, information is exchanged with trainers in the trainer group corresponding to other users in the plurality of users through data packets to synchronize input data of the plurality of trainers in the trainer group during model training; The target model is obtained by performing distributed training on the multiple initial models of the multiple users through the multiple trainer groups using the pre-acquired input data as input data.

24. The device according to claim 23, wherein: The training unit is further configured to: The multiple initial models of the multiple users are distributedly trained by the multiple trainer groups using pre-acquired input data as input data. During the distributed training process, the parameters of the multiple initial models of the multiple users are updated by a parameter server to obtain the target model.

25. A computer readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 12 is implemented.

26. An electronic device comprising: one or more processors; a storage device having one or more programs stored thereon, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Federated learning-based recommendation model training method, terminal and storage medium

    CN110297848A