Data processing method and related equipment
By building a distributed model, using pre-trained models and feature extraction networks to process user data, and updating the network through an error feedback mechanism, the problem of difficult to train a neural network with good generalization based on a small amount of user data in vertical federated learning is solved, and better model performance and privacy protection are achieved.
Patent Information
- Application Number
- CN202410050652.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-10-30
- Filing Date
- 2024-01-12
- Publication Date
- 2025-05-02
AI Technical Summary
In the existing vertical federated learning scheme, it is difficult to train a neural network with good generalization based on a small number of users and their user data.
By constructing a distributed model, the first party uses the pre-trained model and the first feature extraction network to process the target user data and send it to the second party. The second party uses the prediction network for training and feeds the error information back to the first party to update the first feature extraction network.
This method can enhance model performance through joint learning while ensuring user data privacy and improve the generalization performance of the trained network.
Smart Images

Figure CN119917896A_ABST
Abstract
Description
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on October 30, 2023, with Chinese application number 202311421661.7 and invention name “A data processing method and related equipment”, the entire contents of which are incorporated by reference in this application. Technical Field
[0002] The present application relates to the field of artificial intelligence technology, and in particular to a data processing method and related equipment. Background Art
[0003] Artificial Intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a branch of computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that machines have the functions of perception, reasoning and decision-making. Research in the field of artificial intelligence includes robotics, natural language processing, computer vision, decision-making and reasoning, human-computer interaction, recommendation and search, basic AI theory, etc.
[0004] At present, in the field of artificial intelligence, a method of using vertical federated learning (VFL) to train neural networks has been proposed to make full use of user data from different participants to achieve neural network training. Among them, different participants in vertical federated learning have data in the same sample space and different feature spaces, and secure joint modeling is performed through the user data of shared users, which has a wide range of application scenarios in finance, advertising and other fields.
[0005] However, in many scenarios, the number of users shared by multiple parties is small. Therefore, in the current vertical federated learning scheme, it is difficult to train a neural network with good generalization performance based on a small number of users and their user data. Summary of the invention
[0006] The embodiment of the present application provides a data processing method to solve the problem that it is difficult to train a neural network with good generalization based on a small number of users and their user data in the current vertical federated learning solution. The present application also provides corresponding devices, equipment, computer-readable storage media, computer program products, etc.
[0007] The first aspect of the present application provides a data processing method, in which a first participant includes a pre-trained model and a first feature extraction network, and a second participant includes a prediction network. The method includes: the first participant inputs the first data of a target user in the first participant into the pre-trained model to obtain a first feature tensor output by the pre-trained model, and the target user is a user included in both the first participant and the second participant; in the i-th iteration of multiple iterations: the first participant inputs the first feature tensor into the first feature extraction network of the i-th iteration, and sends the second feature tensor output by the first feature extraction network of the i-th iteration to the second participant, where i is a positive integer; the first participant receives first error information from the second participant, the first error information being error information about the first feature extraction network of the i-th iteration obtained by the second participant through the prediction network of the i-th iteration according to the second feature tensor of the i-th iteration; the first participant updates the first feature extraction network of the i-th iteration according to the first error information.
[0008] In a first aspect, a distributed model may be constructed, the distributed model comprising a first feature extraction network and a prediction network, wherein the first feature extraction network is deployed on a first participant, and the prediction network may be deployed on a second participant.
[0009] It can be seen that the distributed model can be an incremental model outside the pre-trained model. The incremental model can enhance the model performance by jointly learning the user data of the target user in the first participant and the second participant with the help of the representation ability of the pre-trained model.
[0010] Moreover, during the process of federated learning, the first data of the target user in the first participant is processed by the pre-trained model and the first feature extraction network before being transmitted to the second participant. Therefore, the privacy of the first data of the target user in the first participant can be better guaranteed.
[0011] In a possible implementation manner of the first aspect, the pre-trained model is obtained by training based on user data of multiple users among the first party.
[0012] In this possible implementation, since the pre-trained model can be pre-trained based on the user data of multiple users of the first participant, the training samples in the pre-training process are easy to obtain and collect by the first participant, and the data volume is usually large, so as to obtain a pre-trained model with good performance and in line with the application scenario involved by the first participant through pre-training, and provide a basic model with good performance for the subsequent joint training and joint reasoning of the first participant and the second participant. In addition, pre-training based on the user data of the first participant can ensure the privacy of the user data of the first participant.
[0013] In a possible implementation manner of the first aspect, the pre-trained model is a general representation model.
[0014] In this possible implementation, the pre-trained model is a general representation model obtained through self-supervised training based on user data of multiple users in the first party, which can provide multimodal understanding capabilities, thereby facilitating the provision of basic representations in the process of federated learning with different second parties.
[0015] In a possible implementation of the first aspect, the second participant includes a label corresponding to the target user, and the first error information is obtained by the second participant through the prediction network of the i-th iterative process based on the label corresponding to the target user and the second feature tensor of the i-th iterative process.
[0016] In this possible implementation, the second participant calculates the loss value according to the prediction results output by the prediction network and the corresponding labels, according to a loss function such as cross entropy, and performs back propagation on the prediction network and the first feature extraction network in the iteration process based on the interaction with the first participant. In the iteration process, the second participant can perform back propagation on the prediction network in the iteration process to obtain error information about the first feature extraction network, and transmit the error information about the first feature extraction network to the first participant, so that the first participant can perform back propagation on the first feature extraction network according to the error information.
[0017] In a possible implementation of the first aspect, there are multiple second participants; the first participant updates the first feature extraction network in the i-th iteration process according to the first error information, including: the first participant updates the first feature extraction network in the i-th iteration process according to the first error information from each second participant and the weight corresponding to each second participant, wherein the weight of any second participant is determined according to the number of users in the intersection of the users of the corresponding second participant and the users of the first participant.
[0018] In this possible implementation, in the first participant, the trained first feature extraction network can not only be enhanced by combining the knowledge of the pre-trained model, but also learn the knowledge of different second participants according to the weights of each second participant while ensuring the privacy of the user data of each second participant, thereby greatly improving the generalization performance of the trained network.
[0019] In a possible implementation of the first aspect, during the i-th iteration process, the method further includes: after the first participant updates the first feature extraction network of the i-th iteration process according to the first error information, obtaining second error information about the pre-trained model during the i-th iteration process; the first participant updates the pre-trained model according to the second error information.
[0020] In this possible implementation, the pre-trained model can also be fine-tuned during one or more iterations of multiple iterations so that the pre-trained model can learn the knowledge of the second participant and improve the performance of the pre-trained model.
[0021] In a possible implementation of the first aspect, there are multiple second participants; after the first participant updates the first feature extraction network of the i-th iteration process according to the first error information, the second error information about the pre-trained model in the i-th iteration process is obtained, including: the first participant obtains the second error information corresponding to each first error information according to each first error information and the first feature extraction network of the i-th iteration process; the first participant updates the pre-trained model according to the second error information corresponding to each first error information and the weight of the second participant corresponding to each first error information, wherein the weight of any second participant is determined according to the number of users in the intersection of the user of the corresponding second participant and the user of the first participant.
[0022] In this possible implementation, the pre-trained model in the first participant can be fine-tuned according to the weight of each second participant while ensuring the privacy of the user data of each second participant, so that the fine-tuned pre-trained model can learn the knowledge of each second participant, thereby greatly improving the generalization of the pre-trained model for different tasks.
[0023] The second aspect of the present application provides a data processing method, in which a first participant includes a pre-trained model and a first feature extraction network, and a second participant includes a prediction network. The method includes: in the i-th iteration process of multiple iteration processes: the second participant receives a second feature tensor obtained by the first participant processing the first feature tensor of the i-th iteration process through the first feature extraction network of the i-th iteration process, the first feature tensor of the i-th iteration process is obtained by the first participant processing the first data of the target user in the first participant through the pre-trained model, and the target user is a user included in both the first participant and the second participant; the second participant obtains first error information about the first feature extraction network of the i-th iteration process based on the second feature tensor of the i-th iteration process and the prediction network of the i-th iteration process; the second participant sends the first error information to the first participant.
[0024] In a second aspect, a distributed model may be constructed, the distributed model comprising a first feature extraction network and a prediction network, wherein the first feature extraction network is deployed on a first participant, and the prediction network may be deployed on a second participant.
[0025] It can be seen that the distributed model can be an incremental model outside the pre-trained model. The incremental model can enhance the model performance by using the representation ability of the pre-trained model and the user data of the target user in the first participant and other participants.
[0026] Moreover, during the process of federated learning, the first data of the target user in the first participant is processed by the pre-trained model and the first feature extraction network before being transmitted to the second participant. Therefore, the privacy of the first data of the target user in the first participant can be better guaranteed.
[0027] In a possible implementation of the second aspect, the second party obtains first error information about the first feature extraction network of the i-th iterative process based on the second feature tensor of the i-th iterative process and the prediction network of the i-th iterative process, including: the second party inputs the second feature tensor of the i-th iterative process into the prediction network of the i-th iterative process to obtain a prediction result output by the prediction network of the i-th iterative process; the second party obtains the first error information based on the prediction result of the i-th iterative process.
[0028] In a possible implementation manner of the second aspect, the second participant also includes a second feature extraction network; the method also includes: the second participant inputs the second data of the target user in the second participant into the second feature extraction network of the i-th iteration process, and obtains the third feature tensor output by the second feature extraction network of the i-th iteration process; the second participant inputs the second feature tensor of the i-th iteration process into the prediction network of the i-th iteration process, and obtains the prediction result output by the prediction network of the i-th iteration process, including: the second participant inputs the second feature tensor of the i-th iteration process and the third feature tensor of the i-th iteration process into the prediction network of the i-th iteration process, and obtains the prediction result output by the prediction network of the i-th iteration process.
[0029] In this possible implementation, while ensuring the privacy of the first data of the target user in the first participant and the privacy of the second data of the target user in the second participant, the distributed model can be federated learned based on the user data of the target user in different participants with the help of the representation capability of the pre-trained model, so that the distributed model can enhance the model performance with the help of the representation capability of the pre-trained model and the user data of the target user in different participants.
[0030] In a possible implementation manner of the second aspect, the second participant includes a label corresponding to the target user; the method also includes: the second participant updates the prediction network of the i-th iteration process according to the prediction result of the i-th iteration process and the label corresponding to the target user.
[0031] In this possible implementation, when the second participant includes a label corresponding to the target user, the second participant can update the prediction network of the i-th iteration process through supervised learning to obtain a prediction network with better performance through training.
[0032] The third aspect of the present application provides a data processing method, in which the first participant includes a pre-trained model and a first feature extraction network, and the second participant includes a prediction network. The method includes: the first participant obtains first data of a target user on the first participant, and the target user is a user included in both the first participant and the second participant; the first participant obtains a first feature tensor about the first data through the pre-trained model; the first participant obtains a second feature tensor about the first feature tensor through the first feature extraction network; the first participant sends the second feature tensor to the second participant to instruct the second participant to obtain a prediction result through the prediction network based on the second feature tensor.
[0033] In a possible implementation manner of the third aspect, the pre-trained model is obtained by training the first party based on user data of multiple users of the first party.
[0034] In a possible implementation manner of the third aspect, the pre-trained model is a general representation model.
[0035] The fourth aspect of the present application provides a data processing method, in which the first participant includes a pre-trained model and a first feature extraction network, and the second participant includes a prediction network. The method includes: the second participant receives a second feature tensor obtained by the first participant processing the first feature tensor through the first feature extraction network, and the first feature tensor is obtained by the pre-trained model processing the first data of the target user on the first participant; the second participant obtains a prediction result through the prediction network based on the second feature tensor.
[0036] In a possible implementation of the fourth aspect, the second participant also includes a second feature extraction network, and the method also includes: the second participant obtains a third feature tensor based on the second data of the target user on the second participant through the second feature extraction network; the second party obtains a prediction result through a prediction network based on the second feature tensor, including: the second party obtains a prediction result through a prediction network based on the second feature tensor and the third feature tensor.
[0037] In a fifth aspect, the present application provides a data processing device, which has the function of implementing the method of the first aspect or any possible implementation of the first aspect. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions, such as a processing module and a training module.
[0038] In a sixth aspect, the present application provides a data processing device, which has the function of implementing the method of the second aspect or any possible implementation of the second aspect. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions, such as an interface module and a processing module.
[0039] In a seventh aspect, the present application provides a data processing device, which has the function of implementing the method of the third aspect or any possible implementation of the third aspect. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions, such as an interface module and a processing module.
[0040] In an eighth aspect, the present application provides a data processing device, which has the function of implementing the method of the fourth aspect or any possible implementation of the fourth aspect. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions, such as an interface module and a processing module.
[0041] In a ninth aspect of the present application, a computing device cluster is provided, which includes at least one computing device, each computing device including a processor and a memory, and the memory of at least one computing device stores computer execution instructions that can be run on the processor. When the computer execution instructions are executed by the processor, the processor executes the method as described in the first aspect or any possible implementation of the first aspect, or the method as described in the third aspect or any possible implementation of the third aspect.
[0042] In the tenth aspect of the present application, a computer-readable storage medium is provided that stores one or more computer-executable instructions. When the computer-executable instructions are executed by a computing device cluster, the computing device cluster executes a method such as the first aspect or any possible implementation of the first aspect, or a method such as the third aspect or any possible implementation of the third aspect.
[0043] In the eleventh aspect of the present application, there is provided a computer program product storing one or more computer execution instructions, wherein the computer program product includes computer execution instructions. When the computer execution instructions are executed by a computing device cluster, the computing device cluster executes a method such as the first aspect or any possible implementation of the first aspect, or a method such as the third aspect or any possible implementation of the third aspect.
[0044] In the twelfth aspect of the present application, a chip system is provided, which includes a processor for supporting a computing device cluster to implement the above-mentioned first aspect or any possible implementation of the first aspect, or the functions involved in the above-mentioned third aspect or any possible implementation of the third aspect. In one possible design, the chip system may also include a memory, which is used to store necessary program instructions and data. The chip system may be composed of chips, or may include chips and other discrete devices.
[0045] In a thirteenth aspect of the present application, a computing device cluster is provided, which includes at least one computing device, each computing device includes a processor and a memory, and the memory of at least one computing device stores computer execution instructions that can be run on the processor. When the computer execution instructions are executed by the processor, the processor executes the method as described in the second aspect or any possible implementation of the second aspect, or the fourth aspect or any possible implementation of the fourth aspect.
[0046] In the fourteenth aspect of the present application, a computer-readable storage medium is provided that stores one or more computer-executable instructions. When the computer-executable instructions are executed by a computing device cluster, the computing device cluster executes a method such as the second aspect or any possible implementation of the second aspect, or the fourth aspect or any possible implementation of the fourth aspect.
[0047] In the fifteenth aspect of the present application, there is provided a computer program product storing one or more computer execution instructions, wherein the computer program product includes computer execution instructions. When the computer execution instructions are executed by a computing device cluster, the computing device cluster executes a method such as the second aspect or any possible implementation of the second aspect, or the fourth aspect or any possible implementation of the fourth aspect.
[0048] In a sixteenth aspect of the present application, a chip system is provided, which includes a processor for supporting a computing device cluster to implement the functions involved in the second aspect or any possible implementation of the second aspect, or the fourth aspect or any possible implementation of the fourth aspect. In a possible design, the chip system may also include a memory, which is used to store necessary program instructions and data. The chip system may be composed of a chip, or may include a chip and other discrete devices.
[0049] Among them, the technical effects brought about by the third aspect, the fifth aspect, the seventh aspect, and the ninth to twelfth aspects or any possible implementation methods thereof may refer to the technical effects brought about by the first aspect or the related possible implementation methods of the first aspect, and the technical effects brought about by the fourth aspect, the sixth aspect, the eighth aspect, and the thirteenth to sixteenth aspects or any possible implementation methods thereof may refer to the technical effects brought about by the second aspect or the related possible implementation methods of the second aspect, and they will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Figure 1 is a schematic diagram of an exemplary architecture of vertical federated learning provided in an embodiment of the present application;
[0051] Figure 2 is an exemplary schematic diagram of a data center provided in an embodiment of the present application;
[0052] Figure 3 This is an exemplary schematic diagram of user data of different participants provided in an embodiment of the present application;
[0053] Figure 4 is an exemplary schematic diagram of a system framework provided in an embodiment of the present application;
[0054] Figure 5 It is a schematic diagram of an embodiment of a data processing method provided in an embodiment of the present application;
[0055] Figure 6 is an exemplary flow chart of the i-th iteration process provided in an embodiment of the present application;
[0056] Figure 7 is a schematic diagram of an exemplary structure of a neural network provided in an embodiment of the present application;
[0057] Figure 8 is an exemplary schematic diagram of a system framework provided in an embodiment of the present application;
[0058] Fig. 9 This is a flow chart of information transmission of reverse propagation provided by an embodiment of the present application;
[0059] Fig.10 It is a schematic diagram of an embodiment of a data processing method provided in an embodiment of the present application;
[0060] Fig.11 is a schematic diagram of an embodiment of a data processing device provided in an embodiment of the present application;
[0061] Fig.12 is a schematic diagram of an embodiment of a data processing device provided in an embodiment of the present application;
[0062] Fig.13is a schematic diagram of an embodiment of a data processing device provided in an embodiment of the present application;
[0063] Fig.14 is a schematic diagram of an embodiment of a data processing device provided in an embodiment of the present application;
[0064] Fig.15 is a schematic diagram of a structure of a computing device provided in an embodiment of the present application;
[0065] Fig.16 is a schematic diagram of a structure of a computing device cluster provided in an embodiment of the present application;
[0066] Fig.17 is a schematic diagram of a structure of a computing device cluster provided in an embodiment of the present application;
[0067] Fig.18 is a schematic diagram of a structure of a computing device provided in an embodiment of the present application;
[0068] Fig.19 is a schematic diagram of a structure of a computing device cluster provided in an embodiment of the present application;
[0069] Fig. 20 It is a structural diagram of a computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION
[0070] The following describes the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. The terms used in the implementation method section of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.
[0071] Those skilled in the art may appreciate that, with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0072] In the present application, "at least one" means one or more, and "plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of singular or plural items. The terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and do not have to be used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchangeable where appropriate, and this is merely a description of the way in which objects with the same attributes are described in the embodiments of the present application. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a list of elements is not necessarily limited to those elements but may include other elements not expressly listed or inherent to such process, method, product, or apparatus.
[0073] Since the embodiments of the present application involve the application of neural networks, for ease of understanding, the relevant terms and related concepts such as neural networks involved in the embodiments of the present application are first introduced below.
[0074] (1) Neural Network
[0075] A neural network may be composed of neural units, and a neural unit may refer to an operation unit that takes xs (i.e., input data) and intercept 1 as input, and the output of the operation unit may be:
[0076]
[0077] Where s=1, 2, ...n, n is a natural number greater than 1, Ws is the weight of xs, and b is the bias of the neural unit. f is the activation function of the neural unit, which is used to introduce nonlinear characteristics into the neural network to convert the input signal in the neural unit into the output signal. The output signal of the activation function can be used as the input of the next convolution layer, and the activation function can be a sigmoid function. A neural network is a network formed by connecting multiple single neural units mentioned above, that is, the output of one neural unit can be the input of another neural unit. The input of each neural unit can be connected to the local receptive field of the previous layer to extract the characteristics of the local receptive field. The local receptive field can be an area composed of several neural units.
[0078] (2) Loss Function
[0079] In the process of training a neural network, because we hope that the output of the neural network is as close as possible to the value we really want to predict, we can compare the predicted value of the current network with the target value we really want, and then update the weight vector of each layer of the neural network according to the difference between the two (of course, there is usually an initialization process before the first update, that is, pre-configuring parameters for each layer in the deep neural network). For example, if the predicted value of the network is high, adjust the weight vector to make it predict a lower value, and keep adjusting until the neural network can predict the target value we really want or a value very close to the target value we really want. Therefore, it is necessary to pre-define "how to compare the difference between the predicted value and the target value", which is the loss function or objective function, which are important equations used to measure the difference between the predicted value and the target value. Among them, taking the loss function as an example, the higher the output value (loss) of the loss function, the greater the difference, so the training of the neural network becomes a process of minimizing this loss as much as possible.
[0080] (3) Back propagation algorithm
[0081] The neural network can use the error back propagation (BP) algorithm to correct the size of the parameters in the initial super-resolution model during the training process, so that the reconstruction error loss of the super-resolution model becomes smaller and smaller. Specifically, the forward transmission of the input signal to the output will generate error loss, and the error loss information is back-propagated to update the parameters in the initial super-resolution model, so that the error loss converges. The back propagation algorithm is a back propagation movement dominated by error loss, aiming to obtain the optimal parameters of the super-resolution model, such as the weight matrix.
[0082] (4) Federated Learning
[0083] Federated learning is an artificial intelligence technology. Federated learning aims to enable multiple participants to jointly train neural networks with their data without leaking plaintext data, so that data can be available but invisible. During the training and reasoning of neural networks, each participant in the federated learning system follows the privacy principle that local data should not be out of the local area, so as to carry out efficient machine learning among multiple participants while ensuring information security during big data exchange, protecting terminal data and personal data privacy, and ensuring legality and compliance.
[0084] Depending on the different data distribution among the participants, federated learning is usually divided into horizontal federated learning and vertical federated learning.
[0085] Among them, horizontal federated learning is aimed at the scenario where the training data of different users is stored in different participants; therefore, the purpose of horizontal federated learning is to train the overall neural network by using the combined training data of each participant on the basis of adhering to the privacy principle of local data not leaving the local area.
[0086] Vertical federated learning, on the other hand, uses the combination of different features of the same user among all participants to train the overall neural network. Different participants in vertical federated learning have data in the same sample space and different feature spaces. Through the user data of the common user, secure joint modeling is performed, which has a wide range of application scenarios in the fields of finance and advertising. Specifically, for the same user, different features of the user may belong to different participants. For example, a user's financial information is stored in a bank, while his health information is stored in a hospital. By combining the user's financial information with the health information, a more comprehensive description of the user can be obtained. However, banks usually cannot disclose the user's financial information, and hospitals cannot disclose the user's health information. Vertical federated learning uses the features of each participant to train the overall neural network on the basis of following the privacy principle that local data does not leave the local area. The parts of the neural network included in different participants can be the same, or they can also include different parts of the neural network. For example, in some examples, in the vertical federated learning scenario, after the neural network is trained, each participant holds a part of the network related to the features involved in the neural network.
[0087] Below Figure 1 Taking as an example, an exemplary architecture and process of vertical federated learning are introduced.
[0088] exist Figure 1 In the example shown, Party A has feature data and label data; Party B has feature data but lacks label data. Due to privacy regulations and industry norms, the local data of the two parties cannot be directly interoperable. Party A and Party B can cooperate using a vertical federated learning solution. The data does not go out of the local area, but the sample data of the common users of Party A and Party B can be used for sample alignment (for example, unifying the format of sample data, etc.), and joint training can be performed to obtain a more powerful neural network.
[0089] The embodiments of the present application mainly relate to vertical federated learning.
[0090] In the embodiments of the present application, the type and structure of the neural network involved in federated learning are not limited here. For example, the neural network can be a combination of one or more of a neural network (NN), a support vector machine, a decision tree, a random forest, a logistic regression, etc. After the training is completed, the neural network can be used to implement functions such as image processing, text processing, or speech recognition.
[0091] In the embodiment of the present application, this can be achieved through a federated learning system.
[0092] The federated learning system may include multiple participants.
[0093] Among the multiple participants, any participant may be a server or server cluster such as a cloud server or an edge server, or a network device such as a base station, or a terminal device, a virtual machine (VM) or a container, etc. The types of different participants may be the same or different.
[0094] In one example, any participant may be a computing device cluster, which may include one or more computing devices.
[0095] The type of any computing device is not limited herein. Exemplarily, any computing device may be a terminal device, or a server, a container, or a virtual machine.
[0096] In one example, the computing device cluster can be used to implement a cloud platform.
[0097] The cloud platform can provide computing, network and storage capabilities based on services of hardware resources and software resources. Exemplarily, the cloud platform can include one or more data centers to provide cloud resources through one or more data centers.
[0098] Combine the following Figure 2 An architectural diagram is shown to introduce a data center.
[0099] Figure 2 In the data center, the cloud management platform communicates with one or more servers (such as Figure 2The server 1 and server 2 in the server exchange information. The server includes a hardware layer and a software layer. The hardware layer includes the hardware configured by the server, wherein the PCI device may be, for example, a network card, a graphics processing unit (GPU), an offload card, etc., which can be inserted into the peripheral component interconnect standard (PCI) or peripheral component interconnect express (PCIe) slot of the server. The software layer includes an operating system installed and running on the server (relative to the operating system of the virtual machine, it can be called the host operating system). The host operating system is provided with a virtual machine manager (also called a hypervisor). The role of the virtual machine manager is to realize the computing virtualization, network virtualization and storage virtualization of the virtual machine, and is responsible for managing the virtual machine. Among them, a virtual machine (virtual machine) refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment. Figure 2 In the system architecture shown, a data center is equipped with multiple servers, which can be used to run virtual machines. The specifications of each virtual machine can be the same or different. Among them, the virtual machine can also be called a cloud server (elastic compute service, ECS), elastic instance, etc. Different cloud service providers may have different names.
[0100] In one example, the cloud platform may be a public cloud platform. In this case, cloud service providers such as individuals or software developers with cloud resource development capabilities may provide cloud services to users. Users obtain cloud services through the Internet but do not own cloud computing resources.
[0101] Specifically, in Figure 2 In the example shown, the cloud management platform can provide an access interface (such as an interface or application programming interface (API)). Users of the cloud platform and cloud service providers can operate the client remote access access interface to register a cloud account and password on the cloud management platform, and log in to the cloud management platform after the cloud management platform successfully authenticates the cloud account and password, thereby creating, managing, logging in and operating virtual machines in the cloud data center.
[0102] In this example, any of the above-mentioned participants can be a cloud platform. For example, relevant personnel of the cloud platform obtain user data of users in one or more feature dimensions through the cloud platform to perform federated learning. Alternatively, any of the above-mentioned participants can also be customers who purchase cloud services of the cloud platform. For example, some enterprises, organizations or individuals can purchase cloud services as customers, thereby obtaining user data of corresponding users through the cloud resources of the cloud platform and performing federated learning.
[0103] Of course, the cloud platform may also be other types of cloud platforms, for example, a private cloud platform or a hybrid cloud platform, etc., which is not limited in the embodiments of the present application.
[0104] In the embodiment of the present application, the multiple participants can be connected to each other by communication. The communication connection method between any two participants is not limited here, and the communication connection method adopted between the multiple participants can be one or more.
[0105] In a federated learning system, different participants have data in the same sample space and different feature spaces. That is to say, different participants can include the same user, but the user data of the same user in different participants can belong to different feature spaces. For example, in a vertical federated learning system, there are participants A, B, and C. Participant A has the first data describing the financial characteristics of user 1, participant B has the second data describing the medical characteristics of user 1, and participant C has the third data describing the social attribute characteristics of user 1. It can be seen that participants A, B, and C have different data characteristics of the same user 1.
[0106] In addition, among the multiple participants in the federated learning system, one or more participants may include only user data describing user characteristics but not labels, and one or more participants may include user data describing user characteristics and corresponding labels.
[0107] The specific content of the label is determined according to the specific application scenario. For example, in a classification scenario, the label can be a category; in a regression scenario, the label can be a regression result.
[0108] like Figure 3 The figure shows an exemplary schematic diagram of user data among different parties.
[0109] Participants A and B both include user AE. Participant A may include user AE's gender (feature number X1), age (feature number X2) and other user data, while participant B may include user AE's resident area (feature number X3), consumption level (feature number X4) and shopping frequency (feature number X5) and other user data and corresponding labels, which indicate whether to click on a specified product, thereby indicating whether the user is interested in the corresponding product.
[0110] In this example, the intersection of users included in Party A and users included in Party B includes but is not limited to users AE. In addition, in many scenarios, Party A may also include many users that are not included in Party B, and Party B may also include many users that are not included in Party A.
[0111] Therefore, in many application scenarios, the number of users shared by multiple parties may be small, resulting in the difficulty in training a neural network with good generalization performance based on a small number of users and their user data in current vertical federated learning solutions.
[0112] In response to the above problems, a data processing method is provided in an embodiment of the present application, which can make full use of user data from different participants for federated learning to obtain a neural network with better performance.
[0113] The following introduces the data processing method in the embodiment of the present application, so as to train the neural network based on the federated learning system and obtain a neural network with better performance after training.
[0114] For ease of description, Figure 4 In the example shown, the parties involved in the data processing method of the embodiment of the present application can be referred to as the first party and the second party.
[0115] In the federated learning system, the first participant can be any one or more of the multiple participants, and the number and specific device type of the first participant are not limited in the embodiment of the present application. In addition, the second participant can be any one or more of the multiple participants that are different from the first participant, and the number and specific device type of the second participant are not limited in the embodiment of the present application.
[0116] In some embodiments, the user data of multiple users in the first party may describe one or more characteristics of the corresponding users. For example, the first party may be Figure 3 The user data of multiple users in the second participant not only includes feature data describing one or more features of the corresponding user, but also includes tags corresponding to the corresponding user. For example, the second participant can be Figure 3 Party B in the example shown.
[0117] In the embodiment of the present application, in order to make full use of the user data of the first participant, the first participant can obtain a pre-trained model through pre-training.
[0118] The specific training method of the pre-trained model is not limited here.
[0119] like Figure 4 As shown, exemplarily, the pre-trained model is obtained by self-supervised training based on user data of multiple users in the first party.
[0120] At this time, the first participant can train the designated network according to the user data of multiple local users to obtain a pre-trained model. In some examples, the pre-trained model can be trained based on but not limited to a self-supervised approach.
[0121] The pre-trained model can be considered as a universal representation model that can provide multimodal understanding capabilities, thereby facilitating the provision of basic representations in the process of federated learning with various second parties.
[0122] Furthermore, since the pre-trained model can be pre-trained based on the user data of multiple users of the first participant, the training samples in the pre-training process are easy to obtain and collect through the first participant, and the amount of data is usually large, so as to obtain a pre-trained model with good performance and in line with the application scenarios involved by the first participant through pre-training, and provide a basic model with good performance for the subsequent joint training and joint reasoning of the first participant and the second participant. In addition, pre-training based on the user data of the first participant can ensure the privacy of the user data of the first participant.
[0123] In addition, in some other examples, the pre-trained model may also be a pre-trained large model provided by a third party, etc. The specific method for obtaining the pre-trained model is not limited here.
[0124] In the embodiment of the present application, a distributed model can also be constructed, which includes a first feature extraction network and a prediction network. Figure 4 As shown, the first feature extraction network is deployed on the first participant, and the prediction network can be deployed on the second participant.
[0125] Furthermore, the output of the pre-trained model is the input of the first feature extraction network, and the output of the first feature extraction network is the input of the prediction network.
[0126] The first feature extraction network includes but is not limited to a feature extraction layer, which is used to implement but is not limited to a feature extraction function. The specific structure of the first feature extraction network is not limited here.
[0127] The prediction network may include an output layer of the distributed model, and may obtain a corresponding prediction result based on feature information output by the first feature extraction network.
[0128] In different application scenarios, the specific functions of the prediction network may be different. For example, in a classification scenario, the prediction network may include a classifier to obtain a classification result; and in a regression scenario, the prediction network may include a regressor to obtain an output result of a regression task.
[0129] Next, combine Figure 5 The example shown provides an exemplary introduction to the federated learning process related to the distributed model and the pre-trained model through the data processing method of an embodiment of the present application.
[0130] like Figure 5 In the example shown, the data processing method includes steps 501-502.
[0131] Step 501: The first participant inputs the first data of the target user in the first participant into a pre-training model to obtain a first feature tensor output by the pre-training model.
[0132] The target user is a user included in both the first party and the second party.
[0133] In an embodiment of the present application, the intersection of users of the first participant and users of the second participant can be determined to determine the target user, and the target user is included in the intersection, that is, the target user is a user included in both the first participant and the second participant.
[0134] After determining the target user, the first data of the target user in the first participant can be obtained in the first participant and input into the pre-trained model to obtain the first feature tensor output by the pre-trained model, where the first feature tensor is a representation of the first data by the pre-trained model.
[0135] Step 502: The first participant trains the first feature extraction network through multiple iterations to obtain a trained first feature extraction network.
[0136] In an embodiment of the present application, the first participant and the second participant can jointly train the distributed model based on the first feature tensor to obtain a trained first feature extraction network and a trained prediction network.
[0137] It can be seen that in the embodiments of the present application, the distributed model can be an incremental model other than the pre-trained model. The incremental model can enhance the model performance by using the representation ability of the pre-trained model and the user data of the target user in the first participant and other participants.
[0138] Moreover, during the process of federated learning, the first data of the target user in the first participant is processed by the pre-trained model and the first feature extraction network before being transmitted to the second participant. Therefore, the privacy of the first data of the target user in the first participant can be better guaranteed.
[0139] In some examples, the distributed model may be a smaller model than the pre-trained model to facilitate federated learning by the first party and the second party.
[0140] In addition, in some embodiments, the second participant may also include a label corresponding to the target user, and the distributed model may be updated based on the label corresponding to the target user and the output of the prediction network during the iteration process.
[0141] For example, in federated learning, the second participant calculates the loss value based on the prediction results output by the prediction network and the corresponding labels according to a loss function such as cross entropy, and back-propagates the prediction network and the first feature extraction network in the iteration process. During the iteration process, the second participant can back-propagate the prediction network in the iteration process to obtain error information about the first feature extraction network, and transmit the error information about the first feature extraction network to the first participant, so that the first participant can back-propagate the first feature extraction network based on the error information.
[0142] Below, taking the i-th iteration process in multiple iterations as an example, the federated learning method of the distributed model by the first participant and the second participant is exemplified.
[0143] Among them, the i-th iteration process can be any iteration process in the multiple iteration processes, that is, i is a positive integer, and other iteration processes can be the same or similar to the steps of the i-th iteration process, can include steps other than the steps of the i-th iteration process, or can lack one or more steps compared to the i-th iteration process.
[0144] In some embodiments, Figure 6 As shown, during the i-th iteration, the method includes steps 601-608.
[0145] Step 601: In the first participating direction, a first feature tensor is input into a first feature extraction network of an i-th iteration process to obtain a second feature tensor output by the first feature extraction network of the i-th iteration process.
[0146] In the embodiment of the present application, during the i-th iteration, the first feature tensor of the first feature extraction network input into the i-th iteration may be part or all of the first feature tensor obtained in step 501.
[0147] Step 602: The first participant sends the second feature tensor of the i-th iteration process to the second participant.
[0148] After obtaining the second feature tensor about the i-th iteration process through the first feature extraction network of the i-th iteration process, the first participant can send the second feature tensor to the second participant as an input of the prediction network in the second participant in the i-th iteration process.
[0149] Step 603: The second participant receives the second feature tensor of the i-th iteration process from the first participant.
[0150] Step 604: The second participant inputs the second feature tensor of the i-th iteration process into the prediction network of the i-th iteration process to obtain the prediction result output by the prediction network of the i-th iteration process.
[0151] In the embodiment of the present application, the specific content of the prediction result is determined according to the specific application scenario. For example, in a classification scenario, the prediction result may be a category; and in a regression scenario, the prediction result may be a regression result.
[0152] The input of the prediction network of the i-th iteration process may include but is not limited to the second feature tensor of the i-th iteration process.
[0153] For example, in some examples, the second participant may input the received second feature tensor of the i-th iteration process into the prediction network of the i-th iteration process to obtain the output of the prediction network of the i-th iteration process as the prediction result of the i-th iteration process.
[0154] In other examples, predictions may also be made in combination with user data of the target user in the second party.
[0155] Specifically, in some embodiments, the second party further includes a second feature extraction network;
[0156] The method further includes:
[0157] The second participant inputs the second data of the target user in the second participant into the second feature extraction network of the i-th iteration process to obtain a third feature tensor output by the second feature extraction network of the i-th iteration process;
[0158] Step 604 includes:
[0159] The second participant inputs the second feature tensor of the i-th iteration process and the third feature tensor of the i-th iteration process into the prediction network of the i-th iteration process to obtain the prediction result output by the prediction network of the i-th iteration process.
[0160] For example, Figure 7The figure shows an exemplary structural diagram of a neural network.
[0161] The second participant also includes a second feature extraction network.
[0162] The structure of the second feature extraction network may be the same as that of the first feature extraction network, or may be different. For example, since the first feature extraction network is used to process the representation output by the pre-trained model, the first feature extraction network may be a relatively lightweight structure, and the second feature extraction network is used to extract features from the second data, so the second feature extraction network may be deeper than the first feature extraction network.
[0163] like Figure 7 As shown, the second data of the target user in the second participant can be feature extracted by the second feature extraction network to obtain a third feature tensor. In this way, the second data of the target user can be processed locally in the second participant, ensuring the privacy of the second data of the target user in the second participant.
[0164] In the embodiment of the present application, the first feature tensor and the second feature tensor can be fused, and then the feature tensor obtained after the fusion is input into the prediction network.
[0165] The fusion method of the second feature tensor and the third feature tensor is not limited here. Exemplarily, the second feature tensor and the third feature tensor can be concatenated, and can also be processed by dimensionality reduction, corresponding element addition, etc. to obtain a fused feature tensor.
[0166] In this way, while ensuring the privacy of the first data of the target user in the first participant and the privacy of the second data of the target user in the second participant, the distributed model can be federated learned based on the user data of the target user in different participants with the help of the representation ability of the pre-trained model, so that the distributed model can enhance the model performance with the help of the representation ability of the pre-trained model and the user data of the target user in different participants.
[0167] Step 605: The second participant obtains first error information about the first feature extraction network of the i-th iteration process according to the prediction result of the i-th iteration process.
[0168] In an embodiment of the present application, the second participant can perform backpropagation on the prediction network of the i-th iterative process according to the prediction result of the i-th iterative process through supervision, semi-supervision or self-supervision, and after backpropagation of the prediction network of the i-th iterative process, the prediction network of the i-th iterative process can be updated, and the first error information of the first feature extraction network of the i-th iterative process can be obtained.
[0169] For example, the second party includes a tag corresponding to the target user.
[0170] When the second participant includes the label corresponding to the target user, the second participant can update the prediction network of the i-th iteration process according to the prediction result of the i-th iteration process and the label corresponding to the target user, and can obtain the first error information about the first feature extraction network of the i-th iteration process.
[0171] For example, the second party can evaluate the difference between the label corresponding to the target user and the prediction result based on a loss function such as cross entropy to obtain a loss value, thereby updating the prediction network of the i-th iteration process through back propagation and other methods.
[0172] The updated prediction network of the i-th iteration process can be used as the prediction network of the i+1-th iteration process until the output of the prediction network of a certain iteration process converges to the specified condition, and then the trained prediction network is obtained.
[0173] When the second party also includes Figure 7 When the second feature extraction network is shown, the second participant can also update the second feature extraction network of the i-th iteration process by back propagation or the like.
[0174] The first error information is used to obtain the gradient of the first feature extraction network in the i-th iteration process.
[0175] Since the first feature extraction network is the upper level network of the prediction network, after back propagating the prediction network of the i-th iteration process, the error back-derived from the first layer of the prediction network of the i-th iteration process can be obtained, and the error back-derived from the first layer of the prediction network of the i-th iteration process can be used to back propagate the gradient of the last layer of the first feature extraction network of the i-th iteration process. Therefore, the gradient of the first layer of the prediction network of the i-th iteration process can be considered as the first error information about the first feature extraction network of the i-th iteration process.
[0176] Step 606: The second participant sends first error information to the first participant.
[0177] Step 607: The first participant receives the first error information from the second participant.
[0178] Step 608: The first participant updates the first feature extraction network of the i-th iteration process according to the first error information.
[0179] Exemplarily, the first participant may obtain the gradients of each layer of the first feature extraction network of the i-th iterative process in sequence according to the first error information through back propagation, thereby updating the first feature extraction network of the i-th iterative process.
[0180] Furthermore, in some embodiments, there may be multiple second parties.
[0181] In this way, the first feature extraction network of the first participant can be trained according to the first error information fed back by multiple second participants to improve the generalization performance of the network.
[0182] In one example, when there are multiple second participants, the first feature extraction network in the first participant can be federated with each second participant. That is to say, for each second participant, the first participant and the second participant can be trained based on any of the above embodiments. In this way, when there are multiple second participants, the first feature extraction network of the first participant can be trained based on multiple executions of the above embodiments and the first error information fed back by different second participants.
[0183] In each iteration process, the corresponding first feature extraction network can be updated according to the first error information fed back by a first participant; or, in each iteration process, the corresponding first feature extraction network can be updated in combination with the first error information fed back by multiple first participants.
[0184] For example, in some embodiments, there are multiple second parties;
[0185] The first participant updates the first feature extraction network in the i-th iteration process according to the first error information, including:
[0186] The first participant updates the first feature extraction network in the i-th iteration process according to the first error information from each second participant and the weight corresponding to each second participant, wherein the weight of any second participant is determined according to the number of users in the intersection of the user of the corresponding second participant and the user of the first participant.
[0187] The weight of any second participant is determined according to the number of users in the intersection of the users of the second participant and the users of the first participant.
[0188] For example, Figure 8 The figure shows an exemplary framework diagram of an embodiment of the present application.
[0189] There are multiple second parties, for example Figure 8In the example shown, the first participant can exchange information with the second participants A, B, C and D.
[0190] In the embodiment of the present application, the target user may be the intersection of the first participant and the users of the multiple participants.
[0191] During the i-th iteration, after the first participant obtains the second feature tensor about the first feature tensor during the i-th iteration through the first feature extraction network during the i-th iteration, the second feature tensor can be sent to each second participant respectively.
[0192] After acquiring the second feature tensor, each second participant can obtain the prediction result of its respective i-th iteration process according to the prediction network of its respective i-th iteration process.
[0193] Then, each second participant can update the prediction network of its own i-th iteration process according to its own contained labels and its own prediction results, and can each obtain error information about the first feature extraction network of the i-th iteration process as its own first error information.
[0194] Then, the first participant can receive the first error information obtained by each second participant from each second participant, thereby updating the first feature extraction network of the i-th iteration process according to the first error information obtained by each second participant and the weights corresponding to each second participant.
[0195] The weight of each second participant may be determined according to the number of users in the intersection of the users of the corresponding second participant and the users of the first participant.
[0196] If the intersection of the users of a second participant and the users of the first participant includes a larger number of users, it can be considered that the importance of the second participant is higher, and therefore, the corresponding weight of the second participant is also higher.
[0197] In one example, the first error information obtained by each second participant and the weight corresponding to each second participant can be weighted to obtain a first target error, and based on the first target error, the first feature extraction network of the i-th iteration process is back-propagated to update the first feature extraction network of the i-th iteration process.
[0198] In another example, for each second participant, the first feature extraction network of the i-th iteration process can be back-propagated according to the first error information of the second participant to obtain a set of candidate gradient information of the first feature extraction network of the i-th iteration process, so that a set of candidate gradient information corresponding to each second participant can be obtained. Then, the set of candidate gradient information corresponding to each second participant and the weights corresponding to each second participant are weighted to obtain the gradient of the first feature extraction network of the i-th iteration process, so as to update the first feature extraction network of the i-th iteration process according to the gradient of the first feature extraction network of the i-th iteration process.
[0199] In this way, among the first participants, the trained first feature extraction network can not only be enhanced by combining the knowledge of the pre-trained model, but also learn the knowledge of different second participants according to the weights of each second participant while ensuring the privacy of the user data of each second participant, thereby greatly improving the generalization performance of the trained network.
[0200] In addition, in an embodiment of the present application, the pre-trained model can be fine-tuned in one or more iterations of multiple iterations so that the pre-trained model can learn the knowledge of the second participant and improve the performance of the pre-trained model.
[0201] Specifically, in some embodiments, during the i-th iteration, the method further includes:
[0202] After the first participant updates the first feature extraction network of the i-th iteration process according to the first error information, the first participant obtains second error information about the pre-trained model in the i-th iteration process;
[0203] The first participant updates the pre-trained model according to the second error information.
[0204] In some scenarios, since the scale of the pre-trained model is usually large, there is no need to fine-tune the pre-trained model in each iteration process. In other words, the iterative process of fine-tuning the pre-trained model can be a partial iterative process in multiple iterations. For example, in multiple iterations, the pre-trained model can be fine-tuned once every specified number of times. In addition, during the training process, when the performance of the first feature extraction network and the prediction network reaches the specified conditions (for example, during the iteration process, the loss value calculated based on the prediction result output by the prediction network and the corresponding label meets the specified conditions), the pre-trained model can be fine-tuned to reduce resource overhead while ensuring a better fine-tuning effect.
[0205] Since the output of the pre-trained model is the input of the first feature extraction network, in the back-propagation algorithm, after back-propagating the first feature extraction network in the i-th iteration process, the error information about the pre-trained model in the i-th iteration process can be obtained, and then the pre-trained model is back-propagated according to the error information of the pre-trained model in the i-th iteration process to obtain the gradient of the pre-trained model so as to update the pre-trained model.
[0206] For example, Fig. 9 In the example shown, a flow chart of information transfer for back propagation is shown.
[0207] Among them, after the prediction network of the i-th iteration process outputs the prediction result of the i-th iteration process, the loss value of the i-th iteration process can be calculated according to the prediction result and label of the i-th iteration process through the loss function, so as to reversely calculate the gradient of the prediction network of the i-th iteration process according to the loss value of the i-th iteration process, and update it according to the gradient of the prediction network of the i-th iteration process.
[0208] In addition, after reversely calculating the gradient of the prediction network of the i-th iteration process, first error information about the first feature extraction network of the i-th iteration process can be obtained. The second participant sends the first error information to the first participant, so that the first participant reversely calculates the gradient of the first feature extraction network of the i-th iteration process according to the first error information, and updates the first feature extraction network of the i-th iteration process according to the gradient of the first feature extraction network of the i-th iteration process.
[0209] After reversely calculating the gradient of the first feature extraction network in the i-th iteration process, the error information of the pre-trained model in the i-th iteration process can be obtained. Therefore, the pre-trained model in the i-th iteration process can be back-propagated according to the error information of the pre-trained model in the i-th iteration process to obtain the gradient of the pre-trained model in the i-th iteration process and update the pre-trained model in the i-th iteration process.
[0210] In some embodiments, there are multiple second parties;
[0211] After the first participant updates the first feature extraction network of the i-th iteration process according to the first error information, second error information about the pre-trained model in the i-th iteration process is obtained, including:
[0212] The first participant obtains second error information corresponding to each first error information according to each first error information and the first feature extraction network of the i-th iteration process;
[0213] The first participant updates the pre-trained model based on the second error information corresponding to each first error information and the weight of the second participant corresponding to each first error information, wherein the weight of any second participant is determined based on the number of users in the intersection of the users of the corresponding second participant and the users of the first participant.
[0214] If the intersection of the users of a second participant and the users of the first participant includes a larger number of users, it can be considered that the importance of the second participant is higher, and therefore, the corresponding weight of the second participant is also higher.
[0215] In one example, the second error information corresponding to each second participant and the weight corresponding to each second participant can be weighted to obtain a second target error, and based on the second target error, the pre-trained model of the i-th iteration process is back-propagated to update the pre-trained model of the i-th iteration process.
[0216] In another example, for each second participant, the pre-trained model of the i-th iteration process can be back-propagated according to the second error information of the second participant to obtain a set of candidate gradient information of the pre-trained model of the i-th iteration process, so that a set of candidate gradient information corresponding to each second participant can be obtained. Then, the set of candidate gradient information corresponding to each second participant and the weights corresponding to each second participant are weighted to obtain the gradient of the pre-trained model of the i-th iteration process, so as to update the pre-trained model of the i-th iteration process according to the gradient of the pre-trained model of the i-th iteration process.
[0217] In this way, while ensuring the privacy of the user data of each second participant, the pre-trained model in the first participant can be fine-tuned according to the weight of each second participant, so that the fine-tuned pre-trained model can learn the knowledge of each second participant, thereby greatly improving the generalization of the pre-trained model for different tasks.
[0218] In the above-mentioned embodiments, the processing process during the training process is introduced.
[0219] In some embodiments, the above neural network architecture can also be applied to the reasoning process.
[0220] The following is an exemplary introduction to the data processing method in the reasoning process. One or more steps of the data processing method in the reasoning process can be applied to the first participant and the second participant, and the neural network applied in the reasoning process can include a fine-tuned pre-trained model and a trained distributed model, the distributed model can include a trained first feature extraction network and a trained prediction network, and in some examples, the distributed model can also include a trained second feature extraction network.
[0221] For the convenience of description, the pre-trained model that is fine-tuned during the inference process is called a pre-trained model, and the trained distributed model is called a distributed model. For example, the distributed model may include a first feature extraction network, a trained prediction network, and a second feature extraction network.
[0222] In a data processing method of an embodiment of the present application, the first participant includes a pre-trained model and a first feature extraction network, the second participant includes a prediction network, the output of the pre-trained model is the input of the first feature extraction network, and the output of the first feature extraction network is the input of the prediction network.
[0223] like Fig.10 As shown, a data processing method according to an embodiment of the present application includes steps 1001-1006.
[0224] Step 1001, the first participant obtains first data of a target user in the first participant, where the target user is a user included in both the first participant and the second participant;
[0225] Step 1002: The first participant obtains a first feature tensor about first data through a pre-trained model;
[0226] Step 1003: the first participant obtains a second feature tensor about the first feature tensor through a first feature extraction network;
[0227] Step 1004, the first participant sends a second feature tensor to the second participant;
[0228] Step 1005, the second participant receives the second feature tensor from the first participant;
[0229] Step 1006: The second participant obtains a prediction result through a prediction network based on the second feature tensor.
[0230] In some embodiments, the second participant further includes a second feature extraction network, and the method further includes:
[0231] The second participant obtains a third feature tensor according to the second data of the target user at the second participant through a second feature extraction network;
[0232] The second participant obtains a prediction result through the prediction network based on the second feature tensor, including:
[0233] The second participant obtains a prediction result through a prediction network based on the second feature tensor and the third feature tensor.
[0234] The network structures such as the pre-trained model, the first feature extraction network, the prediction network, and the second feature extraction network in the embodiments of the present application can refer to the structure and description in any embodiment of the above training process. In addition, the first feature tensor, the second feature tensor, the third feature tensor, and related steps in the embodiments of the present application can also refer to the description of the first feature tensor, the second feature tensor, the third feature tensor, and similar steps in any embodiment of the above training process, which will not be repeated here.
[0235] The data processing method provided in the embodiments of the present application is described above from multiple aspects. The data processing device provided in the embodiments of the present application is described below in conjunction with the accompanying drawings.
[0236] like Fig.11 As shown, the embodiment of the present application provides a data processing device 110, which is applied to a first participant, the first participant includes a pre-trained model and a first feature extraction network, and the second participant includes a prediction network. The data processing device 110 includes:
[0237] Processing module 1101, used for inputting first data of a target user in a first participant into a pre-training model to obtain a first feature tensor output by the pre-training model, wherein the target user is a user included in both the first participant and the second participant;
[0238] The training module 1102 is used to:
[0239] In the i-th iteration of the multiple iteration process:
[0240] Inputting the first feature tensor to the first feature extraction network of the i-th iteration process, and sending the second feature tensor output by the first feature extraction network of the i-th iteration process to the second participant, where i is a positive integer;
[0241] Receiving first error information from the second participant, the first error information being error information about the first feature extraction network of the i-th iteration process obtained by the second participant through the prediction network of the i-th iteration process according to the second feature tensor of the i-th iteration process;
[0242] According to the first error information, the first feature extraction network of the i-th iteration process is updated.
[0243] Optionally, the pre-trained model is trained based on user data of multiple users in the first party.
[0244] Optionally, the pre-trained model is a general representation model.
[0245] Optionally, the second participant includes a label corresponding to the target user, and the first error information is obtained by the second participant through the prediction network of the i-th iterative process based on the label corresponding to the target user and the second feature tensor of the i-th iterative process.
[0246] Optionally, there are multiple second parties;
[0247] The training module 1102 is used to:
[0248] The first feature extraction network in the i-th iteration process is updated according to the first error information from each second participant and the weight corresponding to each second participant, wherein the weight of any second participant is determined according to the number of users in the intersection of the user of the corresponding second participant and the user of the first participant.
[0249] Optionally, during the i-th iteration, the training module 1102 is further configured to:
[0250] After updating the first feature extraction network in the i-th iteration process according to the first error information, second error information about the pre-trained model in the i-th iteration process is obtained;
[0251] The pre-trained model is updated according to the second error information.
[0252] Optionally, there are multiple second parties;
[0253] The training module 1102 is used to:
[0254] According to each first error information and the first feature extraction network of the i-th iteration process, second error information corresponding to each first error information is obtained;
[0255] The pre-trained model is updated according to the second error information corresponding to each first error information and the weight of the second participant corresponding to each first error information, wherein the weight of any second participant is determined according to the number of users in the intersection of the users of the corresponding second participant and the users of the first participant.
[0256] like Fig.12 As shown, an embodiment of the present application provides a data processing device 120, which is applied to a second participant, the second participant includes a prediction network, the first participant includes a pre-trained model and a first feature extraction network, and the device 120 includes an interface module 1201 and a processing module 1202;
[0257] In the i-th iteration of the multiple iteration process:
[0258] The interface module 1201 is used to: receive a second feature tensor obtained by the first participant processing the first feature tensor of the i-th iteration process through the first feature extraction network of the i-th iteration process, wherein the first feature tensor of the i-th iteration process is obtained by the first participant processing the first data of the target user in the first participant through the pre-trained model, and the target user is a user included in both the first participant and the second participant;
[0259] The processing module 1202 is used to obtain first error information about the first feature extraction network of the i-th iteration process according to the second feature tensor of the i-th iteration process and the prediction network of the i-th iteration process;
[0260] The interface module 1201 is used to send first error information to the first participant.
[0261] Optionally, the processing module 1202 is used to:
[0262] Inputting the second feature tensor of the i-th iteration process into the prediction network of the i-th iteration process to obtain the prediction result output by the prediction network of the i-th iteration process;
[0263] According to the prediction result of the i-th iteration process, first error information is obtained.
[0264] Optionally, the second participant further includes a second feature extraction network;
[0265] The processing module 1202 is used to:
[0266] Inputting the second data of the target user in the second participant into the second feature extraction network of the i-th iteration process, and obtaining a third feature tensor output by the second feature extraction network of the i-th iteration process;
[0267] The second feature tensor of the i-th iteration process and the third feature tensor of the i-th iteration process are input into the prediction network of the i-th iteration process to obtain the prediction result output by the prediction network of the i-th iteration process.
[0268] Optionally, the second participant includes a tag corresponding to the target user;
[0269] The processing module 1202 is used to update the prediction network of the i-th iteration process according to the prediction result of the i-th iteration process and the label corresponding to the target user.
[0270] like Fig.13 As shown, the embodiment of the present application provides a data processing device 130, which is applied to a first participant, the first participant includes a pre-trained model and a first feature extraction network, the second participant includes a prediction network, and the device 130 includes:
[0271] The processing module 1301 is used to:
[0272] Acquire first data of a target user at a first participant, where the target user is a user included in both the first participant and the second participant;
[0273] Obtaining a first feature tensor about the first data through a pre-trained model;
[0274] Obtaining a second feature tensor about the first feature tensor through a first feature extraction network;
[0275] The interface module 1302 is used to send the second feature tensor to the second participant to instruct the second participant to obtain a prediction result through a prediction network based on the second feature tensor.
[0276] Optionally, the pre-trained model is obtained by training the first party based on user data of multiple users of the first party.
[0277] Optionally, the pre-trained model is a general representation model.
[0278] like Fig.14 As shown, the embodiment of the present application provides a data processing device 140, which is applied to a second participant, the second participant includes a prediction network, the first participant includes a pre-trained model and a first feature extraction network, and the device 140 includes:
[0279] Interface module 1401 is used to receive a second feature tensor obtained by a first participant through processing a first feature tensor by a first feature extraction network, where the first feature tensor is obtained by processing first data of a target user at the first participant by a pre-trained model;
[0280] The processing module 1402 is used to obtain a prediction result through a prediction network according to the second feature tensor.
[0281] Optionally, the second participant further includes a second feature extraction network;
[0282] The processing module 1402 is used to:
[0283] The second participant obtains a third feature tensor according to the second data of the target user at the second participant through a second feature extraction network;
[0284] The second participant obtains a prediction result through a prediction network based on the second feature tensor and the third feature tensor.
[0285] In an embodiment of the present application, a module is used as an example of a software functional unit, and a data processing device may include code running on a computing instance. Among them, the computing instance may be at least one of a physical host (computing device), a virtual machine, a container and other computing devices. Furthermore, the above-mentioned computing device may be one or more. For example, the data processing device may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the application may be distributed in the same region or in different regions. The multiple hosts / virtual machines / containers used to run the code may be distributed in the same available zone (AZ) or in different AZs, each AZ including a data center or multiple data centers with close geographical locations. Among them, usually a region may include multiple AZs.
[0286] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Usually, a VPC is set up in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway must be set up in each VPC to achieve interconnection between VPCs through the communication gateway.
[0287] As an example of a hardware functional unit, a data processing device may include at least one computing device, such as a server, etc. Alternatively, the data processing device may also be a device implemented using an application specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex PLD (CPLD), a field programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0288] The multiple computing devices included in the data processing device can be distributed in the same region or in different regions. The multiple computing devices included in the data processing device can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the data processing device can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
[0289] It should be noted that, in other embodiments, the training module can be used to execute any step in the data processing method, and the steps that the training module, processing module and interface module are responsible for implementing can be specified as needed. The full functions of the data processing device can be realized by respectively implementing different steps in the data processing method through the training module, processing module and interface module.
[0290] The present application embodiment also provides a computing device 150. Fig.15 As shown, the computing device 150 includes: a bus 152, a processor 154, a memory 156, and a communication interface 158. The processor 154, the memory 156, and the communication interface 158 communicate with each other through the bus 152. The computing device 150 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 150.
[0291] The bus 152 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.15 The bus 154 is represented by only one line, but does not mean that there is only one bus or one type of bus. The bus 154 may include a path for transmitting information between various components of the computing device 150 (eg, the memory 156, the processor 154, and the communication interface 158).
[0292] The processor 154 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0293] The memory 156 may include a volatile memory, such as a random access memory (RAM). The processor 154 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
[0294] The memory 156 stores executable program codes, and the processor 154 executes the executable program codes to respectively implement the functions of the aforementioned acquisition module and training module, thereby implementing the data processing method applied to the first participant in the above-mentioned embodiment, that is, the memory 156 stores instructions for executing the data processing method applied to the first participant in the above-mentioned embodiment.
[0295] The communication interface 158 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 150 and other devices or communication networks.
[0296] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
[0297] like Fig.16 As shown, the computing device cluster includes at least one computing device 150. The memory 156 in one or more computing devices 150 in the computing device cluster may store the same instructions for executing the data processing method.
[0298] In some possible implementations, the memory 156 of one or more computing devices 150 in the computing device cluster may also store partial instructions for executing the data processing method. In other words, the combination of one or more computing devices 150 may jointly execute instructions for executing the data processing method.
[0299] It should be noted that the memory 156 in different computing devices 150 in the computing device cluster may store different instructions, which are respectively used to execute part of the functions of the data processing method. That is, the instructions stored in the memory 156 in different computing devices 150 may implement the functions of one or more modules among the interface module, the processing module and the training module.
[0300] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig.17 A possible implementation is shown. Fig.17 As shown, two computing devices 150A and 150B are connected via a network. Specifically, the connection to the network is made through the communication interface in each computing device. In this type of possible implementation, the memory 156 in the computing device 150A may store instructions for executing the functions of the training module. At the same time, the memory 156 in the computing device 150B may store instructions for executing the functions of the training module. Alternatively, the memory 156 in the computing device 150A may store instructions for executing part of the functions of the training module. At the same time, the memory 156 in the computing device 150B may store instructions for executing another part of the functions of the training module.
[0301] It should be understood that Fig.17 The functionality of computing device 150A shown in FIG. 1 may also be performed by multiple computing devices 150. Similarly, the functionality of computing device 150B may also be performed by multiple computing devices 150.
[0302] The present application embodiment also provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to that of Fig.16 and Fig.17 Connection mode of computing device cluster. The difference is that the memory 156 in one or more computing devices 150 in the computing device cluster may store the same instructions for executing the data processing method.
[0303] In some possible implementations, the memory 156 of one or more computing devices 150 in the computing device cluster may also store partial instructions for executing the data processing method. In other words, the combination of one or more computing devices 150 may jointly execute instructions for executing the data processing method.
[0304] It should be noted that the memory 156 in different computing devices 150 in the computing device cluster may store different instructions for executing part of the functions of the data processing method. That is, the instructions stored in the memory 156 in different computing devices 150 may implement the functions of one or more of the interface module, the processing module, and the training module.
[0305] The present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the data processing method.
[0306] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by the computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute the data processing method.
[0307] The embodiment of the present application also provides a chip system, which includes a processor, and the processor is used to implement the steps performed by the above-mentioned computing device cluster. In a possible design, the chip system may also include a memory, and the memory is used to store necessary program instructions and data. The chip system can be composed of a chip, or it can include a chip and other discrete devices.
[0308] The present application embodiment also provides a computing device 180. Fig.18 As shown, the computing device 180 includes: a bus 182, a processor 184, a memory 186, and a communication interface 188. The processor 184, the memory 186, and the communication interface 188 communicate with each other through the bus 182. The computing device 180 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 180.
[0309] The bus 182 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.18 The bus 184 is represented by only one line, but it does not mean that there is only one bus or one type of bus. The bus 184 may include a path for transmitting information between various components of the computing device 180 (eg, the memory 186, the processor 184, and the communication interface 188).
[0310] The processor 184 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0311] The memory 186 may include a volatile memory, such as a random access memory (RAM). The processor 184 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
[0312] The memory 186 stores executable program codes, and the processor 184 executes the executable program codes to respectively implement the functions of the aforementioned acquisition module and training module, thereby implementing the data processing method applied to the second participant in the above-mentioned embodiment, that is, the memory 186 stores instructions for executing the data processing method applied to the second participant in the above-mentioned embodiment.
[0313] The communication interface 188 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 180 and other devices or communication networks.
[0314] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
[0315] like Fig.19 As shown, the computing device cluster includes at least one computing device 180. The memory 186 in one or more computing devices 180 in the computing device cluster may store the same instructions for executing the data processing method.
[0316] In some possible implementations, the memory 186 of one or more computing devices 180 in the computing device cluster may also store partial instructions for executing the data processing method. In other words, the combination of one or more computing devices 180 may jointly execute instructions for executing the data processing method.
[0317] It should be noted that the memory 186 in different computing devices 180 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the data processing method. That is, the instructions stored in the memory 186 in different computing devices 180 can implement the functions of one or more modules in the interface module and the processing module.
[0318] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig. 20 A possible implementation is shown. Fig. 20 As shown, two computing devices 180A and 180B are connected via a network. Specifically, the connection to the network is made through the communication interface in each computing device. In this type of possible implementation, the memory 186 in the computing device 180A may store instructions for executing the functions of the interface module. At the same time, the memory 186 in the computing device 180B may store instructions for executing the functions of the processing module. Alternatively, the memory 186 in the computing device 180A may store instructions for executing part of the functions of the processing module. At the same time, the memory 186 in the computing device 180B may store instructions for executing another part of the functions of the processing module.
[0319] It should be understood that Fig. 20 The functionality of computing device 180A shown in FIG. 1 may also be performed by multiple computing devices 180. Similarly, the functionality of computing device 180B may also be performed by multiple computing devices 180.
[0320] The present application embodiment also provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to that of Fig.19 and Fig. 20 Connection mode of computing device cluster. The difference is that the memory 186 in one or more computing devices 180 in the computing device cluster may store the same instructions for executing the data processing method.
[0321] In some possible implementations, the memory 186 of one or more computing devices 180 in the computing device cluster may also store partial instructions for executing the data processing method. In other words, the combination of one or more computing devices 180 may jointly execute instructions for executing the data processing method.
[0322] It should be noted that the memory 186 in different computing devices 180 in the computing device cluster may store different instructions for executing part of the functions of the data processing method. That is, the instructions stored in the memory 186 in different computing devices 180 may implement the functions of one or more modules in the acquisition module and the training module.
[0323] The present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the data processing method.
[0324] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by the computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute the data processing method.
[0325] The embodiment of the present application also provides a chip system, which includes a processor, and the processor is used to implement the steps performed by the above-mentioned computing device cluster. In a possible design, the chip system may also include a memory, and the memory is used to store necessary program instructions and data. The chip system can be composed of a chip, or it can include a chip and other discrete devices.
[0326] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0327] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0328] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0329] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0330] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), disk or optical disk, etc. Various media that can store program codes.
Claims
1. A data processing method, characterized in that: The first participant includes a pre-trained model and a first feature extraction network, the second participant includes a prediction network, and the method includes: The first participant inputs first data of a target user in the first participant into the pre-training model to obtain a first feature tensor output by the pre-training model, wherein the target user is a user included in both the first participant and the second participant; In the i-th iteration of the multiple iteration process: The first participating direction inputs the first feature tensor into the first feature extraction network of the i-th iteration process, and sends the second feature tensor output by the first feature extraction network of the i-th iteration process to the second participating party, where i is a positive integer; The first participant receives first error information from the second participant, where the first error information is error information about a first feature extraction network of the i-th iterative process obtained by the second participant through the prediction network of the i-th iterative process according to the second feature tensor of the i-th iterative process; The first participant updates the first feature extraction network of the i-th iteration process according to the first error information.
2. The method according to claim 1, characterized in that The pre-trained model is trained based on user data of multiple users among the first participants.
3. The method according to claim 1 or 2, characterized in that: The pre-trained model is a general representation model.
4. The method according to any one of claims 1 to 3, characterized in that: The second participant includes a label corresponding to the target user, and the first error information is obtained by the second participant through the prediction network of the i-th iterative process based on the label corresponding to the target user and the second feature tensor of the i-th iterative process.
5. The method according to any one of claims 1 to 4, characterized in that: There are multiple second parties; The first participant updates the first feature extraction network in the i-th iteration process according to the first error information, including: The first participant updates the first feature extraction network in the i-th iteration process based on the first error information from each second participant and the weight corresponding to each second participant, wherein the weight of any second participant is determined based on the number of users in the intersection of the users of the corresponding second participant and the users of the first participant.
6. The method according to any one of claims 1 to 5, characterized in that: During the i-th iteration, the method further includes: After the first participant updates the first feature extraction network of the i-th iteration process according to the first error information, second error information about the pre-trained model in the i-th iteration process is obtained; The first participant updates the pre-trained model according to the second error information.
7. The method according to claim 6, characterized in that There are multiple second parties; After the first participant updates the first feature extraction network of the i-th iteration process according to the first error information, obtaining second error information about the pre-trained model in the i-th iteration process includes: The first participant obtains second error information corresponding to each first error information according to each first error information and the first feature extraction network of the i-th iteration process; The first participant updates the pre-trained model according to the second error information corresponding to each first error information and the weight of the second participant corresponding to each first error information, wherein the weight of any second participant is determined according to the number of users in the intersection of the users of the corresponding second participant and the users of the first participant.
8. A data processing method, characterized in that: The first participant includes a pre-trained model and a first feature extraction network, the second participant includes a prediction network, and the method includes: In the i-th iteration of the multiple iteration process: The second participant receives a second feature tensor obtained by the first participant processing the first feature tensor of the i-th iteration process through the first feature extraction network of the i-th iteration process, wherein the first feature tensor of the i-th iteration process is obtained by the first participant processing the first data of the target user in the first participant through the pre-trained model, and the target user is a user included in both the first participant and the second participant; The second participant obtains first error information about the first feature extraction network of the i-th iterative process according to the second feature tensor of the i-th iterative process and the prediction network of the i-th iterative process; The second participant sends the first error information to the first participant.
9. The method according to claim 8, characterized in that The second participant obtains first error information about the first feature extraction network of the i-th iterative process according to the second feature tensor of the i-th iterative process and the prediction network of the i-th iterative process, including: The second participant inputs the second feature tensor of the i-th iteration process into the prediction network of the i-th iteration process to obtain the prediction result output by the prediction network of the i-th iteration process; The second participant obtains the first error information according to the prediction result of the i-th iteration process.
10. The method according to claim 9, characterized in that The second participant also includes a second feature extraction network; The method further comprises: The second participant inputs the second data of the target user in the second participant into the second feature extraction network of the i-th iteration process to obtain a third feature tensor output by the second feature extraction network of the i-th iteration process; The second participant inputs the second feature tensor of the i-th iteration process into the prediction network of the i-th iteration process to obtain the prediction result output by the prediction network of the i-th iteration process, including: The second participant inputs the second feature tensor of the i-th iteration process and the third feature tensor of the i-th iteration process into the prediction network of the i-th iteration process to obtain the prediction result output by the prediction network of the i-th iteration process.
11. The method according to any one of claims 8 to 10, characterized in that: The second participant includes a tag corresponding to the target user; The method further comprises: The second participant updates the prediction network of the i-th iteration process according to the prediction result of the i-th iteration process and the label corresponding to the target user.
12. A data processing method, characterized in that: The first participant includes a pre-trained model and a first feature extraction network, the second participant includes a prediction network, and the method includes: The first participant obtains first data of a target user on the first participant, where the target user is a user included in both the first participant and the second participant; The first participant obtains a first feature tensor about the first data through the pre-trained model; The first participant obtains a second feature tensor about the first feature tensor through the first feature extraction network; The first participant sends the second feature tensor to the second participant to instruct the second participant to obtain a prediction result through the prediction network according to the second feature tensor.
13. The method according to claim 12, characterized in that The pre-trained model is obtained by training the first participant based on user data of multiple users in the first participant.
14. The method according to claim 12 or 13, characterized in that The pre-trained model is a general representation model.
15. A data processing method, characterized in that: The first participant includes a pre-trained model and a first feature extraction network, the second participant includes a prediction network, and the method includes: The second participant receives a second feature tensor obtained by the first participant processing the first feature tensor through the first feature extraction network, where the first feature tensor is obtained by the pre-trained model processing the first data of the target user on the first participant, and the target user is a user included in both the first participant and the second participant; The second participant obtains a prediction result through the prediction network according to the second feature tensor.
16. The method according to claim 15, characterized in that The second participant also includes a second feature extraction network, and the method further includes: The second participant obtains a third feature tensor according to the second data of the target user on the second participant through the second feature extraction network; The second participant obtains a prediction result through the prediction network according to the second feature tensor, including: The second participant obtains a prediction result through the prediction network according to the second feature tensor and the third feature tensor.
17. A data processing device, characterized in that: Applied to a first participant, the first participant includes a pre-trained model and a first feature extraction network, and the second participant includes a prediction network, the device includes: a processing module, configured to input first data of a target user in the first participant into the pre-training model to obtain a first feature tensor output by the pre-training model, wherein the target user is a user included in both the first participant and the second participant; Training modules for: In the i-th iteration of the multiple iteration process: The first participating direction inputs the first feature tensor into the first feature extraction network of the i-th iteration process, and sends the second feature tensor output by the first feature extraction network of the i-th iteration process to the second participating party, where i is a positive integer; The first participant receives first error information from the second participant, where the first error information is error information about a first feature extraction network of the i-th iterative process obtained by the second participant through the prediction network of the i-th iterative process according to the second feature tensor of the i-th iterative process; The first participant updates the first feature extraction network of the i-th iteration process according to the first error information.
18. The device according to claim 17, characterized in that The pre-trained model is trained based on user data of multiple users among the first participants.
19. The device according to claim 17 or 18, characterized in that The pre-trained model is a general representation model.
20. The device according to any one of claims 17 to 19, characterized in that The second participant includes a label corresponding to the target user, and the first error information is obtained by the second participant through the prediction network of the i-th iterative process based on the label corresponding to the target user and the second feature tensor of the i-th iterative process.
21. A data processing device, characterized in that: Applied to a second participant, the second participant includes a prediction network, the first participant includes a pre-trained model and a first feature extraction network, and the device includes an interface module and a processing module; In the i-th iteration of the multiple iteration process: The interface module is used to: receive a second feature tensor obtained by the first participant processing the first feature tensor of the i-th iteration process through the first feature extraction network of the i-th iteration process, wherein the first feature tensor of the i-th iteration process is obtained by the first participant processing the first data of the target user in the first participant through the pre-trained model, and the target user is a user included in both the first participant and the second participant; The processing module is used to: obtain first error information about the first feature extraction network of the i-th iteration process according to the second feature tensor of the i-th iteration process and the prediction network of the i-th iteration process; The interface module is used to send the first error information to the first participant.
22. The device according to claim 21, characterized in that The second participant includes a tag corresponding to the target user; The processing module is further used to update the prediction network of the i-th iteration process according to the prediction result of the i-th iteration process and the label corresponding to the target user.
23. A data processing device, characterized in that: Applied to a first participant, the first participant includes a pre-trained model and a first feature extraction network, and the second participant includes a prediction network, the device includes: Processing modules for: Acquire first data of a target user in the first participant, where the target user is a user included in both the first participant and the second participant; Obtaining a first feature tensor about the first data through the pre-trained model; Obtaining, by means of the first feature extraction network, a second feature tensor related to the first feature tensor; The interface module is used to send the second feature tensor to the second participant to instruct the second participant to obtain a prediction result through the prediction network according to the second feature tensor.
24. A data processing device, characterized in that: Applied to a second participant, the second participant includes a prediction network, the first participant includes a pre-trained model and a first feature extraction network, the device includes: An interface module, configured to receive a second feature tensor obtained by the first participant through processing a first feature tensor by the first feature extraction network, wherein the first feature tensor is obtained by processing the first data of a target user on the first participant by the pre-trained model, and the target user is a user included in both the first participant and the second participant; A processing module is used to obtain a prediction result through the prediction network according to the second feature tensor.
25. A computing device cluster, characterized in that: comprising at least one computing device, the at least one computing device comprising a processor and a memory; The processor is configured to execute instructions stored in the memory so that the computing device cluster executes the method according to any one of claims 1 to 7 and claims 12 to 14.
26. A computing device cluster, characterized in that: comprising at least one computing device, the at least one computing device comprising a processor and a memory; The processor is used to execute instructions stored in the memory so that the computing device cluster executes the method according to any one of claims 8-11 and claims 15-16.
27. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program runs on a processor, the processor is enabled to execute the method according to any one of claims 1 to 16.
28. A computer program product comprising instructions, characterized in that When the instructions are executed by a processor, the method according to any one of claims 1 to 16 is implemented.