Model training method and related apparatus
By transmitting datasets between the first and second devices in a wireless communication system for model training, the problem of large differences in local model datasets between different devices is solved, improving model training performance and communication quality, and realizing effective joint learning of distributed nodes.
Patent Information
- Application Number
- PCT/CN2025/107661
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-24
- Filing Date
- 2025-07-09
- Publication Date
- 2026-01-29
AI Technical Summary
In wireless communication systems, the local models of different first devices are trained independently, resulting in significant differences in their datasets, which increases the complexity and difficulty of model training.
By transferring the dataset between the first and second devices and combining the datasets for model training, the differences in model datasets trained by different devices are reduced, thus avoiding excessive complexity in model training.
It improves the performance and communication quality of model training, reduces the risk of model exposure, and enables effective joint learning between distributed nodes and the central node.
Smart Images

Figure CN2025107661_29012026_PF_FP_ABST
Abstract
Description
Model training method and related apparatus
[0001] The present application claims priority to the Chinese patent application No. 202411001088.9, filed on July 24, 2024, and entitled "Model training method and related apparatus", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] The present application relates to the field of communication technology, in particular to a model training method and related apparatus. BACKGROUND
[0003] Currently, artificial intelligence (AI) technology is introduced into a wireless communication system. The AI technology can be used for compression and reconstruction of wireless channel information, beam management, and positioning enhancement, etc. An AI model is trained based on data to improve the performance of completing a wireless task through the AI model. As shown in FIG. 1, a wireless AI framework includes data collection, model training, model management, model inference, and model storage. A plurality of first devices can respectively perform local model training through real-sampling data to obtain local models. Then, the plurality of first devices respectively send data sets of the local models to a second device. The data set of the local model of each first device includes input data and output data of the local model. The second device performs model training according to the data sets of the local models reported by the plurality of first devices to obtain a global model.
[0004] It can be seen that the local models of different first devices are respectively trained by real-sampling data of different first devices, i.e., the local models of the first devices are independently trained. This results in a large difference or conflict in the data sets of the local models of different first devices. For example, in the data sets reported by different first devices, the output data corresponding to similar input data has a large difference. This results in a large complexity of model training by the second device. SUMMARY
[0005] The present application provides a model training method and related apparatus, which is used for a first device to send a first data set to a second device, so as to realize that the second device performs j-th round training to obtain a second model in combination with the first data set provided by the first device. The first device receives a second data set from the second device, and the second data set includes output data of the second model. The first device performs i+1-th round training to obtain a trained first model in combination with the second data set provided by the second device. The first device and the second device perform the method M times. The data sets are transmitted between the first device and the second device, and model training is performed in combination with the data sets. This is beneficial to reduce the difference in the data sets of the models trained by different devices, avoid a too high complexity of model training, and improve the performance of model training.
[0006] The first aspect of the present application provides a model training method, which can be executed by a first device. The first device can be a terminal device, a network device (such as an access network device or a core network device), a terminal server, or a network server, or a component (for example, a processor, a chip, or a chip system, etc.) in the terminal device, the network device, the terminal server, or the network server, or a logic module or software capable of realizing all or part of the functions of the terminal device, or a logic module or software capable of realizing all or part of the functions of the network device, or a logic module or software capable of realizing all or part of the functions of the terminal server, or a logic module or software capable of realizing all or part of the functions of the network server. The first device executes the method M times, M is an integer greater than or equal to 1, and the method comprises: the first device sends a first data set to a second device, the first data set comprising output data of a first model of the first device trained in the i th round, i is an integer greater than or equal to 0 and less than or equal to M; the first device receives a second data set from the second device, the second data set comprising output data of a second model of the second device, the second model being obtained by training the first data set in the j th round, the function of the first model being the same as the function of the second model, or the function of the first model being related to the function of the second model, j being an integer greater than or equal to 1; and the first device trains the first model in the i+1 th round according to the second data set to obtain a trained first model.
[0007] In the above technical solution, the first device sends the first data set to the second device, so that the second device trains the second model in the j th round in combination with the first data set provided by the first device. The first device receives the second data set from the second device, the second data set comprising output data of the second model. The first device trains the first model in the i+1 th round in combination with the second data set provided by the second device to obtain a trained first model. The first device and the second device execute the method M times, and the first device and the second device transmit data sets and train models in combination with the data sets. This is conducive to reducing the difference between the data sets of the models trained by different devices and avoiding excessively high complexity of model training. This is conducive to improving the performance of model training. For example, in a distributed learning system, the technical solution of the present application can be executed between the distributed nodes and the center node or between the distributed nodes, so as to realize effective joint learning between the distributed nodes and the center node or between the distributed nodes. Further, the first device and the second device transmit data sets without transmitting models, thereby avoiding exposure of models between devices.
[0008] In a possible implementation manner of the first aspect, the first model and the second model are both sending models, or the first model and the second model are both receiving models. This implementation manner illustrates specific implementation manners of the first model and the second model, and is beneficial to enrich the scheme. Further, the first device and the second device perform communication transmission by using the sending model or the receiving model trained by the technical scheme of the present application, which is beneficial to improve the communication quality.
[0009] In a possible implementation manner of the first aspect, the first device performs i+1th-round training on the first model according to the second data set to obtain the trained first model, including: the first device trains a third model of the first device according to the second data set to obtain a trained third model; and the first device performs i+1th-round training on the first model according to the trained third model to obtain the trained first model, where if the first model is a sending model, the third model is a receiving model, or if the first model is a receiving model, the third model is a sending model. This implementation manner enables the first device to train the first model by using the third model, and is beneficial to improve the performance of the first model.
[0010] In a possible implementation manner of the first aspect, the first data set further includes input data of the first model trained by the first device in the i th round. This is beneficial to enable the second device to train the second model by using the first data set, so as to improve the performance of the second model.
[0011] In a possible implementation manner of the first aspect, the second data set further includes input data of the second model. This implementation manner enables the first device to train the first model by using the second data set, so as to improve the performance of the first model.
[0012] In a possible implementation manner of the first aspect, M is preconfigured, or M is determined according to a convergence condition of the first model, or M is determined according to a data difference between the first data set and a third data set or a data difference between the first data set and the second data set, where the third data set includes output data of the first model in the i-1th round of training sent by the first device to the second device. In this implementation manner, multiple possible implementation manners of M are provided, so as to enable the first device and the second device to perform the method for M times, thereby realizing effective joint learning between the first device and the second device. This is beneficial to improve the performance of the first model trained by the first device.
[0013] In a possible implementation manner of the first aspect, the method further includes: the first device receives first configuration information from the second device, where the first configuration information is used to indicate configuration of the data set; and the first device determines the first data set according to the first configuration information. This implementation manner enables the first device to provide a suitable data set for the second device, and is beneficial to improve the performance of model training.
[0014] In a possible implementation manner of the first aspect, the second data set is obtained by updating the first data set. This facilitates the second device to provide the first device with the latest updated data set, and helps the first device to train the model in combination with the latest data set. This avoids a case where the data sets of the models trained by different devices are greatly different.
[0015] In a possible implementation manner of the first aspect, the second data set includes data whose data update amplitude is greater than a preset threshold in the first data set. This enables the first device to train the first model in combination with the data whose data update amplitude is greater, and avoids a case where the data sets of the models trained by different devices are greatly different.
[0016] In a possible implementation manner of the first aspect, the second data set includes data whose data update amplitude is greater than a preset threshold in the second data set relative to data in a fourth data set, and the fourth data set is a second data set of a second model of the second device received by the first device before the second data set. That is, the data update amplitude of the second data set provided this time is greater than that of the second data set provided by the second device last time. This facilitates the first device to train the first model in combination with the data whose data update amplitude is greater, and avoids a case where the data sets of the models trained by different devices are greatly different.
[0017] In a possible implementation manner of the first aspect, the first device performs i+1th training on the first model according to the second data set to obtain the trained first model, including: the first device selects data from the second data set to obtain a first target data subset; and the first device performs i+1th training on the first model according to the first target data subset to obtain the trained first model. In this implementation manner, the first device can select data from the second data set and train the model based on the selected data. This facilitates the first device to train the first model in combination with the data whose data update amplitude is greater, and avoids a case where the data sets of the models trained by different devices are greatly different. For example, the first device can delete the repeated data in the second data set and the first data set, and then train the model based on the processed second data set.
[0018] In a possible implementation manner of the first aspect, the first target data subset includes data whose data update amplitude is greater than a preset threshold in the second data set relative to data in a fourth data set, and the fourth data set is a second data set of a second model of the second device received by the first device before the second data set. This enables the first device to train the first model in combination with the data whose data update amplitude is greater, and avoids a case where the data sets of the models trained by different devices are greatly different.
[0019] The second aspect of the present application provides a model training method, which can be executed by a second device. The second device can be a terminal device, a network device (such as an access network device or a core network device), a terminal server, or a network server, or a component (for example, a processor, a chip, or a chip system) in the terminal device, the network device, the terminal server, or the network server, or a logic module or software capable of realizing all or part of the terminal device function, or a logic module or software capable of realizing all or part of the network device function, or a logic module or software capable of realizing all or part of the terminal server function, or a logic module or software capable of realizing all or part of the network server function. The second device executes the method M times, where M is an integer greater than or equal to 1. The method includes: the second device receives a first data set from a first device, the first data set including output data of a first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M; the second device performs the j-th round of training on a second model of the second device according to the first data set, to obtain a trained second model, the function of the first model being the same as or related to the function of the second model, where j is an integer greater than or equal to 1; and the second device sends a second data set to the first device, the second data set including output data of the trained second model.
[0020] In the above technical solution, the second device receives a first data set from a first device. Then, the second device performs the j-th round of training on a second model of the second device according to the first data set, to obtain a trained second model. The second device sends a second data set to the first device, the second data set including output data of the trained second model. The first device and the second device execute the method M times, and the first device and the second device pass data sets and perform model training in combination with the data sets. This is conducive to reducing the difference between the data sets of the models trained by different devices and avoiding excessively high complexity of model training. This is conducive to improving the performance of model training. For example, in a distributed learning system, the technical solution of the present application can be executed between distributed nodes and a center node or between distributed nodes, to realize effective joint learning between the distributed nodes and the center node or between the distributed nodes. Further, the first device and the second device pass data sets without passing models, to avoid exposure of models between devices.
[0021] Based on the second aspect, in a possible implementation, the first model and the second model are both sending models, or the first model and the second model are both receiving models. This implementation example illustrates specific implementation modes of the first model and the second model, which is conducive to improving the richness of the solution. Further, the first device and the second device communicate by using the sending model or the receiving model trained by the technical solution of the present application, which is conducive to improving the communication quality.
[0022] In a possible implementation of the second aspect, the second device performs the jth training of the second model of the second device according to the first data set to obtain the trained second model, including: the second device trains a fourth model of the second device according to the first data set to obtain a trained fourth model; and the second device performs the jth training of the second model according to the trained fourth model to obtain the trained second model, where, if the second model is a sending model, the fourth model is a receiving model, or if the second model is a receiving model, the fourth model is a sending model. The implementation of training the second model by the fourth model of the first device facilitates improving the performance of the second model.
[0023] In a possible implementation of the second aspect, the first data set further includes input data of the first model of the first device in the ith training. The implementation of training the second model by the second device according to the first data set facilitates improving the performance of the second model.
[0024] In a possible implementation of the second aspect, the second data set further includes input data of the trained second model. The implementation of training the first model by the first device according to the second data set facilitates improving the performance of the first model.
[0025] In a possible implementation of the second aspect, the method further includes: the second device receives a fifth data set from a third device, the fifth data set including output data of a fifth model of the third device, the fifth model having the same function as the first model; and the second device performs the jth training of the second model of the second device according to the first data set to obtain the trained second model, including: the second device performs the jth training of the second model according to the first data set and the fifth data set to obtain the trained second model. In this implementation, the second device can collect data sets reported by multiple devices, and perform model training based on the data sets reported by the multiple devices. This facilitates improving the performance of the model, and further facilitates avoiding the problem of large differences in data sets of the model caused by independent training of the model by different devices.
[0026] In a possible implementation of the second aspect, the second device performs the jth training of the second model according to the first data set and the fifth data set to obtain the trained second model, including: the second device performs hybrid processing on the first data set and the fifth data set to obtain a hybrid data set; and the second device performs the jth training of the second model according to the hybrid data set to obtain the trained second model. In this way, the second device can comprehensively process data sets reported by multiple devices, and perform model training based on the hybrid data set obtained by the processing. This facilitates improving the performance of the model, and further facilitates avoiding the problem of large differences in data sets of the model caused by independent training of the model by different devices.
[0027] In a possible implementation manner of the second aspect, before the second device receives the first data set from the first device, the method further includes: the second device sending first configuration information to the first device, the first configuration information being used to indicate configuration of the data set. The first device is facilitated to provide a suitable data set to the second device, so as to improve performance of model training.
[0028] In a possible implementation manner of the second aspect, before the second device performs the jth round of training on the second model of the second device according to the first data set to obtain the trained second model, the method further includes: the second device selecting the first device according to the capability information of the first device and / or a data update amplitude of the first data set, the data update amplitude of the first data set being determined according to a data difference between the first data set and a sixth data set or a data difference between the first data set and a fourth data set, the fourth data set being a second data set of the second model sent by the second device to the first device before the second data set, and the sixth data set being a first data set of a first model of the first device received by the second device before the first data set. When training the second model, the second device can select the selection of the device participating in providing the data set. This is beneficial to effective federated learning between the first device and the second device, and improves performance of model training.
[0029] In a possible implementation manner of the second aspect, before the second device performs the jth round of training on the second model of the second device according to the first data set to obtain the trained second model, the method further includes: the second device selecting data from the first data set to obtain a second target data subset; and the second device performing the jth round of training on the second model according to the second target data subset to obtain the trained second model. This is beneficial to the second device selecting suitable data for model training, and is beneficial to ensuring that data sets of models trained by different devices have small differences.
[0030] In a possible implementation manner of the second aspect, the second target data subset includes data in the first data set, and a data update amplitude of the data is greater than a preset threshold value compared with data in a sixth data set, the sixth data set being a first data set of a first model of the first device received by the second device before the first data set. This is beneficial to the second device training the second model in combination with data having a large data update amplitude. This avoids a case that data sets of models trained by different devices have large differences.
[0031] In a possible implementation manner of the second aspect, the second data set is obtained by updating the first data set. This is beneficial to the first device training the first model in combination with data having a large data update amplitude, and avoids a case that data sets of models trained by different devices have large differences.
[0032] In a possible implementation manner of the second aspect, the second data set includes data in the second data set that has a data update amplitude greater than a preset threshold with respect to data in the fourth data set, and the fourth data set is a second data set of the second model received by the first device from the second device before the second data set. That is, the data update amplitude of the second data set provided this time is greater than that of the second data set provided by the second device last time. This is beneficial to the first device training the first model in combination with the data having a greater data update amplitude, and avoids a case where the data sets of the models trained by different devices have a large difference.
[0033] In a possible implementation manner of the second aspect, M is preconfigured, or M is determined according to a convergence condition of the first model, or M is determined according to a data difference between the first data set and the third data set or a data difference between the first data set and the second data set, where the third data set includes output data of the first model trained by the first device in the i-1th round and sent to the second device. In this implementation manner, multiple possible implementation manners of M are provided, so that the first device and the second device perform the method M times to implement effective joint learning between the first device and the second device, and improve the performance of the first model trained by the first device.
[0034] The third aspect of the present application provides a model training method, which can be executed by a first device. The first device can be a terminal device, a network device (such as an access network device or a core network device), a terminal server, or a network server, or a component (for example, a processor, a chip, or a chip system) in the terminal device, the network device, the terminal server, or the network server, or a logic module or software capable of realizing all or part of the functions of the terminal device, or a logic module or software capable of realizing all or part of the functions of the network device, or a logic module or software capable of realizing all or part of the functions of the terminal server, or a logic module or software capable of realizing all or part of the functions of the network server. The first device executes the method M times, where M is an integer greater than or equal to 1, and the method includes: the first device sends a first data set to a second device, the first data set including output data of a first model trained by the first device in the i th round, where i is an integer greater than or equal to 0 and less than or equal to M; the first device receives a mixed data set from the second device, the mixed data set being obtained by mixing the first data set and a second data set, the second data set including output data of a second model trained by a third device in the a th round, the second model having the same or related function as the first model, and a being an integer greater than or equal to 0; and the first device trains the first model in the i+1 th round according to the mixed data set to obtain a trained first model.
[0035] The technical solution can know that the first device sends the first data set to the second device, and the second device obtains the mixed data set by combining the first data set. The first device receives the mixed data set from the second device, and performs the i+1th round of training on the first model based on the mixed data set. The first device and the second device perform the method M times, that is, the first device and the second device pass the data set, and the first device combines the mixed data set provided by the second device to perform model training. It is beneficial to reduce the difference between the data sets of the models trained by different devices, and avoid the complexity of model training being too high. It is beneficial to improve the performance of model training. Further, the first device and the second device pass the data set without passing the model, avoiding exposure of the model between devices.
[0036] Based on the third aspect, in a possible implementation, the first model and the second model are both sending models, or the first model and the second model are both receiving models. This implementation example illustrates the specific implementation of the first model and the second model, which is beneficial to improve the richness of the scheme. Further, the sending model or the receiving model trained between the first device and the second device through the technical solution of the present application is used for communication transmission, which is beneficial to improve the communication quality.
[0037] Based on the third aspect, in a possible implementation, the method further includes: training, by the first device, a third model of the first device according to the trained first model, to obtain a trained third model, wherein if the first model is a sending model, the third model is a receiving model, or if the first model is a receiving model, the third model is a sending model. The first device trains the third model through the first model, which is beneficial to improve the performance of the third model.
[0038] Based on the third aspect, in a possible implementation, the first data set further includes input data of the first model trained by the first device in the i-th round.
[0039] Based on the third aspect, in a possible implementation, the second data set further includes input data of the second model trained by the third device in the a-th round.
[0040] Based on the third aspect, in a possible implementation, M is preconfigured; or M is determined according to a convergence condition of the first model; or M is determined according to a data difference between the first data set and a third data set or a data difference between the first data set and the mixed data set, wherein the third data set includes output data of the first model sent by the first device to the second device in the i-1th round of training. In this implementation, multiple possible implementations of M are provided, the first device and the second device perform the method M times, to realize effective joint learning between the first device and the second device. The performance of the first model trained by the first device is improved.
[0041] In a possible implementation manner based on the third aspect, the method further includes: receiving, by the first device, first configuration information from the second device, the first configuration information being used to indicate configuration of the data set; and determining, by the first device, the first data set according to the first configuration information. Thus, the first device can provide a suitable data set for the second device, so as to improve the performance of model training.
[0042] In a possible implementation manner based on the third aspect, the first device performs the i+1th round of training on the first model according to the mixed data set to obtain the trained first model, including: selecting, by the first device, data from the mixed data set to obtain a target data subset; and performing, by the first device, the i+1th round of training on the first model according to the target data subset to obtain the trained first model. In this implementation manner, the first device can select data from the mixed data set and perform model training based on the selected data. This is conducive to the first device selecting suitable data for model training and avoiding a case where data sets of models trained by different devices have a large difference.
[0043] In a possible implementation manner based on the third aspect, the target data subset includes data in the mixed data set that has a data update amplitude greater than a preset threshold compared to data in a fourth data set, the fourth data set being a mixed data set received by the first device from the second device before the mixed data set. This is conducive to the first device training the first model in combination with data having a large data update amplitude, so as to avoid a case where data sets of models trained by different devices have a large difference.
[0044] The fourth aspect of the present application provides a model training method, which can be executed by a second device. The second device can be a terminal device, a network device (such as an access network device or a core network device), a terminal server, or a network server, or a component (for example, a processor, a chip, or a chip system) in the terminal device, the network device, the terminal server, or the network server, or a logic module or software capable of realizing all or part of the functions of the terminal device, the network device, the terminal server, or the network server. The second device executes the method M times, where M is an integer greater than or equal to 1. The method includes: receiving, by the second device, a first data set from a first device, the first data set including output data of a first model trained by the first device in the i th round of training, i being an integer greater than or equal to 0 and less than or equal to M; performing, by the second device, mixed processing on the first data set and a second data set to obtain a mixed data set, the second data set including output data of a second model trained by a third device in the a th round of training, the first model having the same or related function as the second model, a being an integer greater than or equal to 0; and sending, by the second device, the mixed data set to the first device.
[0045] In the above technical solution, the second device receives a first dataset from the first device. Then, the second device performs a mixing process on the first and second datasets to obtain a mixed dataset, and sends the mixed dataset to the first device. The first and second devices execute this method M times, transferring the dataset between them, and the first device uses the dataset provided by the second device to train the model. This helps reduce the differences in datasets between models trained by different devices, avoiding excessive complexity in model training. It also helps improve the performance of model training. For example, in a distributed learning system, the technical solution of this application can be executed between distributed nodes and the central node, or between distributed nodes, to achieve effective joint learning between distributed nodes and the central node, or between distributed nodes. Furthermore, the first and second devices transfer the dataset without transferring the model, avoiding model exposure between devices.
[0046] Based on the fourth aspect, in one possible implementation, before the second device performs mixed processing on the first and second datasets to obtain the mixed dataset, the method further includes: the second device receiving the second dataset from the third device. This facilitates the second device collecting datasets provided by multiple devices and performing mixed processing. It also facilitates the second device providing the mixed dataset to the first device.
[0047] Based on the fourth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both are receiving models. This implementation illustrates specific implementations of the first and second models, which helps to enrich the solution. Furthermore, communication between the first device and the second device using the transmitting or receiving model trained by the technical solution of this application helps to improve communication quality.
[0048] Based on the fourth aspect, in one possible implementation, the first dataset also includes input data of the first model trained by the first device in the i-th round.
[0049] Based on the fourth aspect, in one possible implementation, the second dataset also includes input data of the second model trained by the third device in round a.
[0050] Based on the fourth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence condition of the first model; or, M is determined according to the data difference between the first dataset and the third dataset, or the data difference between the first dataset and the mixed dataset, wherein the third dataset includes the output data of the first model trained in the (i-1)th round, sent by the first device to the second device. This implementation provides multiple possible implementations of M, enabling the first device and the second device to execute the method M times to achieve effective joint learning between them, thereby improving the performance of the first model trained by the first device.
[0051] Based on the fourth aspect, one possible implementation further includes: the second device sending first configuration information to the first device, the first configuration information being used to indicate the configuration of the dataset. This allows the first device to provide the second device with a suitable dataset, facilitating improved model training performance.
[0052] This application provides a model training method, which can be executed by a first device. The first device can be a terminal device, a network device (e.g., an access network device or a core network device), a terminal server, or a network server, or a component (e.g., a processor, chip, or chip system) in the terminal device, network device, terminal server, or network server, or a logic module or software that can implement all or part of the functions of the terminal device, or a logic module or software that can implement all or part of the functions of the network device, or a logic module or software that can implement all or part of the functions of the terminal server, or a logic module or software that can implement all or part of the functions of the network server. The first device executes the method M times, where M is an integer greater than or equal to 1. The method includes: the first device sending a first dataset to a second device, the first dataset including the output data of a first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M; the first device receiving a second model from the second device, the second model being trained based on the first dataset, the functions of the first model being the same as or related to the functions of the second model; and the first device performing the (i+1)-th round of training on the first model according to the second model to obtain the trained first model.
[0053] As described in the above technical solution, the first device sends a first dataset to the second device, enabling the second device to train a second model using the first dataset and then send the second model back to the first device. The first device can then train the first model using the second model for the (i+1)th round to obtain the trained first model. The first and second devices execute this method M times, which helps reduce the difference in datasets between models trained by different devices, avoiding excessive complexity in model training and improving training performance. Furthermore, the second device provides the second model to the first device, avoiding the exposure of the second device's dataset to the first device, thus ensuring the data privacy requirements of the second device.
[0054] Based on the fifth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both are receiving models. This implementation illustrates specific implementations of the first and second models, which helps to enrich the solution options. Furthermore, communication between the first device and the second device using the transmitting or receiving model trained by the technical solution of this application helps to improve communication quality.
[0055] Based on the fifth aspect, in one possible implementation, the first device trains the first model for the (i+1)th round based on the second model to obtain a trained first model, including: the first device trains its third model based on the second model to obtain a trained third model; the first device trains the first model for the (i+1)th round based on the trained third model to obtain a trained first model, wherein if the first model is a transmitting model, then the third model is a receiving model; or, if the first model is a receiving model, then the third model is a transmitting model. Implementing the first device to train the first model using the third model is beneficial for improving the performance of the first model.
[0056] Based on the fifth aspect, in one possible implementation, the first dataset also includes input data of the first model trained by the first device in the i-th round.
[0057] Based on the fifth aspect, in one possible implementation, the method further includes: a first device receiving first configuration information from a second device, the first configuration information indicating the configuration of the dataset; and the first device determining a first dataset based on the first configuration information. This enables the first device to provide a suitable dataset to the second device, facilitating improved model training performance.
[0058] Based on the fifth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence condition of the first model. This implementation provides multiple possible ways to implement M, enabling the first device and the second device to execute the method M times to achieve effective joint learning between the first device and the second device. This improves the performance of the first model trained by the first device.
[0059] The sixth aspect of this application provides a model training method, which can be executed by a second device. The second device can be a terminal device, a network device (e.g., an access network device or a core network device), a terminal server, or a network server, or a component of the terminal device, network device, terminal server, or network server (e.g., a processor, chip, or chip system), or a logic module or software that can implement all or part of the functions of the terminal device, or a logic module or software that can implement all or part of the functions of the network device, or a logic module or software that can implement all or part of the functions of the terminal server, or a logic module or software that can implement all or part of the functions of the network server. The second device executes the method M times, where M is an integer greater than or equal to 1. The method includes: the second device receiving a first dataset from a first device, the first dataset including the output data of a first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M; the second device training a second model of the second device based on the first dataset to obtain a trained second model, wherein the functions of the first model and the second model are the same or related; and the second device sending the trained second model to the first device.
[0060] In the above technical solution, the second device receives a first dataset from the first device, trains its second model using the first dataset to obtain a trained second model, and sends the trained second model back to the first device. This facilitates the first device training its first model using the trained second model. The first and second devices execute this method M times, which helps reduce the differences in datasets between models trained by different devices and avoids excessive complexity in model training. This improves model training performance. Furthermore, the second device provides the first device with the second model, avoiding the second device exposing its own dataset to the first device. This helps ensure the data privacy requirements of the second device.
[0061] Based on the sixth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both are receiving models. This implementation illustrates specific implementations of the first and second models, which helps to enrich the solution options. Furthermore, communication between the first device and the second device using the transmitting or receiving model trained by the technical solution of this application helps to improve communication quality.
[0062] Based on the sixth aspect, in one possible implementation, the method further includes: the second device receiving a second dataset from the third device, the second dataset including the output data of the fourth model trained by the third device in round a, the fourth model having the same function as the first model, and a being an integer greater than or equal to 0; the second device training its second model based on the first dataset to obtain a trained second model, including: the second device training the second model based on the first and second datasets to obtain a trained second model. In this implementation, the second device can collect datasets provided by multiple devices and perform model training. This enables the second device to provide a trained second model to the first device. This is beneficial for the first device to combine the trained second model with the first model for training. It also helps to reduce the differences in datasets between models trained by different devices.
[0063] Based on the sixth aspect, in one possible implementation, the first dataset also includes input data of the first model trained by the first device in the i-th round.
[0064] Based on the sixth aspect, in one possible implementation, the method further includes: the second device sending first configuration information to the first device, the first configuration information being used to indicate the configuration of the dataset. This enables the first device to provide the second device with a suitable dataset, facilitating improved model training performance.
[0065] Based on the sixth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence condition of the first model. This implementation provides multiple possible ways to implement M, enabling the first device and the second device to execute the method M times to achieve effective joint learning between the first device and the second device. This improves the performance of the first model trained by the first device.
[0066] Based on the sixth aspect, in one possible implementation, the second device trains its second model using the first dataset to obtain a trained second model, including: the second device training its fifth model using the first dataset to obtain a trained fifth model; and the second device training its second model using the trained fifth model to obtain a trained second model. This allows the second device to train the second model using the trained fifth model, thereby improving the performance of the second model.
[0067] A seventh aspect of this application provides a model training method, which can be executed by a first device. The first device can be a terminal device, a network device (e.g., an access network device or a core network device), a terminal server, or a network server, or a component (e.g., a processor, a chip, or a chip system) in the terminal device, network device, terminal server, or network server, or a logic module or software that can implement all or part of the functions of the terminal device, or a logic module or software that can implement all or part of the functions of the network device, or a logic module or software that can implement all or part of the functions of the terminal server, or a logic module or software that can implement all or part of the functions of the network server. The first device executes the method M times, where M is an integer greater than or equal to 1. The method includes: the first device sending a first model obtained in the i-th round of training to a second device, where i is an integer greater than or equal to 0 and less than or equal to M; the first device receiving a first dataset from the second device, the first dataset including the output data of a second model of the second device, the second model being obtained by fusing the first model; and the first device performing the (i+1)-th round of training on the first model based on the first dataset to obtain a trained first model.
[0068] In the above technical solution, the first device sends a first model to the second device, enabling the second device to fuse the first model to obtain a second model, and then sends the first dataset of the second model to the first device. The first device performs the (i+1)th round of training on the first model based on the first dataset. The first device and the second device execute this method M times. This helps reduce the difference in datasets between models trained by different devices, avoiding excessive complexity in model training. It also helps improve the performance of model training. Furthermore, the first device reports the first model obtained from the i-th round of training to the second device. This avoids the first device exposing its own dataset to the second device, thus ensuring the data privacy requirements of the first device.
[0069] Based on the seventh aspect, in one possible implementation, both the first model and the second model are transmitting models, or both are receiving models. This implementation illustrates specific implementations of the first and second models, which helps to enrich the solution options. Furthermore, communication between the first device and the second device using the transmitting or receiving model trained by the technical solution of this application helps to improve communication quality.
[0070] Based on the seventh aspect, in one possible implementation, the method further includes: the first device training a third model of the first device according to the trained first model to obtain a trained third model; wherein, if the first model is a transmitting model, then the third model is a receiving model; or, if the first model is a receiving model, then the third model is a transmitting model. Implementing the first device to train the third model using the first model is beneficial for improving the performance of the third model.
[0071] Based on the seventh aspect, in one possible implementation, the first dataset also includes input data for the second model.
[0072] Based on the seventh aspect, in one possible implementation, M is pre-configured; or, M is determined based on the convergence condition of the first model; or, M is determined based on the data difference between the first dataset and the third dataset, where the third dataset includes the output data of the first model trained in i-1 rounds and sent from the first device to the second device. This implementation provides multiple possible ways to implement M, enabling the first device and the second device to execute the method M times to achieve effective joint learning between them. This improves the performance of the first model trained by the first device.
[0073] This application provides an eighth aspect of a model training method, which can be executed by a second device. The second device can be a terminal device, a network device (e.g., an access network device or a core network device), a terminal server, or a network server; or a component (e.g., a processor, chip, or chip system) within the terminal device, network device, terminal server, or network server; or a logic module or software capable of implementing all or part of the functions of the terminal device; or a logic module or software capable of implementing all or part of the functions of the network device; or a logic module or software capable of implementing all or part of the functions of the terminal server; or a logic module or software capable of implementing all or part of the functions of the network server. The second device executes the method M times, where M is an integer greater than or equal to 1. The method includes: the second device receiving a first model from a first device, the first model being a model obtained by the first device in the i-th round of training, where i is an integer greater than or equal to 0 and less than or equal to M; the second device fusing the first model to obtain a second model; and the second device sending a first dataset to the first device, the first dataset including the output data of the second model.
[0074] In the above technical solution, the second device receives a first model from the first device and fuses the first model to obtain a second model. The second device sends a first dataset to the first device. This enables the first device to train the first model using the first dataset. The first and second devices execute this method M times. This helps reduce the difference in datasets between models trained by different devices, avoiding excessive complexity in model training. It also helps improve the performance of model training. For example, in a distributed learning system, the technical solution of this application can be executed between distributed nodes and the central node, or between distributed nodes, to achieve effective joint learning between distributed nodes and the central node, or between distributed nodes. Furthermore, the first device reports the first model obtained from the i-th round of training to the second device. This avoids the first device exposing its own dataset to the second device, thus ensuring the data privacy requirements of the first device.
[0075] Based on the eighth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both are receiving models. This implementation illustrates specific implementations of the first and second models, which helps to enrich the solution. Furthermore, communication between the first device and the second device using the transmitting or receiving model trained by the technical solution of this application helps to improve communication quality.
[0076] Based on the eighth aspect, in one possible implementation, the method further includes: a second device receiving a fourth model from a third device, the fourth model having the same or related function to the first model; the second device fusing the first model to obtain a second model, including: the second device fusing the first model and the fourth model to obtain the second model. In this implementation, the second device collects models from multiple devices and fuses them. This facilitates the second device providing the first device with a dataset of the fused model.
[0077] Based on the eighth aspect, in one possible implementation, both the first model and the fourth model are transmitting models, or both are receiving models. This implementation illustrates specific implementations of the first and fourth models, which helps to enrich the solution options. Furthermore, the first device performs communication transmission using the transmitting or receiving model trained by the technical solution of this application, which helps to improve communication quality.
[0078] Based on the eighth aspect, in one possible implementation, the first dataset also includes input data for the second model.
[0079] Based on the eighth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence condition of the first model. This implementation provides multiple possible ways to implement M, enabling the first and second devices to execute the method M times to achieve effective joint learning between them. This improves the performance of the first model trained by the first device.
[0080] A ninth aspect of this application provides a model training method, which can be executed by a first device. The first device can be a terminal device, a network device (e.g., an access network device or a core network device), a terminal server, or a network server, or a component of the terminal device, network device, terminal server, or network server (e.g., a processor, chip, or chip system), or a logic module or software that can implement all or part of the functions of the terminal device, or a logic module or software that can implement all or part of the functions of the network device, or a logic module or software that can implement all or part of the functions of the terminal server, or a logic module or software that can implement all or part of the functions of the network server. The first device executes the method M times, where M is an integer greater than or equal to 1. The method includes: the first device sending a first model to a second device, the first model being a model obtained by the first device in the i-th round of training, where i is an integer greater than or equal to 0 and less than or equal to M; the first device receiving a second model from the second device, the second model being obtained by fusing the first model; and the first device training the second model based on local data of the first device to obtain a trained second model.
[0081] In the above technical solution, the first device sends a first model to the second device. The first device receives a second model from the second device, which is obtained by fusing the first model. The first device trains the second model using its local data to obtain a trained second model. The first and second devices execute this method M times, i.e., the first and second devices transfer the model between them. This helps reduce the differences in datasets between models trained by different devices, avoiding excessive complexity in model training. It also helps improve the performance of model training. Furthermore, the transfer of the model between the first and second devices does not require the transfer of the dataset, which helps ensure the high data privacy requirements of the devices.
[0082] Based on the ninth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both are receiving models. This implementation exemplifies specific implementations of the first and second models, which helps to enrich the solution options. Furthermore, communication between the first device and the second device using the transmitting or receiving model trained by the technical solution of this application helps to improve communication quality.
[0083] Based on the ninth aspect, in one possible implementation, the method further includes: the first device training a third model of the first device according to the trained second model to obtain a trained third model; wherein, if the second model is a transmitting model, then the third model is a receiving model; or, if the second model is a receiving model, then the third model is a transmitting model. Implementing the first device to train the third model using the first model is beneficial for improving the performance of the third model.
[0084] Based on the ninth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence condition of the first model. This implementation provides multiple possible ways to implement M, enabling the first and second devices to execute the method M times to achieve effective joint learning between them. This improves the performance of the first model trained by the first device.
[0085] The tenth aspect of this application provides a model training method, which can be executed by a second device. The second device can be a terminal device, a network device (e.g., an access network device or a core network device), a terminal server, or a network server, or a component of the terminal device, network device, terminal server, or network server (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the terminal device, the network device, the terminal server, or the network server. The second device executes the method M times, where M is an integer greater than or equal to 1. The method includes: the second device receiving a first model from a first device, the first model being a model obtained by the first device in the i-th round of training, where i is an integer greater than or equal to 0 and less than or equal to M; the second device fusing the first model to obtain a second model; and the second device sending the second model to the first device.
[0086] In the above technical solution, the second device receives a first model from the first device. The second device fuses the first model to obtain a second model, and then sends the second model back to the first device. This facilitates the first device's training of the second model. The first and second devices execute this method M times, i.e., the first and second devices transfer the model between each other. This helps reduce the differences in datasets between models trained by different devices, avoiding excessive complexity in model training. It also helps improve model training performance. Furthermore, the transfer of the model between the first and second devices does not require the transfer of the dataset, which helps ensure the high data privacy requirements of the devices.
[0087] Based on the tenth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both are receiving models. This implementation exemplifies specific implementations of the first and second models, which helps to enrich the solution options. Furthermore, communication transmission between the first device and the second device using the transmitting or receiving model trained by the technical solution of this application helps to improve communication quality.
[0088] Based on the tenth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence condition of the first model. This implementation provides multiple possible ways to implement M, enabling the first device and the second device to execute the method M times to achieve effective joint learning between the first device and the second device. This improves the performance of the first model trained by the first device.
[0089] The eleventh aspect of this application provides a first device, comprising:
[0090] The transceiver module is used to send a first dataset to the second device, the first dataset including the output data of the first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M; and to receive a second dataset from the second device, the second dataset including the output data of the second model of the second device, the second model being obtained by training the first dataset in the j-th round, the function of the first model being the same as the function of the second model, or the function of the first model being related to the function of the second model, where j is an integer greater than or equal to 1;
[0091] The processing module is used to train the first model for the (i+1)th round based on the second dataset to obtain the trained first model.
[0092] Based on the eleventh aspect, in one possible implementation, both the first model and the second model are sending models, or both the first model and the second model are receiving models.
[0093] Based on the eleventh aspect, in one possible implementation, the processing module is specifically used for:
[0094] The third model of the first device is trained based on the second dataset to obtain the trained third model;
[0095] The first model is trained for the (i+1)th round based on the trained third model to obtain the trained first model. If the first model is a sending model, then the third model is a receiving model, or if the first model is a receiving model, then the third model is a sending model.
[0096] Based on the eleventh aspect, in one possible implementation, the first dataset also includes input data of the first model trained by the first device in the i-th round.
[0097] Based on the eleventh aspect, in one possible implementation, the second dataset also includes the input data of the second model.
[0098] Based on the eleventh aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence condition of the first model; or, M is determined according to the data difference between the first dataset and the third dataset or the data difference between the first dataset and the second dataset, wherein the third dataset includes the output data of the first model trained in the (i-1)th round sent by the first device to the second device.
[0099] Based on the eleventh aspect, in one possible implementation, the transceiver module is also used for:
[0100] Receive first configuration information from the second device, the first configuration information being used to indicate the configuration of the dataset;
[0101] The processing module is also used to: determine the first dataset based on the first configuration information.
[0102] Based on the eleventh aspect, in one possible implementation, the second dataset is obtained by updating the first dataset.
[0103] Based on the eleventh aspect, in one possible implementation, the second dataset includes data in the first dataset whose data update magnitude is greater than a preset threshold.
[0104] Based on the eleventh aspect, in one possible implementation, the second dataset includes data in the second dataset whose data update magnitude is greater than a preset threshold relative to the data in the fourth dataset; wherein, the fourth dataset is the second dataset of the second model of the second device received by the first device before the second dataset.
[0105] Based on the eleventh aspect, in one possible implementation, the processing module is specifically used to: select data from the second dataset to obtain a first target data subset; and perform i+1 rounds of training on the first model based on the first target data subset to obtain the trained first model.
[0106] Based on the eleventh aspect, in one possible implementation, the first target data subset includes data in the second dataset whose data update magnitude is greater than a preset threshold compared to the data in the fourth dataset, and the fourth dataset is the second dataset of the second model received by the first device from the second device before the second dataset.
[0107] This application provides a second device in twelve aspects, comprising:
[0108] The transceiver module is used to receive a first dataset from the first device, the first dataset including the output data of the first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M;
[0109] The processing module is used to train the second model of the second device in the j-th round according to the first dataset to obtain the trained second model. The function of the first model is the same as that of the second model, or the function of the first model is related to that of the second model, where j is an integer greater than or equal to 1.
[0110] The transceiver module is also used to send a second dataset to the first device, the second dataset including the output data of the trained second model.
[0111] Based on the twelfth aspect, in one possible implementation, both the first model and the second model are either sending models or both receiving models.
[0112] Based on the twelfth aspect, in one possible implementation, the processing module is specifically used to: train the fourth model of the second device according to the first dataset to obtain the trained fourth model; and train the second model for the jth round according to the trained fourth model to obtain the trained second model, wherein if the second model is a transmitting model, then the fourth model is a receiving model, or if the second model is a receiving model, then the fourth model is a transmitting model.
[0113] Based on the twelfth aspect, in one possible implementation, the first dataset also includes input data of the first model trained by the first device in the i-th round.
[0114] Based on the twelfth aspect, in one possible implementation, the second dataset also includes input data for the trained second model.
[0115] Based on the twelfth aspect, in one possible implementation, the transceiver module is further configured to: receive a fifth dataset from the third device, the fifth dataset including the output data of the fifth model of the third device, the fifth model having the same function as the first model;
[0116] The processing module is also used to: train the second model for the jth round based on the first dataset and the fifth dataset to obtain the trained second model.
[0117] Based on the twelfth aspect, in one possible implementation, the processing module is specifically used to: perform mixed processing on the first dataset and the fifth dataset to obtain a mixed dataset; and perform the j-th round of training on the second model based on the mixed dataset to obtain the trained second model.
[0118] Based on the twelfth aspect, in one possible implementation, the transceiver module is further configured to: send first configuration information to the first device, the first configuration information being used to indicate the configuration of the dataset.
[0119] Based on the twelfth aspect, in one possible implementation, the processing module is further configured to: select the first device according to the capability information of the first device and / or the data update magnitude of the first dataset, wherein the data update magnitude of the first dataset is determined based on the data difference between the first dataset and the sixth dataset or the data difference between the first dataset and the fourth dataset, wherein the fourth dataset is the second dataset of the second model sent by the second device to the first device before the second dataset, and the sixth dataset is the first dataset of the first model received by the second device from the first device before the first dataset.
[0120] Based on the twelfth aspect, in one possible implementation, the processing module is specifically used to: select data from the first dataset to obtain a second target data subset; and perform the j-th round of training on the second model based on the second target data subset to obtain the trained second model.
[0121] Based on the twelfth aspect, in one possible implementation, the second target data subset includes data in the first dataset whose data update magnitude is greater than a preset threshold compared to the data in the sixth dataset, and the sixth dataset is the first dataset from the first model received by the second device before the first dataset.
[0122] Based on the twelfth aspect, in one possible implementation, the second dataset is obtained by updating the first dataset.
[0123] Based on the twelfth aspect, in one possible implementation, the second dataset includes data in the second dataset whose data update magnitude is greater than a preset threshold relative to the data in the fourth dataset, and the fourth dataset is the second dataset of the second model received by the first device from the second device before the second dataset.
[0124] Based on the twelfth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence condition of the first model; or, M is determined according to the data difference between the first dataset and the third dataset or the data difference between the first dataset and the second dataset, wherein the third dataset includes the output data of the first model trained in the (i-1)th round sent by the first device to the second device.
[0125] The thirteenth aspect of this application provides a first device, comprising:
[0126] The transceiver module is used to send a first dataset to the second device, the first dataset including the output data of the first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M; and to receive a mixed dataset from the second device, the mixed dataset being obtained by mixing the first dataset and the second dataset, the second dataset including the output data of the second model trained by the third device in the a-th round, the function of the second model being the same as or related to the function of the first model, where a is an integer greater than or equal to 0;
[0127] The processing module is used to train the first model for the (i+1)th round based on the mixed dataset to obtain the trained first model.
[0128] Based on the thirteenth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both the first model and the second model are receiving models.
[0129] Based on the thirteenth aspect, in one possible implementation, the processing module is further configured to: train the third model of the first device according to the trained first model to obtain the trained third model, wherein if the first model is a transmitting model, then the third model is a receiving model, or if the first model is a receiving model, then the third model is a transmitting model.
[0130] Based on the thirteenth aspect, in one possible implementation, the first dataset also includes input data of the first model trained by the first device in the i-th round.
[0131] Based on the thirteenth aspect, in one possible implementation, the second dataset also includes input data of the second model trained by the third device in round a.
[0132] Based on the thirteenth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence condition of the first model; or, M is determined according to the data difference between the first dataset and the third dataset or the data difference between the first dataset and the mixed dataset, wherein the third dataset includes the output data of the first model trained in the (i-1)th round sent by the first device to the second device.
[0133] Based on the thirteenth aspect, in one possible implementation, the transceiver module is further configured to: receive first configuration information from the second device, the first configuration information being used to indicate the configuration of the dataset; the processing module is further configured to: determine the first dataset based on the first configuration information.
[0134] Based on the thirteenth aspect, in one possible implementation, the processing module is specifically used to: select data from the mixed dataset to obtain a target data subset; and train the first model for the (i+1)th round based on the target data subset to obtain the trained first model.
[0135] Based on the thirteenth aspect, in one possible implementation, the target data subset includes data in the mixed dataset whose data update magnitude is greater than a preset threshold compared to the data in the fourth dataset, and the fourth dataset is the mixed dataset received by the first device from the second device before the mixed dataset.
[0136] The fourteenth aspect of this application provides a second device, comprising:
[0137] The transceiver module is used to receive a first dataset from the first device. The first dataset includes the output data of the first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M.
[0138] The processing module is used to perform mixed processing on the first dataset and the second dataset to obtain a mixed dataset. The second dataset includes the output data of the second model trained by the third device in round a. The function of the first model is the same as or related to the function of the second model, and a is an integer greater than or equal to 0.
[0139] The transceiver module is also used to send the mixed dataset to the first device.
[0140] Based on the fourteenth aspect, in one possible implementation, the transceiver module is also used to: receive a second dataset from a third device.
[0141] Based on the fourteenth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both the first model and the second model are receiving models.
[0142] Based on the fourteenth aspect, in one possible implementation, the first dataset also includes input data of the first model trained by the first device in the i-th round.
[0143] Based on the fourteenth aspect, in one possible implementation, the second dataset also includes input data of the second model trained by the third device in round a.
[0144] Based on the fourteenth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence condition of the first model; or, M is determined according to the data difference between the first dataset and the third dataset or the data difference between the first dataset and the mixed dataset, wherein the third dataset includes the output data of the first model trained in the (i-1)th round sent by the first device to the second device.
[0145] Based on the fourteenth aspect, in one possible implementation, the transceiver module is further configured to: send first configuration information to the first device, the first configuration information being used to indicate the configuration of the dataset.
[0146] The fifteenth aspect of this application provides a first device, comprising:
[0147] The transceiver module is used to send a first dataset to the second device, the first dataset including the output data of the first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M; and to receive a second model from the second device, the second model being trained based on the first dataset, the function of the first model being the same as or related to the function of the second model.
[0148] The processing module is used to train the first model for the (i+1)th round based on the second model to obtain the trained first model.
[0149] Based on the fifteenth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both the first model and the second model are receiving models.
[0150] Based on the fifteenth aspect, in one possible implementation, the processing module is specifically used to: train the third model of the first device according to the second model to obtain the trained third model; and train the first model for the (i+1)th round according to the trained third model to obtain the trained first model, wherein if the first model is a transmitting model, then the third model is a receiving model; or, if the first model is a receiving model, then the third model is a transmitting model.
[0151] Based on the fifteenth aspect, in one possible implementation, the first dataset also includes input data of the first model trained by the first device in the i-th round.
[0152] Based on the fifteenth aspect, in one possible implementation, the transceiver module is further configured to: receive first configuration information from the second device, the first configuration information being used to indicate the configuration of the dataset; the processing module is further configured to: determine the first dataset based on the first configuration information.
[0153] Based on the fifteenth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence conditions of the first model.
[0154] The sixteenth aspect of this application provides a second device, comprising:
[0155] The transceiver module is used to receive a first dataset from the first device. The first dataset includes the output data of the first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M.
[0156] The processing module is used to train the second model of the second device based on the first dataset to obtain the trained second model, wherein the functions of the first model and the second model are the same or related.
[0157] The transceiver module is also used to send the trained second model to the first device.
[0158] Based on the sixteenth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both the first model and the second model are receiving models.
[0159] Based on the sixteenth aspect, in one possible implementation, the transceiver module is further configured to: receive a second dataset from a third device, the second dataset including the output data of a fourth model trained by the third device in round a, the fourth model having the same function as the first model, where a is an integer greater than or equal to 0; the processing module is specifically configured to: train the second model based on the first dataset and the second dataset to obtain the trained second model.
[0160] Based on the sixteenth aspect, in one possible implementation, the first dataset also includes input data of the first model trained by the first device in the i-th round.
[0161] Based on the sixteenth aspect, in one possible implementation, the transceiver module is further configured to: send first configuration information to the first device, the first configuration information being used to indicate the configuration of the dataset.
[0162] Based on the sixteenth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence conditions of the first model.
[0163] Based on the sixteenth aspect, in one possible implementation, the processing module is specifically used to: train the fifth model of the second device according to the first dataset to obtain the trained fifth model; and train the second model according to the trained fifth model to obtain the trained second model.
[0164] The seventeenth aspect of this application provides a first device, comprising:
[0165] The transceiver module is used to send the first model obtained in the i-th round of training to the second device, where i is an integer greater than or equal to 0 and less than or equal to M; and to receive the first dataset from the second device, which includes the output data of the second model of the second device, and the second model is obtained by fusing the first model.
[0166] The processing module is used to train the first model for the (i+1)th round based on the first dataset to obtain the trained first model.
[0167] Based on the seventeenth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both the first model and the second model are receiving models.
[0168] Based on the seventeenth aspect, in one possible implementation, the processing module is further configured to: train a third model of the first device according to the trained first model to obtain a trained third model; wherein, if the first model is a transmitting model, then the third model is a receiving model; or, if the first model is a receiving model, then the third model is a transmitting model.
[0169] Based on the seventeenth aspect, in one possible implementation, the first dataset also includes input data for the second model.
[0170] Based on the seventeenth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence condition of the first model; or, M is determined according to the data difference between the first dataset and the third dataset, the third dataset including the output data of the first model trained in i-1 rounds and sent by the first device to the second device.
[0171] The eighteenth aspect of this application provides a second device, comprising:
[0172] The transceiver module is used to receive the first model from the first device. The first model is the model obtained by the first device in the i-th round of training, where i is an integer greater than or equal to 0 and less than or equal to M.
[0173] The processing module is used to fuse the first model to obtain the second model;
[0174] The transceiver module is also used to send a first dataset to the first device, the first dataset including the output data of the second model.
[0175] Based on the eighteenth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both the first model and the second model are receiving models.
[0176] Based on the eighteenth aspect, in one possible implementation, the transceiver module is further configured to: receive a fourth model from a third device, the function of which is the same as or related to the function of the first model; the processing module is specifically configured to: fuse the first model and the fourth model to obtain a second model.
[0177] Based on the eighteenth aspect, in one possible implementation, both the first model and the fourth model are either sending models or both receiving models.
[0178] Based on the eighteenth aspect, in one possible implementation, the first dataset also includes input data for the second model.
[0179] Based on the eighteenth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence conditions of the first model.
[0180] This application provides a first device in nineteen aspects, comprising:
[0181] The transceiver module is used to send the first model to the second device, which is the model obtained by the first device in the i-th round of training, where i is an integer greater than or equal to 0 and less than or equal to M; and to receive the second model from the second device, which is obtained by fusing the first model.
[0182] The processing module is used to train the second model based on the local data of the first device to obtain the trained second model.
[0183] Based on the nineteenth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both the first model and the second model are receiving models.
[0184] Based on the nineteenth aspect, in one possible implementation, the processing module is further configured to: train the third model of the first device according to the trained second model to obtain the trained third model; wherein, if the second model is a transmitting model, then the third model is a receiving model; or, if the second model is a receiving model, then the third model is a transmitting model.
[0185] Based on the nineteenth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence conditions of the first model.
[0186] The twentieth aspect of this application provides a second device, comprising:
[0187] The transceiver module is used to receive the first model from the first device. The first model is the model obtained by the first device in the i-th round of training, where i is an integer greater than or equal to 0 and less than or equal to M.
[0188] The processing module is used to fuse the first model to obtain the second model;
[0189] The transceiver module is also used to send the second model to the first device.
[0190] Based on the twentieth aspect, in one possible implementation, both the first model and the second model are transmitting models, or both the first model and the second model are receiving models.
[0191] Based on the twentieth aspect, in one possible implementation, M is pre-configured; or, M is determined according to the convergence conditions of the first model.
[0192] Regarding aspects eleven, thirteen, fifteen, seventeen, and nineteen above, the first device may be a terminal device or a network device, or a component within a terminal device or network device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of a terminal device, or a logic module or software capable of implementing all or part of the functions of a network device. The transceiver module may be a transceiver, or an input / output interface; the processing module may be a processor.
[0193] In one implementation, the first device is a chip, chip system, or circuit configured in a terminal device or network device. When the first device is a chip, chip system, or circuit configured in a terminal device or network device, the transceiver module may be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing module may be a processor, processing circuit, or logic circuit.
[0194] Regarding aspects 12, 14, 16, 18, and 20, the second device may be a terminal device or a network device, or a component within a terminal device or network device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of a terminal device, or a logic module or software capable of implementing all or part of the functions of a network device. The transceiver module may be a transceiver or an input / output interface; the processing module may be a processor.
[0195] In one implementation, the second device is a chip, chip system, or circuit configured in a terminal device or network device. When the second device is a chip, chip system, or circuit configured in a terminal device or network device, the transceiver module may be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing module may be a processor, processing circuit, or logic circuit.
[0196] The twenty-first aspect of this application provides a first apparatus comprising a processor and a memory. The memory stores a computer program or computer instructions, and the processor is configured to call and execute the computer program or computer instructions stored in the memory, such that the processor implements any one of the first, third, fifth, seventh, and ninth aspects.
[0197] Optionally, the first device further includes a transceiver, the processor of which controls the transceiver to transmit and receive signals.
[0198] The twenty-second aspect of this application provides a second apparatus comprising a processor and a memory. The memory stores a computer program or computer instructions, and the processor is configured to call and execute the computer program or computer instructions stored in the memory, such that the processor implements any one of the second, fourth, sixth, eighth, and tenth aspects.
[0199] Optionally, the second device further includes a transceiver, the processor of which controls the transceiver to transmit and receive signals.
[0200] The twenty-third aspect of this application provides a first apparatus, including a processor and an interface circuit, the processor being configured to communicate with other apparatus via the interface circuit and to perform the methods described in any one of the first, third, fifth, seventh, and ninth aspects. The processor may include one or more of these methods.
[0201] The twenty-fourth aspect of this application provides a second apparatus, including a processor and an interface circuit, the processor being configured to communicate with other apparatus via the interface circuit and to perform the methods described in any one of the second, fourth, sixth, eighth, and tenth aspects. The processor may include one or more of these methods.
[0202] The twenty-fifth aspect of this application provides a first apparatus, including a processor connected to a memory, for calling a program stored in the memory to execute the method described in any one of the first, third, fifth, seventh, and ninth aspects. The memory may be located within or outside the first apparatus. The processor may include one or more processors.
[0203] The twenty-sixth aspect of this application provides a second apparatus, including a processor connected to a memory, for calling a program stored in the memory to execute the method described in any one of the second, fourth, sixth, eighth, and tenth aspects. The memory may be located within or outside the second apparatus. The processor may include one or more processors.
[0204] In one implementation, the first device shown in the first, third, fifth, seventh, and ninth aspects above can be a chip or a chip system. The second device shown in the second, fourth, sixth, eighth, and tenth aspects above can be a chip or a chip system.
[0205] The 27th aspect of this application provides a computer program product including computer instructions, which, when run on a computer, causes the computer to perform any of the implementations of any one of the first to tenth aspects.
[0206] The 28th aspect of this application provides a computer-readable storage medium including computer instructions that, when executed on a computer, cause the computer to perform any of the implementations of any one of the first to tenth aspects.
[0207] The twenty-ninth aspect of this application provides a chip device including a processor for calling a computer program or computer instructions in memory to cause the processor to execute any one of the implementations of the first to tenth aspects described above.
[0208] Optionally, the processor is coupled to the memory via an interface.
[0209] The thirtieth aspect of this application provides a communication system comprising a first device as shown in the eleventh aspect and a second device as shown in the twelfth aspect; or, the communication system comprising a first device as shown in the thirteenth aspect and a second device as shown in the fourteenth aspect; or, the communication system comprising a first device as shown in the fifteenth aspect and a second device as shown in the sixteenth aspect; or, the communication system comprising a first device as shown in the seventeenth aspect and a second device as shown in the eighteenth aspect; or, the communication system comprising a first device as shown in the nineteenth aspect and a second device as shown in the twentieth aspect.
[0210] As can be seen from the above technical solution, this application provides a model training method. This method is applied to a first device, which executes the method M times, where M is an integer greater than or equal to 1. The method includes: the first device sending a first dataset to a second device, the first dataset including the output data of a first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M. The first device receives a second dataset from the second device, the second dataset including the output data of a second model of the second device. The second model is obtained by training the first dataset in the j-th round, and the function of the first model is the same as or related to the function of the second model. Then, the first device trains the first model based on the second dataset to obtain a trained first model. Thus, the first device sending the first dataset to the second device enables the second device to combine the first dataset provided by the first device to perform the j-th round of training to obtain the second model. The first device receiving the second dataset from the second device, the second dataset including the output data of the second model, and the first device combining the second dataset provided by the second device to perform the (i+1)-th round of training to obtain the trained first model. The first and second devices execute this method M times, transferring datasets between them and combining the datasets for model training. It helps reduce the differences in datasets between models trained on different devices, avoiding excessive complexity in model training. It also helps improve model training performance. Attached Figure Description
[0211] Figure 1 is a schematic diagram of an existing wireless AI framework;
[0212] Figure 2A is a schematic diagram of a communication system according to an embodiment of this application;
[0213] Figure 2B is another schematic diagram of the communication system according to an embodiment of this application;
[0214] Figure 2C is another schematic diagram of the communication system according to an embodiment of this application;
[0215] Figure 2D is another schematic diagram of the communication system according to an embodiment of this application;
[0216] Figure 3 is a schematic diagram of an embodiment of the model training method of this application;
[0217] Figure 4 is a flowchart illustrating a model training method according to an embodiment of this application.
[0218] Figure 5 is a schematic diagram of the sending and receiving models of an embodiment of this application;
[0219] Figure 6 is a schematic diagram of the transmission of datasets between distributed nodes and central nodes in an embodiment of this application;
[0220] Figure 7 is another schematic diagram of the transmission of datasets between distributed nodes and central nodes according to an embodiment of this application;
[0221] Figure 8 is a schematic diagram of another embodiment of the model training method of this application;
[0222] Figure 9 is a schematic diagram of yet another embodiment of the model training method of this application;
[0223] Figure 10 is a schematic diagram of another embodiment of the model training method of this application;
[0224] Figure 11 is a structural schematic diagram of the first device according to an embodiment of this application;
[0225] Figure 12 is a schematic diagram of a structure of the second device according to an embodiment of this application;
[0226] Figure 13 is a schematic diagram of the structure of a device according to an embodiment of this application;
[0227] Figure 14 is a structural schematic diagram of a terminal device according to an embodiment of this application;
[0228] Figure 15 is a schematic diagram of the structure of a network device according to an embodiment of this application. Detailed Implementation
[0229] This application provides a model training method and related apparatus. A first device sends a first dataset to a second device, enabling the second device to perform a j-th round of training using the first dataset provided by the first device to obtain a second model. The first device receives a second dataset from the second device, which includes the output data of the second model. The first device then performs an (i+1)-th round of training using the second dataset provided by the second device to obtain a trained first model. The method is executed M times by both the first and second devices, involving the exchange of datasets and the use of these datasets for model training. This method helps reduce the differences in datasets between models trained by different devices, avoiding excessive complexity in model training. It also improves the performance of model training.
[0230] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0231] References to "one embodiment" or "some embodiments" as described in this application mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0232] In the description of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. "And / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Furthermore, "at least one" means one or more, and "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can represent: a, b, c; a and b; a and c; b and c; or a and b and c. Where a, b, and c can be single or multiple.
[0233] It is understood that in this application, "instruction" can include direct instruction, indirect instruction, explicit instruction, and implicit instruction. When describing a certain instruction information for the purpose of instructing A, it can be understood that the instruction information carries A, directly instructs A, or indirectly instructs A.
[0234] In this application, the information indicated by the instruction information is called the information to be instructed. In specific implementations, there are many ways to instruct the information to be instructed, such as, but not limited to, directly instructing the information to be instructed, such as the information to be instructed itself or its index; indirectly instructing the information to be instructed by instructing other information, where there is a relationship between the other information and the information to be instructed; or instructing only a part of the information to be instructed, while the other parts are known or pre-agreed upon. For example, the instruction of specific information can be achieved by using a pre-agreed (e.g., protocol-defined) arrangement of various pieces of information, thereby reducing instruction overhead to some extent.
[0235] The information to be instructed can be sent as a whole or divided into multiple sub-information messages, and the sending period and / or timing of these sub-information messages can be the same or different. This application does not limit the specific sending method. The sending period and / or timing of these sub-information messages can be predefined, for example, according to a protocol, or configured by the transmitting device by sending configuration information to the receiving device.
[0236] It is understood that "send" and "receive" in this application refer to the direction of signal transmission. For example, "send information to XX" can be understood as the destination of the information being XX, which can include direct transmission via the air interface or indirect transmission via the air interface from other units or modules. "Receive information from YY" can be understood as the source of the information being YY, which can include direct reception from YY via the air interface or indirect reception from YY via the air interface from other units or modules. "Send" can also be understood as the "output" of the chip interface, and "receive" can also be understood as the "input" of the chip interface.
[0237] In other words, sending and receiving can occur between devices, such as between network devices and terminal devices, or within a device, such as between components, modules, chips, software modules, or hardware modules within the device via buses, wiring, or interfaces.
[0238] It is understandable that information may undergo necessary processing, such as encoding and modulation, between the source and destination, but the destination can understand the valid information from the source. Similar statements in this application can be interpreted in a similar way and will not be elaborated further.
[0239] The technical solution of this application can be applied to cellular communication systems related to the 3rd Generation Partnership Project (3GPP). For example, 4th generation (4G) communication systems, 5th generation (5G) communication systems, and future communication systems beyond 5th generation. For instance, 4th generation communication systems may include Long Term Evolution (LTE) communication systems. 5th generation communication systems may include New Radio (NR) communication systems. The technical solution of this application can also be applied to Wireless Fidelity (WiFi) systems, communication systems supporting the convergence of multiple wireless technologies, device-to-device (D2D) systems, or vehicle-to-everything (V2X) communication systems, etc.
[0240] The communication system to which the technical solution of this application applies includes a first device and a second device. The first device and the second device can execute the technical solution of this application. Optionally, the communication system may also include a third device.
[0241] In one possible implementation, the first device is a first terminal device, or a chip, chip system, or processor in the first terminal device; or a logic module or software that implements some or all of the functions of the first terminal device. The second device is an access network device, or a chip, chip system, or processor in the access network device; or a logic module or software that implements some or all of the functions of the access network device. For example, as shown in FIG2A, the first device is terminal device 201, and the second device is access network device 202. Optionally, the third device is a second terminal device, or a chip, chip system, or processor in the second terminal device; or a logic module or software that implements some or all of the functions of the second terminal device. For example, as shown in FIG2A, the first device is terminal device 201, the second device is access network device 202, and the third device is terminal device 204.
[0242] In another possible implementation, the first device is an access network device, or a chip, chip system, or processor within the access network device; or a logic module or software that implements some or all of the functions of the access network device. The second device is a first terminal device, or a chip, chip system, or processor within the first terminal device; or a logic module or software that implements some or all of the functions of the first terminal device. For example, as shown in Figure 2A, the first device is access network device 202, and the second device is terminal device 201. Optionally, the third device is a second terminal device, or a chip, chip system, or processor within the second terminal device; or a logic module or software that implements some or all of the functions of the second terminal device. For example, as shown in Figure 2A, the first device is access network device 202, the second device is terminal device 201, and the third device is terminal device 204.
[0243] In another possible implementation, the first device is a first access network device, or a chip, chip system, or processor within the first access network device; or a logic module or software that implements some or all of the functions of the first access network device. The second device is a core network device, or a chip, chip system, or processor within the core network device; or a logic module or software that implements some or all of the functions of the core network device. For example, as shown in Figure 2A, the first device is access network device 202, and the second device is core network device 203. Optionally, the third device is a second access network device, or a chip, chip system, or processor within the second access network device; or a logic module or software that implements some or all of the functions of the second access network device. For example, the first device is access network device 202, the second device is core network device 203, and the third device is access network device 205.
[0244] In another possible implementation, the first device is a core network device, or a chip, chip system, or processor within the core network device; or a logic module or software that implements some or all of the functions of the core network device. The second device is an access network device, or a chip, chip system, or processor within the access network device; or a logic module or software that implements some or all of the functions of the access network device. For example, as shown in Figure 2A, the first device is core network device 203, and the second device is access network device 202.
[0245] In another possible implementation, the first device is a first terminal device, or a chip, chip system, or processor within the first terminal device; or a logic module or software that implements some or all of the functions of the first terminal device. The second device is a second terminal device, or a chip, chip system, or processor within the second terminal device; or a logic module or software that implements some or all of the functions of the second terminal device. For example, as shown in Figure 2B, the first device is terminal device 1, and the second device is terminal device 2. Optionally, the third device is a third terminal device, or a chip, chip system, or processor within the third terminal device; or a logic module or software that implements some or all of the functions of the third terminal device. For example, as shown in Figure 2B, the first device is terminal device 1, the second device is terminal device 2, and the third device is terminal device 3.
[0246] In another possible implementation, the first device is a first terminal server, or a chip, chip system, or processor within the first terminal server; or a logic module or software that implements some or all of the functions of the first terminal server. The second device is a network server, or a chip, chip system, or processor within the network server; or a logic module or software that implements some or all of the functions of the network server. For example, as shown in Figure 2C, the first device is terminal server 1, and the second device is a network server. Optionally, the third device is a second terminal server, or a chip, chip system, or processor within the second terminal server; or a logic module or software that implements some or all of the functions of the second terminal server. For example, as shown in Figure 2C, the first device is terminal server 1, the second device is a network server, and the third device is terminal server 2.
[0247] In another possible implementation, the first device is a first network server, or a chip, chip system, or processor within the first network server; or a logic module or software that implements some or all of the functions of the first network server. The second device is a terminal server, or a chip, chip system, or processor within the terminal server; or a logic module or software that implements some or all of the functions of the terminal server. For example, as shown in Figure 2D, the first device is network server 1, and the second device is a terminal server. Optionally, the third device is a second network server, or a chip, chip system, or processor within the second network server; or a logic module or software that implements some or all of the functions of the second network server. For example, as shown in Figure 2D, the first device is network server 1, the second device is a terminal server, and the third device is network server 2.
[0248] The first device and the second device may also be other forms of equipment, and this application does not limit them.
[0249] The following describes the terminal equipment, access network equipment, core network equipment, terminal server, and network server involved in this application.
[0250] The terminal device can be a wireless terminal device capable of receiving scheduling and instruction information from access network devices. The wireless terminal device can be a device that provides voice and / or data connectivity to a user, a handheld device with wireless connectivity, or other processing devices connected to a wireless modem.
[0251] Terminal devices can communicate with one or more core networks or the Internet via an access network. Terminal devices can be mobile terminal devices, such as mobile phones (or "cellular" phones), computers, and data cards. For example, they can be portable, pocket-sized, handheld, computer-embedded, or vehicle-mounted mobile devices that exchange voice and / or data with the radio access network. Examples include personal communication service (PCS) phones, cordless phones, session initiation protocol phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), tablets, and computers with wireless transceiver capabilities. Wireless terminal equipment can also be referred to as a system, subscriber unit, subscriber station, mobile station, mobile station (MS), remote station, access point (AP), remote terminal, access terminal, user terminal, user agent, subscriber station (SS), customer premises equipment (CPE), terminal, user equipment (UE), mobile terminal (MT), etc.
[0252] By way of example and not limitation, in this embodiment, the terminal device can also be a wearable device. Wearable devices, also known as wearable smart devices or smart wearable devices, are a general term for devices that utilize wearable technology to intelligently design and develop everyday wearables. Examples include glasses, gloves, watches, clothing, and shoes. Wearable devices are portable devices that are worn directly on the body or integrated into the user's clothing or accessories. Wearable devices are not merely hardware devices, but also achieve powerful functions through software support, data interaction, and cloud interaction. Broadly speaking, wearable smart devices include those that are feature-rich, large in size, and can achieve complete or partial functions without relying on a smartphone, such as smartwatches or smart glasses, as well as those that focus on a specific type of application function and require the use of other devices such as smartphones, such as various smart bracelets, smart helmets, and smart jewelry for vital sign monitoring.
[0253] Terminal devices can also be drones, robots, device-to-device (D2D) communication devices, vehicle-to-everything (V2X) devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless devices in industrial control, wireless devices in self-driving, wireless devices in remote medical care, wireless devices in smart grids, wireless devices in transportation safety, wireless devices in smart cities, or wireless devices in smart homes, etc.
[0254] Furthermore, the terminal device can also be a terminal device in a future communication system evolving from the 5th generation (5G) communication system or a terminal device in a future public land mobile network (PLMN). For example, future communication systems can further expand the form and function of 5G communication terminals, and terminals in future communication systems include, but are not limited to, vehicles, cellular network terminals (integrating satellite terminal functions), drones, or Internet of Things (IoT) devices.
[0255] In this embodiment, the terminal device has artificial intelligence (AI) capabilities. For example, the terminal device can obtain AI services provided by network devices or servers. The terminal device also has AI processing capabilities.
[0256] It should be noted that the terminal device may be a device or apparatus with a chip, or a device or apparatus with integrated circuitry, or a chip, module or control unit in the device or apparatus shown above. This application does not limit the specific device.
[0257] Access network equipment can be devices within a wireless network. For example, access network equipment can be an access network node that connects terminal devices to the wireless network, also known as a base station. Currently, some examples of access network equipment include: base stations (gNodeB, gNB), transmission reception points (TRP), evolved Node B (eNB), radio network controllers (RNC), Node Bs (NB), home base stations (e.g., home evolved Node B, or home Node B, HNB), base band units (BBU), or wireless fidelity (Wi-Fi) access points (APs) in 5G communication systems. Additionally, in a network architecture, access network equipment can include centralized unit (CU) nodes, distributed unit (DU) nodes, CU-control plane (CP), CU-user plane (UP), or radio units (RU), or RAN equipment including CU nodes and DU nodes. CU and DU can be separate entities or included in the same network element, such as a baseband unit (BBU). RU can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRU), active antenna units (AAU), or remote radio heads (RRH). In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an open RAN (ORAN) system, CU can also be called an open CU (O-CU), DU can also be called an open DU (O-DU), CU-CP can also be called an open CU-CP (O-CU-CP), CU-UP can also be called an open CU-UP (O-CU-UP), and RU can also be called an open RU (O-RU). Any of the CU (or CU-CP, CU-UP), DU, and RU units can be implemented through software modules, hardware modules, or a combination of software and hardware modules.
[0258] Access network equipment can be any other device that provides wireless communication functionality to terminal devices. The embodiments of this application do not limit the specific technology or device form used in the access network equipment. For ease of description, the embodiments of this application are not limited.
[0259] Core network equipment includes, for example, the mobility management entity (MME), home subscriber server (HSS), serving gateway (S-GW), policy and charging rules function (PCRF), and public data network gateway (PDN gateway, P-GW) in 4th generation (4G) networks; and access and mobility management function (AMF), user plane function (UPF), or session management function (SMF) in 5G networks. Furthermore, this core network equipment may also include other core network equipment in 5G networks and future 5G networks. Optionally, the core network equipment is used to manage the mobility of terminal devices, etc.
[0260] In this embodiment, both the access network device and the core network device can be network nodes with AI capabilities, providing AI services to terminal devices or other network devices. For example, both the access network device and the core network device can be AI nodes, computing power nodes, access network nodes with AI capabilities, or core network elements with AI capabilities on the network side (access network or core network).
[0261] It should be noted that the access network equipment and the core network equipment can be the equipment or apparatus shown above, or components (e.g., chips), modules, or units in the equipment or apparatus shown above. This application does not limit the specifics.
[0262] Both terminal servers and network servers are devices with AI capabilities, which can train models.
[0263] Currently, multiple terminal devices can train their local models using real-time data to obtain local models. Then, each terminal device sends its local model dataset to the network device. Each terminal device's local model dataset includes both input and output data. The network device then trains the global model using the datasets from the local models reported by the multiple terminal devices. It is clear that the local models of different terminal devices are trained independently using real-time data from each device. This leads to significant differences or conflicts in the datasets of the local models from different terminal devices. For example, similar input data in the datasets reported by different terminal devices may correspond to significantly different output data. This increases the complexity of model training for the network device.
[0264] This application provides a technical solution for a first device to send a first dataset to a second device, enabling the second device to perform a j-th round of training using the first dataset provided by the first device to obtain a second model. The first device receives a second dataset from the second device, which includes the output data of the second model. The first device then performs an (i+1)-th round of training using the second dataset provided by the second device to obtain a trained first model. This method is executed M times between the first and second devices, meaning that the first and second devices exchange datasets and use them for model training. This helps reduce the differences in datasets between models trained on different devices, avoiding excessive complexity in model training. It also helps improve the performance of model training.
[0265] In this application, optionally, the first device, the second device, and the third device can all be distributed nodes in a distributed learning system. Alternatively, the first device and the third device can be distributed nodes in a distributed system, and the second device is the central node in the distributed learning system.
[0266] The technical solution of this application is described below with reference to specific embodiments.
[0267] Figure 3 is a schematic diagram of an embodiment of the model training method of this application. Referring to Figure 3, the method includes:
[0268] 301. The first device sends a first dataset to the second device. Correspondingly, the second device receives the first dataset from the first device.
[0269] The first dataset includes the output data of the first model trained by the first device in the i-th round. i is an integer greater than or equal to 0 and less than or equal to M. For example, as shown in Figure 4, the first device is distributed node 1, and the second device is the central node. Distributed node 1 sends dataset 1 to the central node. That is, the first dataset is dataset 1. It should be noted that this method is applied to both the first and second devices, and each device executes the method M times, where M is an integer greater than or equal to 1. The process shown in Figure 3 is the i-th execution of the method by both devices. For some methods of determining the value of M, please refer to the relevant introduction below.
[0270] Optionally, the first model can be a transmitting model, a receiving model, a channel prediction model, a channel coding model, or a symbol modulation model. Optionally, the transmitting model includes at least one of the following functions: channel state information compression, channel coding, symbol modulation, resource mapping, waveform modulation, and RF processing. The receiving model includes at least one of the following functions: channel state information reconstruction, channel decoding, symbol demodulation, de-resource mapping, waveform demodulation, or RF processing. For example, as shown in Figure 5, the first model is a transmitting model. The input data of the transmitting model is X, and the output data of the transmitting model is Z. As another example, as shown in Figure 5, the first model is a receiving model, the input data of the receiving model is Z, and the output data of the receiving model is Y.
[0271] Optionally, the first dataset may also include the input data of the first model trained by the first device in the i-th round. For example, as shown in Figure 6, the first device is distributed node 1, the first model is a receiving model, and the first dataset is {Z1, Y1}. As another example, as shown in Figure 7, the first device is distributed node 1, the first model is a sending model, and the first dataset is {X1, Z1}.
[0272] It should be noted that if i = 0, it means that the first device does not train the first model, but directly determines the first dataset using the first model. If i is greater than or equal to 1, it means that the first device first trains the first model, and then obtains the first dataset using the trained first model. For example, if the first model is a receiving model, the first device jointly trains the transmitting model of the first device and the receiving performance loss of the receiving model to obtain a trained transmitting model and a trained receiving model. The first dataset includes the output data of the receiving model. Optionally, the first dataset also includes the input data of the receiving model. As another example, if the first model is a transmitting model, the first device will jointly train the transmitting model and the receiving performance loss of the receiving model of the first device to obtain a trained transmitting model and a trained receiving model. The first dataset includes the output data of the transmitting model. Optionally, the first dataset also includes the input data of the transmitting model.
[0273] It should be noted that for each training round of the first model, the input data of the first model in the first dataset provided by the first device to the second device can be the same or different. When the input data of the first model in the first dataset is the same in each training round, the first device can include the input data of the first model in the first dataset provided to the second device initially, and the first dataset provided to the second device thereafter does not need to include the input data of the first model. This reduces signaling overhead.
[0274] Optionally, step 301 above is an example. In practical applications, the first device can select data from the sixth dataset to obtain the first dataset. The sixth dataset is the first dataset of the first model received by the second device from the first device before the first dataset. Alternatively, the sixth dataset is the first dataset of the first model sent by the first device to the second device before the first dataset. The first dataset includes data in the sixth dataset whose data update magnitude is greater than a preset threshold.
[0275] Optionally, in this implementation, the second device sends third configuration information to the first device. The third configuration information instructs the first device to report data whose central data update magnitude in the sixth dataset exceeds a preset threshold. Correspondingly, the first device receives the third configuration information from the second device.
[0276] Optionally, the embodiment shown in FIG3 further includes step 301a. Step 301a may be performed after step 301.
[0277] 301a. The second device sends first configuration information to the first device. Correspondingly, the first device receives the first configuration information from the second device.
[0278] The first configuration information is used to indicate the configuration of the dataset. Alternatively, the first configuration information is used to indicate the configuration of the dataset requested by the second device from the first device. In one possible implementation, the first configuration information includes a configuration identifier for the dataset, or includes the configuration of the dataset. For example, the configuration of the dataset includes at least one of the following: the geographical location, time, or wireless parameters of the data acquisition. For example, the wireless parameters include at least one of the following: transmission parameter information between the first device and the second device, or environmental information of the first device, etc.
[0279] Accordingly, the first device determines a first dataset based on the first configuration information. Specifically, the first device determines a first dataset that is compatible with the configuration indicated by the first configuration information.
[0280] 302. The second device trains the second model of the second device in the j-th round based on the first dataset to obtain the trained second model.
[0281] Where j is an integer greater than or equal to 1. It should be noted that if the first device participates in reporting the dataset in every training round of the second model, then j equals i. If the first device does not participate in reporting the dataset in some training rounds of the second model, then j is greater than i.
[0282] Specifically, the second device trains the second model based on the first dataset through supervised learning to obtain the trained second model.
[0283] The second model is similar to the first model; for details, please refer to the aforementioned introduction of the first model.
[0284] Optionally, the first model can function the same as the second model. For example, both the first and second models can be transmission models, or both can be reception models. As another example, both the first model and the second device can be channel prediction models.
[0285] Optionally, the function of the first model is related to the function of the second model. For example, the first model is a sending model, and the second model is a receiving model; or, the first model is a receiving model, and the second model is a sending model. Another example is that the first model is a feature extraction model, and the second model is a task execution model. The feature extraction model is used to extract features, and the task execution model is used to perform tasks based on the features extracted by the feature extraction model. For example, in an image classification task, the feature extraction model is used to extract features from the image, and the task execution model is used to classify the image based on the features extracted by the feature extraction model.
[0286] Optionally, one possible implementation of step 302 above is described below. Other implementations are still applicable to this application, and this application does not limit the specific implementation. Optionally, step 302 specifically includes step 1 and step 2.
[0287] Step 1: The second device selects data from the first dataset to obtain the second target data subset.
[0288] In one possible implementation, the second device randomly selects a portion of data from the first dataset to obtain the second target data subset. That is, the second target data subset is randomly selected from the first dataset.
[0289] In another possible implementation, the second target data subset includes data from the first dataset whose update magnitude is greater than a preset threshold. For example, the second target data subset includes data from the first dataset whose update magnitude is greater than the preset threshold compared to the data in the sixth dataset. Alternatively, the second target data subset includes data from the first dataset whose update magnitude is greater than or equal to the preset threshold compared to the data in the sixth dataset. Here, the sixth dataset is the first dataset received by the second device from the first model of the first device prior to the first dataset shown in step 301 above. That is, the sixth dataset is the dataset of the first model trained by the first device in the (i-1)th round. Here, i should be greater than or equal to 1.
[0290] Optionally, the preset threshold is determined based on the performance requirements and / or the cost of model training. For example, the preset threshold is the error threshold required for model training.
[0291] Step 2: The second device trains the second model for the jth round based on the second target data subset to obtain the trained second model.
[0292] Optionally, step 302 above specifically includes: the second device training the fourth model of the second device according to the second dataset to obtain the trained fourth model; the second device training the second model according to the trained fourth model to obtain the trained second model.
[0293] In this implementation, the function of the first model is related to the function of the second model. For example, the first model is a transmitting model, and the second model is a receiving model. Alternatively, the first model is a receiving model, and the second model is a transmitting model. Optionally, if the second model is a transmitting model, then the fourth model is a receiving model; or, if the second model is a receiving model, then the fourth model is a transmitting model. This allows the second device to train the second model by training the fourth model, thereby improving the performance of the second model.
[0294] Optionally, the embodiment shown in FIG3 further includes step 302a. Step 302a may be performed before step 302.
[0295] 302a. The third device sends the fifth dataset to the second device. Correspondingly, the second device receives the fifth dataset from the third device.
[0296] The fifth dataset includes the output data of the fifth model of the third device. The function of the fifth model is the same as that of the first model. The fifth model is similar to the first model; for details, please refer to the aforementioned introduction of the first model. For example, as shown in Figure 4, the first device is distributed node 1, the second device is the central node, and the third device is distributed node 2. Distributed node 2 sends dataset 2 to the central node; the fifth dataset is dataset 2. Optionally, the fifth dataset also includes the output data of the fifth model. For example, as shown in Figure 6, the second device is the central node, the third device is distributed node 2, the fifth model is the receiving model, and distributed node 2 sends the fifth dataset to the central node; the fifth dataset is {Z2, Y2}. As another example, as shown in Figure 7, the second device is the central node, the third device is distributed node 2, distributed node 2 sends the fifth dataset to the central node, the fifth model is the sending model, and the fifth dataset is {X2, Z2}.
[0297] For each training round of the fifth model, the input data of the fifth model in the fifth dataset provided by the third device to the second device can be the same or different. When the input data of the fifth model in the fifth dataset is the same in each training round, the third device can include the input data of the fifth model in the first fifth dataset provided to the second device, but may not include the input data of the fifth model in subsequent fifth datasets provided to the second device. This reduces signaling overhead.
[0298] It should be noted that there is no fixed execution order between steps 302a and 301. Step 302a can be executed first, followed by step 301; or step 301 can be executed first, followed by step 302a; or, depending on the circumstances, steps 301 and 302a can be executed simultaneously. This application does not impose any specific restrictions on this.
[0299] Optionally, if the embodiment shown in FIG3 further includes step 301a, there is no fixed execution order between step 302a and steps 301a to 301. Steps 301a to 301 can be executed first, followed by step 302a; or, step 302a can be executed first, followed by steps 301a to 301; or, depending on the circumstances, steps 301a to 301 and step 302a can be executed simultaneously. This application does not limit the specific execution order.
[0300] Optionally, step 304 specifically includes: the first device training the first model for the (i+1)th round based on the second dataset and the fifth dataset to obtain the trained first model. A possible implementation of step 302 is described below. Optionally, step 304 specifically includes steps 1a and 1b.
[0301] Step 1a: The second device performs a mixing process on the first dataset and the fifth dataset to obtain a mixed dataset;
[0302] In one possible implementation, the first dataset and the fifth dataset contain duplicate data. The second device removes the duplicate data from the first dataset and the fifth dataset to obtain a mixed dataset.
[0303] In another possible implementation, conflicting data exists in the first and fifth datasets. The second device merges or selects the conflicting data from the first and fifth datasets to obtain the target data, and then merges it with the non-conflicting data from the first and fifth datasets to obtain a mixed dataset. For example, as shown in Figure 4, the second device is a central node. The central node collects dataset 1 and dataset 2, and performs a mixing process on dataset 1 and dataset 2 to obtain mixed dataset 1.
[0304] Step 1b: The second device trains the second model for the jth round based on the mixed dataset to obtain the trained second model.
[0305] For example, the second model is a receiving model, and the second device trains the receiving model through supervised learning based on a mixed dataset to obtain the trained receiving model.
[0306] For example, the second model is a sending model, which is trained by the second device through supervised learning based on a mixed dataset to obtain the trained sending model.
[0307] Optionally, the embodiment shown in FIG3 further includes step 301b. Step 301b may be performed before step 302a.
[0308] 301b. The second device sends second configuration information to the third device. Correspondingly, the third device receives the second configuration information from the second device.
[0309] The second configuration information is used to indicate the configuration of the dataset. Alternatively, the second configuration information is used to indicate the configuration of the dataset requested by the second device from the third device. The second configuration information is similar to the first configuration information; for details, please refer to the aforementioned description of the first configuration information, which will not be repeated here.
[0310] It should be noted that there is no fixed execution order between steps 301a and 301b. Step 301a can be executed first, followed by step 301b; or step 301b can be executed first, followed by step 301a; or, depending on the circumstances, steps 301a and 301b can be executed simultaneously. This application does not impose any specific restrictions on this.
[0311] 303. The second device sends a second dataset to the first device. Correspondingly, the first device receives the second dataset from the second device.
[0312] The second dataset includes the output data of the trained second model. Optionally, the second dataset includes the input data of the trained second model. For example, as shown in Figure 6, the first device is a distributed node 1, the second device is a central node, and both the first and second models are receiving models. The first dataset is {Z1, Y1}, and the second dataset is {Y1'}. It should be noted that since the input data in the second dataset is the same as the input data in the first dataset, that is, the input data of the second model in the second dataset is also Z1, the second dataset can be {Y1'}. As another example, as shown in Figure 7, the first device is a distributed node 1, the second device is a central node, the first model is a transmitting model, and the second model is a transmitting model. The first dataset is {X1, Z1}, and the second dataset is {Z1'}. It should be noted that since the input data in the second dataset is the same as the input data in the first dataset, that is, the input data of the second dataset is also X1, the second dataset can be {Z1'}.
[0313] If the input data of the second model in the second dataset is the same as the input data of the first model in the first dataset, then the second dataset may not include the input data of the trained second model. If the input data of the second model in the second dataset is different from the input data of the first model in the first dataset, then the second dataset may include the input data of the trained second model.
[0314] The second model is similar to the first model; please refer to the aforementioned introduction of the first model for details. Optionally, the function of the first model is the same as that of the second model, or the function of the first model is related to that of the second model. For example, both the first and second models are transmission models, or both the first and second models are reception models. As another example, both the first and second models are channel prediction models.
[0315] In one possible implementation, the second device can select a device that provides the dataset during each round of training of the second model, and train the second model for that round using the dataset provided by the selected device. This achieves dynamic selection of the device providing the dataset.
[0316] In another possible implementation, the second device can select a device to participate in providing the dataset. The selected device participates in providing the dataset in each round of training of the second model, and the second device trains the second model using the dataset provided by the selected device.
[0317] The following describes one possible implementation of the second device selecting the first device. Optionally, the second device selects the first device based on the capability information of the first device and / or the data update magnitude of the first dataset.
[0318] Optionally, the capability information of the first device includes at least one of the following: the computing power of the first device, or the data quality of the first device. The data update magnitude of the first dataset is determined based on the data difference between the first dataset and the sixth dataset, or the data difference between the first dataset and the fourth dataset. The fourth dataset is the second dataset of the second model sent by the second device to the first device before the second dataset in step 303 above, that is, the second dataset used by the first device to train the first model in the (i-1)th round, where i is greater than 1. The sixth dataset is described in the aforementioned related introduction and will not be repeated here.
[0319] Optionally, the second dataset is obtained by updating the first dataset. Optionally, the second dataset includes data from the first dataset whose update magnitude relative to the data in the fourth dataset is greater than a preset threshold. Alternatively, the second dataset includes data from the first dataset whose update magnitude relative to the data in the fourth dataset is greater than or equal to a preset threshold. Please refer to the aforementioned related introduction regarding the fourth dataset.
[0320] Optionally, steps 302 to 303 above illustrate the technical solution of this application by taking the terminal device training the second model based on the first dataset and then sending the second dataset of the second model to the network device as an example. In practical applications, the second device can select data from the first dataset to obtain the second dataset. Optionally, the second dataset includes data in the first dataset whose update magnitude is greater than a preset threshold relative to the data in the fourth dataset. Alternatively, the second dataset includes data in the first dataset whose update magnitude is greater than or equal to a preset threshold relative to the data in the fourth dataset.
[0321] 304. The first device trains the first model for the (i+1)th round based on the second dataset to obtain the trained first model.
[0322] For example, the first model is a receiving model, and the first device trains the receiving model through supervised learning based on the second dataset to obtain the trained receiving model.
[0323] For example, the first model is a sending model, and the first device trains the sending model through supervised learning based on the second dataset to obtain the trained sending model.
[0324] The following describes one possible implementation of step 304. Optionally, step 304 specifically includes steps a and b.
[0325] Step a: The first device selects data from the second dataset to obtain a first target data subset;
[0326] In one possible implementation, the first device randomly selects a portion of data from the second dataset to obtain a first target data subset.
[0327] In another possible implementation, the first target data subset includes data from the second dataset whose update magnitude exceeds a preset threshold. For example, the first target data subset includes data from the second dataset whose update magnitude exceeds a preset threshold compared to data from the fourth dataset. Please refer to the aforementioned introduction regarding the fourth dataset.
[0328] Step b: The first device performs the (i+1)th round of training on the first model based on the first target data subset to obtain the trained first model.
[0329] Optionally, step 304 above specifically includes: the first device training the third model of the first device according to the first dataset to obtain the trained third model; the first device training the first model according to the trained third model to obtain the trained first model.
[0330] In this implementation, the function of the first model is related to the function of the second model. For example, the first model is a transmitting model, and the second model is a receiving model. Alternatively, the first model is a receiving model, and the second model is a transmitting model. Optionally, if the first model is a transmitting model, then the third model is a receiving model. Or, if the first model is a receiving model, then the third model is a transmitting model. This allows the first device to train the first model by training the third model, thereby improving the performance of the first model.
[0331] For example, the first model trained is a receiving model, and the third model is a transmitting model. The first device trains the transmitting model based on the receiving model. For example, the receiving model is fixed, and the first device trains the transmitting model. Alternatively, the first device jointly trains the transmitting model and the receiving model.
[0332] For example, the first model trained is a transmitting model, and the third model is a receiving model. The first device trains the receiving model based on the transmitting model. For example, the transmitting model is fixed, and the first device trains the receiving model. Alternatively, the first device jointly trains the transmitting model and the receiving model.
[0333] It should be noted that the above method is applied to both the first and second devices, and each device executes the method M times, where M is an integer greater than or equal to 1. For example, M = 10, 100, or 1000. Some possible ways to determine M are described below. Other methods of determination are still applicable to this application, and this application does not limit the specific determination.
[0334] 1. M is pre-configured. For example, M can be pre-configured by the second device for the first device.
[0335] Second, M is determined based on the convergence conditions of the first model.
[0336] The convergence condition includes that the performance loss of the first model is less than or equal to a first threshold.
[0337] For example, the first model is a channel state information compression and reconstruction task model. Optionally, the performance loss is cosine similarity, with a first threshold of 0.2.
[0338] For example, the first model is a symbol modulation and demodulation task. Optionally, the performance loss is the bit error rate or symbol error rate, with a first threshold of 10. -3 Optionally, the performance loss is cross-entropy, with the first threshold being 0.01.
[0339] Third, M is determined based on the data differences between the first dataset and the third dataset or the data differences between the first dataset and the second dataset. The third dataset includes the output data of the first model trained in the (i-1)th round, which is sent from the first device to the second device. Here, i should be an integer greater than or equal to 1.
[0340] For example, when the data difference between the first dataset and the third dataset, or the data difference between the first dataset and the second dataset, is less than a second threshold, the first device stops reporting the first dataset of the first model trained in the (i+1)th round to the second device. For example, the data difference between the first dataset and the second dataset is represented by the feature similarity of the datasets, and the second threshold can be 0.2.
[0341] It should be noted that the embodiment shown in Figure 3 above illustrates the technical solution of this application by describing the first device and the second device executing the method once. In practical applications, the first device and the second device can execute the method multiple times to achieve joint learning between distributed nodes. Alternatively, the embodiment shown in Figure 3 above illustrates the example of the first device and the second device transmitting a dataset, and the first device performing the (i+1)th round of training on the first model based on the received second dataset. In practical applications, the process for other rounds of training of the first model is similar, with the first device performing M rounds of training on the first model.
[0342] The embodiment shown in Figure 8 above provides a model training method. This method is applied to a first device, which executes the method M times, where M is an integer greater than or equal to 1. The method includes: the first device sending a first dataset to a second device. The first dataset includes the output data of a first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M. The first device receives a second dataset from the second device. The second dataset includes the output data of a second model of the second device. The second model is obtained by training the first dataset in the j-th round. The function of the first model is the same as that of the second model, or the function of the first model is related to that of the second model. Then, the first device trains the first model based on the second dataset to obtain a trained first model. Thus, the first device sending the first dataset to the second device enables the second device to combine the first dataset provided by the first device to perform the j-th round of training to obtain the second model. The first device receiving the second dataset from the second device, which includes the output data of the second model, performs the (i+1)-th round of training to obtain the trained first model. The first device and the second device execute this method M times, that is, the first device and the second device exchange datasets and combine them for model training. It helps reduce the differences in datasets between models trained on different devices, avoiding excessive complexity in model training. It also helps improve model training performance.
[0343] Figure 8 is a schematic diagram of another embodiment of the model training method of this application. Referring to Figure 8, the method includes:
[0344] 801. The first device sends a first dataset to the second device. Correspondingly, the second device receives the first dataset from the first device.
[0345] Step 801 is similar to step 301 in the embodiment shown in Figure 3 above. For details, please refer to the relevant description of step 301 in the embodiment shown in Figure 3 above, which will not be repeated here.
[0346] Optionally, the embodiment shown in FIG8 further includes step 801a. Step 801a may be performed before step 801.
[0347] 801a. The second device sends first configuration information to the first device. Correspondingly, the first device receives the first configuration information from the second device.
[0348] Step 801a is similar to step 301a in the embodiment shown in Figure 3 above. For details, please refer to the relevant description of step 301a in the embodiment shown in Figure 3 above, which will not be repeated here.
[0349] 802. The second device performs a mixed processing on the first dataset and the second dataset to obtain a mixed dataset.
[0350] The second dataset includes the output data of the second model trained by the third device in round a. Here, a is an integer greater than or equal to 0. Optionally, the second dataset also includes the input data of the second model trained by the third device in round a. The second dataset is similar to the first dataset; for details, please refer to the aforementioned introduction to the first dataset, which will not be repeated here.
[0351] Optionally, the first model can be a transmission model, a reception model, a channel prediction model, a channel coding model, or a symbol modulation model, etc. The second model can be a transmission model, a reception model, a channel prediction model, a channel coding model, or a symbol modulation model, etc.
[0352] Optionally, the transmitting model includes at least one of the following functions: channel coding, symbol modulation, resource mapping, waveform modulation, and radio frequency (RF) processing. The receiving model includes at least one of the following functions: channel decoding, symbol demodulation, de-resource mapping, waveform demodulation, or RF processing.
[0353] The first model has the same function as the second model. For example, both the first and second models can be transmission models, or both can be reception models. As another example, both the first and second models can be channel prediction models.
[0354] In one possible implementation, the second device removes duplicate data from the first and second datasets to obtain a mixed dataset.
[0355] In another possible implementation, the second device merges conflicting data from the first and second datasets to obtain fused data, and then combines the fused data with non-conflicting data from the first and second datasets to obtain a mixed dataset.
[0356] In another possible implementation, conflicting data exists in the first and second datasets. The second device selects the conflicting data from one of the datasets and merges it with the non-conflicting data from the first and second datasets to obtain a mixed dataset.
[0357] Optionally, the embodiment shown in FIG8 further includes step 802a. Step 802a may be performed before step 802.
[0358] 802a. The third device sends the second dataset to the second device. Correspondingly, the second device receives the second dataset from the third device.
[0359] It should be noted that there is no fixed execution order between step 802a and step 801. Step 801 can be executed first, followed by step 802a; or step 802a can be executed first, followed by step 801; or, depending on the situation, steps 801 and 802a can be executed simultaneously. This application does not impose any specific restrictions on this.
[0360] Optionally, the embodiment shown in FIG8 further includes step 801b. Step 801b may be performed before step 802a.
[0361] 801b. The second device sends second configuration information to the third device. Correspondingly, the third device receives the second configuration information from the second device.
[0362] Step 801b is similar to step 301b in the embodiment shown in Figure 3 above. For details, please refer to the relevant description of step 301b in the embodiment shown in Figure 3 above, which will not be repeated here.
[0363] 803. The second device sends the mixed dataset to the first device. Correspondingly, the first device receives the mixed dataset from the second device.
[0364] 804. The first device trains the first model for the (i+1)th round based on the mixed dataset to obtain the trained first model.
[0365] Step 804 is similar to step 304 in the embodiment shown in Figure 3 above. For details, please refer to the relevant description of step 304 in the embodiment shown in Figure 3 above, which will not be repeated here.
[0366] The following describes one possible implementation of step 804 above. Other implementations are still applicable to this application, and this application does not limit the specific implementation. Optionally, step 804 above specifically includes steps a and b.
[0367] Step a: The first device selects data from the mixed dataset to obtain the target data subset.
[0368] In one possible implementation, the first device randomly selects a subset of data from the mixed dataset to obtain the target data subset.
[0369] In another possible implementation, the target data subset includes data in the mixed dataset whose update magnitude is greater than a preset threshold. For example, the target data subset includes data in the mixed dataset whose update magnitude is greater than a preset threshold compared to the data in the fourth dataset. The fourth dataset is the mixed dataset received by the first device from the second device before the mixed dataset shown in step 803 above. That is, it is the mixed dataset used by the first device to train the first model in the (i-1)th round, where i should be an integer greater than or equal to 1.
[0370] Step b: The first device performs the (i+1)th round of training on the first model based on the target data subset to obtain the trained first model.
[0371] Optionally, the embodiment shown in FIG8 further includes step 805. Step 805 may be performed after step 804.
[0372] 805. The first device trains the third model of the first device based on the trained first model to obtain the trained third model.
[0373] Step 805 is similar to step 305 in the embodiment shown in Figure 3 above. For details, please refer to the relevant description of step 305 in the embodiment shown in Figure 3 above, which will not be repeated here.
[0374] Optionally, the embodiment shown in FIG8 further includes steps 806 to 807.
[0375] 806. The second device sends the mixed dataset to the third device. Correspondingly, the third device receives the mixed dataset from the second device.
[0376] 807. The third device trains the second model based on the mixed dataset to obtain the trained second model.
[0377] Steps 806 and 807 are similar to steps 803 and 804 mentioned above. For details, please refer to the relevant descriptions of steps 803 and 804 mentioned above. They will not be repeated here.
[0378] There is no fixed execution order between steps 806 and 807 and the aforementioned steps 803 and 805. Steps 803 and 805 may be executed first, followed by steps 806 and 807; or steps 806 and 807 may be executed first, followed by steps 803 and 805; or, depending on the circumstances, steps 803 and 805 and steps 806 and 807 may be executed simultaneously. This application does not impose any specific restrictions on this.
[0379] Optionally, the embodiment shown in FIG8 further includes step 808. Step 808 may be performed after step 807.
[0380] 808. The third device trains the fourth model of the third device based on the trained second model, and obtains the trained fourth model.
[0381] Step 808 is similar to step 805 above. For details, please refer to the relevant introduction of step 805 above. It will not be repeated here.
[0382] It should be noted that the above method is applied to both the first and second devices, and each device executes the method M times, where M is an integer greater than or equal to 1. Some possible ways to determine M are described below. Other methods of determination are still applicable to this application, and this application does not impose any specific limitations.
[0383] 1. M is pre-configured. For example, M can be pre-configured by the second device for the first device.
[0384] Second, M is determined based on the convergence conditions of the first model.
[0385] The convergence condition includes the receiving performance loss of the first model being less than or equal to a first threshold. Examples of the first model and the first threshold can be found in the foregoing descriptions.
[0386] Third, M is determined based on the data differences between the first dataset and the third dataset or the data differences between the first dataset and the mixed dataset, wherein the third dataset includes the output data of the first model trained in the (i-1)th round, sent by the first device to the second device.
[0387] For example, when the data difference between the first dataset and the third dataset or the data difference between the first dataset and the mixed dataset is less than the second threshold, the first device stops reporting the first dataset of the first model trained in the (i+1)th round to the second device.
[0388] It should be noted that the embodiment shown in Figure 8 above illustrates the technical solution of this application by describing the first device executing the method once. In practical applications, the first device and the second device can execute the method multiple times to achieve joint learning between distributed nodes. Alternatively, the embodiment shown in Figure 8 above illustrates the example of the first device and the second device transferring a dataset, and the first device performing the (i+1)th round of training on the first model based on the received mixed dataset. In practical applications, the process for other rounds of training the first model is similar, with the first device performing M rounds of training on the first model.
[0389] The method provided in the embodiment shown in Figure 8 above is applied to a first device, which executes the method M times, where M is an integer greater than or equal to 1. The method includes: the first device sending a first dataset to a second device, the first dataset including the output data of a first model trained by the first device in the i-th round. i is an integer greater than or equal to 0 and less than or equal to M. The first device receives a mixed dataset from the second device, the mixed dataset being obtained by mixing the first and second datasets. The second dataset includes the output data of a second model trained by a third device in the a-th round, the function of the second model being the same as or related to the function of the first model, where a is an integer greater than or equal to 0. The first device trains the first model in the (i+1)-th round based on the mixed dataset to obtain the trained first model. Thus, the first device sending the first dataset to the second device enables the second device to combine the first dataset to obtain a mixed dataset. The first device receiving the mixed dataset from the second device and training the first model in the (i+1)-th round based on the mixed dataset. The first device and the second device execute the method M times, that is, the first device and the second device transfer datasets and combine the datasets for model training. This helps reduce the differences in datasets between models trained by different devices and avoids excessive complexity in model training. It helps improve the performance of model training.
[0390] Figure 9 is a schematic diagram of another embodiment of the model training method of this application. Referring to Figure 9, the method includes:
[0391] 901. The first device sends a first dataset to the second device. Correspondingly, the second device receives the first dataset from the first device.
[0392] Step 901 is similar to step 301 in the embodiment shown in Figure 3 above. For details, please refer to the relevant description of step 301 in the embodiment shown in Figure 3 above, which will not be repeated here.
[0393] Optionally, the embodiment shown in FIG9 further includes step 901a. Step 901a may be performed before step 901.
[0394] 901a. The second device sends first configuration information to the first device. Correspondingly, the first device receives the first configuration information from the second device.
[0395] Step 901a is similar to step 301a in the embodiment shown in Figure 3 above. For details, please refer to the relevant description of step 301a in the embodiment shown in Figure 3 above, which will not be repeated here.
[0396] 902. The second device trains the second model of the second device based on the first dataset to obtain the trained second model.
[0397] Step 902 is similar to step 302 in the embodiment shown in Figure 3 above. For details, please refer to the relevant description of step 302 in the embodiment shown in Figure 3 above, which will not be repeated here.
[0398] Optionally, step 902 above specifically includes: the second device training the fifth model of the second device according to the first dataset to obtain the trained fifth model; the second device training the second model according to the trained fifth model to obtain the trained second model.
[0399] In this implementation, the function of the first model is related to the function of the second model. For example, the first model is a transmitting model, and the second model is a receiving model. Alternatively, the first model is a receiving model, and the second model is a transmitting model. Optionally, if the second model is a transmitting model, then the fifth model is a receiving model. Or, if the second model is a receiving model, then the fifth model is a transmitting model. This allows the second device to train the second model by training the fifth model, thereby improving the performance of the second model.
[0400] Optionally, the embodiment shown in FIG9 further includes step 902a. Step 902a may be performed before step 902.
[0401] 902a. The third device sends the second dataset to the second device. Correspondingly, the second device receives the second dataset from the third device.
[0402] The second dataset is similar to the fifth dataset in step 302a of the embodiment shown in Figure 3 above. For details, please refer to the relevant introduction of the fifth dataset in step 302a of the embodiment shown in Figure 3 above, which will not be repeated here.
[0403] It should be noted that there is no fixed execution order between steps 902a and 901. Step 902a can be executed first, followed by step 901; or step 901 can be executed first, followed by step 902a; or, depending on the circumstances, steps 901 and 902a can be executed simultaneously. This application does not impose any specific restrictions on this.
[0404] Optionally, based on step 902a above, step 902 specifically includes: the second device training the second model of the second device according to the first dataset and the second dataset to obtain the trained second model.
[0405] Specifically, the second device performs a mixing process on the first and second datasets to obtain a mixed dataset. Then, the second device trains the second model based on the mixed dataset to obtain a trained second model. This implementation is similar to step 802 in the embodiment shown in Figure 8 above, and for details, please refer to the relevant description of step 802 in the embodiment shown in Figure 8 above.
[0406] Optionally, the embodiment shown in FIG9 further includes step 901b. Step 901b may be performed before step 902a.
[0407] 901b. The second device sends second configuration information to the third device. Correspondingly, the third device receives the second configuration information from the first device.
[0408] Step 901b is similar to step 301b in the embodiment shown in Figure 3 above. For details, please refer to the relevant description of step 301b in the embodiment shown in Figure 3 above, which will not be repeated here.
[0409] 903. The second device sends the trained second model to the first device. Correspondingly, the first device receives the trained second model from the second device.
[0410] 904. The first device trains the first model for the (i+1)th round based on the second model to obtain the trained first model.
[0411] For example, the first device trains the first model using the second model as a reference model. For example, the first device trains the first model using the second model as a teacher model based on knowledge distillation, or using the output data of the second model as label data.
[0412] Step 904 above is one possible implementation. In practical applications, the first device can also train the second model using local data to obtain the trained second model.
[0413] Optionally, step 904 above specifically includes: the first device training its third model based on the second model to obtain a trained third model; and the first device performing the (i+1)th round of training on the first model based on the trained third model to obtain a trained first model.
[0414] In this implementation, the function of the first model is related to the function of the second model. For example, the first model is a transmitting model, and the second model is a receiving model. Alternatively, the first model is a receiving model, and the second model is a transmitting model. Optionally, if the second model is a transmitting model, then the third model is a receiving model. Or, if the second model is a receiving model, then the third model is a transmitting model. This allows the first device to train the first model by training the third model, thereby improving the performance of the first model.
[0415] Optionally, the embodiment shown in FIG9 further includes steps 905 to 906.
[0416] 905. The second device sends the trained second model to the third device. Correspondingly, the third device receives the trained second model from the second device.
[0417] 906. The third device trains the fourth model based on the second model to obtain the trained fourth model.
[0418] Steps 905 and 906 are similar to steps 903 and 904 mentioned above. For details, please refer to the relevant descriptions of steps 903 and 904 mentioned above. They will not be repeated here.
[0419] It should be noted that there is no fixed execution order between steps 905 and 906 and the aforementioned steps 903 and 904. Steps 905 and 906 can be executed first, followed by steps 903 and 904; or steps 903 and 904 can be executed first, followed by steps 905 and 906; or, depending on the circumstances, steps 903 and 904 and steps 905 and 906 can be executed simultaneously. This application does not impose any specific restrictions on this.
[0420] It should be noted that the above method is applied to both the first and second devices, and each device executes the method M times, where M is an integer greater than or equal to 1. Some possible ways to determine M are described below. Other methods of determination are still applicable to this application, and this application does not impose any specific limitations.
[0421] 1. M is pre-configured. For example, M can be pre-configured by the second device for the first device.
[0422] Second, M is determined based on the convergence conditions of the first model.
[0423] The convergence condition includes the receiving performance loss of the first model being less than or equal to a first threshold. Examples of the first model and the first threshold can be found in the foregoing descriptions.
[0424] Third, M is determined based on the data difference between the first dataset and the third dataset, where the third dataset includes the output data of the first model trained in the (i-1)th round, sent by the first device to the second device. For example, when the data difference between the first dataset and the third dataset is less than a second threshold, the first device stops reporting the first dataset of the first model trained in the (i+1)th round to the second device.
[0425] It should be noted that the embodiment shown in Figure 9 above illustrates the technical solution of this application by describing the first device executing the method once. In practical applications, the first device and the second device can execute the method multiple times to achieve joint learning between distributed nodes. Alternatively, the embodiment shown in Figure 9 above illustrates the following: the first device transmits a first dataset to the second device, and the second device trains a model based on the first dataset to obtain a second model and sends the second model to the first device; the first device then trains the first model for the (i+1)th round based on the second model. In practical applications, the process for other rounds of training the first model is similar; the first device performs M rounds of training on the first model.
[0426] The embodiment shown in Figure 9 above provides a model training method. This method is applied to a first device, which executes the method M times, where M is an integer greater than or equal to 1. The method includes: the first device sending a first dataset to a second device. The first dataset includes the output data of a first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M; the first device receiving a second model from the second device, which is trained based on the first dataset, and the functions of the first and second models are the same or related; and the first device training the first model in the (i+1)-th round based on the second model to obtain the trained first model. Thus, the first device sends the first dataset to the second device. This enables the second device to train the second model based on the first dataset and then send the second model to the first device. The first device then trains the first model in the (i+1)-th round based on the second model. The first and second devices execute the method M times. This helps reduce the difference in datasets between models trained by different devices, avoiding excessive complexity in model training. It also helps improve the performance of model training.
[0427] Figure 10 is a schematic diagram of another embodiment of the model training method of this application. Referring to Figure 10, the method includes:
[0428] 1001. The first device sends the first model to the second device. Correspondingly, the second device receives the first model from the first device.
[0429] Here, the first model is the model obtained by the first device in the i-th round of training. i is an integer greater than or equal to 0 and less than or equal to M.
[0430] It should be noted that this method is applied to both the first and second devices, and each device executes the method M times, where M is an integer greater than or equal to 1. Figure 10 shows the process of the first and second devices executing the method for the i-th time. For details on how to determine the value of M, please refer to the relevant descriptions below.
[0431] It should be noted that if i = 0, it means that the first device did not train the first model, but directly transmitted the first model to the second device. If i is greater than or equal to 1, it means that the first device first trained the first model, and then sent the trained first model to the second device.
[0432] The first model is similar to the first model in step 301 of the embodiment shown in Figure 3 above. For details, please refer to the relevant introduction of the first model in step 301 of the embodiment shown in Figure 3 above, which will not be repeated here.
[0433] 1002. The second device integrates the first model to obtain the second model.
[0434] Optionally, the embodiment shown in FIG10 further includes step 1002a. Step 1002a may be performed before step 1002.
[0435] 1002a. The third device sends the fourth model to the second device. Correspondingly, the second device receives the fourth model from the third device.
[0436] The fourth model is the model obtained by the third device in the a-th round of training. a is an integer greater than or equal to 0.
[0437] It should be noted that if a equals 0, it means that the third device did not train the fourth model, but directly transmitted the fourth model to the second device. If a is greater than or equal to 1, it means that the first device first trained the fourth model, and then sent the trained fourth model to the second device.
[0438] Optionally, based on step 1002a above, step 1002 specifically includes: the second device fuses the first model and the fourth model to obtain the second model.
[0439] 1003. The second device sends the first dataset to the first device. Correspondingly, the first device receives the first dataset from the second device.
[0440] The first dataset includes the output data of the second model. Optionally, the first dataset includes the input data of the second model. The first dataset is similar to the second dataset in step 303 of the embodiment shown in Figure 3 above. For details, please refer to the relevant description of the second dataset in step 303 of the embodiment shown in Figure 3 above, which will not be repeated here.
[0441] It should be noted that for each round of training of the first model, if the input data of the second model provided by the second device to the first device is the same, the second device may include the input data of the second model in the first dataset provided to the first device in the first time, but may not include the input data of the second model in the first dataset provided to the first device in subsequent rounds.
[0442] 1004. The first device trains the first model for the (i+1)th round based on the first dataset to obtain the trained first model.
[0443] Step 1004 is similar to step 304 in the embodiment shown in Figure 3 above. For details, please refer to the relevant description of step 304 in the embodiment shown in Figure 3 above, which will not be repeated here.
[0444] Optionally, the embodiment shown in FIG10 further includes step 1005, which may be performed after step 1004.
[0445] 1005. The first device trains the third model of the first device based on the trained first model, and obtains the trained third model.
[0446] Step 1005 is similar to step 305 in the embodiment shown in Figure 3 above. For details, please refer to the relevant description of step 305 in the embodiment shown in Figure 3 above, which will not be repeated here.
[0447] Optionally, the embodiment shown in FIG10 further includes steps 1006 to 1007.
[0448] 1006. The second device sends the first dataset to the third device. Correspondingly, the third device receives the first dataset from the second device.
[0449] 1007. The third device trains the fourth model based on the first dataset to obtain the trained fourth model.
[0450] Steps 1006 and 1007 are similar to steps 1003 and 1004 above. For details, please refer to the relevant introduction of steps 1003 and 1004 above. They will not be repeated here.
[0451] There is no fixed execution order between steps 1006 and 1007 and the aforementioned steps 1003 and 1004. Steps 1006 and 1007 can be executed first, followed by steps 1003 and 1004; or steps 1003 and 1004 can be executed first, followed by steps 1006 and 1007; or, depending on the circumstances, steps 1003 and 1004 and steps 1006 and 1007 can be executed simultaneously. This application does not impose any specific restrictions on this.
[0452] Optionally, the embodiment shown in FIG10 further includes step 1008. Step 1008 may be performed after step 1007.
[0453] 1008. The third device trains the fifth model of the third device based on the trained fourth model, and obtains the trained fifth model.
[0454] Step 1008 is similar to the aforementioned step 1005. For details, please refer to the relevant introduction of the aforementioned step 1005. It will not be repeated here.
[0455] It should be noted that the above method is applied to both the first and second devices, and each device executes the method M times, where M is an integer greater than or equal to 1. Some possible ways to determine M are described below. Other methods of determination are still applicable to this application, and this application does not impose any specific limitations.
[0456] 1. M is pre-configured. For example, M can be configured by the second device for the first device.
[0457] Second, M is determined based on the convergence conditions of the first model.
[0458] For example, the first model is a receiving model, and the convergence condition includes that the receiving performance loss of the first model is less than or equal to a first threshold.
[0459] It should be noted that the embodiment shown in Figure 10 above illustrates the technical solution of this application by taking the first device and the second device performing the method once as an example. In practical applications, the first device and the second device can perform the method multiple times, thereby realizing joint learning between distributed nodes. Alternatively, in the embodiment shown in Figure 10 above, the first device performs the (i+1)th round of training on the first model as an example. In practical applications, the process for other rounds of training on the first model is similar, with the first device performing M rounds of training on the first model.
[0460] The embodiment shown in Figure 10 above is applied to a first device, which executes the method M times, where M is an integer greater than or equal to 1. The method includes: the first device sending a first model trained in the i-th round to a second device, where i is an integer greater than or equal to 0 and less than or equal to M; the first device receiving a first dataset from the second device, the first dataset including the output data of a second model from the second device, the second model being obtained by fusing the first model; and the first device training the first model in the (i+1)-th round based on the first dataset to obtain the trained first model. Thus, the first device sending the first model to the second device enables the second device to fuse the first model to obtain the second model and send the first dataset of the second model to the first device. The first device then trains the first model in the (i+1)-th round based on the first dataset. The first and second devices execute this method M times. This helps reduce the difference in datasets between models trained by different devices, avoiding excessive complexity in model training. It also helps improve the performance of model training.
[0461] This application also provides another embodiment, which is similar to the embodiment shown in FIG10, except that:
[0462] Step 1003 above is replaced by: the second device sending the second model to the first device, and correspondingly, the first device receiving the second model from the second device. Step 1006 above is replaced by: the second device sending the second model to the third device, and correspondingly, the third device receiving the second model from the second device.
[0463] In one possible implementation, step 1004 is replaced by: the first device training the second model using local data to obtain a trained second model. Step 1005 is replaced by: the first device training its third model using the trained second model to obtain a trained third model. Step 1007 is replaced by: the third device training a fourth model using local data to obtain a trained fourth model. Step 1008 is replaced by: the third device training its fifth model using the trained fourth model to obtain a trained fifth model.
[0464] In another possible implementation, step 1004 is replaced by: the first device training the first model for the (i+1)th round based on the second model to obtain the trained first model. Step 1005 is replaced by: the first device training the third model of the first device based on the trained first model to obtain the trained third model. Step 1007 is replaced by: the first device training the fourth model based on the second model to obtain the trained fourth model. Step 1008 is replaced by: the first device training the fifth model of the third device based on the trained fourth model to obtain the trained fifth model.
[0465] The first apparatus provided in the embodiments of this application is described below. Please refer to FIG11, which is a structural schematic diagram of the first apparatus in the embodiments of this application. The first apparatus 1100 can be used to perform the steps performed by the first apparatus in the embodiments shown in FIG3, FIG8, FIG9 and FIG10. For details, please refer to the relevant description of the above method embodiments. The first apparatus 1100 includes a transceiver module 1101 and a processing module 1102.
[0466] The processing module 1102 is used for data processing. The transceiver module 1101 can implement the corresponding communication functions. The transceiver module 1101 can also be called a communication interface or a communication module.
[0467] Optionally, the first device 1100 may further include a storage module, which can be used to store program code, program instructions and / or data. The processing module 1102 can read the instructions and / or data in the storage module so that the first device 1100 can implement the aforementioned method embodiments.
[0468] The first device 1100 can be used to perform the actions performed by the first device in the above method embodiments. The first device 1100 can be a terminal device, a network device, or a component configurable on a terminal device or a network device. The processing module 1102 is used to perform processing-related operations on the first device side in the above method embodiments. The transceiver module 1101 is used to perform receiving-related operations on the first device side in the above method embodiments.
[0469] Optionally, the transceiver module 1101 may include a sending module and a receiving module. The sending module is used to perform the sending operation in the above method embodiments. The receiving module is used to perform the receiving operation in the above method embodiments.
[0470] It should be noted that the first device 1100 may include a transmitting module but not a receiving module. Alternatively, the first device 1100 may include a receiving module but not a transmitting module. Specifically, it depends on whether the above-described scheme executed by the first device 1100 includes both transmitting and receiving actions. For example, the first device 1100 is used to execute the actions performed by the first device in the embodiments shown in Figures 3, 8, 9, and 10. For details, please refer to the relevant descriptions in the embodiments shown in Figures 3, 8, 9, and 10; these will not be elaborated upon here.
[0471] For example, the first device 1100 is used to perform the following scheme:
[0472] The transceiver module 1101 is used to send a first dataset to the second device, the first dataset including the output data of the first model trained by the first device 1100 in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M; and to receive a second dataset from the second device, the second dataset including the output data of the second model of the second device, the second model being obtained by training the first dataset in the j-th round, the function of the first model being the same as the function of the second model, or the function of the first model being related to the function of the second model, where j is an integer greater than or equal to 1;
[0473] Processing module 1102 is used to train the first model for the (i+1)th round based on the second dataset to obtain the trained first model.
[0474] For other implementation methods, please refer to the relevant descriptions in the embodiments shown in Figure 3 above.
[0475] For example, the first device 1100 is used to execute the following scheme:
[0476] The transceiver module 1101 is used to send a first dataset to the second device, the first dataset including the output data of the first model trained by the first device 1100 in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M; and to receive a mixed dataset from the second device, the mixed dataset being obtained by mixing the first dataset and the second dataset, the second dataset including the output data of the second model trained by the third device in the a-th round, the function of the second model being the same as or related to the function of the first model, where a is an integer greater than or equal to 0;
[0477] Processing module 1102 is used to train the first model for the (i+1)th round based on the mixed dataset to obtain the trained first model.
[0478] For other implementation methods, please refer to the relevant descriptions in the embodiments shown in Figure 8 above.
[0479] For example, the first device 1100 is used to execute the following scheme:
[0480] The transceiver module 1101 is used to send a first dataset to the second device, the first dataset including the output data of the first model trained by the first device 1100 in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M; and to receive a second model from the second device, the second model being trained based on the first dataset, the function of the first model being the same as or related to the function of the second model.
[0481] The processing module 1102 is used to train the first model in the (i+1)th round based on the second model to obtain the trained first model.
[0482] For other implementation methods, please refer to the relevant descriptions in the embodiments shown in Figure 9 above.
[0483] For example, the first device 1100 is used to execute the following scheme:
[0484] The transceiver module 1101 is used to send the first model obtained in the i-th round of training to the second device, where i is an integer greater than or equal to 0 and less than or equal to M; and to receive the first dataset from the second device, which includes the output data of the second model of the second device, and the second model is obtained by fusing the first model.
[0485] The processing module is used to train the first model for the (i+1)th round based on the first dataset to obtain the trained first model.
[0486] For other implementation methods, please refer to the relevant descriptions in the embodiments shown in Figure 10 above.
[0487] For example, the first device 1100 is used to execute the following scheme:
[0488] The transceiver module 1101 is used to send a first model to the second device, the first model being the model obtained by the first device in the i-th round of training, where i is an integer greater than or equal to 0 and less than or equal to M; and to receive a second model from the second device, the second model being obtained by fusing the first model.
[0489] The processing module 1102 is used to train the second model based on the local data of the first device to obtain the trained second model.
[0490] It should be understood that the specific procedures for each module to perform the above-mentioned corresponding processes have been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.
[0491] The processing module 1102 in the above embodiments can be implemented by at least one processor or processor-related circuitry. The transceiver module 1101 can be implemented by a transceiver or transceiver-related circuitry. The transceiver module 1101 can also be referred to as a communication module or communication interface. The storage module can be implemented by at least one memory.
[0492] The following is a schematic diagram of the structure of a second device according to an embodiment of this application. Referring to FIG12, the second device can be used to execute the process performed by the second device in the embodiments shown in FIG3, FIG8, FIG9 and FIG10. For details, please refer to the relevant description in the foregoing method embodiments. The second device 1200 includes a transceiver module 1201 and a processing module 1202.
[0493] The processing module 1202 is used for data processing. The transceiver module 1201 can implement the corresponding communication functions. The transceiver module 1201 can also be called a communication interface or a communication module.
[0494] Optionally, the second device 1200 may further include a storage module, which can be used to store program code, program instructions and / or data. The processing module 1202 can read the instructions and / or data in the storage module so that the second device 1200 can implement the aforementioned method embodiments.
[0495] The second device 1200 can be used to perform the actions performed by the second device in the above method embodiments. The second device 1200 can be a terminal device, a network device, or a component configurable on a terminal device or a network device. The processing module 1202 is used to perform processing-related operations on the second device side in the above method embodiments. The transceiver module 1201 is used to perform receiving-related operations on the second device side in the above method embodiments.
[0496] Optionally, the transceiver module 1201 may include a sending module and a receiving module. The sending module is used to perform the sending operation in the above method embodiments. The receiving module is used to perform the receiving operation in the above method embodiments.
[0497] It should be noted that the second device 1200 may include a transmitting module but not a receiving module. Alternatively, the second device 1200 may include a receiving module but not a transmitting module. Specifically, it depends on whether the above-described scheme executed by the second device 1200 includes both transmitting and receiving actions. For example, the second device 1200 is used to execute the actions performed by the second device in the embodiments shown in Figures 3, 8, 9, and 10. For details, please refer to the relevant descriptions in the embodiments shown in Figures 3, 8, 9, and 10; these will not be elaborated upon here.
[0498] For example, the second device 1200 is used to execute the following scheme:
[0499] The transceiver module 1201 is used to receive a first dataset from the first device, the first dataset including the output data of the first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M;
[0500] The processing module 1202 is used to train the second model of the second device 1200 in the j-th round according to the first dataset to obtain the trained second model. The function of the first model is the same as the function of the second model, or the function of the first model is related to the function of the second model, where j is an integer greater than or equal to 1.
[0501] The transceiver module 1201 is also used to send a second dataset to the first device, the second dataset including the output data of the trained second model.
[0502] For other implementation methods, please refer to the relevant description of the embodiment shown in Figure 3 above.
[0503] For example, the second device 1200 is used to execute the following scheme:
[0504] The transceiver module 1201 is used to receive a first dataset from the first device, the first dataset including the output data of the first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M;
[0505] Processing module 1202 is used to perform mixed processing on the first dataset and the second dataset to obtain a mixed dataset. The second dataset includes the output data of the second model trained by the third device in round a. The function of the first model is the same as or related to the function of the second model, and a is an integer greater than or equal to 0.
[0506] The transceiver module 1201 is also used to send a mixed dataset to the first device.
[0507] For other implementation methods, please refer to the relevant description of the embodiment shown in Figure 8 above.
[0508] For example, the second device 1200 is used to execute the following scheme:
[0509] The transceiver module 1201 is used to receive a first dataset from the first device, the first dataset including the output data of the first model trained by the first device in the i-th round, where i is an integer greater than or equal to 0 and less than or equal to M;
[0510] Processing module 1202 is used to train the second model of the second device according to the first dataset to obtain the trained second model, wherein the functions of the first model and the second model are the same or related.
[0511] The transceiver module 1201 is also used to send the trained second model to the first device.
[0512] For other implementation methods, please refer to the relevant description of the embodiment shown in Figure 9 above.
[0513] For example, the second device 1200 is used to execute the following scheme:
[0514] The transceiver module 1201 is used to receive a first model from the first device. The first model is a model obtained by the first device in the i-th round of training, where i is an integer greater than or equal to 0 and less than or equal to M.
[0515] Processing module 1202 is used to fuse the first model to obtain the second model;
[0516] The transceiver module 1201 is also used to send a first dataset to the first device, the first dataset including the output data of the second model.
[0517] For other implementation methods, please refer to the relevant description of the embodiment shown in Figure 10 above.
[0518] For example, the second device 1200 is used to execute the following scheme:
[0519] The transceiver module 1201 is used to receive a first model from the first device. The first model is a model obtained by the first device in the i-th round of training, where i is an integer greater than or equal to 0 and less than or equal to M.
[0520] Processing module 1202 is used to fuse the first model to obtain the second model;
[0521] The transceiver module 1201 is also used to send the second model to the first device.
[0522] It should be understood that the specific procedures for each module to perform the above-mentioned corresponding processes have been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.
[0523] The processing module 1202 in the above embodiments can be implemented by at least one processor or processor-related circuitry. The transceiver module 1201 can be implemented by a transceiver or transceiver-related circuitry. The transceiver module 1201 can also be referred to as a communication module or communication interface. The storage module can be implemented by at least one memory.
[0524] This application embodiment also provides an apparatus 1300. Referring to FIG13, the apparatus 1300 includes a processor 1310, which is coupled to a memory 1320. The memory 1320 is used to store computer programs or instructions and / or data. The processor 1310 is used to execute the computer programs or instructions and / or data stored in the memory 1320, causing the methods in the above method embodiments to be executed. The apparatus 1300 is used to implement the operations performed by the first apparatus or the second apparatus in the above method embodiments.
[0525] Optionally, the device 1300 may include one or more processors 1310.
[0526] Optionally, as shown in Figure 13, device 1300 may also include memory 1320.
[0527] Optionally, the device 1300 may include one or more memories 1320.
[0528] Optionally, the memory 1320 can be integrated with the processor 1310 or set separately.
[0529] Optionally, as shown in FIG13, the device 1300 may further include a transceiver 1330 for receiving and / or transmitting signals. For example, the processor 1310 is used to control the transceiver 1330 to receive and / or transmit signals.
[0530] This application also provides an apparatus 1400, which may be a terminal device, a processor in the terminal device, or a chip. The apparatus 1400 can be used to perform the operations performed by the first or second apparatus in the above method embodiments.
[0531] When device 1400 is a terminal device, Figure 14 shows a simplified schematic diagram of the terminal device. As shown in Figure 14, the terminal device includes a processor, a memory, and a transceiver. The memory can store computer program code, and the transceiver includes a transmitter 1431, a receiver 1432, radio frequency circuitry (not shown), an antenna 1433, and input / output devices (not shown).
[0532] The processor is mainly used to process communication protocols and communication data; control terminal devices; execute software programs; and process data from software programs.
[0533] Memory is mainly used to store software programs and data.
[0534] Radio frequency (RF) circuits are mainly used for the conversion between baseband signals and RF signals, as well as for the processing of RF signals.
[0535] Antennas are primarily used for transmitting and receiving radio frequency signals in the form of electromagnetic waves.
[0536] Input / output devices can include touchscreens, displays, or keyboards. They are primarily used to receive user input and output data to the user. It should be noted that some types of terminal devices may not have input / output devices.
[0537] When data needs to be transmitted, the processor performs baseband processing on the data to be transmitted and outputs a baseband signal to the radio frequency (RF) circuit. The RF circuit then processes the baseband signal and transmits it outwards via an antenna as electromagnetic waves. When data is sent to the terminal device, the RF circuit receives the RF signal through the antenna. The RF circuit converts the RF signal back into a baseband signal and outputs it to the processor. The processor converts the baseband signal back into data and processes the data. For ease of explanation, Figure 14 only shows one memory, processor, and transceiver. In actual terminal device products, there may be one or more processors and one or more memories. Memory can also be called storage medium or storage device, etc. Memory can be set up independently of the processor or integrated with the processor; this embodiment does not limit this.
[0538] In this embodiment, the antenna and radio frequency circuit with transceiver function can be regarded as the transceiver module of the terminal device, and the processor with processing function can be regarded as the processing module of the terminal device.
[0539] As shown in Figure 14, the terminal device includes a processor 1410, a memory 1420, and a transceiver 1430. The processor 1410 may also be referred to as a processing unit, processing board, processing module, or processing device. The transceiver 1430 may also be referred to as a transceiver unit, transceiver, or transceiver device.
[0540] Optionally, the device in transceiver 1430 used to implement the receiving function can be considered a receiving module, and the device in transceiver 1430 used to implement the transmitting function can be considered a transmitting module. That is, transceiver 1430 includes a receiver and a transmitter. A transceiver may also be called a transceiver unit, transceiver module, or transceiver circuit, etc. A receiver may also be called a receiver unit, receiving module, or receiving circuit, etc. A transmitter may also be called a transmitter, transmitting module, or transmitting circuit, etc.
[0541] The processor 1410 is used to execute the processing operations on the first or second device side in the embodiments shown in Figures 3, 8 to 10. The transceiver 1430 is used to execute the transmission and reception operations on the first or second device side in the embodiments shown in Figures 3, 8 to 10.
[0542] It should be understood that Figure 14 is merely an example and not a limitation, and the terminal device described above, including the transceiver module and the processing module, may not depend on the structure shown in Figures 11, 12, or 14.
[0543] When device 1400 is a chip, the chip includes a processor, a memory, and a transceiver. The transceiver can be an input / output circuit or a communication interface. The processor can be a processing module integrated on the chip, a microprocessor, or an integrated circuit. In the above method embodiments, the transmitting operation of the first or second device can be understood as the chip's output, and the receiving operation of the first or second device in the above method embodiments can be understood as the chip's input.
[0544] This application also provides an apparatus 1500, which can be a network device or a chip. The apparatus 1500 can be used to perform the operations performed by the first or second apparatus in the embodiments shown in Figures 3, 8 to 10 above.
[0545] When device 1500 is a network device, such as a base station, Figure 15 shows a simplified schematic diagram of a base station structure. The base station includes parts 1510, 1520, and 1530.
[0546] The 1510 section is mainly used for baseband processing and controlling the base station; the 1510 section is usually the control center of the base station, which can be called a processor, and is used to control the base station to perform the processing operations of the first or second device side in the above method embodiments.
[0547] Section 1520 is primarily used to store computer program code and data.
[0548] Section 1530 is primarily used for transmitting and receiving radio frequency (RF) signals, as well as converting RF signals to baseband signals. Section 1530 is commonly referred to as a transceiver module, transceiver, transceiver circuit, or transceiver unit. The transceiver module of section 1530, also known as a transceiver or transceiver unit, includes antenna 1533 and RF circuitry (not shown in the figure), where the RF circuitry is mainly used for RF processing. Optionally, the device in section 1530 that performs the receiving function can be considered a receiver, and the device that performs the transmitting function can be considered a transmitter; that is, section 1530 includes receiver 1532 and transmitter 1531. The receiver can also be called a receiving module, receiver circuit, or receiving circuit, and the transmitter can be called a transmitting module, transmitter, or transmitting circuit.
[0549] Sections 1510 and 1520 may include one or more circuit boards, each of which may include one or more processors and one or more memories. The processors are used to read and execute programs from the memories to implement baseband processing functions and control the base station. If multiple circuit boards exist, they can be interconnected to enhance processing capabilities. As an alternative implementation, multiple circuit boards may share one or more processors, multiple circuit boards may share one or more memories, or multiple circuit boards may simultaneously share one or more processors.
[0550] For example, in one implementation, the transceiver module of section 1530 is used to execute the transceiver-related processes performed by the first or second device in the embodiments shown in Figures 3, 8 to 10. The processor of section 1510 is used to execute the processing-related processes performed by the first or second device in the embodiments shown in Figures 3, 8 to 10.
[0551] It should be understood that Figure 15 is merely an example and not a limitation, and the network device described above, including the processor, memory, and transceiver, may not depend on the structure shown in Figures 11, 12, or 15.
[0552] When device 1500 is a chip, the chip includes a transceiver, a memory, and a processor. The transceiver can be an input / output circuit or a communication interface; the processor can be a processor integrated on the chip, a microprocessor, or an integrated circuit. In the above method embodiments, the transmitting operation of the first or second device can be understood as the chip's output, and the receiving operation of the first or second device in the above method embodiments can be understood as the chip's input.
[0553] This application also provides a computer-readable storage medium having stored thereon computer instructions for implementing the methods executed by the first or second device in the above method embodiments.
[0554] For example, when the computer program is executed by a computer, it enables the computer to implement the method performed by the first device or the second device in the above method embodiments.
[0555] This application also provides a computer program product containing instructions that, when executed by a computer, cause the computer to perform the method described in the above method embodiments by the first device or the second device.
[0556] This application also provides a communication system, which includes a first device and a second device. The first device is used to perform some or all of the operations performed by the first device in the embodiments shown in FIG3, FIG8 to FIG10, and the second device is used to perform some or all of the operations performed by the second device in the embodiments shown in FIG3, FIG8 to FIG10.
[0557] Optionally, the communication system further includes a third device for performing some or all of the steps performed by the third device in the embodiments shown in Figures 3, 8 to 10.
[0558] This application also provides a chip device, including a processor, for calling computer programs or computer instructions stored in the memory, so that the processor executes the method provided in the embodiments shown in Figures 3, 8 to 10 above.
[0559] In one possible implementation, the input of the chip device corresponds to the receiving operation in any one of the embodiments shown in Figures 3, 8 to 10, and the output of the chip device corresponds to the sending operation in any one of the embodiments shown in Figures 3, 8 to 10.
[0560] Optionally, the processor is coupled to the memory via an interface.
[0561] Optionally, the chip device may also include a memory that stores computer programs or computer instructions.
[0562] The processor mentioned above can be a general-purpose central processing unit, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of a program for controlling the method provided in any of the embodiments shown in Figures 3, 8 to 10. The memory mentioned above can be read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, such as random access memory (RAM).
[0563] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the explanations and beneficial effects of the relevant contents in any of the above-mentioned devices can be referred to the corresponding method embodiments provided above, and will not be repeated here.
[0564] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0565] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0566] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0567] If the integrated unit is implemented as 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 essential contribution of the technical solution of this application, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0568] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A model training method, characterized in that, The method is applied to a first device, the first device executes the method M times, M is an integer greater than or equal to 1, and the method comprises: The first device sends a first data set to a second device, the first data set comprising output data of a first model of the first device trained in the i th round, i is an integer greater than or equal to 0 and less than or equal to M; The first device receives a second data set from the second device, the second data set comprising output data of a second model of the second device, the second model being trained in the j th round according to the first data set, the function of the first model being the same as the function of the second model, or the function of the first model being related to the function of the second model, j being an integer greater than or equal to 1; The first device trains the first model in the i+1 th round according to the second data set to obtain a trained first model.
2. The method of claim 1, wherein, The first model and the second model are both sending models, or the first model and the second model are both receiving models.
3. The method according to claim 1 or 2, characterized in that, The first device trains the first model in the i+1 th round according to the second data set to obtain a trained first model, comprising: The first device trains a third model of the first device according to the second data set to obtain a trained third model; The first device trains the first model in the i+1 th round according to the trained third model to obtain the trained first model, wherein if the first model is a sending model, the third model is a receiving model, or if the first model is a receiving model, the third model is a sending model.
4. The method according to any one of claims 1 to 3, characterized in that, The first data set further comprises input data of the first model of the first device trained in the i th round.
5. The method according to any one of claims 1 to 4, characterized in that, The second data set further comprises input data of the second model.
6. The method according to any one of claims 1 to 5, characterized in that, The M is preconfigured; or, The M is determined according to a convergence condition of the first model; or, The M is determined according to a data difference between the first data set and a third data set or a data difference between the first data set and the second data set, wherein the third data set comprises output data of the first model of the first device trained in the i-1 th round and sent to the second device.
7. The method according to any one of claims 1 to 6, characterized in that, The method further comprises: The first device receives first configuration information from the second device, the first configuration information being used to indicate configuration of a data set; The first device determines the first data set according to the first configuration information.
8. The method according to any one of claims 1 to 7, characterized in that, The second data set is obtained by updating the first data set.
9. The method of claim 8, wherein, The second data set comprises data in the first data set with an updating amplitude greater than a preset threshold.
10. The method of claim 8, wherein, The second data set comprises data in the second data set with an updating amplitude greater than a preset threshold relative to data in a fourth data set, wherein the fourth data is a second data set of the second model of the second device received by the first device before the second data set.
11. The method according to any one of claims 1 to 10, characterized in that, The first device trains the first model in the i+1 th round according to the second data set to obtain a trained first model, comprising: The first device selects data from the second data set to obtain a first target data subset; The first device performs i+1th round training on the first model according to the first target data subset to obtain a trained first model.
12. The method of claim 11, wherein, The first target data subset includes data in the second data set, data update amplitude of which is greater than a preset threshold compared with data in a fourth data set, the fourth data set being a second data set of the second model received by the first device from the second device before the second data set.
13. A model training method, comprising: The method is applied to a second device, and the second device performs the method M times, M being an integer greater than or equal to 1, the method comprising: The second device receives a first data set from a first device, the first data set including output data of a first model trained by the first device in an i th round, i being an integer greater than or equal to 0 and less than or equal to M; The second device performs j th round training on a second model of the second device according to the first data set to obtain a trained second model, the first model having the same function as the second model or having a function related to the function of the second model, j being an integer greater than or equal to 1; The second device sends a second data set to the first device, the second data set including output data of the trained second model.
14. The method of claim 13, wherein, The first model and the second model are both sending models, or the first model and the second model are both receiving models.
15. The method according to claim 13 or 14, characterized in that, The second device performs j th round training on a second model of the second device according to the first data set to obtain a trained second model, comprising: The second device performs training on a fourth model of the second device according to the first data set to obtain a trained fourth model; The second device performs j th round training on the second model according to the trained fourth model to obtain the trained second model, wherein, if the second model is a sending model, the fourth model is a receiving model, or if the second model is a receiving model, the fourth model is a sending model.
16. The method according to any one of claims 13 to 15, characterized in that, The first data set further includes input data of the first model trained by the first device in the i th round.
17. The method according to any one of claims 13 to 16, characterized in that, The second data set further includes input data of the trained second model.
18. The method according to any one of claims 13 to 17, characterized in that, The method further comprises: The second device receives a fifth data set from a third device, the fifth data set including output data of a fifth model of the third device, the fifth model having the same function as the first model; The second device performs j th round training on a second model of the second device according to the first data set to obtain a trained second model, comprising: The second device performs j th round training on the second model according to the first data set and the fifth data set to obtain the trained second model.
19. The method of claim 18, wherein, The second device performs j th round training on the second model according to the first data set and the fifth data set to obtain the trained second model, comprising: The second device performs mixed processing on the first data set and the fifth data set to obtain a target data set; The second device performs j-th round training on the second model according to the target data set to obtain the trained second model.
20. The method of any one of claims 13-19, wherein, Before the second device receives the first data set from the first device, the method further comprises: The second device sends first configuration information to the first device, and the first configuration information is used to indicate the configuration of the data set.
21. The method according to any one of claims 13 to 20, characterized in that, Before the second device performs j-th round training on the second model of the second device according to the first data set to obtain the trained second model, the method further comprises: The second device selects the first device according to the capability information of the first device and / or the data update amplitude of the first data set, and the data update amplitude of the first data set is determined according to the data difference between the first data set and a sixth data set or the data difference between the first data set and a fourth data set, the fourth data set is a second data set of the second model sent by the second device to the first device before the second data set, and the sixth data set is a first data set of the first model received by the second device from the first device before the first data set.
22. The method of any one of claims 13-21, wherein, The second device performs j-th round training on the second model of the second device according to the first data set to obtain the trained second model, comprising: The second device selects data from the first data set to obtain a second target data subset; The second device performs j-th round training on the second model according to the second target data subset to obtain the trained second model.
23. The method of claim 22, wherein, The second target data subset includes data in the first data set, and the data update amplitude of the data is greater than a preset threshold value compared with data in a sixth data set, and the sixth data set is a first data set of the first model received by the second device from the first device before the first data set.
24. The method of any one of claims 13-23, wherein, The second data set is obtained by updating the first data set.
25. The method of claim 24, wherein, The second data set includes data in the first data set, and the data update amplitude of the data is greater than a preset threshold value compared with data in a fourth data set, and the fourth data set is a second data set of the second model received by the first device from the second device before the second data set.
26. The method of any one of claims 13-25, wherein, The M is preconfigured; or, the M is determined according to the convergence condition of the first model; or, the M is determined according to the data difference between the first data set and a third data set or the data difference between the first data set and the second data; wherein, the third data set includes output data of the first model sent by the first device to the second device in i-1 round training.
27. A model training method comprising: The method is applied to a first device, and the first device performs M times of the method, and the M is an integer greater than or equal to 1, and the method comprises: The first device sends a first data set to a second device, the first data set comprising output data of a first model trained by the first device in an i-th round, i being an integer greater than or equal to 0 and less than or equal to M; The first device receives a mixed data set from the second device, the mixed data set being obtained by mixing the first data set and a second data set, the second data set comprising output data of a second model trained by a third device in an a-th round, the second model having the same or related function as the first model, a being an integer greater than or equal to 0; The first device trains the first model in an (i+1)-th round according to the mixed data set, to obtain a trained first model.
28. The method of claim 27, wherein, The first model and the second model are both sending models, or the first model and the second model are both receiving models.
29. The method of claim 27 or 28, wherein, The method further comprises: The first device trains a third model of the first device according to the trained first model, to obtain a trained third model, wherein if the first model is a sending model, the third model is a receiving model, or if the first model is a receiving model, the third model is a sending model.
30. The method of any one of claims 27-29, wherein, The first data set further comprises input data of the first model trained by the first device in the i-th round.
31. The method of any one of claims 27-30, wherein, The second data set further comprises input data of the second model trained by the third device in the a-th round.
32. The method of any one of claims 27-31, wherein, The M is pre-configured, or the M is determined according to a convergence condition of the first model, or the M is determined according to a data difference between the first data set and a third data set or a data difference between the first data set and the mixed data set, wherein the third data set comprises output data of the first model trained in an (i-1)-th round and sent by the first device to the second device.
33. The method of any one of claims 27-31, wherein, The method further comprises: The first device receives first configuration information from the second device, the first configuration information being used to indicate configuration of a data set; The first device determines the first data set according to the first configuration information.
34. The method of any one of claims 27-33, wherein, The first device trains the first model in an (i+1)-th round according to the mixed data set, to obtain a trained first model, comprising: The first device selects data from the mixed data set, to obtain a target data subset; The first device trains the first model in an (i+1)-th round according to the target data subset, to obtain the trained first model.
35. The method of claim 34, wherein, The target data subset comprises data in the mixed data set having a data update amplitude greater than a preset threshold compared with data in a fourth data set, the fourth data set being a mixed data set received by the first device from the second device before the mixed data set.
36. A model training method comprising: The method is applied to a second device, the second device performing the method M times, M being an integer greater than or equal to 1, the method comprising: The second device receives a first data set from the first device, the first data set comprising output data of a first model trained by the first device in an i-th round, i being an integer greater than or equal to 0 and less than or equal to M; The second device mixes the first data set and a second data set to obtain a mixed data set, the second data set comprising output data of a second model trained by a third device in an a-th round, the first model having the same or related function as the second model, a being an integer greater than or equal to 0; The second device sends the mixed data set to the first device.
37. The method of claim 36, wherein, Before the second device mixes the first data set and the second data set to obtain the mixed data set, the method further comprises: The second device receives the second data set from the third device.
38. The method of claim 36 or 37, wherein, The first model and the second model are both sending models, or the first model and the second model are both receiving models.
39. The method of any one of claims 36-38, wherein, The first data set further comprises input data of the first model trained by the first device in the i-th round.
40. The method of any one of claims 36-39, wherein, The second data set further comprises input data of the second model trained by the third device in the a-th round.
41. The method of any one of claims 36-40, wherein, The M is pre-configured, or the M is determined according to a convergence condition of the first model, or the M is determined according to a data difference between the first data set and a third data set or a data difference between the first data set and the mixed data set, wherein the third data set comprises output data of the first model trained by the first device in an i-1-th round and sent to the second device.
42. The method of any one of claims 36-41, wherein, The method further comprises: The second device sends first configuration information to the first device, the first configuration information being used to indicate configuration of a data set.
43. A model training method, comprising: The method is applied to a first device, the first device performing the method M times, M being an integer greater than or equal to 1, the method comprising: The first device sends a first data set to a second device, the first data set comprising output data of a first model trained by the first device in an i-th round, i being an integer greater than or equal to 0 and less than or equal to M; The first device receives a second model from the second device, the second model being trained based on the first data set, the first model having the same or related function as the second model; The first device trains the first model in an i+1-th round according to the second model to obtain a trained first model.
44. The method of claim 43, wherein, The first model and the second model are both sending models, or the first model and the second model are both receiving models.
45. The method of claim 43 or 44, wherein, The first device trains the first model in an i+1-th round according to the second model to obtain the trained first model, comprising: The first device trains a third model of the first device according to the second model to obtain a trained third model; The first device performs i+1th training on the first model according to the third model to obtain the trained first model, wherein if the first model is a sending model, the third model is a receiving model; or if the first model is a receiving model, the third model is a sending model.
46. The method of any one of claims 43-45, wherein, The first data set further includes input data of the first model of the first device in the ith training.
47. The method of any one of claims 43-46, wherein, The method further includes: The first device receives first configuration information from the second device, the first configuration information being used to indicate configuration of a data set; The first device determines the first data set according to the first configuration information.
48. The method of any one of claims 43-47, wherein, The M is pre-configured; or the M is determined according to a convergence condition of the first model.
49. A model training method, comprising: The method is applied to a second device, and the second device performs the method M times, the M being an integer greater than or equal to 1, and the method including: The second device receives a first data set from a first device, the first data set including output data of a first model of the first device in ith training, the i being an integer greater than or equal to 0 and less than or equal to the M; The second device trains a second model of the second device according to the first data set to obtain a trained second model, the function of the first model and the function of the second model being the same or related; The second device sends the trained second model to the first device.
50. The method of claim 49, wherein, The first model and the second model are both sending models, or the first model and the second model are both receiving models.
51. The method of claim 49 or 50, wherein, The method further includes: The second device receives a second data set from a third device, the second data set including output data of a fourth model of the third device in ath training, the function of the fourth model being the same as the function of the first model, the a being an integer greater than or equal to 0; The second device trains a second model of the second device according to the first data set to obtain a trained second model, including: The second device trains the second model according to the first data set and the second data set to obtain the trained second model.
52. The method of any one of claims 49-51, wherein, The first data set further includes input data of the first model of the first device in the ith training.
53. The method of any one of claims 49-52, wherein, The method further includes: The second device sends first configuration information to the first device, the first configuration information being used to indicate configuration of a data set.
54. The method of any one of claims 49-53, wherein, The M is pre-configured; or the M is determined according to a convergence condition of the first model.
55. The method of any one of claims 49-54, wherein, The second device trains a second model of the second device according to the first data set to obtain a trained second model, including: The second device trains a fifth model of the second device according to the first data set to obtain a trained fifth model; The second device trains the second model according to the trained fifth model to obtain the trained second model.
56. A model training method, comprising: The method is applied to a first device, and the first device performs the method M times, the M being an integer greater than or equal to 1, and the method including: The first device sends a first model obtained in the i th round of training to a second device, where i is an integer greater than or equal to 0 and less than or equal to M; The first device receives a first data set from the second device, where the first data set includes output data of a second model of the second device, and the second model is obtained by fusing the first model; The first device performs the i+1 th round of training on the first model according to the first data set, to obtain a trained first model.
57. The method of claim 56, wherein, The first model and the second model are both sending models, or the first model and the second model are both receiving models.
58. The method of claim 56 or 57, wherein, The method further includes: The first device trains a third model of the first device according to the trained first model, to obtain a trained third model; if the first model is a sending model, the third model is a receiving model; or if the first model is a receiving model, the third model is a sending model.
59. The method of any one of claims 56-58, wherein, The first data set further includes input data of the second model.
60. The method of any one of claims 56-59, wherein, The M is pre-configured; or the M is determined according to a convergence condition of the first model; or the M is determined according to a data difference between the first data set and a third data set, where the third data set includes output data of the first model sent by the first device to the second device in the i-1 th round of training.
61. A model training method comprising: The method is applied to a second device, and the second device performs the method M times, where M is an integer greater than or equal to 1, and the method includes: The second device receives a first model from a first device, where the first model is a model obtained in the i th round of training by the first device, and i is an integer greater than or equal to 0 and less than or equal to M; The second device fuses the first model to obtain a second model; The second device sends a first data set to the first device, where the first data set includes output data of the second model.
62. The method of claim 61, wherein, The first model and the second model are both sending models, or the first model and the second model are both receiving models.
63. The method of claim 61 or 62, wherein, The method further includes: The second device receives a fourth model from a third device, where the fourth model has the same or related function as the first model; The second device fuses the first model to obtain a second model, including: The second device fuses the first model and the fourth model to obtain the second model.
64. The method of claim 63, wherein, The first model and the fourth model are both sending models, or the first model and the fourth model are both receiving models.
65. The method of any one of claims 61-64, wherein, The first data set further includes input data of the second model.
66. The method of any one of claims 61-65, wherein, The M is pre-configured; or the M is determined according to the convergence condition of the first model.
67. A model training method, comprising: The method is applied to a first device, and the first device performs the method M times, where M is an integer greater than or equal to 1, and the method includes: The first device sends a first model to a second device, where the first model is a model obtained in the i th round of training by the first device, and i is an integer greater than or equal to 0 and less than or equal to M; The first device receives a second model from the second device, the second model being obtained by fusing the first model; The first device trains the second model according to local data of the first device to obtain a trained second model.
68. The method of claim 67, wherein, The first model and the second model are both transmission models, or the first model and the second model are both reception models.
69. The method of claim 67 or 68, wherein, The method further comprises: The first device trains a third model of the first device according to the trained second model to obtain a trained third model; if the second model is a transmission model, the third model is a reception model; or if the second model is a reception model, the third model is a transmission model.
70. The method of any one of claims 67-69, wherein, The M is pre-configured; or the M is determined according to a convergence condition of the first model.
71. A model training method, comprising: The method is applied to a second device, the second device executes the method M times, the M being an integer greater than or equal to 1, and the method comprising: The second device receives a first model from a first device, the first model being a model obtained by the first device in the i-th round of training, the i being an integer greater than or equal to 0 and less than or equal to the M; The second device fuses the first model to obtain a second model; The second device sends the second model to the first device.
72. The method of claim 71, wherein, The first model and the second model are both transmission models, or the first model and the second model are both reception models.
73. The method of claim 71 or 72, wherein, The M is pre-configured; or the M is determined according to a convergence condition of the first model.
74. An apparatus comprising: The device comprises a module for executing the method of any one of claims 1 to 12; or the device comprises a module for executing the method of any one of claims 13 to 26; or the device comprises a module for executing the method of any one of claims 27 to 35; or the device comprises a module for executing the method of any one of claims 36 to 42; or the device comprises a module for executing the method of any one of claims 43 to 48; or the device comprises a module for executing the method of any one of claims 49 to 55; or the device comprises a module for executing the method of any one of claims 56 to 60; or the device comprises a module for executing the method of any one of claims 61 to 66; or the device comprises a module for executing the method of any one of claims 67 to 70; or the device comprises a module for executing the method of any one of claims 71 to 73.
75. An apparatus comprising: The device comprises a processor; The processor is configured to execute a computer program or computer instructions in the memory to perform the method of any one of claims 1 to 12; or The processor is configured to execute a computer program or computer instructions in the memory to perform the method of any one of claims 13 to 26; or The processor is configured to execute a computer program or computer instructions in the memory to perform the method of any one of claims 27 to 35; or The processor is configured to execute a computer program or computer instructions in the memory to perform the method of any one of claims 36 to 42; or The processor is configured to execute a computer program or computer instructions in the memory to perform the method of any one of claims 43 to 48; or The processor is configured to execute a computer program or computer instructions in the memory to perform the method of any one of claims 49 to 55; or The processor is configured to execute a computer program or computer instructions in the memory to perform the method of any one of claims 56 to 60; or The processor is configured to execute a computer program or computer instructions in the memory to perform the method of any one of claims 61 to 66; or The processor is configured to execute a computer program or computer instructions in the memory to perform the method of any one of claims 67 to 70; or The processor is configured to execute a computer program or computer instructions in the memory to perform the method of any one of claims 71 to 73. the processor is configured to execute computer programs or computer instructions in the memory to perform the method of any one of claims 27 to 35; or the processor is configured to execute computer programs or computer instructions in the memory to perform the method of any one of claims 36 to 42; or the processor is configured to execute computer programs or computer instructions in the memory to perform the method of any one of claims 43 to 48; or the processor is configured to execute computer programs or computer instructions in the memory to perform the method of any one of claims 49 to 55; or the processor is configured to execute computer programs or computer instructions in the memory to perform the method of any one of claims 56 to 60; or the processor is configured to execute computer programs or computer instructions in the memory to perform the method of any one of claims 61 to 66; or the processor is configured to execute computer programs or computer instructions in the memory to perform the method of any one of claims 67 to 70; or the processor is configured to execute computer programs or computer instructions in the memory to perform the method of any one of claims 71 to 73.
76. The device of claim 75, wherein, The apparatus further comprises the memory.
77. A computer readable storage medium, characterized in that, A computer program is stored on the apparatus, which, when executed by the apparatus, causes the apparatus to perform the method of any one of claims 1 to 73.
78. A computer program product, characterized in that, The computer program product, when run on a computer, causes the computer to perform the method of any one of claims 1 to 73.
Citation Information
Patent Citations
Model training method and device based on privacy data set
CN114003949A
Federal distillation-based federal learning model training method and system, and medium
CN114154643A
Model training method, device and system
CN114298326A
Model training method and device and storage medium
CN115878989A
Model training method and device based on bidirectional knowledge distillation and federated learning
CN117993478A