Model training method, server and client device
Patent Information
- Application Number
- CN202280096702.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-28
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2042-11-28
AI Technical Summary
In a multi-task federated learning scenario, the difficulty and time of model training for different tasks are different, resulting in unstable performance of the fused global model.
By obtaining the measurement information of each model on the server side, determining the training strategy of each model, adjusting the training progress of the client device, and keeping the training progress of each model consistent, thereby coordinating the performance changes of the global model and realizing model life cycle management. .
It improves the performance stability of the global shared model, ensures balanced model performance, and avoids performance drift and instability caused by different model life cycles.
Smart Images

Figure CN119318136A_ABST
Abstract
Description
Model training methods, servers, and client devices Technical Field
[0001] The present application relates to the field of artificial intelligence technology, and in particular to a model training method, a server, and a client device. Background Art
[0002] In the multi-task federated learning scenario, multiple clients will upload part or all of the model weight parameters to the server based on local tasks. After the server completes model fusion, it sends the fused global model to the client, and the client replaces part or all of the corresponding local model with the global model.
[0003] In the multi-task federated learning scenario, the difficulty and time required to train models for different tasks often differ, and the performance of models for multiple tasks is not synchronized, resulting in unstable performance of the fused global model.
[0004] Summary of the Invention
[0005] This application provides a model training method, server, and client device to manage the training progress of each model in federated multi-task learning, thereby obtaining a more stable global shared model.
[0006] In a first aspect, the present application provides a model training method applicable to a federated multi-task learning system. The federated multi-task learning system includes multiple client devices and a server. The multiple client devices jointly train models corresponding to multiple related tasks, that is, each model includes a shared model. The shared models of multiple models are the same, and the shared models of multiple models can share knowledge through federated learning. Each client device can locally train at least one model from multiple models. The method includes: the server obtains model measurement information corresponding to multiple models, and the model measurement information of each model is sent to the server after the multiple client devices measure the locally trained model; the server obtains first indication information corresponding to each model based on the model measurement information corresponding to the multiple models, and the first indication information is used to indicate the training strategy of the model; the server sends the first indication information corresponding to each model to the client device that trained the model. By measuring the model measurement information of multiple models, the server obtains the first indication information of the training strategy of each model based on the model measurement information, so as to coordinate the training progress of multiple models, so that the performance change of the fused global model is smoother and more stable.
[0007] In one possible implementation, the server obtains first indication information corresponding to each model based on model measurement information corresponding to the multiple models, including: obtaining a model performance improvement corresponding to each model based on the model measurement information corresponding to the multiple models; and determining the first indication information corresponding to each model based on the model performance improvement corresponding to each model. The server can infer the training progress of each model based on the model performance improvement, thereby accurately determining the training strategy for each model.
[0008] In one possible implementation, the training strategy includes stopping training, restarting training, speeding up training, or slowing down training. Thus, the client device can adjust the training strategy of its own model based on the first instruction information from the server, so that models with slower training progress can be trained faster, while models with faster training progress can be trained slower, thereby keeping the training progress of each model as consistent as possible.
[0009] In one possible implementation, each model includes a shared model, which is the same model among multiple models. The first indication information is further used to indicate model upload parameters for the shared model upload server. The model upload parameters may include, for example, a shared model upload cycle and a model upload compression ratio. The shared model upload cycle can also affect the model training progress. For example, a short shared model upload cycle can accelerate the model training speed to a certain extent, while a long shared model upload cycle can reduce the model training speed to a certain extent.
[0010] In one possible implementation, the model measurement information includes at least one of model performance improvement, model loss, accuracy, communication overhead, latency, and energy efficiency. This model measurement information can accurately reflect the model's performance and training progress, enabling accurate determination of first indication information for each model and precise management of the model's lifecycle.
[0011] In one possible implementation, the method further includes: the server sending second instruction information to the multiple client devices, the second instruction information being used to instruct the multiple client devices to measure the locally trained models to obtain model measurement information. The server sends the second instruction information instructing each client device to perform model measurement, thereby enabling the server to obtain the model measurement information of each model and further manage the lifecycle of each model based on the model measurement information.
[0012] In a possible implementation manner, the second indication information includes at least one of a model identifier, a model measurement period, a model measurement information reporting condition, a model measurement information reporting period, and a measurement indicator.
[0013] In one possible implementation, each model includes a shared model, which is the same model among the multiple models. The method further includes: a server receiving shared models corresponding to multiple models uploaded by multiple client devices; the server fusing the shared models corresponding to the multiple models based on the weights corresponding to each model to obtain a global shared model, where the weights corresponding to each model are obtained based on model measurement information corresponding to the multiple models; and the server sending the global shared model to the multiple client devices. The weight of the fused global shared model is determined based on the model measurement information, thereby ensuring balanced model performance and managing the model lifecycle based on the weight of each model's shared model's contribution to the global shared model.
[0014] A second aspect of the present application provides a model training method. The method includes: a client device obtaining first indication information from a server, the first indication information being obtained based on model measurement information corresponding to multiple models, the multiple models being models corresponding to multiple associated tasks, the multiple models including a model locally trained by the client device, and the model measurement information being sent to the server after the multiple client devices measure the locally trained models; and the client device adjusting a training strategy for the model trained by the client device based on the first indication information.
[0015] In one possible implementation, the training strategy includes stopping training, restarting training, speeding up training, or slowing down training.
[0016] In a possible implementation, each model includes a shared model, which is the same model among the multiple models. The first indication information is also used to indicate model upload parameters of the shared model upload server.
[0017] In a possible implementation, the model measurement information includes at least one of model performance improvement, model loss value, accuracy, communication overhead, delay, and energy efficiency.
[0018] In a possible implementation, the method further includes: the client device obtains second indication information from the server, the client device measures the model trained by the client device according to the second indication information to obtain model measurement information; and the client device sends the model measurement information to the server.
[0019] In a possible implementation manner, the second indication information includes at least one of a model identifier, a model measurement period, a model measurement information reporting condition, a model measurement information reporting period, and a measurement indicator.
[0020] The third aspect of the present application provides a server. The server includes a processing module and a transceiver module. The processing module is used to obtain model measurement information corresponding to multiple models, the multiple models are models corresponding to multiple related tasks, the multiple models are models locally trained by multiple client devices, and the model measurement information is sent to the server after the multiple client devices measure the locally trained models. The processing module is used to obtain first indication information corresponding to each model based on the model measurement information corresponding to the multiple models, and the first indication information is used to indicate the training strategy of the model. The transceiver module is used to send the first indication information corresponding to each model to the client device that trained the model.
[0021] In one possible implementation, the processing module is configured to obtain a model performance improvement corresponding to each model based on model measurement information corresponding to the multiple models, and to determine first indication information corresponding to each model based on the model performance improvement corresponding to each model.
[0022] In one possible implementation, the training strategy includes stopping training, restarting training, speeding up training, or slowing down training.
[0023] In one possible implementation, each model includes a shared model, which is the same model among the multiple models. The first indication information is further used to indicate model upload parameters for the shared model upload server. The model upload parameters may include a shared model upload period and a model upload compression ratio.
[0024] In a possible implementation, the model measurement information includes at least one of model performance improvement, model loss value, accuracy, communication overhead, delay, and energy efficiency.
[0025] In one possible implementation, the transceiver module is used to send second indication information to multiple client devices, where the second indication information is used to instruct the multiple client devices to measure the locally trained model to obtain model measurement information.
[0026] In a possible implementation manner, the second indication information includes at least one of a model identifier, a model measurement period, a model measurement information reporting condition, a model measurement information reporting period, and a measurement indicator.
[0027] In one possible implementation, each model includes a shared model, which is the same model among multiple models. The transceiver module is configured to receive the shared models corresponding to multiple models uploaded by multiple client devices. The processing module is configured to fuse the shared models corresponding to the multiple models based on the weights corresponding to each model to obtain a global shared model. The weights corresponding to each model are derived based on model measurement information corresponding to the multiple models. The transceiver module is configured to transmit the global shared model to the multiple client devices.
[0028] A fourth aspect of the present application provides a client device. The client device includes a processing module. The processing module is configured to obtain first indication information from a server, where the first indication information is obtained based on model measurement information corresponding to multiple models, where the multiple models are models corresponding to multiple associated tasks, where the multiple models include models locally trained by the client device, and where the model measurement information is sent to the server after the multiple client devices measure the locally trained models; and the processing module is configured to adjust a training strategy for the model trained by the client device based on the first indication information.
[0029] In one possible implementation, the training strategy includes stopping training, restarting training, speeding up training, or slowing down training.
[0030] In a possible implementation, each model includes a shared model, which is the same model among the multiple models. The first indication information is also used to indicate model upload parameters of the shared model upload server.
[0031] In a possible implementation, the model measurement information includes at least one of model performance improvement, model loss value, accuracy, communication overhead, delay, and energy efficiency.
[0032] In one possible implementation, the client device further includes a transceiver module. The processing module is configured to obtain second indication information from the server, and the client device measures the model trained by the client device based on the second indication information to obtain model measurement information. The transceiver module is configured to send the model measurement information to the server.
[0033] In a possible implementation manner, the second indication information includes at least one of a model identifier, a model measurement period, a model measurement information reporting condition, a model measurement information reporting period, and a measurement indicator.
[0034] The fifth aspect of the present application provides a model training system. The system includes a server and multiple client devices, the multiple clients are devices that train models corresponding to multiple related tasks, and the multiple models are models trained locally by multiple client devices. The multiple client devices are respectively used to send model measurement information of the locally trained models to the server. The server is used to obtain first indication information corresponding to each model based on the model measurement information corresponding to the multiple models, and the first indication information is used to indicate the training strategy of the model. The server is used to send the first indication information corresponding to each model to the client device that trained the model. The multiple client devices are respectively used to adjust the training strategy of the model trained by the client device according to the first indication information.
[0035] In one possible implementation, the server is specifically configured to obtain a model performance improvement corresponding to each model based on model measurement information corresponding to multiple models; the server is specifically configured to determine first indication information corresponding to each model based on the model performance improvement corresponding to each model.
[0036] In one possible implementation, the training strategy includes stopping training, restarting training, speeding up training, or slowing down training.
[0037] In a possible implementation, each model includes a shared model, which is the same model among the multiple models. The first indication information is also used to indicate model upload parameters of the shared model upload server.
[0038] In a possible implementation, the model measurement information includes at least one of model performance improvement, model loss value, accuracy, communication overhead, delay, and energy efficiency.
[0039] In a possible implementation, the server is further used to send second indication information to the multiple client devices, where the second indication information is used to instruct the multiple client devices to measure the locally trained model to obtain model measurement information.
[0040] In one possible implementation, the client device is used to obtain second indication information from the server, and the client device measures the model trained by the client device according to the second indication information to obtain model measurement information; the client device is used to send the model measurement information to the server.
[0041] In a possible implementation manner, the second indication information includes at least one of a model identifier, a model measurement period, a model measurement information reporting condition, a model measurement information reporting period, and a measurement indicator.
[0042] In one possible implementation, each model includes a shared model, which is the same model among the multiple models. The method further includes: a server configured to receive shared models corresponding to multiple models uploaded by multiple client devices; the server configured to fuse the shared models corresponding to the multiple models based on weights corresponding to each model to obtain a global shared model, where the weights corresponding to each model are obtained based on model measurement information corresponding to the multiple models; and the server configured to send the global shared model to the multiple client devices. The client devices are configured to replace the shared models in their local models with the global shared model.
[0043] In a sixth aspect, the present application provides a server. The server includes a processor and a communication interface, the communication interface being configured to communicate with multiple client devices, and the processor being configured to execute a set of instructions to perform the model training method according to the first aspect or any possible implementation of the first aspect.
[0044] In a seventh aspect, the present application provides a client device. The client device includes a processor and a communication interface, the communication interface is used to communicate with a server, and the processor is used to run a set of instructions to perform the model training method in the second aspect or any possible implementation of the second aspect.
[0045] In an eighth aspect of the present application, the present application provides a computer-readable storage medium. The computer-readable storage medium includes instructions that, when the computer-readable storage medium is executed on a computer, cause the computer to execute the model training method as in the first aspect or any possible implementation of the first aspect, or in the second aspect or any possible implementation of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] FIG1 is a schematic diagram of the architecture of a federated learning system provided in this application;
[0047] FIG2 is a schematic diagram of the life cycle of the model provided in this application;
[0048] FIG3 is a schematic diagram of the life cycle of the federated multi-tasking model provided by this application;
[0049] FIG4 is a schematic diagram of the architecture of a model training system provided by this application;
[0050] FIG5 is a flow chart of an embodiment of a model training method provided by the present application;
[0051] FIG6 is a flow chart of another embodiment of the model training method provided by the present application;
[0052] FIG7 is a schematic diagram of a scenario of wireless federated multi-task learning provided by this application;
[0053] FIG8a is a schematic structural diagram of a positioning model provided in this application;
[0054] FIG8b is a schematic structural diagram of a channel compression model provided by this application;
[0055] FIG8 c is a schematic diagram of the structure of the LOS / NLOS recognition model provided by this application;
[0056] FIG9 is a schematic structural diagram of an embodiment of a server provided by the present application;
[0057] FIG10 is a schematic structural diagram of an embodiment of a client device provided by the present application;
[0058] FIG11 is a schematic structural diagram of another embodiment of a server provided by the present application;
[0059] FIG12 is a schematic structural diagram of another embodiment of a client device provided in this application. DETAILED DESCRIPTION
[0060] This application provides a model training method, server, and client device to manage the training progress of each model in federated multi-task learning, thereby obtaining a more stable global shared model.
[0061] In this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0062] In the embodiments of the present application, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the present application, unless otherwise specified, "plurality" means two or more. In the present application, the term "at least one" means one or more, and the term "plurality" means two or more.
[0063] It should be understood that the terminology used in the description of the various examples herein is for the purpose of describing particular examples only and is not intended to be limiting. As used in the description of the various examples and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0064] It should also be understood that in the various embodiments of the present application, the size of the sequence number of each process does not mean the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application. It should be understood that determining B according to A does not mean determining B only according to A, and B can also be determined according to A and / or other information. It should also be understood that the term "include" (also known as "includes", "including", "comprises" and / or "comprising") when used in this specification specifies the presence of stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or their grouping. It should also be understood that the term "if" can be interpreted to mean "when" ("when" or "upon") or "in response to determining" or "in response to detecting". Similarly, depending on the context, the phrase “if it is determined that…” or “if [stated condition or event] is detected” may be interpreted to mean “upon determining that…” or “in response to determining that…” or “upon detecting [stated condition or event]” or “in response to detecting [stated condition or event]”.
[0065] It should be understood that references throughout this specification to "one embodiment," "an embodiment," or "one possible implementation" mean that specific features, structures, or characteristics associated with that embodiment or implementation are included in at least one embodiment of this application. Therefore, the appearance of "in one embodiment," "in an embodiment," or "one possible implementation" throughout this specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0066] The solution provided in this application is applicable to a machine learning system, which includes a server and at least one end-side device. This application uses the machine learning system as an example of a federated learning system. In order to better understand the solution provided in this application, the relevant knowledge of federated learning is introduced below.
[0067] Federated learning is a machine learning method designed to protect user privacy. In some practical machine learning applications, training a good machine learning model is difficult due to limitations such as insufficient data features or a small number of samples on a single device. Therefore, it is necessary to fuse data from multiple devices for training to produce a high-quality model. While fusing data from multiple devices for training, it is also necessary to ensure user data privacy. Specifically, data cannot be transmitted from the user's device and can only be used locally for model training. Federated learning was developed to address this requirement, effectively enabling multiple computing nodes to utilize data and conduct machine learning modeling while meeting user privacy and data security requirements.
[0068] Refer to Figure 1, which is a schematic diagram of the architecture of a federated learning system provided by this application. Federated learning is a machine learning technology used to protect user privacy. The structure of a federated learning system generally includes a server and multiple client devices as participants. The workflow mainly includes model distribution and model fusion processes. In the model distribution process, the client device downloads the model from the server, trains the model downloaded from the server using locally stored training data, and uploads the model to the server after training to a certain level. Training to a certain level can be understood as a fixed number of rounds of training. In the model fusion process, the server collects the models uploaded by each client device, performs model fusion, and distributes the fused model to each client device. There are many ways for the server to fuse multiple models. For example, the server can average the multiple models received and use the result of the average of the multiple models as a shared model. For example, the server can weight the multiple models received and use the result of the weighted processing of the multiple models as a shared model. The two processes of model distribution and model fusion will be iterated repeatedly until the model converges. It should be noted that, in some possible implementations, the server may be a cloud server or a cloud-side device, and the embodiments of the present application do not limit this. In the wireless federated learning scenario, the server may also be a base station, an access point or a satellite, etc. This application sometimes also refers to the client device as an end-side device, and the two have the same meaning. For example, the end-side device may be a terminal, such as a mobile phone terminal, a tablet computer, a laptop computer, a drone, augmented reality (AR) / virtual reality (VR), a vehicle-mounted terminal, a device for security (such as a surveillance camera, a smoke alarm device, a fire extinguishing device), a smart speaker or a smart home appliance, etc. In addition, it should be noted that the model in this application includes a neural network model, and this application does not limit the specific category of the model. For example, the model in this application may be a convolutional neural network model, a recurrent neural network model, a deep residual network model, and the like.
[0069] Multi-task learning (MTL) is a machine learning method that is opposite to single-task learning. Its purpose is to improve the generalization ability of multiple related tasks by jointly learning them. Specifically, multi-task learning is a learning method that uses the correlation between multiple tasks to promote each other and learn multiple tasks in parallel, that is, multi-task learning can make multiple tasks influence each other by training multiple tasks simultaneously. Generally speaking, the generalization ability of multi-task learning is better than that of single-task learning. The correlation between multiple tasks can also be understood as the common features / shared features between multiple tasks. Multi-task learning requires establishing a model for each task. The models of multiple tasks have sub-models with the same structure and training the same type of data, and the sub-models common to multiple models can share model parameters. In this application, the sub-model common to multiple models is called a shared model, and each model in the multiple models includes the shared model. The shared model can be all of a model or part of a model.
[0070] Combining federated learning with multi-task learning is known as federated multi-task learning. Specifically, a federated learning system trains multiple distinct but related tasks, and the shared models of these tasks are fused through federated learning. During model fusion, the server collects the shared models uploaded by each client device and fuses them to create a global shared model. Once the server obtains the global shared model, it distributes it to each client device. The client device replaces the local shared model with the global shared model and continues model training or inference using the model. The model distribution and fusion processes are repeated until the shared model converges.
[0071] Since the data of the client device is constantly increasing and updating, the performance of the model is constantly changing, and it changes from high performance at the beginning to increasingly mismatching the current data distribution, resulting in low performance. In order to cope with the performance degradation, the model needs to be managed by life cycle management (LCM). As shown in Figure 2, Figure 2 is a schematic diagram of the life cycle of the model provided by this application. From the beginning of its establishment, the model starts training and the performance gradually improves. When it reaches the highest point, the model is considered to have converged and training is stopped. However, as the data in the system changes (the data distribution is inconsistent with the data distribution used for training at the time), the model and data become increasingly mismatched, resulting in a gradual decline in performance. Monitoring the life cycle of the model allows the communication device to adjust the performance of the model in a timely manner. For example, when the performance drops to a threshold, the current data can be used to restart training.
[0072] In a multi-task federated learning scenario, multiple clients upload partial or complete model weights to the server based on their local tasks. After the server completes model fusion, it sends the fused global model to the client, which then replaces part or all of its local models with the global model. As can be seen, different tasks often have varying degrees of difficulty and time required to train. In a multi-task federated learning scenario, model management for a single task can impact other tasks, necessitating joint multi-task model lifecycle management. As shown in Figure 3, Model 2, due to its faster training speed, stops training first. This means that Model 2 no longer uploads updated models. Since only Model 1 is uploading models, the global model becomes more biased towards Model 1, resulting in a jump in Model 1's performance. As the data distribution changes, Model 2's performance gradually declines. After the decline reaches a preset threshold, Model 2 resumes training, and Model 1 completes and stops training. However, since the global model now favors Model 2, Model 1's performance declines.
[0073] Refer to Figure 4, which is a schematic diagram of the architecture of a model training system provided by the present application. A model training system provided by the present application includes a server and at least two end-side devices. The model training system is specifically, for example, a federated multi-task learning system. A client device can train a model for at least one task, and a model for a task can be trained on at least one client device. The number of tasks and the number of terminals in the figure are for illustration only and should not be understood as a limitation on the present application.
[0074] The server and multiple client devices can be connected via wired or wireless connections. Multiple client devices train models for multiple related tasks, meaning that multiple client devices jointly train multiple models. These multiple models collectively comprise a shared model. Client devices train local models and report the shared models to the server, which then fuses the shared models from the multiple models. The server fuses the shared models from each client device to generate a global shared model and distributes the global shared model to the client devices. After obtaining the global shared model, the client device replaces the local shared model with the global shared model.
[0075] In addition, in this embodiment, the server is further configured to send second indication information to the client device for instructing the client device to measure the model trained locally, so that the client device measures the model and obtains model measurement information. Based on the model measurement information of multiple models reported by the client device, the server determines first indication information corresponding to each model. The first indication information is used to instruct the client device on a training strategy for training the model. Training strategies include, for example, stopping training, restarting training, or continuing training, thereby jointly managing the lifecycle of multiple models. That is, the server has global knowledge of the training status of multiple models. Each model's decision to stop training, restart training, or continue training is made based on the training status of other models, rather than solely considering the training status of a single model. This allows the server to coordinate the lifecycles of multiple models as much as possible, reducing the risk of some models stopping training after convergence and not uploading the shared model due to different lifecycles, resulting in the performance of the global shared model being biased towards another model that has not yet fully converged and continues training and uploading the shared model. Furthermore, the performance of the global shared model shifts between different models, resulting in unstable shared model performance and affecting the performance of other models.
[0076] In this embodiment, model measurement information is obtained by measuring multiple models. The server manages the life cycles of multiple models based on the model measurement information of multiple models, guides the training strategy of each client device, and makes the performance of the fused global shared model more balanced and stable.
[0077] As shown in Figure 5, Figure 5 is a flow chart of an embodiment of the model training method provided by this application. The execution subject of this embodiment is the server in the above-mentioned model training system. This embodiment includes the following steps:
[0078] S501: The server obtains model measurement information corresponding to multiple models.
[0079] The multiple models are models corresponding to multiple related tasks, the multiple models are models trained locally by multiple client devices, and the model measurement information is sent to the server after the multiple client devices measure the locally trained models.
[0080] Multiple model measurement information can be uploaded to the server simultaneously by multiple client devices. Multiple model measurement information can also be uploaded to the server at different times, allowing the server to obtain the latest model measurement information for each model within a time window. If a model is trained on multiple client devices, each of which reports the model measurement information of the model to the server, the server can calculate the average or median value of the model measurement information reported by multiple client devices as the model measurement information of the model.
[0081] The client device measures the entire model, and the model measurement information reflects the training status or training stage of the entire model. Since the model training status / training stage is related to model performance, the model measurement information can also be considered to reflect the performance status of the entire model. Model measurement information includes, for example, at least one of the following measurement metrics: model performance improvement, model loss, accuracy, communication overhead, latency, and energy efficiency. The model performance improvement indicates whether the model performance is improving or deteriorating, as well as the degree of improvement or degradation. When the model performance improvement is positive, a larger value indicates faster model performance improvement, indicating that the model has not yet converged. The model performance improvement can be negative, indicating a downward trend in model performance. In this case, a smaller value indicates faster model performance degradation. The model performance improvement can be calculated based on a comprehensive calculation of at least one of the model loss, accuracy, communication overhead, latency, and energy efficiency. For example, the model performance improvement can be calculated by taking a weighted sum of at least one of the model loss, accuracy, communication overhead, latency, and energy efficiency. Of course, the improvement in model performance can also be calculated in other ways.
[0082] The model performance improvement can be calculated by the client device and sent to the server, or it can be calculated by the server when the client device sends at least one of the measurement indicators such as model loss value, accuracy, communication overhead, delay and energy efficiency to the server.
[0083] S502: The server obtains first indication information corresponding to each model based on model measurement information corresponding to the multiple models, where the first indication information is used to indicate a training strategy for the model.
[0084] The server determines first indication information corresponding to each model based on model measurement information of the multiple models. The first indication information is used to indicate a training strategy for the model. Training strategies include, for example, stopping training, restarting training, accelerating training, or reducing training speed. Training strategies may also include at least one of model freezing, model invalidation, model selection, model sharing, model fine-tuning, sub-model configuration, model architecture reconfiguration, model reset, model merging, model compression, model decompression, model updating, and model splitting.
[0085] The lifecycle of a model is the process from the start of training, to stopping training when the model converges to the required convergence point, and then restarting training when the model performance degrades to the required restart point. The performance of a model changes in different ways at different stages of its lifecycle. For example, at the beginning of model training, model performance improves rapidly; after training for a period of time, the model begins to converge, and the performance improvement slows; when the model converges to the required convergence point and stops training, the model performance is optimal, and no shared model is uploaded to the server during the training stop. As data distribution changes and the global shared model moves away from the model after training stops, model performance degrades. Different models may have different lifecycles.
[0086] The server determines the current training progress of each model based on the measurement information of multiple models, that is, the stage of the life cycle of each model. For models with fast training speed and convergence earlier than other models, the terminal corresponding to the model can be instructed to slow down the training speed to extend the training cycle and keep it consistent with the training progress of other models as much as possible. For models with slow training speed and convergence later than other models, the terminal corresponding to the model can be instructed to speed up the training speed to shorten the training cycle and catch up with the training progress of other models as much as possible. Therefore, the server can instruct the client device on the training strategy to keep the life cycles of each model as consistent as possible, or the gap between the life cycles of each model is within an acceptable range, thereby reducing the situation where the global shared model constantly deviates towards different models due to inconsistent life cycles of each model, resulting in unstable performance of the global shared model.
[0087] Specifically, the server may determine the training progress of each model based on the improvement in model performance of each model, and further compare the training progress of multiple models to determine the first indication information of each model.
[0088] In one embodiment, the training progress of each model can be determined by the changing trend of the model performance improvement of each model in the last M times. For example, a model whose model performance improvement in the last M times is decreasing as a whole can be considered to be converging. Here, M is an integer greater than or equal to 2. A model whose model performance improvement in the last M times has not decreased significantly as a whole can be considered to have not yet converged. The server compares the training progress of each model. If some models are converging and some models have not yet converged, it can send a first indication message for instructing to reduce the training speed to the client device corresponding to the model that is converging, and send a first indication message for instructing to speed up the training speed to the client device corresponding to the model that has not yet converged.
[0089] In another embodiment, the server may determine a weight corresponding to each model based on model measurement information corresponding to multiple models. Furthermore, the server may determine first indication information corresponding to each model based on the weight corresponding to each model. In this embodiment, the weight may be related to the amount of improvement in model performance. Specifically, the weight may be positively correlated with the amount of improvement in model performance.
[0090] The server calculates the ratio of the absolute value of each model's performance improvement to the sum of the absolute values of the performance improvements of all models to obtain the weight of each model. For example, if the performance improvement of model A is 0.4, the performance improvement of model B is 0.6, and the performance improvement of model C is 1, then the weight of model A is 0.2, the weight of model B is 0.3, and the weight of model C is 0.5. Of course, weights can also be obtained through other normalization methods, which are not limited here.
[0091] Weights can indicate the training progress of each model relative to other models. If a model's weight is significantly greater than that of other models, it indicates that the model has not yet converged. The training progress of each model can be further determined by combining historical weight data. For example, if the weight of a model obtained from the last M model measurements has generally increased, while the weights of other models have generally decreased, this indicates that the model with the increased weight has not yet converged, while the model with the decreased weight has begun to converge.
[0092] The training progress of each model can also be determined in combination with the historical model performance improvement. For example, a model whose weights obtained from the most recent M model measurement information have decreased overall and whose model performance improvement has also decreased overall can be considered to be converging, and the server can send a first instruction message to the client device corresponding to the model to instruct it to reduce the training speed. A model whose weights obtained from the most recent M model measurement information have increased overall and whose model performance improvement has also increased or has not decreased significantly overall can be considered to have not yet converged, and the server can send a first instruction message to the client device corresponding to the model to instruct it to increase the training speed.
[0093] In this embodiment, the first indication information may include the above-mentioned weight, and the weight is used to indicate the model training strategy executed by the client device. Of course, the first indication information may also be in other forms, such as using different character strings to indicate different training strategies.
[0094] The first indication information may also be used to indicate model upload parameters for the shared model upload server. Model upload parameters may include, for example, the model upload period. When the first indication information indicates a reduction in the training speed, the first indication information may also indicate a reduction in the model upload period. Model upload parameters may also include, for example, the compression rate for model uploads. The first indication information may include the compression rate for model uploads.
[0095] S503: The server sends the first indication information corresponding to each model to the client device that trains the model.
[0096] After the server obtains the first indication information corresponding to each model, it sends the first indication information corresponding to each model to the client device of the training model to dynamically adjust the life cycle of each model so that the life cycle of each model can be kept consistent as much as possible, thereby enabling the global shared model to be integrated into the shared models of more models during integration, making the performance of the global shared model more stable.
[0097] As shown in FIG6 , FIG6 is a flow chart of another embodiment of the model training method provided by the present application. This embodiment is implemented by the above-mentioned model training system. This embodiment includes the following steps:
[0098] S601: The server sends second indication information to multiple client devices.
[0099] The server sends second instruction information to each of the plurality of client devices, instructing the plurality of clients to measure the models of the locally trained tasks and report the measurement information. The plurality of client devices are client devices participating in federated multi-task learning, and each client device trains a model for at least one task.
[0100] The second indication information includes at least one of an identifier of a model trained by the corresponding client device, a model measurement period, a model measurement information reporting condition, a model measurement information reporting period, and a measurement indicator. The model measurement period, model measurement information reporting condition, model measurement information reporting period, or measurement indicator may be the same or different for different models.
[0101] The server may periodically send the second indication information to the client device to periodically obtain the model measurement information reported by the client device. The server may also send the second indication information once, the second indication information carrying parameters such as the model measurement period, the model measurement information reporting conditions, or the model measurement information reporting period, so that the client device periodically reports the model measurement information to the server according to the parameters in the second indication information or when the reporting conditions are met.
[0102] S602: Multiple client devices respectively measure the locally trained models according to the second indication information to obtain model measurement information of each model.
[0103] After receiving the second indication information from the server, the multiple client devices measure the locally trained models respectively according to the second indication information to obtain model measurement information of each model.
[0104] The second indication information, for example, includes a measurement metric, and the client device measures the model according to the measurement metric in the second indication information. The measurement metric, for example, includes at least one of the following: model loss value, accuracy, communication overhead, latency, and energy efficiency. Thus, the model measurement information includes at least one of the following measurement values: model loss value, accuracy, communication overhead, latency, and energy efficiency. The client device may transmit the model measurement information, including at least one of the following measurement values: model loss value, accuracy, communication overhead, latency, and energy efficiency, to the server.
[0105] In another implementation, the client device may calculate the model performance improvement based on at least one of the measured values of the model loss value, accuracy, communication overhead, latency, and energy efficiency, and send the model performance improvement as model measurement information to the server. Alternatively, the client device may send the model performance improvement and at least one of the measured values of the model loss value, accuracy, communication overhead, latency, and energy efficiency as model measurement information to the server.
[0106] S603: Multiple client devices send model measurement information to the server.
[0107] If the second indication information carries a model measurement information reporting period, the client device sends the model measurement information to the server according to the model measurement information reporting period indicated in the second indication information. If the second indication information carries a model measurement information reporting condition, the client device sends the model measurement information to the server when the model measurement information reporting condition is met. Model measurement information reporting conditions include, for example, model convergence, model performance falling below a specified threshold, or excessive computational load on the client device.
[0108] S604: The server obtains model measurement information corresponding to the multiple models.
[0109] For this step, please refer to the relevant content of S501, so it will not be repeated here.
[0110] S605: The server obtains first indication information corresponding to each model based on the model measurement information corresponding to the multiple models, where the first indication information is used to indicate a training strategy of the model.
[0111] For this step, please refer to the relevant content of S502, so it will not be repeated here.
[0112] S606: The server sends the first indication information corresponding to each model to the client device that trains the model.
[0113] For this step, please refer to the relevant content of S503, so it will not be repeated here.
[0114] S607: The multiple client devices adjust the training strategy of the trained model according to the first instruction information.
[0115] After receiving the first indication information from the server, the multiple clients determine the training strategy of the locally trained model based on the first indication information and execute the corresponding training strategy. The training strategy includes, for example, stopping training, restarting training, speeding up training, or slowing down training. The training strategy may also include at least one of model freezing, model invalidation, model selection, model sharing, model fine-tuning, sub-model configuration, model architecture reconfiguration, model reset, model merging, model compression, model decompression, model update, and model splitting.
[0116] When the first indication information includes the weight of the model trained by the client device, the client device can determine the training strategy corresponding to the model trained by itself based on the weight. For example, when the weight is greater than a first threshold, the training speed can be accelerated; when the weight is less than or equal to the first threshold and greater than a second threshold, the training speed can be reduced; when the weight is less than or equal to the second threshold, the training can be stopped. When the local model of the client device is already in the stopped training state, any non-zero weight value received by the client device can be considered as an instruction to restart training.
[0117] The first instruction information received is for instructing the client device to stop training, stop training the local model, and no longer send the local shared model to the server before restarting the training.
[0118] The first indication information received is for instructing the client device to restart training, restart the training of the local model, and resend the locally trained shared model to the server.
[0119] The received first instruction information is for instructing the client device to speed up the training. The training speed may be increased by increasing the learning rate or increasing the number of samples processed in each batch (batch size).
[0120] The first indication information received is for instructing the client device to reduce the training speed. The training speed can be reduced by reducing the accuracy of the model, the learning rate, or the number of local training rounds. In another implementation, the client device can also reduce the training speed by increasing the upload period of the locally trained shared model. Specifically, after the client device increases the upload period of the shared model, when the client device does not send the shared model to the server, the server fusion global shared model does not have the shared model from the client device, that is, the shared model of the client device does not contribute to the global shared model. Then, after the client device receives the global shared model, it replaces the local shared model with the global shared model. Since the replaced shared model of the client device does not participate in the fusion of the global shared model, the local model performance of the client device may decline to a certain extent after the global shared model is replaced, thereby extending the convergence speed of the model to extend the local model life cycle of the client device. However, the client device will still send the shared model to the server. When the client device sends the shared model to the server, the shared model will still be integrated into the global shared model. Therefore, the model trained by the client device will not continue to experience performance degradation, and can maintain a relatively stable state overall during the period of reducing the training speed.
[0121] S608: The multiple client devices send the shared model to the server.
[0122] Except for client devices that have stopped training their models, each client device sends its shared model to the server according to its shared model upload cycle. The server then merges the shared models of each client device to form a global model. Each client device can send its shared model to the server simultaneously or at different times; this is not a limitation.
[0123] S609: The server fuses the shared models of multiple models to obtain a global shared model.
[0124] In one embodiment, the server may perform an averaging process on the received multiple shared models, and use the result of averaging the multiple shared models as the global shared model.
[0125] In another embodiment, the server performs weighted processing on the received multiple shared models according to the weights, and uses the results of the weighted processing of the multiple shared models as the global shared model. The weights may be weights obtained based on the model measurement information of each model. For example, the weights are weights obtained in S605 based on the model performance improvement of each model. Thus, models with high weights and unconverged performance contribute more to the global shared model. When the client devices corresponding to the models with high weights and unconverged performance continue to train based on the global shared model, the model convergence can be accelerated due to the high degree of matching with the local training data, thereby increasing the model training speed and shortening the model training cycle. Models with low weights and that have begun to converge contribute less to the global shared model. When the client devices corresponding to the models with low weights and that have begun to converge continue to train based on the global shared model, the model convergence can be slowed down due to the slightly low degree of matching with the local training data, thereby reducing the model training speed and extending the model training cycle. However, since the global shared model still includes shared models contributed by models with low weights that have begun to converge, the global shared model will not deviate too much from the models with low weights that have begun to converge. Instead, while ensuring the stability of the models with low weights that have begun to converge, the training speed is reduced, making the performance of the global shared model and the models trained locally on each client device controllable.
[0126] S610: The server sends a global shared model to each client device.
[0127] After obtaining the global shared model, the server sends the global shared model to each client device, so that the client device replaces the local shared model with the global shared model and continues training or reasoning based on the replaced model.
[0128] S611: Multiple client devices replace the shared model of the local model with the global shared model.
[0129] After receiving the global shared model from the server, each client device updates the shared model of the locally trained model to the global shared model, and performs training or inference based on the updated model.
[0130] In this embodiment, the server sends a second instruction message instructing model measurement to multiple client devices participating in federated multi-task learning. Each client device then measures its trained model based on the second instruction message and reports the resulting model measurement information to the server. The server determines the current training progress of each model based on its model measurement information, and then determines the training strategy for each model based on its training progress. This manages the lifecycle of multiple models, ensuring that the lifecycles of each model remain as consistent as possible. Consequently, the performance of the global shared model obtained by the server's fusion of the shared model of each model is more stable.
[0131] In order to make the technical solution provided by this application easier to understand, the following description is given using a wireless federated multi-task learning scenario as an example.
[0132] As shown in Figure 7, Figure 7 is a schematic diagram of a scenario of wireless federated multi-task learning provided by this application. In Figure 7, three user equipment (UE) are used as an example to train the model of one of the three tasks: channel compression, positioning, and line of sight (LOS) / non-line-of-sight (NLOS) recognition. UE1 trains the positioning model, UE2 trains the channel compression model, and UE3 trains the LOS / NLOS recognition model. The base station acts as a server to manage the lifecycles of the three models trained by UE1 to UE3, and integrates the shared model of the three models trained by UE1 to UE3 to obtain a global shared model and send it to each UE.
[0133] As shown in Figures 8a to 8c, Figure 8a is a structural diagram of the positioning model provided by this application; Figure 8b is a structural diagram of the channel compression model provided by this application; Figure 8c is a structural diagram of the LOS / NLOS recognition model provided by this application. The positioning model includes convolutional neural networks (CNN) 1, CNN2 and a multi-layer perceptron (MLP). The channel compression model includes CNN1. The LOS / NLOS recognition model includes CNN1. It can be seen that the complexity of the three models is different, so the training cycles of the three models are also different. The CNN1 networks of the three models have the same structure and are all used to process channel data. Channel features will be used in all three tasks, so this part of the network can be shared, that is, CNN1 is a shared model. The parameters of CNN1 can be fused at the base station to obtain a global shared model and sent down to the three UEs.
[0134] The base station may carry the first indication information or the second indication information through an information element (IE) in a radio resource control (RRC) message.
[0135] The base station sends an RRC message carrying the second indication information to UE1 to UE3 respectively. The second indication information includes, for example, a model identifier of the specified model to be measured, the time to carry out the model measurement, a specified test data set, a measurement indicator, at least one of a period or condition for reporting the model measurement information, etc. After UE1 obtains the second indication information, it measures the positioning model according to the second indication information; after UE2 obtains the second indication information, it measures the channel compression model according to the second indication information; after UE3 obtains the second indication information, it measures the LOS / NLOS identification model according to the second indication information. After completing the model measurement, UE1 to UE3 send their respective model measurement information to the base station according to the reporting period or reporting condition indicated in the second indication information.
[0136] After receiving the model measurement information of the positioning model reported by UE1, the model measurement information of the channel compression model reported by UE2, and the model measurement information of the LOS / NLOS identification model reported by UE3, the base station determines the training progress of the three models based on the model measurement information. If the training progress of the channel compression model and the LOS / NLOS identification model is faster than that of the positioning model, the base station may send first indication information to UE2 to instruct UE2 to reduce the training speed of the channel compression model, send first indication information to UE3 to instruct UE3 to reduce the training speed of the LOS / NLOS identification model, and send first indication information to UE1 to instruct UE1 to speed up the training speed of the positioning model, so that the life cycles of the three models are as close as possible.
[0137] The base station also determines the weights of the shared model of the three models based on the model measurement information of the three models. After receiving the CNN1 uploaded from UE1 to UE3, the base station fuses the global CNN1 according to the weights corresponding to each CNN1. After obtaining the global CNN1, the base station sends the global CNN1 to UE1 to UE3 respectively. UE1 replaces the CNN1 in the positioning model with the global CNN1, UE2 replaces the CNN1 in the channel compression model with the global CNN1, and UE3 replaces the CNN1 in the LOS / NLOS recognition model with the global CNN1. After the replacement is completed, training or inference continues.
[0138] As shown in Figure 9, based on the same technical concept, the present application also provides a server 900. The server 900 includes a processing module 901 and a transceiver module 902. Among them, the processing module 901 is used to obtain model measurement information corresponding to multiple models, the multiple models are models corresponding to multiple related tasks, the multiple models are models locally trained by multiple client devices, and the model measurement information is sent to the server after the multiple client devices measure the locally trained models. The processing module 901 is used to obtain the first indication information corresponding to each model based on the model measurement information corresponding to the multiple models, and the first indication information is used to indicate the training strategy of the model. The transceiver module 902 is used to send the first indication information corresponding to each model to the client device that trained the model.
[0139] In one possible implementation, the processing module 901 is configured to obtain a model performance improvement corresponding to each model based on model measurement information corresponding to the multiple models. The processing module 901 determines first indication information corresponding to each model based on the model performance improvement corresponding to each model.
[0140] In one possible implementation, the training strategy includes stopping training, restarting training, speeding up training, or slowing down training.
[0141] In one possible implementation, each model includes a shared model, which is the same model among the multiple models. The first indication information is further used to indicate model upload parameters for the shared model upload server. The model upload parameters may include a shared model upload period and a model upload compression ratio.
[0142] In a possible implementation, the model measurement information includes at least one of model performance improvement, model loss value, accuracy, communication overhead, delay, and energy efficiency.
[0143] In one possible implementation, the transceiver module is used to send second indication information to multiple client devices, where the second indication information is used to instruct the multiple client devices to measure the locally trained model to obtain model measurement information.
[0144] In a possible implementation manner, the second indication information includes at least one of a model identifier, a model measurement period, a model measurement information reporting condition, a model measurement information reporting period, and a measurement indicator.
[0145] In one possible implementation, each model includes a shared model, which is the same model among multiple models. Transceiver module 902 is configured to receive shared models corresponding to multiple models uploaded by multiple client devices. Processing module 901 is configured to fuse the shared models corresponding to the multiple models based on the weights corresponding to each model to obtain a global shared model. The weights corresponding to each model are obtained based on model measurement information corresponding to the multiple models. Transceiver module 902 is configured to transmit the global shared model to the multiple client devices.
[0146] As shown in Figure 10, Figure 10 is a structural diagram of an embodiment of a client device provided in this application. The client device 1000 includes a processing module 1001. The processing module 1001 is used to obtain first indication information from the server, where the first indication information is obtained based on model measurement information corresponding to multiple models, where the multiple models are models corresponding to multiple associated tasks, where the multiple models include models trained locally by the client device, and where the model measurement information is sent to the server after multiple client devices measure the locally trained models; the processing module 1001 is used to adjust the training strategy of the model trained by the client device according to the first indication information.
[0147] In one possible implementation, the training strategy includes stopping training, restarting training, speeding up training, or slowing down training.
[0148] In a possible implementation, each model includes a shared model, which is the same model among the multiple models. The first indication information is further used to indicate model upload parameters of the shared model upload server.
[0149] In a possible implementation, the model measurement information includes at least one of model performance improvement, model loss value, accuracy, communication overhead, delay, and energy efficiency.
[0150] In one possible implementation, the client device further includes a transceiver module 1002. The processing module 1001 is configured to obtain second indication information from the server. The client device measures the model trained by the client device based on the second indication information to obtain model measurement information. The transceiver module 1002 is configured to send the model measurement information to the server.
[0151] In a possible implementation manner, the second indication information includes at least one of a model identifier, a model measurement period, a model measurement information reporting condition, a model measurement information reporting period, and a measurement indicator.
[0152] As shown in Figure 11, Figure 11 is a schematic diagram of the structure of another embodiment of the server provided by this application. The server 1100 includes a communication interface 1101 and a processor 1102. The communication interface 1101 is used to communicate with multiple client devices. According to the communication interface 1101 and the processor 1102, the operations performed by the server in any of the above-mentioned model training method embodiments are implemented.
[0153] As shown in Figure 12, Figure 12 is a schematic diagram of the structure of another embodiment of the client device provided by this application. Client device 1200 includes a communication interface 1201 and a processor 1202. The communication interface 1201 is used to communicate with the server. According to the communication interface 1201 and the processor 1202, the operations performed by the client device in any of the above-mentioned model training method embodiments are implemented.
[0154] The present application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a computer, implements the process implemented by the server or client device in the model training method of any of the above method embodiments.
[0155] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0156] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical or other forms.
[0157] The units described as separate components may or may not be physically separate, and 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 these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0158] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0159] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the technical solution of the present application can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network detection device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
Claims
1. A model training method, characterized in that: The method comprises: The server obtains model measurement information corresponding to multiple models, where the multiple models are models corresponding to multiple related tasks, the multiple models are models locally trained by multiple client devices, and the model measurement information is sent to the server after the multiple client devices measure the locally trained models; The server obtains, based on the model measurement information corresponding to the multiple models, first indication information corresponding to each of the models, where the first indication information is used to indicate a training strategy for the model; The server sends the first indication information corresponding to each of the models to the client device that trains the model.
2. The method according to claim 1, characterized in that The server obtains first indication information corresponding to each of the models according to the model measurement information corresponding to the multiple models, including: The server obtains a model performance improvement corresponding to each of the models according to the model measurement information corresponding to the multiple models; The server determines the first indication information corresponding to each of the models according to the model performance improvement amount corresponding to each of the models.
3. The method according to claim 1 or 2, characterized in that The training strategy includes stopping training, restarting training, speeding up training or slowing down training.
4. The method according to any one of claims 1 to 3, characterized in that Each of the models includes a shared model, and the shared model is the same model among the multiple models. The first indication information is also used to indicate the model upload parameters of the shared model to be uploaded to the server.
5. The method according to any one of claims 1 to 4, characterized in that The model measurement information includes at least one of model performance improvement, model loss value, accuracy, communication overhead, delay and energy efficiency.
6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: The server sends second indication information to the multiple client devices, where the second indication information is used to instruct the multiple client devices to measure the locally trained model to obtain the model measurement information.
7. The method according to claim 6, characterized in that The second indication information includes at least one of an identifier of the model, a model measurement period, a model measurement information reporting condition, a model measurement information reporting period, and a measurement indicator.
8. The method according to any one of claims 1 to 7, characterized in that Each of the models includes a shared model, and the shared model is the same model among the multiple models. The method further includes: The server receives the shared model corresponding to the multiple models uploaded by the multiple client devices; The server fuses the shared models corresponding to the multiple models according to the weight corresponding to each model to obtain a global shared model, wherein the weight corresponding to each model is obtained according to the model measurement information corresponding to the multiple models; The server sends the global shared model to the plurality of client devices.
9. A model training method, characterized in that: The method comprises: The client device obtains first indication information from the server, where the first indication information is obtained based on model measurement information corresponding to a plurality of models, where the plurality of models are models corresponding to a plurality of associated tasks, the plurality of models include a model locally trained by the client device, and the model measurement information is sent to the server after the plurality of client devices measure the locally trained models; The client device adjusts the training strategy of the model trained by the client device according to the first indication information.
10. The method according to claim 9, characterized in that The training strategy includes stopping training, restarting training, speeding up training or slowing down training.
11. The method according to claim 9 or 10, characterized in that Each of the models includes a shared model, and the shared model is the same model among the multiple models. The first indication information is also used to indicate the model upload parameters of the shared model to be uploaded to the server.
12. The method according to any one of claims 9 to 11, characterized in that The model measurement information includes at least one of model performance improvement, model loss value, accuracy, communication overhead, delay and energy efficiency.
13. The method according to any one of claims 9 to 12, characterized in that The method further comprises: The client device obtains second indication information from the server, The client device measures the model trained by the client device according to the second indication information to obtain the model measurement information; The client device sends the model measurement information to the server.
14. The method according to claim 13, characterized in that The second indication information includes at least one of an identifier of the model, a model measurement period, a model measurement information reporting condition, a model measurement information reporting period, and a measurement indicator.
15. A server, characterized in that: The server includes a processing module and a transceiver module; The processing module is configured to obtain model measurement information corresponding to a plurality of models, wherein the plurality of models are models corresponding to a plurality of related tasks, the plurality of models are models locally trained by a plurality of client devices, and the model measurement information is sent to the server after the plurality of client devices measure the locally trained models; The processing module is configured to obtain first indication information corresponding to each of the models based on model measurement information corresponding to the multiple models, where the first indication information is used to indicate a training strategy for the model; The transceiver module is used to send the first indication information corresponding to each model to the client device that trains the model.
16. A client device, characterized in that: The client device includes a processing module; The processing module is configured to obtain first indication information from the server, where the first indication information is obtained based on model measurement information corresponding to a plurality of models, where the plurality of models are models corresponding to a plurality of associated tasks, the plurality of models include a model locally trained by the client device, and the model measurement information is sent to the server after the plurality of client devices measure the locally trained models; The processing module is used to adjust the training strategy of the model trained by the client device according to the first indication information.
17. A model training system, characterized in that: The system includes a server and multiple client devices, wherein the multiple clients are devices that train models corresponding to multiple related tasks, and the multiple models are models trained locally by the multiple client devices; The multiple client devices are respectively used to send model measurement information of the locally trained model to the server; The server is configured to obtain first indication information corresponding to each of the models based on model measurement information corresponding to the multiple models, where the first indication information is used to indicate a training strategy for the model; The server is configured to send the first indication information corresponding to each of the models to the client device that trains the model; The multiple client devices are respectively used to adjust the training strategy of the model trained by the client device according to the first indication information.
18. A server, characterized in that: The server includes a processor and a communication interface, and the communication interface is used to communicate with multiple client devices. According to the processor and the communication interface, the model training method according to any one of claims 1 to 8 is implemented.
19. A client device, characterized in that: The client device includes a processor and a communication interface, and the communication interface is used to communicate with the server. According to the processor and the communication interface, the model training method according to any one of claims 9 to 14 is implemented.
20. A computer-readable storage medium, characterized in that The computer-readable storage medium includes instructions that, when executed on a computer, cause the computer to execute the model training method according to any one of claims 1 to 8 or 9 to 14.
Citation Information
Patent Citations
Transverse federation learning system optimization method, device and equipment and readable storage medium
CN111522669A
Load prediction method and system
CN113610303A
Joint learning training method and device
CN114118275A
Efficient federal training method and device based on model migration
CN114666218A