Communication method and communication apparatus
Patent Information
- Application Number
- CN202510574700.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-30
- Publication Date
- 2026-10-30
AI Technical Summary
[0004]但是FL技术目前存在如何技术问题:如何兼顾网络资源和训练所得的机器学习模型的性能,即避免网络资源浪费的情况下训练得到性能较好的机器学习模型,或者说,有效利用网络资源得到性能满足需求的机器学习模型
[0092]可以理解,第五方面至第二十五方面中任意一方面中的技术效果可以参考对应方法方面中的技术效果,此处不再赘述。
Smart Images

Figure CN123020404A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more particularly to communication methods and communication devices. Background Technology
[0002] In wireless communication systems, machine learning (ML) models can be obtained through federated learning (FL) technology.
[0003] The method for training machine learning models using FL technology is as follows: The server is responsible for discovering and selecting clients to participate in the training, and requesting the clients to train their local models and report the local model information obtained from the training; after the clients report the local model information obtained from their training to the server, the server aggregates this local model information to obtain the global model, and sends the global model to the clients. If necessary, the above training process is repeated.
[0004] However, FL technology currently faces several technical challenges: how to balance network resources with the performance of the trained machine learning model, that is, how to train a machine learning model with good performance without wasting network resources, or in other words, how to effectively utilize network resources to obtain a machine learning model with performance that meets the requirements. Summary of the Invention
[0005] The communication method and communication device provided in this application take into account both network resources and the performance of the trained machine learning model. This helps to train a machine learning model with better performance while avoiding the waste of network resources, or in other words, it helps to effectively utilize network resources to obtain a machine learning model with performance that meets the requirements.
[0006] Firstly, this application provides a communication method, which can be executed by a first device. The first device can be a communication device, or a device within the communication device (e.g., a module, communication module, circuit or chip responsible for communication functions (such as a modem chip, also known as a baseband chip, or a system-on-chip (SoC) chip containing a modem core or a system-in-package (SIP) chip), a chip system, or a processor), or a logical node, logical module, or software capable of implementing all or part of the functions of the communication device. As an example, the communication device is an access network device or a terminal.
[0007] The method includes: receiving a first model; sending first information, the first information including the contribution value of the local dataset of the first device to the first model; and receiving second information, the second information indicating whether the first device is suitable for training the first model.
[0008] In this method, the first device sends first information indicating the contribution value of the first device's local dataset to the first model. This helps the other end determine whether the first device is suitable for training the first model based on the contribution value. This helps the other end select devices with high contribution value to train the first model to ensure the performance of the trained model. At the same time, it can avoid devices with low contribution value from training the first model. Ultimately, this method effectively utilizes network resources to obtain a machine learning model with performance that meets the requirements.
[0009] In some possible implementations, the contribution value of the local dataset of the first device to the first model includes: the loss value of the first model on the local dataset of the first device.
[0010] In this implementation, the contribution of the local dataset of the first device to the first model is represented by the loss value of the first model on the local dataset of the first device. This ensures the accuracy of the contribution value of the local dataset to the first model. Furthermore, existing methods for obtaining the model's loss value on the dataset can be used to obtain the contribution value of the local dataset, thus reducing the complexity of obtaining this contribution value.
[0011] In some possible implementations, the first information may also include the resource status of the first device, which includes the used resources of the first device and / or the remaining resources of the first device.
[0012] In this implementation, the first device indicates its own resource status, which helps the other end determine whether the first device is suitable for training the first model based on its resource status. This helps the other end to select a device with suitable resources to train the first model. For example, it can prevent the other end from selecting a device with insufficient resources to train the first model, which would affect the performance of the trained model or the training efficiency of the model. Alternatively, it can facilitate the other end to select a device with better resources to train the first model to ensure model performance and training efficiency, ultimately helping to improve the performance and training efficiency of the model.
[0013] In some possible implementations, the method further includes: the remaining resources of the first device are suitable for training the first model.
[0014] In other words, the first device sends the first information only when its remaining resources are suitable for training the first model.
[0015] If the remaining resources of the first device are not suitable for training the first model, then sending the first information might be an invalid transmission, thus wasting transmission resources. Furthermore, if the receiving end selects the first device to train the first model based on the first information, it will affect model performance and training efficiency, wasting network resources. Therefore, the first device should only send the first information when its remaining resources are suitable for training the first model. This helps avoid resource waste and ensures the performance and training efficiency of the first model.
[0016] Secondly, this application provides a communication method, which can be executed by a second device. The second device can be a communication device, or a device within the communication device (e.g., a module, communication unit, circuit or chip responsible for communication functions, chip system, or processor), or a logical node, logical module, or software capable of implementing all or part of the functions of the communication device. As an example, the communication device is a core network element or an access network device.
[0017] The method includes: sending a first model; receiving first information, the first information including the contribution value of the local dataset of the first device to the first model; and sending second information, the second information indicating whether the first device is suitable for training the first model, the second information being determined based on the first information.
[0018] In this implementation, the second device determines whether the first device is suitable for training the first model based on the contribution value of the first device's local dataset to the first model. This helps the second device select devices with high contribution value to train the first model, thus ensuring the performance of the trained model. At the same time, it avoids devices with low contribution value from training the first model, ultimately achieving effective utilization of network resources to obtain a machine learning model with performance that meets the requirements.
[0019] In some possible implementations, the contribution value of the local dataset of the first device to the first model includes: the loss value of the first model on the local dataset of the first device.
[0020] In this implementation, the contribution of the local dataset of the first device to the first model is represented by the loss value of the first model on the local dataset of the first device. This ensures the accuracy of the contribution value of the local dataset to the first model. Furthermore, existing methods for obtaining the model's loss value on the dataset can be used to obtain the contribution value of the local dataset, thus reducing the complexity of obtaining this contribution value.
[0021] In some possible implementations, the first information may further include: the resource status of the first device, which includes the used resources of the first device and / or the remaining resources of the first device.
[0022] In this implementation, the second device can determine whether the first device is suitable for training the first model based on the resource situation of the first device. This helps the second device to select a device with suitable resources to train the first model. For example, it can avoid the second device selecting a device with insufficient resources to train the first model, which would affect the performance of the trained model or the training efficiency of the model. Alternatively, it can help the second device select a device with better resources to train the first model to ensure model performance and training efficiency, ultimately helping to improve the performance and training efficiency of the model.
[0023] In some possible implementations, sending the second information based on the first information includes: sending the second information based on the first information and the third information, wherein the third information includes: the similarity between the model recently reported by the first device and the model recently reported by each of the multiple devices, and / or, the weights of the training in round t in round n, wherein the second information is used to indicate whether the first device is suitable for training the first model in round t, where n is a positive integer greater than 1 and t is a positive integer less than or equal to n.
[0024] Optionally, the larger t is, the greater the weight of the t-th training round in the n-th training round. Here, the t-th training round can be understood as the current training round that needs to be performed.
[0025] In this implementation, in addition to the contribution value of the local dataset on the first device to the first model, the similarity between the model most recently trained and uploaded by the first device in the n rounds of training and the models most recently trained and uploaded by other devices in the n rounds of training is also considered. This helps to avoid selecting devices with similar contribution value to the model for training, thereby helping to avoid resource waste.
[0026] In this implementation, the appropriate device for training the model in round t is selected based on the importance of round t in the overall n training rounds. This helps to select more suitable devices to participate in the training of the first model, thereby improving the performance of the training results.
[0027] Thirdly, this application provides a communication device. This device can be a communication equipment, or a component within a communication equipment (e.g., a module, communication module, circuit or chip responsible for communication functions (such as a modem chip, also known as a baseband chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor), or a logical node, logical module, or software capable of implementing all or part of the functions of the communication equipment. As an example, the communication equipment is an access network device or terminal.
[0028] The method includes: receiving a first model; sending first information, the first information including the contribution value of the local dataset of the first device to the first model; receiving fourth information, the fourth information including a score of training the first model using the first device; and determining fifth information, the fifth information including whether the first device is suitable for training the first model, the fifth information being determined based on the fourth information.
[0029] In this method, the first device reports the contribution value of the local dataset to the first model, so that the other end can determine the score of the first device for training the first model based on the contribution value; and after the other end receives the score, it informs the first device of the score, and the first device determines whether the first device is suitable for training the first model based on the score.
[0030] In some possible implementations, the contribution value of the local dataset of the first device to the first model includes: the loss value of the first model on the local dataset of the first device.
[0031] In some possible implementations, the first information may also include the resource status of the first device, which includes the used resources of the first device and / or the remaining resources of the first device.
[0032] In some possible implementations, the remaining resources of the first device are suitable for training the first model.
[0033] In some possible implementations, the method further includes sending a fifth message. In this implementation, after the first device determines whether it is suitable for training the first model, it indicates the result to the other end so that the other end can be aware of the result.
[0034] In some possible implementations, the fifth information includes: whether the first device is suitable for training the first model in the t-th training round of n rounds of training, where t is a positive integer less than or equal to n and n is a positive integer greater than 1; wherein the fifth information is determined based on the fourth information, including: the fifth information is determined based on the fourth information and the scoring threshold, wherein the larger t is, the smaller the scoring threshold is.
[0035] In this implementation, each of the n training rounds has a corresponding scoring threshold. The later the round, the lower the corresponding scoring threshold. This helps to select a sufficient number of devices to participate in the training of the first model in later rounds, thereby ensuring the performance of the training results.
[0036] In some possible implementations, this method further includes receiving sixth information, which is used to determine the scoring threshold. That is, the scoring threshold for each round is indicated by the peer, which helps the peer flexibly indicate the scoring threshold based on its needs, thereby obtaining training results that meet the requirements.
[0037] The technical effects of the communication method in the third aspect can be referenced from the technical effects of the communication method in the first aspect, and will not be repeated here.
[0038] Fourthly, this application provides a communication method, which can be executed by a second device. The second device can be a communication device, or a device within the communication device (e.g., a module, communication unit, circuit or chip responsible for communication functions, chip system, or processor), or a logical node, logical module, or software capable of implementing all or part of the functions of the communication device. As an example, the communication device is a core network element or an access network device.
[0039] The method includes: sending a first model; receiving first information, the first information including the contribution value of the local dataset of the first device to the first model; and sending fourth information, the fourth information including a score of training the first model using the first device, the fourth information being determined based on the first information.
[0040] In some possible implementations, the contribution value of the local dataset of the first device to the first model includes: the loss value of the first model on the local dataset of the first device.
[0041] In some implementations, the first information also includes: the resource status of the first device, which includes the used resources of the first device and / or the remaining resources of the first device.
[0042] In some possible implementations, the method further includes receiving fifth information, which indicates whether the first device is suitable for training the first model.
[0043] In some possible implementations, the fourth information is determined based on the first information, and also includes: the fourth information is based on the similarity between the first information and the model most recently reported by the first device and the model most recently reported by each of the multiple devices.
[0044] In some possible implementations, the method further includes: sending sixth information, the sixth information being used to determine a scoring threshold, the scoring threshold being used to determine whether the first device is suitable for training the first model, or, in other words, the scoring threshold being used to determine fifth information.
[0045] In some possible implementations, the method further includes: a scoring threshold for determining whether the first device is suitable for training the first model in the t-th training round of n rounds of training, where t is a positive integer less than or equal to n and n is a positive integer greater than 1, wherein the larger t is, the smaller the scoring threshold is.
[0046] The technical effects of the communication methods in the fourth aspect can be referenced from the technical effects of the communication methods in the third aspect, and will not be elaborated here.
[0047] Fifthly, this application provides a communication device. This device may be a communication equipment, or a component within a communication equipment (e.g., a module, communication module, circuit or chip responsible for communication functions (such as a modem chip, also known as a baseband chip, or a SoC chip or SIP chip containing a modem core), a chip system, or a processor), or a logical node, logical module, or software capable of implementing all or part of the functions of the communication equipment. As an example, the communication equipment is an access network device or a terminal.
[0048] This device may include modules that perform the methods / operations / steps / actions described in the first aspect or any of the possible implementations thereof. These modules may be hardware circuits, software, or a combination of hardware circuits and software.
[0049] In one design, the device may include a processing module; further, it may also include a communication module. The communication module is used to perform the sending and receiving actions in the method described in the first aspect or any of its possible implementations above, while the processing module is used to perform the processing actions involved in the method described in the first aspect or any of its possible implementations above.
[0050] Sixthly, this application provides a communication device. This device may be a communication equipment, or a component within a communication equipment (e.g., a module, communication module, circuit or chip responsible for communication functions, chip system, or processor), or a logical node, logical module, or software capable of implementing all or part of the functions of the communication equipment. As an example, the communication equipment is a core network element or an access network device.
[0051] This device may include modules that perform the methods / operations / steps / actions described in the second aspect or any of the possible implementations thereof. These modules may be hardware circuits, software, or a combination of hardware circuits and software.
[0052] In one design, the device may include a processing module and a communication module. The communication module is used to perform the sending and receiving actions in the method described in the second aspect above or any possible implementation thereof, while the processing module is used to perform the processing actions involved in the method described in the second aspect above or any possible implementation thereof.
[0053] Seventhly, this application provides a communication device. This device may be a communication equipment, or a component within a communication equipment (e.g., a module, communication module, circuit or chip responsible for communication functions (such as a modem chip, also known as a baseband chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor), or a logical node, logical module, or software capable of implementing all or part of the functions of the communication equipment. As an example, the communication equipment is an access network device or terminal.
[0054] This device may include modules that perform the methods / operations / steps / actions described in the third aspect or any of the possible implementations thereof. These modules may be hardware circuits, software, or a combination of hardware circuits and software.
[0055] In one design, the device may include a processing module; further, it may also include a communication module. The communication module is used to perform the sending and receiving actions in the method described in the third aspect above or any of its possible implementations, while the processing module is used to perform the processing actions involved in the method described in the third aspect above or any of its possible implementations.
[0056] Eighthly, this application provides a communication device. This device may be a communication equipment, or a component within a communication equipment (e.g., a module, communication module, circuit or chip responsible for communication functions, chip system, or processor), or a logical node, logical module, or software capable of implementing all or part of the functions of the communication equipment. As an example, the communication equipment is a core network element or an access network device.
[0057] This device may include modules that perform the methods / operations / steps / actions described in the fourth aspect or any of the possible implementations thereof. These modules may be hardware circuits, software, or a combination of hardware circuits and software.
[0058] In one design, the device may include a processing module and a communication module. The communication module is used to perform the sending and receiving actions in the method described in the fourth aspect above or any possible implementation thereof, while the processing module is used to perform the processing actions involved in the method described in the fourth aspect above or any possible implementation thereof.
[0059] Ninthly, this application provides a communication device including a processor, wherein instructions are executed by the processor to cause the method as described in the first aspect or any possible implementation thereof to be implemented.
[0060] Optionally, the device may further include a storage medium that stores the instructions executed by the processor.
[0061] In some implementations, the storage medium is integrated with the processor, for example, the storage medium is integrated into the processor.
[0062] In a tenth aspect, this application provides a communication device including a processor, wherein instructions are executed by the processor to cause the method as described in the second aspect or any possible implementation thereof to be implemented.
[0063] Optionally, the device may further include a storage medium that stores the instructions executed by the processor.
[0064] In some implementations, the storage medium is integrated with the processor, for example, the storage medium is integrated into the processor.
[0065] In one aspect, this application provides a communication device including a processor, wherein instructions are executed by the processor to cause the method as described in the third aspect or any possible implementation thereof to be implemented.
[0066] Optionally, the device may further include a storage medium that stores the instructions executed by the processor.
[0067] In some implementations, the storage medium is integrated with the processor, for example, the storage medium is integrated into the processor.
[0068] In a twelfth aspect, this application provides a communication device including a processor, wherein instructions are executed by the processor to cause the method as described in the fourth aspect or any possible implementation thereof to be implemented.
[0069] Optionally, the device may further include a storage medium that stores the instructions executed by the processor.
[0070] In some implementations, the storage medium is integrated with the processor, for example, the storage medium is integrated into the processor.
[0071] In a thirteenth aspect, this application provides a chip including processing circuitry for running programs or instructions to implement methods as described in the first aspect or any possible implementation thereof.
[0072] Optionally, the chip may further include a memory for storing programs or instructions.
[0073] Optionally, the chip may also include the transceiver circuit, or an input / output interface.
[0074] In a fourteenth aspect, this application provides a chip including processing circuitry for running programs or instructions to implement methods as described in the second aspect or any possible implementation thereof.
[0075] Optionally, the chip may further include a memory for storing programs or instructions.
[0076] Optionally, the chip may also include the transceiver circuit, or an input / output interface.
[0077] In a fifteenth aspect, this application provides a chip including processing circuitry for running programs or instructions to implement methods as described in the third aspect or any of its possible implementations.
[0078] Optionally, the chip may further include a memory for storing programs or instructions.
[0079] Optionally, the chip may also include the transceiver circuit, or an input / output interface.
[0080] In a sixteenth aspect, this application provides a chip including processing circuitry for running programs or instructions to implement methods as described in the fourth aspect or any possible implementation thereof.
[0081] Optionally, the chip may further include a memory for storing programs or instructions.
[0082] Optionally, the chip may also include the transceiver circuit, or an input / output interface.
[0083] In a seventeenth aspect, this application provides a computer-readable storage medium including instructions that, when executed by a processor, cause a method as described in the first aspect or any possible implementation thereof to be implemented.
[0084] In an eighteenth aspect, this application provides a computer-readable storage medium including instructions that, when executed by a processor, cause the method as described in the second aspect or any possible implementation thereof to be implemented.
[0085] In a nineteenth aspect, this application provides a computer-readable storage medium including instructions that, when executed by a processor, cause a method as described in the third aspect or any of its possible implementations to be implemented.
[0086] In a twentieth aspect, this application provides a computer-readable storage medium including instructions that, when executed by a processor, cause the method as described in the fourth aspect or any of its possible implementations to be implemented.
[0087] In a twentieth aspect, this application provides a computer program product comprising computer program code or instructions that, when executed, cause the method as described in the first aspect or any of its possible implementations to be implemented.
[0088] In a twentieth aspect, this application provides a computer program product comprising computer program code or instructions that, when executed, cause the method as described in the second aspect or any of its possible implementations to be implemented.
[0089] In a twentieth aspect, this application provides a computer program product comprising computer program code or instructions that, when executed, cause the method described in the third aspect or any of its possible implementations to be implemented.
[0090] In a twentieth aspect, this application provides a computer program product comprising computer program code or instructions that, when executed, cause the method as described in the fourth aspect or any of its possible implementations to be implemented.
[0091] In a twentieth aspect, this application provides a communication system for performing the methods described in the first aspect or any possible implementation thereof and the methods described in the second aspect or corresponding implementation thereof; or, for performing the methods described in the third aspect or corresponding implementation thereof and the methods described in the fourth aspect or corresponding implementation thereof.
[0092] It is understood that the technical effects in any of the fifth to twenty-fifth aspects can be referenced from the technical effects in the corresponding method aspects, and will not be elaborated here. Attached Figure Description
[0093] Figure 1 This is a schematic diagram of the architecture for training a model using the federated learning method.
[0094] Figure 2 This is a schematic diagram of the architecture of a communication system according to an embodiment of this application;
[0095] Figures 3 to 8 This is a flowchart illustrating the communication method according to an embodiment of this application;
[0096] Figure 9 and Figure 10 This is a schematic diagram of the communication device according to an embodiment of this application. Detailed Implementation
[0097] To better introduce the technical solution of this application, some related concepts and technologies involved in this application will be introduced below.
[0098] Federated learning is a distributed machine learning method that is an iterative process in which the model is gradually optimized through multiple rounds of training and updates. It has significant advantages in terms of data privacy protection and data utilization efficiency.
[0099] In federated learning, multiple participants (also known as clients or nodes) can share the results of model training while maintaining data locality. Federated learning allows multiple participants (typically devices or servers) to collaboratively train a shared machine learning model while preserving data privacy and locality.
[0100] Figure 1 This is a schematic diagram of the architecture for training a model using a federated learning method. Figure 1 As shown, the system architecture may include at least one client, (such as...) Figure 1 The system architecture includes multiple clients (as shown); and at least one central server. Clients and the central server can communicate via a wireless link, and clients within the system can communicate with each other wirelessly. Clients can transmit their local models trained on their local datasets to the central server; similarly, other clients can transmit a global model obtained by aggregating the models uploaded by the clients to the central server.
[0101] For example, the client can be user equipment (UE) and / or a central server. The central server can be a base station (BS) and / or a core network element.
[0102] Each client has its own local dataset, which can be used to train the model independently. Each client's local dataset can be a dataset involving data privacy or sensitive information.
[0103] The central server distributes the model to each client. This model can be the global model obtained from the previous aggregation round or an initialized global model. Each client receives the model, trains it locally using local data, and then sends the model updates (such as gradients and / or model parameters) to the central server. The central server collects all the model updates from the clients and aggregates them using a specific algorithm (such as averaging, weighted averaging, etc.) to form the global model. The aggregated global model updates are then sent to the clients, who use these updates to improve their own models. This process can be repeated until the model reaches the expected performance level or meets the stopping condition.
[0104] It is understood that the above-described method of federated learning model training between the client and the central server is merely an example, intended to better illustrate the problems of existing technologies. Multiple clients simultaneously training the model, including resource-constrained clients, leads to excessively high communication overhead and computational costs. Federated learning between other devices may also encounter high communication overhead issues, and the technical solution proposed in this application can also be applied.
[0105] To address the aforementioned problems, this application provides a novel technical solution. In one such solution, each of multiple clients reports the contribution value of its local dataset to model training to a central server. The central server selects suitable clients for model training based on these individual contribution values and instructs these selected clients to use their local datasets to train the model. This approach ensures the performance of the trained model while avoiding the waste of network resources, including transmission resources and / or client resources.
[0106] In another technical solution provided in this application, each of the multiple clients reports the contribution value of its local database to model training to the central server. The central server determines the score of each client for the operation of training the model based on the contribution value of each of the multiple clients, and feeds back the score of each client to each client. Each client determines whether it is suitable for training the model based on the score.
[0107] In some implementations, these multiple clients can be selected using other methods. Based on the technical solution provided in this application, participating clients can be selected from these multiple clients for each round of training. It is understood that the clients selected for training in different rounds may differ. Typically, each of these multiple clients will be selected to participate in training in at least one round.
[0108] For example, based on other methods, 10 clients are selected to participate in n rounds of model iterative training. At the beginning of each round of training, clients suitable for participating in this round of training can be selected from these 10 clients based on the technical solution provided in this application. The number of clients selected in each round may be 10 or less.
[0109] In this application, the contribution of the client's local dataset to training the model can be understood as: assuming the model is trained using the client's local dataset, the degree of change in the performance of the trained model compared to the performance of the model before training. If the performance of the trained model changes significantly compared to the performance of the model before training, it indicates that the client's local dataset contributes significantly to training the model; if the performance of the trained model changes slightly compared to the performance of the model before training, it indicates that the client's local dataset contributes little to training the model.
[0110] In some implementations of the technical solutions provided in this application, the contribution value of the client's local dataset to the training model is not obtained by training the model using the local dataset, but is calculated based on the local dataset and model parameters through other means.
[0111] In some implementations of the technical solutions provided in this application, the contribution of the client's local dataset to the training model can be characterized by the model's loss value on the client's local dataset. A larger loss value indicates insufficient understanding of the client's local data, thus a greater contribution of the client's local dataset to the training model; conversely, a smaller loss value indicates sufficient understanding of the client's local data, thus a smaller contribution of the client's local dataset to the training model.
[0112] The implementation method for calculating the contribution value of the client's local dataset to the training model based on the local dataset and model parameters, for example, the implementation method for calculating the loss value of the model on the client's local dataset based on the local dataset and model parameters, can refer to existing technologies.
[0113] In some implementations of the technical solutions provided in this application, not only is the selection of a suitable client for training the model based on the contribution value of the client's local dataset to the training model, but the selection can also be made in conjunction with the client's resource situation.
[0114] In some implementations of the technical solutions provided in this application, when selecting a suitable client for training a model based on the contribution value of the client's local dataset to the training model and / or the client's resource situation, a score for the operation of using the client to train the model can be obtained first based on the contribution value and / or resource situation, and then the suitability of the client for training the model can be determined based on the score.
[0115] For example, the rating corresponding to a client is compared with a rating threshold. If the rating corresponding to the client is greater than or equal to the rating threshold, the client is determined to be suitable for training the model; if the rating corresponding to the client is less than the rating threshold, the client is determined to be unsuitable for training the model.
[0116] In some implementations of the technical solutions provided in this application, based on the "Later-is-better" principle (i.e., the contribution of user experience (UE) to model performance improvement is higher in the later stages of model training than in the earlier stages), the scoring threshold used for selecting clients in later training epochs is lower than the scoring threshold used for selecting clients in earlier training epochs. Thus, the lower scoring threshold for selecting clients in later training epochs allows for the selection of more clients to participate in training, thereby helping to improve the performance of the trained model.
[0117] For information related to "Later is better," please refer to the article titled "Client selection and bandwidth allocation in wireless federated learning networks: A long-term perspective" published in the 2020 issue of IEEE Transactions on Wireless Communications by J. Xu and H. Wang. Further details will not be elaborated here.
[0118] The technical solutions provided in this application will be described below from the aspects of system architecture, method and device.
[0119] In the description of the embodiments of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can mean A or B. "And / or" in this application is merely a description of the relationship between the related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. A and B can be singular or plural.
[0120] In the description of the embodiments of this application, unless otherwise stated, "a plurality of" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of a single item or a plurality of items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0121] In the description of the embodiments of this application, the words "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design options. Specifically, the use of the words "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.
[0122] In the description of the embodiments of this application, the terms "information", "signal", "message", "channel", and "signaling" may sometimes be used interchangeably. It should be noted that when their distinctions are not emphasized, their intended meanings are matched.
[0123] In the description of the embodiments of this application, the terms "of", "corresponding (relevant)" and "corresponding" may sometimes be used interchangeably. It should be noted that, without emphasizing their distinction, their intended meanings are matched.
[0124] In the description of the embodiments of this application, the order of the process numbers does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0125] In the description of the embodiments of this application, "preset," "predefined," or "preconfigured" can be implemented by pre-storing corresponding codes, tables, or other means that can be used to indicate relevant information in the device (e.g., including terminals and wireless access network devices), or by being pre-defined in a protocol. This application does not limit the specific implementation method. "Stored" can refer to storing in one or more memories. The one or more memories can be separate settings or integrated into an encoder or decoder, processor, or communication device. The one or more memories can also be partially separate settings and partially integrated into a decoder, processor, or communication device. The type of memory can be any form of storage medium, and this application does not limit this.
[0126] In the description of the embodiments of this application, "protocol" may refer to standard protocols in the field of communications, such as 3GPP LTE protocols (such as technical specification (TS) 36, i.e., the TS36 series of technical specifications), NR protocols (such as the TS38 series of technical specifications), and related protocols applied to future communication systems. This application does not limit this.
[0127] It is understood that in this application, "...when" and "if" both refer to the corresponding processing that will be carried out under certain objective circumstances, and are not limited to a specific time, nor do they require a judgment action to be performed during implementation.
[0128] It is understood that some optional features in the embodiments of this application can be implemented independently in certain scenarios without relying on other features, such as the current solution on which they are based, to solve the corresponding technical problems and achieve the corresponding effects. Alternatively, they can be combined with other features as needed in certain scenarios. Correspondingly, the apparatus given in the embodiments of this application can also implement these features or functions, which will not be elaborated here.
[0129] In this application, unless otherwise specified, the same or similar parts between the various embodiments can be referred to each other. In the various embodiments of this application, unless otherwise specified or there is a logical conflict, the terminology and / or descriptions between different embodiments are consistent and can be mutually referenced. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships. The following descriptions of the embodiments of this application do not constitute a limitation on the scope of protection of this application.
[0130] In this application, entity A sends information to entity B, either directly or indirectly through other entities. Similarly, entity B receives information from entity A, either directly or indirectly through other entities. Entities A and B can be RAN nodes or terminals, or modules within RAN nodes or terminals. Information transmission and reception can be between RAN nodes and terminals, such as between a base station and a terminal; between two RAN nodes, such as between a CU and a DU; or between different modules within a single device, such as between a terminal chip and other modules of the terminal, or between a base station chip and other modules of the base station.
[0131] It is understood that the network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0132] The method provided in this application embodiment can be used in various communication systems, such as 3rd generation partnership project (3GPP) communication systems, for example, long-term evolution (LTE) systems, 5th generation mobile communication technology (5G) systems, such as 5G NR communication systems, or various future communication systems and future communication networks.
[0133] The method provided in this application can be applied to terrestrial network communication systems as well as non-terrestrial network (NTN) communication systems. The NTN system can be an NTN system integrated with 4G, 5G, or any future communication system, such as NR NTN, IoT NTN, etc. NT and N communication systems can be, for example, satellite communication systems, and can also include unmanned aerial vehicles (UAVs), high-altitude platform stations (HAPS), and other aerial access network equipment; this application does not limit this.
[0134] The methods provided in this application can also be applied to Internet of Things (IoT) systems, vehicle-to-everything (V2X) systems, device-to-device (D2D) communication systems, machine-to-machine (M2M) communication systems, or other similar future-oriented systems, such as future communication systems. This application does not specifically limit these applications. Furthermore, the terms "system" and "network" are interchangeable.
[0135] In a communication system, a network element can send signals to or receive signals from another network element. These signals can include information, signaling, or data. The term "network element" can also be replaced by an entity, network entity, device, communication equipment, communication module, node, communication node, etc. This disclosure uses a network element as an example. For instance, a communication system can include at least one terminal device and at least one network device. The network device can send downlink signals to the terminal device, and / or the terminal device can send uplink signals to the network device.
[0136] Figure 2 This is a schematic diagram of the architecture of a communication system according to an embodiment of this application. Figure 2 As shown, this communication system includes a radio access network (RAN) 100, a core network (CN) 200, and an Internet 300.
[0137] RAN 100 includes at least one radio access network device (such as...) Figure 2 110a and 110b, collectively referred to as 110) and at least one terminal (such as Figure 1 RAN 100, denoted as RAN 120a to 120j, is collectively referred to as RAN 120. RAN 100 may also include other RAN nodes, such as wireless relay equipment and / or wireless backhaul equipment. Figure 1 (Not shown in the image). Terminal 120 is connected to wireless access network device 110 wirelessly. Wireless access network device 110 is connected to core network 200 wirelessly or via wired connection.
[0138] The core network equipment in the core network 200 and the radio access network equipment 110 in the RAN 100 can be different physical devices, or they can be the same physical device that integrates core network logical functions and radio access network logical functions.
[0139] RAN 100 can be a 3GPP-related cellular system, such as a 4th generation (4G) mobile communication system, like LTE; a 5G mobile communication system, like NR and NTN; and a communication system evolving after 5G, such as Future Mobile Communications System (MWC). It can also be a wireless fidelity (WiFi) system, a vehicle-to-everything (V2X) communication system, a device-to-everything (D2D) communication system, or a vehicle-to-everything (V2X) communication system. RAN 100 can also be an open radio access network (O-RAN or ORAN), a cloud radio access network (CRAN), or a WiFi system. RAN 100 can also be a communication system that integrates two or more of the above systems.
[0140] Understandable. Figure 2 This application only illustrates one possible communication system architecture that can be applied to an embodiment of the present application. In other possible scenarios, the communication system architecture may also include other devices.
[0141] In some scenarios, the roles of wireless access network device 110 and terminal 120 are relative, for example, Figure 1 The network element 120i can be a helicopter or a drone, and it can be configured as a mobile base station. For terminals 120j that access RAN 100 through network element 120i, network element 120i is a base station; however, for base station 110a, network element 120i is a terminal. Both the wireless access network device 110 and the terminal 120 are sometimes referred to as communication devices, for example... Figure 1 Network elements 110a and 110b can be understood as communication devices with base station functions, while network elements 120a to 120j can be understood as communication devices with terminal functions.
[0142] In this application embodiment, the terminal may also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal equipment, wireless communication equipment, user agent, or user device.
[0143] Terminal devices can be devices that provide voice / data, such as handheld devices with wireless connectivity, in-vehicle devices, etc. Currently, examples of terminals include: mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computing devices or other processing devices connected to a wireless modem, wearable devices, terminal devices in 5G networks, or future public land mobile communication networks. Terminal devices in a network (PLMN), etc., are not limited to this in the embodiments of this application.
[0144] 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, are a general term for devices that utilize wearable technology to intelligently design and develop everyday wearables, such as 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 and smart jewelry for vital sign monitoring.
[0145] In this embodiment, the device for implementing the functions of the terminal device can be the terminal device itself, or it can be any device capable of supporting the terminal device in implementing those functions, such as a chip system. This device can be installed in or used in conjunction with the terminal device. In this embodiment, the chip system can be composed of chips or may include chips and other discrete components. This embodiment only uses the terminal device as an example to illustrate the device for implementing the functions of the terminal device, and does not constitute a limitation on the solution of this embodiment.
[0146] The radio access network device 110 is a node in the RAN, and can also be called an access network device, RAN node, or network device. The radio access network device 110 is used to help terminals achieve wireless access. Multiple radio access network devices 110 in a communication system can be nodes of the same type or nodes of different types.
[0147] In this application embodiment, the network device can refer to a radio access network (RAN) node (or device) that connects a terminal device to a wireless network. The base station can broadly encompass various names listed below, or be replaced by names such as: NodeB, evolved NodeB (eNB), next-generation NodeB (gNB), relay station, access point, transmitting and receiving point (TRP), transmitting point (TP), master station, auxiliary station, motor slideretainer (MSR) node, home base station, network controller, access node, wireless node, access point (AP), transmission node, transceiver node, baseband unit (BBU), remote radio unit (RRU), active antenna unit (AAU), remote radio head (RRH), central unit (CU), distributed unit (DU), radio unit (RU), positioning node, etc. A base station can be a macro base station, micro base station, relay node, donor node, or a combination thereof. A base station can also refer to a communication module, modem, or chip installed within the aforementioned equipment or apparatus. A base station can also be a mobile switching center and equipment performing base station functions in D2D, V2X, and M2M communications, network-side equipment in future communication networks, or equipment performing base station functions in future communication systems. A base station can support networks using the same or different access technologies. Optionally, a RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). The embodiments of this application do not limit the specific technologies or equipment forms used in the network equipment.
[0148] Base stations can be fixed or mobile. For example, a helicopter or drone can be configured to act as a mobile base station, and one or more cells can move depending on the location of the mobile base station. In other examples, a helicopter or drone can be configured as a device to communicate with another base station.
[0149] In some deployments, the network devices mentioned in the embodiments of this application may be devices including CU, DU, or CU and DU, or devices with control plane CU nodes (central unit-control plane (CU-CP)) and user plane CU nodes (central unit-user plane (CU-UP)) and DU nodes. For example, the network devices may include gNB-CU-CP, gNB-CU-UP, and gNB-DU.
[0150] In some deployments, multiple RAN nodes collaborate to assist terminals in achieving wireless access, with different RAN nodes each implementing some of the base station's functions. For example, RAN nodes can be CUs, DUs, CU-CPs, CU-UPs, or RUs. CUs and DUs can be configured separately or included in the same network element, such as a BBU. RUs can be included in radio frequency equipment or radio frequency units, such as RRUs, AAUs, or RRHs.
[0151] RAN nodes can support one or more types of fronthaul interfaces, each corresponding to a DU and RU with different functions. If the fronthaul interface between the DU and RU is a common public radio interface (CPRI), the DU is configured to implement one or more baseband functions, and the RU is configured to implement one or more radio frequency functions. If the fronthaul interface between the DU and RU is another type of interface, relative to CPRI, some downlink and / or uplink baseband functions, such as, for downlink, precoding, digital beamforming (BF), or one or more of inverse fast Fourier transform (IFFT) / cyclic prefix addition (CP), are moved from the DU to the RU; and for uplink, digital beamforming (BF), or one or more of fast Fourier transform (FFT) / cyclic prefix removal (CP), are moved from the DU to the RU. In one possible implementation, the interface can be an enhanced common public radio interface (eCPRI). Under the eCPRI architecture, the segmentation between DU and RU differs, corresponding to different categories (Cat) of eCPRI, such as eCPRI Cat A, B, C, D, E, F.
[0152] Taking eCPRI Cat A as an example, for downlink transmission, the DU is configured to implement one or more functions preceding and following layer mapping (i.e., coding, rate matching, scrambling, modulation, and layer mapping), while other functions following layer mapping (e.g., resource element (RE) mapping, digital beamforming (BF), or one or more functions following inverse fast Fourier transform (IFFT) / cyclic prefix (CP) addition) are moved to the RU. For uplink transmission, the DU is configured to implement one or more functions preceding and following de-mapping (i.e., decoding, rate matching de-mapping, descrambling, demodulation, inverse discrete Fourier transform (IDFT), channel equalization, and de-RE mapping), while other functions following de-mapping (e.g., digital BF or fast Fourier transform (FFT) / CP removal) are moved to the RU. It is understandable that the functional descriptions of the DU and RU corresponding to various types of eCPRI can be found in the eCPRI protocol, and will not be elaborated here.
[0153] In one possible design, the processing unit in the BBU used to implement baseband functions is called the baseband high (BBH) unit, and the processing unit in the RRU / AAU / RRH used to implement baseband functions is called the baseband low (BBL) unit.
[0154] 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 ORAN system, CU can also be called O-CU (open CU), DU can also be called open distributed unit (O-DU), CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called open radio unit (O-RU). O-DU has baseband processing capabilities and complete protocol layer functions, primarily responsible for higher-level protocol functions such as data encryption and integrity protection, while also possessing high-level physical layer processing capabilities. O-RU has low-level physical layer signal processing capabilities and is primarily responsible for the transmission and reception of radio frequency signals. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.
[0155] In this embodiment, the apparatus for implementing the functions of a network device can be a network device itself; it can also be an apparatus capable of supporting the network device in implementing those functions, such as a chip system, hardware circuit, software module, or a hardware circuit plus a software module. This apparatus can be installed in the network device or used in conjunction with the network device. In this embodiment, the example of a network device being used to implement the functions of a network device is provided only and does not constitute a limitation on the solutions described in this embodiment.
[0156] Network devices and / or terminal devices can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on airplanes, balloons, and satellites. This application does not limit the scenario in which the network devices and terminal devices are located. Furthermore, terminal devices and network devices can be hardware devices, or software functions running on dedicated hardware or general-purpose hardware, such as virtualization functions instantiated on a platform (e.g., a cloud platform), or entities that include dedicated or general-purpose hardware devices and software functions. This application does not limit the specific form of the terminal devices and network devices.
[0157] In wireless communication networks, such as mobile communication networks, the services supported by the networks are becoming increasingly diverse, thus requiring increasingly diverse demands. For example, networks need to support ultra-high speeds, ultra-low latency, and / or massive connectivity. This characteristic makes network planning, network configuration, and / or resource scheduling increasingly complex. Furthermore, as network functions become more powerful, such as supporting higher spectrum, supporting higher-order multiple-input multiple-output (MIMO) technologies, supporting beamforming, and / or supporting beam management, network energy efficiency has become a hot research topic. These new demands, new scenarios, and new characteristics bring unprecedented challenges to network planning, operation, and efficient operation. To meet these challenges, artificial intelligence (AI) technology can be introduced into wireless communication networks to achieve network intelligence. To support AI technology in wireless networks, AI nodes may also be introduced.
[0158] Optionally, the AI node can be deployed in one or more of the following locations within the communication system: access network devices, terminal devices, or core network devices, etc. Alternatively, the AI node can be deployed independently, for example, in a location other than any of the aforementioned devices, such as in the host or cloud server of an over-the-top (OTT) system. The AI node can communicate with other devices in the communication system, which can be, for example, one or more of the following: network devices, terminal devices, or core network elements, etc.
[0159] It is understood that this application does not limit the number of AI nodes. For example, when there are multiple AI nodes, they can be divided based on function, such as different AI nodes being responsible for different functions.
[0160] It can also be understood that AI nodes can be independent devices, or they can be integrated into the same device to achieve different functions. Alternatively, they can be network elements in hardware devices, software functions running on dedicated hardware, or virtualization functions instantiated on a platform (e.g., a cloud platform). This application does not limit the specific form of the aforementioned AI nodes.
[0161] AI nodes can be AI network elements or AI modules.
[0162] AI modules are used to implement corresponding AI functions. AI modules deployed in different network elements can be the same or different. Depending on the parameter configuration, the AI module can implement different functions. The AI module model can be configured based on one or more of the following parameters: structural parameters (e.g., at least one of the following: number of neural network layers, neural network width, inter-layer connections, neuron weights, neuron activation function, or biases in the activation function), input parameters (e.g., the type and / or dimension of the input parameters), or output parameters (e.g., the type and / or dimension of the output parameters). The biases in the activation function can also be referred to as the neural network biases.
[0163] An AI module can have one or more models. A model can infer an output, which includes one or more parameters. The learning, training, or inference processes of different models can be deployed on different nodes or devices, or they can be deployed on the same node or device.
[0164] As an example, network devices or core network elements can be used as Figure 2 In the system architecture shown, the central server, terminal devices, or network devices can be used as... Figure 2 The client in the system shown.
[0165] Figure 3 This is a schematic flowchart of a communication method according to an embodiment of this application. The method includes steps S301 to S303. Figure 3 The illustrated embodiment uses the first and second devices as examples of execution entities. It can be understood that... Figure 3 The first device in the method shown can be replaced by a processor, processor system, chip, chip system, circuit unit, or circuit system applied to the first device; the second device can be replaced by a processor, processor system, chip, chip system, circuit unit, or circuit system applied to the second device. For example, the first device can be a terminal device, a network device, a CU, or a DU, and the second device can be a network device, a core network element, a CU, or a DU.
[0166] S301, the second device sends the first model. Correspondingly, the first device receives the first model.
[0167] It is understandable that, assuming this joint training includes n rounds of training, the first model can be the model obtained by the (t-1)th round of aggregation processing in these n rounds of training by the second device, where n is a positive integer and t is a positive integer less than or equal to n.
[0168] In some implementations, the first model is called the global model.
[0169] It is understandable that the second device sends the first model to K first devices, and each of these K first devices receives the first model, where K is an integer greater than 1.
[0170] S302, the first device sends first information, which includes the contribution value of the first device's local dataset to the first model. Correspondingly, the second device receives the first information from each of the first devices.
[0171] For example, after receiving the first model, the first device calculates the contribution value of its local dataset to the first model. It can be understood that the first device's local dataset refers to its local training dataset.
[0172] An exemplary relationship between the first model, the local dataset of the first device, and the contribution value of the local dataset of the first device to the first model is as follows:
[0173]
[0174] in, This represents the local dataset of the k-th first device among the K first devices; The parameters represent the first model obtained by the second device in the (t-1)th round of polymerization. This represents the contribution value of the local dataset of the first device to the first model; This function represents the contribution value of the local dataset of the first device to the first model, calculated based on the local dataset of the first model and the first device.
[0175] In some implementations, the contribution value of the local dataset of the first device to the first model can be referred to as the contribution value of the local dataset of the first device in the t-th round of training.
[0176] In some implementations, the contribution value of the local dataset of the first device to the first model includes: the loss value of the first model on the local dataset of the first device.
[0177] In some implementations, the first information includes the following: the identifier of the first device, and the contribution value of the local dataset of the first device to the first model.
[0178] In some implementations, the first information also includes the resource status of the first device, which includes the used resources of the first device and / or the remaining resources of the first device. The remaining resources of the first device may also be referred to as the unused resources of the first device.
[0179] In some implementations, the resource status of the first device includes at least one of the following: power, storage space, computing power, or communication overhead.
[0180] In some implementations, the resource status of the first device can be expressed as a percentage. For example, the used resource status of the first device is the proportion of the used resources of the first device to the total resources of the first device; the unused resource status of the first device is the proportion of the unused resources of the first device to the total resources of the first device.
[0181] In some implementations, the resource status of the first device includes whether the remaining resources of the first device are suitable for training the first model.
[0182] S303, the second device sends second information indicating whether the first device is suitable for training the first model. Accordingly, the first device receives the second information.
[0183] For example, after receiving the first information, the second device determines the second information based on the first information and sends the second information.
[0184] In some implementations, the second device sends the second information only to the first device, which is suitable for training the first model. The second information indicates that the first device is suitable for training the first model. In this case, the first device that receives the second information can train the first model based on a local dataset, while the first device that does not receive the second information does not need to train the first model based on a local dataset.
[0185] In some implementations, the second device sends the second information only to the first device, which is not suitable for training the first model. The second information indicates that the first device is not suitable for training the first model. In this case, the first device receiving the second information does not need to train the first model based on the local dataset; instead, it trains the first model based on the local dataset.
[0186] In some implementations, the second device sends a second message to the first device that is not suitable for training the first model, indicating that the first device is not suitable for training the first model; conversely, it sends a second message to the first device that is suitable for training the first model, indicating that the first device is suitable for training the first model. In this case, the first device that receives the second message performs the corresponding operation according to the instructions of the second message.
[0187] In some implementations, the score of the k-th first device is determined based on the contribution value of the local dataset on the k-th first device to the first model. The score of the first device can also be referred to as the score of the local dataset on the first device or the score of training the first model using the local dataset on the first device. A higher contribution value results in a higher score, and a lower contribution value results in a lower score.
[0188] In some implementations, for the k-th first device, the second device calculates the difference between the model most recently reported by the k-th first device and the model most recently reported by each of the other K first devices, and determines the score of the k-th first device based on the difference and the contribution value of each first device's local dataset to the first model. For example, the smaller the difference value, the higher the score of the k-th first device; the larger the difference value, the lower the score of the k-th first device.
[0189] An expression for determining the score of the k-th first device based on this difference and the contribution value of each first device's local dataset to the first model is as follows: in, x represents the training dataset for the second device; i express The i-th training data in the dataset, where i is less than or equal to A positive integer representing the number of training data points; This represents the k-th most recently reported local model from the first device stored in the second device. This represents the latest local model reported by the j-th first device stored in the second device, where j is a positive integer less than or equal to K; Indicates x i Input the latest output data from the local model reported by the kth first device; Indicates x i Input the latest output data from the local model reported by the j-th first device; Indicates calculation and The KL divergence between the two models is used to measure the difference between the latest local model reported by the k-th first device and the latest local model reported by the j-th first device.
[0190] In some implementations, after calculating the difference between the model most recently reported by the kth first device and the model most recently reported by each of the other k first devices, the similarity between the model most recently reported by the kth first device and the models most recently reported by all the other k first devices can be calculated, and the score of the kth first device can be determined based on the similarity.
[0191] As an example, the higher the similarity, the higher the score of the kth first device; the lower the similarity, the lower the score of the kth first device.
[0192] An expression for calculating the similarity between the model most recently reported by the k-th first device and the models most recently reported by all other first devices among the k first devices is as follows: Wherein, exp(-d k,j ) indicates -d k,j In exponential form.
[0193] As an example, an exemplary expression for determining the score of a first device in the t-th training round based on the similarity between the model most recently reported by the k-th first device and the models most recently reported by all other first devices among the K first devices is as follows: The value of j is an integer ranging from 1 (inclusive) to K (inclusive).
[0194] In some implementations, the K scores corresponding to the K first devices can be sorted in descending order, and the top N scores corresponding to the N first devices are determined as suitable for sequential training of the first model, or in other words, these N first devices are suitable for training the t-th round, where N is a positive integer. N can be a preset value. As an example, the larger the value of t, the larger the value of N.
[0195] In some implementations, the following comprehensive performance metrics are introduced to represent the performance of the training in the nth round when all or some of the K first devices are selected for the t-th round of training:
[0196]
[0197] Where, η t represents the time weighting factor of the t-th round of training, and represents the importance of the t-th round of training in the n-th round of training; This indicates whether the k-th first device participates in the training during the t-th training. This is a binary decision variable, with a value of 1 indicating participation and a value of 0 indicating non-participation; This represents the score when the k-th first device participates in the t-th round of training.
[0198] Alternatively, the larger t is, the greater η is. t The larger.
[0199] In some implementations, the resource situation of the kth first device is considered to characterize the performance index of the training in the nth round of training when all or some of the k first devices are trained in the tth round.
[0200] For example, when all or some of the K first devices undergo training in round t, an exemplary expression for the performance metric of the training in round n is as follows: Wherein, λ represents the proportion of resource availability in characterizing this performance indicator, or the coefficient that balances the contribution of model training and resource overhead, and can be a preset value.
[0201] Set the target function:
[0202]
[0203] Where max represents finding the maximum. The goal is to obtain the maximum value. Take the maximum value This allows us to determine whether the k-th first device is suitable for participating in the t-th round of training.
[0204] In some implementations, it is possible to determine If the following conditions are met, then confirm. The value of is 1, meaning that the kth first device is suitable for participating in the t-th round of training.
[0205]
[0206] In some implementations, λ / η t The value of is a preset value, called the scoring threshold. Optionally, the larger t is, the higher η becomes. t The larger t is, the smaller the scoring threshold; the smaller t is, the smaller η is. t The smaller the value, the larger the scoring threshold. In other words, as the number of training epochs increases, more diverse first-party devices participate in model training, which helps improve the model's generalization ability.
[0207] The following example uses the first device as the UE (User Equipment) and the second device as the network device, with the network device selecting UEs to participate in model training. Figure 4 The communication method in the embodiments of this application will be described by way of example. The method includes steps S401 to S409.
[0208] S401, Network Devices Share Global Model.
[0209] It can be understood that the network device shares the global model in round t-1 with the UE. If t equals 1, it means that the global model is the initialized global model.
[0210] S402, UE calculates the contribution value of the local dataset to the global model.
[0211] This step can be referred to in the relevant content of S301, and will not be repeated here.
[0212] S403, the UE sends the contribution value and resource status of the local dataset to the global model.
[0213] It is understandable that the UE sends its local dataset to the global model along with its resource information and contribution value, as well as its identifier.
[0214] This step can be referred to in the relevant content in S302, and will not be repeated here.
[0215] S404, The network device calculates the UE's score based on the contribution value of the UE's local dataset to the global model and the resource status.
[0216] This step can be referred to in the relevant content of S303, and will not be repeated here.
[0217] S405, the network device determines whether to select a UE to participate in model training based on the UE's score.
[0218] S406, the network device indicates whether the UE is selected to participate in model training.
[0219] S407, the selected UE uses the local dataset to train the global model locally, thus obtaining the local model.
[0220] S408, the selected UE sends the local model to the network device.
[0221] S409, the network device aggregates the UE's local model to obtain a new global model.
[0222] Understandably, once the network device obtains the new global model, it can share it with the UE, starting a new cycle until the model converges.
[0223] Figure 5 This is a schematic flowchart of a communication method according to an embodiment of this application. The method includes steps S501 to S509. Figure 5 The process shown is the same as Figure 4 Some differences in the process shown are: Figure 4 In the example shown, the operation is handled by the network device. Figure 5 The core network elements perform the functions, and one example of a core network element is a network function (NF) entity, which is abbreviated as NF. Figure 5 The example used is a web server (BS) device.
[0224] S501, NF shares the global model.
[0225] For example, the NF sends the (t-1)th round global model to the BS. After receiving the global model, the BS sends the global model to the UE. If t equals 1, it can be indicated that the global model is the initialized global model.
[0226] S502, UE calculates the contribution value of the local dataset to the global model.
[0227] This step can be referred to in the relevant content of S301, and will not be repeated here.
[0228] S503, the UE sends the contribution value and resource status of the local dataset to the global model.
[0229] For example, the UE sends the contribution value and resource status of the local dataset to the global model. After receiving the contribution value and resource status, the BS sends the contribution value and resource status to the NF.
[0230] S504, NF calculates the UE score based on the contribution value of the UE's local dataset to the global model and the resource status.
[0231] This step can be referred to in the relevant content of S303, and will not be repeated here.
[0232] S505, NF determines whether to select a UE for model training based on the UE's score.
[0233] This step can be referred to in the relevant content of S303, and will not be repeated here.
[0234] S506, NF indicates whether the UE is selected to participate in model training.
[0235] For example, the NF sends an indication message indicating whether the UE has been selected to participate in model training, and the BS sends the indication message to the UE after receiving it.
[0236] S507, the selected UE uses the local dataset to train the global model locally, thus obtaining the local model.
[0237] S508, the selected UE sends the local model to the NF.
[0238] For example, the selected UE sends the local model, and after the BS receives the local model, it sends the local model to the NF.
[0239] S509, NF aggregates the UE's local model to obtain a new global model.
[0240] Understandably, NF obtains a new global model, which can be shared with UE to start a new loop until the model converges.
[0241] Figure 6 This is a flowchart illustrating a communication method according to an embodiment of this application. The method includes steps S601 to S604. This embodiment is related to... Figure 3 The differences in the illustrated embodiments include: Figure 3 In the illustrated embodiment, after the second device obtains the score corresponding to the first device, the second device determines whether the first device is suitable for training the global model based on the score; and Figure 6 In the illustrated embodiment, after the second device obtains the score, it instructs the first device to obtain the score, and the first device determines whether it is suitable for training the global model based on the score.
[0242] Figure 6 The illustrated embodiment uses the first and second devices as examples of execution entities. It can be understood that... Figure 6 The first device in the method shown can be replaced by a processor, processor system, chip, chip system, circuit unit, or circuit system applied to the first device; the second device can be replaced by a processor, processor system, chip, chip system, circuit unit, or circuit system applied to the second device. For example, the first device can be a terminal device or a network device, and the second device can be a network device or a core network element.
[0243] S601, the second device sends the first model. Correspondingly, the first device receives the first model.
[0244] This step can be referred to in the relevant content of S301, and will not be repeated here.
[0245] S602, the first device sends first information, which includes the contribution value of the first device's local dataset to the first model. Correspondingly, the second device receives the first information from each of the first devices.
[0246] This step can be referred to in S302, and will not be repeated here.
[0247] S603, the second device sends a fourth message, which indicates the score of training the first model using the first device. Accordingly, the first device receives the fourth message.
[0248] For example, the second device determines the fourth information based on the first information and sends the fourth information.
[0249] The implementation method of the second device obtaining the score of the first model trained by the first device can be found in the relevant content in S303, and will not be repeated here.
[0250] S604, the first device determines the fifth information, which indicates whether the first device is suitable for training the first model.
[0251] For example, after receiving the fourth information, the first device determines the fifth information based on the fourth information.
[0252] This step can refer to the relevant content in S303 regarding the second device determining whether the first device is suitable for training the first model based on the score corresponding to the first device, which will not be repeated here.
[0253] Optionally, if the first device determines whether it is suitable for training the first model based on the fifth information and the scoring threshold, this embodiment further includes: the second device sending sixth information, the sixth information indicating the scoring threshold; the first device receiving the sixth information and determining whether it is suitable for training the first model based on the fifth information and the sixth information.
[0254] Optionally, this embodiment may further include: a first device sending fifth information, and a second device receiving the fifth information.
[0255] The following example uses the first device as the UE and the second device as the network device, illustrating how the UE assists the network device in efficiently selecting UEs to participate in model training. Figure 7 ,right Figure 6 The communication method in the illustrated embodiment is described by way of example. This method includes steps S701 to S709.
[0256] S701, a global model for network device sharing.
[0257] This step can be referred to in the relevant content of S401, and will not be repeated here.
[0258] S702, UE calculates the contribution value of the local dataset to the global model.
[0259] This step can be referred to in the relevant content of S402, and will not be repeated here.
[0260] S703, the UE sends the contribution value and resource status of the local dataset to the global model.
[0261] This step can be referred to in the relevant content of S403, and will not be repeated here.
[0262] S704, the network device calculates the UE's score based on the contribution value of the UE's local dataset to the global model and the resource status.
[0263] This step can be referred to in the relevant content of S404, and will not be repeated here.
[0264] S705, network devices send scores.
[0265] It is understandable that the network device calculates the UE's score based on the contribution value of the UE's local dataset to the global model and the resource status, and sends it to the UE accordingly. The UE receives the score.
[0266] S706, the UE determines whether to select a UE to participate in model training based on the UE's score.
[0267] S707, the UE indicates to the network device whether the UE has been selected to participate in model training.
[0268] S708, the selected UE uses the local dataset to train the global model locally, thus obtaining the local model.
[0269] It is understood that this embodiment does not limit the execution order of S707 and S708.
[0270] S709, the selected UE sends the local model to the network device.
[0271] S710: The network device aggregates the UE's local model to obtain a new global model.
[0272] It is understandable that the network device obtains a new global model, which can be shared with the UE to start a new cycle until the model converges.
[0273] like Figure 8 In the example shown, Figure 8 The process shown is the same as Figure 7 Some differences in the process shown are: Figure 7 In the example shown, the operation is handled by the network device. Figure 8 The core network elements are responsible for execution. One example of a core network element is an NF entity, which is abbreviated as NF.
[0274] Combination Figure 8 Taking the UE selected by NF to participate in model training as an example, the communication method in the embodiments of this application will be described exemplarily. Figure 8 The illustrated embodiment uses a UE, BS, and NF as examples for execution. This method includes steps S801 to S809. In this embodiment, the NF and UE exchange information through network devices.
[0275] S801, NF shares the global model.
[0276] For example, the NF sends a global model, and after the BS receives the global model, it sends the global model to the UE.
[0277] S802, UE calculates the contribution value of the local dataset to the global model.
[0278] This step can be referred to in the relevant content in S302, and will not be repeated here.
[0279] S803, the UE sends the contribution value and resource status of the local dataset to the global model.
[0280] For example, the UE sends the contribution value and resource status of the local dataset to the global model, and the BS forwards the contribution value and resource status to the NF after receiving it.
[0281] This step can be referred to in the relevant content in S302, and will not be repeated here.
[0282] S804, NF calculates the UE's score based on the contribution value of the UE's local dataset to the global model and the resource status.
[0283] This step can be referred to in the relevant content of S303, and will not be repeated here.
[0284] S805, NF instructs UE to give the UE a score.
[0285] For example, the NF sends the UE's rating, and the BS sends the rating back to the UE after receiving it.
[0286] S806, the UE determines whether to select a UE to participate in model training based on the UE's score.
[0287] S807, the UE indicates to the NF whether the UE should participate in model training.
[0288] For example, the UE sends an indication message indicating whether it will participate in model training, and the BS sends the indication message back to the UE after receiving it.
[0289] S808: The selected UE uses the local dataset to train the global model locally, thus obtaining the local model.
[0290] It is understood that this embodiment does not limit the execution order of S807 and S808.
[0291] S809, the selected UE sends the local model to the NF.
[0292] For example, the selected UE sends a local model, and the BS, after receiving the local model, sends the local model to the NF.
[0293] S810, NF aggregates the UE's local model to obtain a new global model.
[0294] Understandably, NF obtains a new global model, which can be shared with UE to start a new loop until the model converges.
[0295] Figure 9 This is a schematic diagram of the structure of a communication device according to an embodiment of this application. Figure 9 As shown, the communication device 900 may include a processing module 910 and a communication module 920.
[0296] As a first example, device 900 can be used to implement Figure 3 or Figure 6 The communication method implemented by the first device in the embodiment may be used to implement... Figure 4 or Figure 7 The communication method implemented by the UE in the illustrated embodiment may be used to implement... Figure 5 or Figure 8The embodiment shown illustrates a communication method implemented by a UE. The processing module 910 can be used to implement processing-related steps, and the communication module 920 can be used to implement steps such as sending and / or receiving.
[0297] As a second example, device 900 can be used to implement Figure 3 or Figure 6 The communication method implemented by the second device in the embodiment may be used to implement... Figure 4 or Figure 7 The communication method implemented by the network device in the embodiments shown may be used to implement... Figure 5 or Figure 8 The communication method implemented by the BS in the embodiment shown may be used to implement... Figure 5 or Figure 8 The embodiment shown illustrates a communication method implemented by NF. The processing module 910 can be used to implement processing-related steps, and the communication module 920 can be used to implement steps such as sending and / or receiving.
[0298] Figure 10 This is a schematic diagram of another communication device according to an embodiment of this application, which can be used to implement this application. Figure 3 or Figure 6 The communication method shown is as follows. Figure 10 As shown, the communication device 1000 includes a processor 1010 and a communication circuit 1020. The processor 1010 and the communication circuit 1020 are coupled to each other. It is understood that the communication circuit 1020 can be a transceiver or an input / output interface.
[0299] Optionally, the communication device 1000 may further include a memory 1030 for storing instructions executed by the processor 1010, or storing input data required by the processor 1010 to execute instructions, or storing data generated after the processor 1010 executes instructions. It is understood that the memory 1030 may be located outside the processor 1010, or inside the processor 1010.
[0300] As an example, processor 1010 is used to implement the functions of the processing module 910 described above, and communication circuit 920 is used to implement the functions of the communication module 920 described above.
[0301] As an example, when the above-mentioned device is a chip used in a communication device, the chip receiving information can be understood as the information being received first by other modules (such as an RF module or antenna) in the communication device, and then sent to the chip by these modules. Similarly, the chip sending information can be understood as the information being first sent to other modules (such as an RF module or antenna) in the communication device, and then sent by these modules.
[0302] In some embodiments of this application, a computer program product is also provided. When the computer program product is run on a processor, it can implement the method implemented by the terminal device in any of the above embodiments, or it can implement the method implemented by the service satellite in any of the above method embodiments.
[0303] In some embodiments of this application, a computer-readable storage medium is also provided, which contains computer instructions that, when executed on a processor, can implement the methods implemented by the terminal device in any of the above embodiments, or can implement the methods implemented by the service satellite in any of the above method embodiments.
[0304] In some embodiments of this application, a communication system is also provided, which can implement the methods implemented by terminal devices and service satellites in any of the above embodiments.
[0305] It is understood that the processor in the embodiments of this application may be any of the following devices or all or part of the circuitry used for processing functions: a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor.
[0306] The method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in a service satellite or terminal device. Of course, the processor and storage medium can also exist as discrete components in the service satellite or terminal device.
[0307] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive.
[0308] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0309] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers described above does not imply the order of execution; the execution order of each process should be determined by its function and internal logic.
Claims
1. A communication method, characterized in that, include: Receive the first model; Send first information, the first information including the contribution value of the local dataset of the first device to the first model; Receive second information, which indicates whether the first device is suitable for training the first model.
2. The method according to claim 1, characterized in that, The contribution value of the local dataset of the first device to the first model includes: the loss value of the first model on the local dataset of the first device.
3. The method according to claim 1 or 2, characterized in that, The first information also includes the resource status of the first device, which includes the used resources of the first device and / or the remaining resources of the first device.
4. The method according to any one of claims 1 to 3, characterized in that, The remaining resources of the first device are suitable for training the first model.
5. A communication method, characterized in that, include: Send the first model; Receive first information, the first information including the contribution value of the local dataset of the first device to the first model; A second message is sent, indicating whether the first device is suitable for training the first model, the second message being determined based on the first message.
6. The method according to claim 5, characterized in that, The contribution value of the local dataset of the first device to the first model includes: the loss value of the first model on the local dataset of the first device.
7. The method according to claim 5 or 6, characterized in that, The first information also includes the resource status of the first device, which includes the used resources of the first device and / or the remaining resources of the first device.
8. The method according to any one of claims 5 to 7, characterized in that, Sending the second information based on the first information includes: The second information is sent based on the first information and the third information, wherein the third information includes: the similarity between the model recently reported by the first device and the model recently reported by each of the multiple devices, and / or the weight of the training round t in the training round n, wherein the second information is used to indicate whether the first device is suitable for training the first model in the training round t, where n is a positive integer greater than 1, t is a positive integer less than or equal to n, and the larger t is, the greater the weight of the training round t in the training round n.
9. A communication method, characterized in that, include: Receive the first model; Send first information, the first information including the contribution value of the local dataset of the first device to the first model; Receive fourth information, the fourth information including a score of training the first model using the first device; The fifth piece of information is determined, which includes whether the first device is suitable for training the first model, and the fifth piece of information is determined based on the fourth piece of information.
10. The method according to claim 9, characterized in that, The contribution value of the local dataset of the first device to the first model includes: the loss value of the first model on the local dataset of the first device.
11. The method according to claim 9 or 10, characterized in that, The first information also includes the resource status of the first device, which includes the used resources of the first device and / or the remaining resources of the first device.
12. The method according to any one of claims 9 to 11, characterized in that, The remaining resources of the first device are suitable for training the first model.
13. The method according to any one of claims 9 to 12, characterized in that, The method further includes: Send the fifth message.
14. The method according to any one of claims 9 to 13, characterized in that, The fifth piece of information indicates whether the first device is suitable for training the first model in the t-th training round of n rounds of training, where t is a positive integer less than or equal to n, and n is a positive integer greater than 1. The fifth piece of information is determined based on the fourth piece of information and includes: The fifth piece of information is determined based on the fourth piece of information and the scoring threshold, wherein the larger t is, the smaller the scoring threshold is.
15. The method according to claim 14, characterized in that, The method further includes: The sixth information is received, and the sixth information is used to determine the scoring threshold.
16. A communication method, characterized in that, include: Send the first model; Receive first information, the first information including the contribution value of the local dataset of the first device to the first model; Send a fourth message, the fourth message including a score of training the first model using the first device, the fourth message being determined based on the first message.
17. The method according to claim 16, characterized in that, The contribution value of the local dataset of the first device to the first model includes: the loss value of the first model on the local dataset of the first device.
18. The method according to claim 16 or 17, characterized in that, The first information also includes the resource status of the first device, which includes the used resources of the first device and / or the remaining resources of the first device.
19. The method according to any one of claims 16 to 18, characterized in that, The method further includes: The system receives a fifth piece of information, which indicates whether the first device is suitable for training the first model.
20. The method according to any one of claims 16 to 19, characterized in that, The fourth piece of information is determined based on the first piece of information and includes: The fourth piece of information is based on the first information and the similarity between the model recently reported by the first device and the model recently reported by each of the multiple devices.
21. The method according to any one of claims 16 to 20, characterized in that, The method further includes: A sixth message is sent, which is used to determine a scoring threshold, and the scoring threshold is used to determine the fifth message.
22. The method according to claim 21, characterized in that, The scoring threshold is used to determine whether the first device is suitable for training the first model in the t-th training round of n rounds of training, where t is a positive integer less than or equal to n and n is a positive integer greater than 1. The larger t is, the smaller the scoring threshold is.
23. A communication device, characterized in that, include: A module or unit for performing the method as described in any one of claims 1 to 4, 5 to 8, 9 to 15, or 16 to 22.
24. A communication device, characterized in that, include: A processor coupled to a memory for storing a computer program, wherein when the processor invokes the computer program, the communication device performs the method as claimed in any one of claims 1 to 4, or any one of claims 5 to 8, or any one of claims 9 to 15, or any one of claims 16 to 22.
25. A computer-readable storage medium, characterized in that, For storing a computer program, the computer program comprising: instructions for implementing the method as claimed in any one of claims 1 to 4, or any one of claims 5 to 8, or any one of claims 9 to 15, or any one of claims 16 to 22.
26. A computer program product, the computer program product comprising instructions, characterized in that, When the instructions are executed on a computer, the computer performs the method as claimed in any one of claims 1 to 4, or any one of claims 5 to 8, or any one of claims 9 to 15, or any one of claims 16 to 22.
