Communication method and related equipment
Patent Information
- Application Number
- CN202280096703.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-30
- Publication Date
- 2025-01-14
AI Technical Summary
In a three-layer joint learning scenario, the middle layer of network equipment does not fully utilize its computing capabilities, resulting in low learning efficiency. Moreover, each terminal device has different computing and storage capabilities, making it difficult to uniformly train and deploy models.
In a multi-level joint learning scenario, the first device obtains the model results of the downstream device and updates the local model, sends the updated model to the upstream device to receive and update the public data set, and then updates the model of the downstream device, thereby making full use of computing power and reduce the processing flow of upstream devices.
It improves the learning efficiency of multi-level joint learning, integrates heterogeneous models of downstream devices, reduces the processing flow of upstream devices, and improves learning efficiency.
Smart Images

Figure CN119317927A_ABST
Abstract
Description
A communication method and related equipment Technical Field
[0001] The present application relates to the field of communications, and in particular to a communication method and related equipment. Background Art
[0002] Federated learning, a distributed learning technology, involves each device training a model using a local dataset and reporting the resulting model or updates to a parameter server. The server then uses a fusion algorithm, such as federated averaging, to weighted average the local models of multiple devices to generate a global model, which it then distributes to each device for model updates. The federated learning framework eliminates the need to upload user data, enabling federated learning across multiple devices while protecting user privacy.
[0003] Currently, in the three-layer joint learning scenario based on federated learning, the middle layer represented by network devices only performs forwarding operations and does not fully utilize the computing power of the middle layer; and the computing and storage capabilities of each terminal are different, and they may not have the ability to train and deploy a unified model.
[0004] Therefore, how to effectively utilize the computing power of the middle layer in the three-layer joint learning scenario is a technical problem that needs to be solved urgently.
[0005] Summary of the Invention
[0006] This application provides a communication method and related devices, in which a first device fully utilizes its computing power to participate in joint training in a multi-level joint learning scenario. Compared to a solution where the intermediate level only performs forwarding, this method can integrate heterogeneous models of downstream devices and reduce the processing flow of upstream devices, thereby increasing the learning efficiency of multi-level joint learning.
[0007] The first aspect of the embodiment of the present application provides a communication method that can be applied to a multi-level joint learning scenario. The method can be executed by a first device, or by a component of the first device (such as a processor, a chip, or a chip system, etc.). The first device can specifically be a network device such as a base station, a transmission point (transmitting and receiving point, TRP), or a terminal or a core network device. The method includes: obtaining a first result, the first result is the result obtained by inferring a public data set by a model on the second device side; updating the first model based on the public data set and the first result to obtain a second model, the first model being a local model of the first device; sending the second model to a third device; receiving a third model sent by the third device, the third model being obtained by processing the second model; obtaining a second result based on the third model and the public data set, and the second result is used to update the model on the second device side.
[0008] In an embodiment of the present application, the first device updates the local model based on the first result of the model on the downstream second device side, and sends the updated local model to the upstream third device. Thus, the third model obtained by the upstream third device based on the model updated by the second device is received. The second result of the public data set is then updated based on the third model, and the second result is used to update the model on the downstream second device side. It can be seen that the first device fully utilizes its computing power to participate in joint training in a multi-level joint learning scenario. Compared with the solution where the intermediate level only forwards, it can integrate the heterogeneous models of the downstream devices and reduce the processing flow of the upstream devices, thereby increasing the learning efficiency of multi-level joint learning.
[0009] Optionally, in a possible implementation of the first aspect, the above step of obtaining the first result includes receiving the first result from the second device, where the first result is a result obtained by the second device using a second device-side model to infer a public data set.
[0010] In this possible implementation, the first device can reduce the computing power and storage resources occupied by the first device using the second device side model inference process by directly obtaining the first result.
[0011] Optionally, in a possible implementation of the first aspect, the above step of obtaining the first result includes receiving a second device-side model from a second device; and using the second device-side model to infer the public data set to obtain the first result.
[0012] In this possible implementation, the first device can perform the inference process itself by obtaining the model on the second device side, which can reduce the computing power and storage resources occupied by the inference of the second device.
[0013] Optionally, in a possible implementation manner of the first aspect, the above steps further include: sending a second result to the second device, where the second result is used by the second device to update a second device-side model.
[0014] In this possible implementation, the second device may use the second result to update the second device-side model, thereby reducing the computing power and storage resources occupied by the first device in updating the second device-side model.
[0015] Optionally, in a possible implementation manner of the first aspect, the above steps further include: updating the second device-side model based on the second result; and sending the updated second device-side model to the second device.
[0016] In this possible implementation, the first device can use the second result to update the second device-side model and send it to the second device, thereby reducing the computing power and storage resources occupied by the second device in updating the second device-side model.
[0017] Optionally, in a possible implementation of the first aspect, the above steps also include: sending indication information to the second device, the indication information is used to synchronize the public data set between the first device and the second device, and the corresponding synchronization operations include at least one of the following: adding, deleting, and modifying; receiving confirmation information sent by the second device, the confirmation information is used to synchronize the public data set.
[0018] In this possible implementation, the first device and the second device participating in the joint learning may synchronize the common data set, thereby ensuring that the prediction results of the interaction (eg, the first result and the second result) correspond to the same common data set.
[0019] The second aspect of the embodiment of the present application provides a communication method that can be applied to a model training scenario. The method can be performed by a second device, or by a component of the second device (such as a processor, a chip, or a chip system, etc.). The second device can be specifically a terminal device, and the method includes: obtaining a first model, the first model is obtained based on the first information of the second device and the second model, and the first model is part of the second model; the first information includes capability information and / or business requirement information.
[0020] In the embodiment of the present application, the second device can determine the first model from the second model through the capability information and / or service requirement information of the second device, and the data of the second device are all inferred using the first model (ie, a substructure of the second model).
[0021] Optionally, in a possible implementation of the second aspect, the above-mentioned second model includes N layers of first networks, at least one layer of the first network in the N layers of first networks includes two or more parallel sub-networks, the first model includes N layers of second networks, the first number is less than the second number, the first number is the number of sub-networks included in at least one layer of the second network in the N layers of second networks, and the second number is the number of sub-networks included in the first network corresponding to at least one layer of the second network in the N layers of first networks, and N is a positive integer.
[0022] In this possible implementation, the first model is an example of a portion of the second model. The first and second models have the same number of network layers, but the number of subnetworks in at least one second network layer of the first model is less than the number of subnetworks in the first network of the second model corresponding to the at least one second network layer. In this case, the first model can also be understood as one or more paths in the second model.
[0023] Optionally, in a possible implementation manner of the second aspect, the above steps further include: receiving a first parameter from the first device, where the first parameter is used to indicate adjustment of the sub-network; and updating the first model based on the first parameter.
[0024] In this possible implementation, the first device and the second device may adjust the sub-network in the first model through the first parameter, thereby improving the performance of the first model.
[0025] Optionally, in a possible implementation manner of the second aspect, the above steps further include: receiving the second model from the first device; and obtaining the first model, including: determining the first model from the second model based on the first information.
[0026] In this possible implementation, the second device may obtain the first model by receiving the second model sent by the first device and determining the first model from the second model, thereby reducing the computing power and storage resources occupied by the second device in determining the first model.
[0027] Optionally, in a possible implementation of the second aspect, the above steps determine the first model from the second model based on the first information, including: determining the subnetworks of each layer of the first network in the N layers of the first network based on the first information; and constructing the first model based on the subnetworks.
[0028] In this possible implementation, the subnetwork in each network layer is determined by the first information, thereby obtaining the first model.
[0029] Optionally, in a possible implementation manner of the second aspect, the capability information is used to determine the number of subnetworks in each second network in the N-layer second network, and the service requirement information is used to determine the subnetworks in each second network.
[0030] In this possible implementation, the number of sub-networks is determined by capability information, and the sub-networks are determined by service requirement information, so that the sub-networks of the first model can be accurately selected from the second model.
[0031] Optionally, in a possible implementation of the second aspect, the above step of obtaining the first model includes: sending first information to the first device, where the first information is used by the first device to determine the first model from the second model; and receiving the second model sent by the first device.
[0032] In this possible implementation, another example of how the second device obtains the first model is by reporting first information to the first device and receiving the first model from the first device, where the first model is determined by the first device based on the first information. By placing the process of determining the first model from the second model on the first device, computing power and storage resources of the second device can be reduced.
[0033] Optionally, in a possible implementation manner of the second aspect, the above steps further include: training the first model based on local data to obtain a third model; sending the third model to the first device, and using the third model to update the second model on the first device.
[0034] In this possible implementation, the first device and the second device may perform joint training using the first model.
[0035] Optionally, in a possible implementation manner of the second aspect, the above steps further include: acquiring a fourth model, where the fourth model is obtained by updating the second model with the third model; and updating the third model based on the fourth model.
[0036] In this possible implementation, the first device and the second device may perform joint training using the first model.
[0037] Optionally, in a possible implementation manner of the second aspect, the first model includes N layers of first networks, the second model includes M layers of first networks, N and M are positive integers, and M is less than or equal to N.
[0038] In this possible implementation, the first model is an example of a portion of the second model, which can be used in a segmented network scenario. For example, the first model is only an encoder or decoder in the entire second model.
[0039] The third aspect of the embodiment of the present application provides a communication method that can be applied to a model training scenario. The method can be executed by a first device, or by a component of the first device (such as a processor, a chip, or a chip system, etc.). The first device can specifically be a network device (such as a base station, a TRP, etc.), and the method includes: receiving a first message sent by a second device, the first information including capability information and / or business requirement information of the second device, and the first information is used to determine whether the learning mode of the model is a federated learning mode or a distillation learning mode; determining the learning mode of the first device and the second device, and the learning mode is a federated learning mode or a distillation learning mode; sending an indication message to the second device, the indication message is used to indicate the learning mode; receiving a second message sent by the second device, and the second information is used to update the model on the first device side.
[0040] In an embodiment of the present application, the first device determines a learning mode that matches the second device through the capability information / business requirement information of the second device, so that it can flexibly apply the model training scenario and improve the model training efficiency.
[0041] The fourth aspect of the embodiment of the present application provides a communication method that can be applied to a model training scenario. The method can be executed by a second device, or by a component of the second device (such as a processor, a chip, or a chip system, etc.). The second device can specifically be a terminal device, and the method includes: sending a first message to a first device, the first information including capability information and / or business requirement information of the second device, and the first information is used to determine whether the learning mode of the model is a federated learning mode or a distillation learning mode; receiving an indication message sent by the first device, the indication message is used to indicate the learning mode; sending a second message to the first device based on the learning mode, and the second information is used to update the model on the first device side.
[0042] In an embodiment of the present application, the first device determines a learning mode that matches the second device through the capability information / business requirement information of the second device, so that it can flexibly apply the model training scenario and improve the model training efficiency.
[0043] Optionally, in a possible implementation of the third aspect or the fourth aspect, in a federated learning mode, the second information is the weight or gradient of the model.
[0044] In this possible implementation, the method can be applied to scenarios where the second device has strong computing power (such as computing power and storage capacity).
[0045] Optionally, in a possible implementation of the third aspect or the fourth aspect, in the above-mentioned distillation learning mode, the second information is the result obtained by model reasoning on a public data set.
[0046] In this possible implementation, the method can be applied to scenarios where the second device has poor capabilities (such as computing power and storage capacity).
[0047] The fifth aspect of the embodiment of the present application provides a first device that can be applied to a multi-level joint learning scenario. The first device includes: an acquisition unit for acquiring a first result, the first result being the result obtained by inferring a public data set by a model on the second device side; an update unit for updating the first model based on the public data set and the first result to obtain a second model, the first model being a local model of the first device; a sending unit for sending the second model to a third device; a receiving unit for receiving a third model sent by the third device, the third model being obtained by processing the second model; the acquisition unit is also used to acquire a second result based on the third model and the public data set, the second result being used to update the model on the second device side.
[0048] Optionally, in a possible implementation of the fifth aspect, the above-mentioned acquisition unit is specifically used to receive a first result from the second device, where the first result is a result obtained by the second device using a second device-side model to infer a public data set.
[0049] Optionally, in a possible implementation of the fifth aspect, the above-mentioned acquisition unit is specifically used to receive a second device-side model from a second device; the acquisition unit is specifically used to use the second device-side model to infer the public data set to obtain the first result.
[0050] Optionally, in a possible implementation of the fifth aspect, the above-mentioned sending unit is further used to send a second result to the second device, and the second result is used by the second device to update the second device side model.
[0051] Optionally, in a possible implementation of the fifth aspect, the above-mentioned updating unit is further used to update the second device side model based on the second result; and the sending unit is further used to send the updated second device side model to the second device.
[0052] Optionally, in a possible implementation of the fifth aspect, the above-mentioned sending unit is also used to send indication information to the second device, and the indication information is used to synchronize a common data set between the first device and the second device, and the corresponding synchronization operations include at least one of the following: addition, deletion, and modification; the receiving unit is also used to receive confirmation information sent by the second device, and the confirmation information is used to synchronize the common data set.
[0053] A sixth aspect of the present application provides a second device that can be used in a model training scenario. The second device includes: an acquisition unit configured to acquire a first model, the first model being obtained based on first information of the second device and a second model, the first model being a portion of the second model; the first information including capability information and / or business requirement information.
[0054] Optionally, in a possible implementation of the sixth aspect, the above-mentioned second model includes N layers of first networks, at least one layer of the first network in the N layers of first networks includes two or more parallel sub-networks, the first model includes N layers of second networks, the first number is less than the second number, the first number is the number of sub-networks included in at least one layer of the second network in the N layers of second networks, and the second number is the number of sub-networks included in the first network corresponding to at least one layer of the second network in the N layers of first networks, and N is a positive integer.
[0055] Optionally, in a possible implementation of the sixth aspect, the above-mentioned second device also includes: a receiving unit, used to receive a first parameter from the first device, the first parameter being used to indicate an adjustment to the sub-network; and an updating unit, used to update the first model based on the first parameter.
[0056] Optionally, in a possible implementation of the sixth aspect, the above-mentioned receiving unit is used to receive the second model from the first device; the acquiring unit is specifically used to determine the first model from the second model based on the first information.
[0057] Optionally, in a possible implementation of the sixth aspect, the above-mentioned acquisition unit is specifically used to determine the subnetwork of each layer of the first network in the N-layer first network based on the first information; the acquisition unit is specifically used to construct the first model based on the subnetwork.
[0058] Optionally, in a possible implementation manner of the sixth aspect, the capability information is used to determine the number of subnetworks of each second network in the N-layer second network, and the service requirement information is used to determine the subnetworks in each second network.
[0059] Optionally, in a possible implementation of the sixth aspect, the above-mentioned acquisition unit is specifically used to send first information to the first device, and the first information is used by the first device to determine the first model from the second model; the acquisition unit is specifically used to receive the second model sent by the first device.
[0060] Optionally, in a possible implementation of the sixth aspect, the above-mentioned updating unit is also used to train the first model based on local data to obtain a third model; the sending unit is also used to send the third model to the first device, and the third model is used by the first device to update the second model.
[0061] Optionally, in a possible implementation of the sixth aspect, the above-mentioned acquisition unit is further used to acquire a fourth model, and the fourth model is obtained by updating the second model by the third model; the updating unit is used to update the third model based on the fourth model.
[0062] Optionally, in a possible implementation manner of the sixth aspect, the first model includes N layers of first networks, the second model includes M layers of first networks, N and M are positive integers, and M is less than or equal to N.
[0063] The seventh aspect of the embodiment of the present application provides a first device that can be applied to a model training scenario. The first device includes: a receiving unit for receiving first information sent by a second device, the first information including capability information and / or business requirement information of the second device, and the first information is used to determine whether the learning mode of the model is a federated learning mode or a distillation learning mode; a determining unit for determining the learning mode of the first device and the second device, and the learning mode is a federated learning mode or a distillation learning mode; a sending unit for sending indication information to the second device, and the indication information is used to indicate the learning mode; the receiving unit is also used to receive second information sent by the second device, and the second information is used to update the model on the first device side.
[0064] In an eighth aspect of an embodiment of the present application, a second device is provided that can be applied to a model training scenario. The second device includes: a sending unit for sending first information to a first device, the first information including capability information and / or business requirement information of the second device, and the first information is used to determine whether the learning mode of the model is a federated learning mode or a distillation learning mode; a receiving unit for receiving indication information sent by the first device, the indication information is used to indicate the learning mode; and a sending unit for sending second information to the first device based on the learning mode, the second information being used to update the model on the first device side.
[0065] Optionally, in a possible implementation of the seventh aspect or the eighth aspect, in a federated learning mode, the second information is the weight or gradient of the model.
[0066] Optionally, in a possible implementation of the seventh aspect or the eighth aspect, in the distillation learning mode, the second information is the result obtained by model reasoning on a public data set.
[0067] A ninth aspect of an embodiment of the present application provides a first device, comprising: a processor, the processor being coupled to a memory, the memory being used to store programs or instructions, and when the programs or instructions are executed by the processor, the first device implements the method of the above-mentioned first aspect or any possible implementation of the first aspect, or enables the second device to implement the above-mentioned third aspect or any possible implementation of the third aspect.
[0068] The tenth aspect of an embodiment of the present application provides a second device, including: a processor, the processor is coupled to a memory, the memory is used to store programs or instructions, when the program or instructions are executed by the processor, the second device implements the method in the above-mentioned second aspect or any possible implementation of the second aspect, and the second device implements the method in the above-mentioned fourth aspect or any possible implementation of the fourth aspect.
[0069] An eleventh aspect of an embodiment of the present application provides a communication system, comprising: the first device of the ninth aspect above, and / or the second device of the tenth aspect above.
[0070] In the eleventh aspect of an embodiment of the present application, a chip system is provided, which includes at least one processor for supporting a first device to implement the functions involved in the above-mentioned first aspect or any possible implementation of the first aspect; or for supporting a first device to implement the functions involved in the above-mentioned third aspect or any possible implementation of the third aspect.
[0071] In one possible design, the chip system may further include a memory for storing program instructions and data necessary for the communication device. The chip system may be composed of a chip or may include a chip and other discrete components. Optionally, the chip system may further include an interface circuit that provides program instructions and / or data to the at least one processor.
[0072] The twelfth aspect of an embodiment of the present application provides a chip system, which includes at least one processor for supporting a second device to implement the functions involved in the above-mentioned second aspect or any possible implementation of the second aspect; or for supporting a second device to implement the functions involved in the above-mentioned fourth aspect or any possible implementation of the fourth aspect.
[0073] In one possible design, the chip system may further include a memory for storing program instructions and data necessary for the communication device. The chip system may be composed of a chip or may include a chip and other discrete components. Optionally, the chip system may further include an interface circuit that provides program instructions and / or data to the at least one processor.
[0074] A thirteenth aspect of the embodiments of the present application provides a computer-readable medium having a computer program or instruction stored thereon. When the computer program or instruction runs on a computer, the computer is caused to execute the method in the aforementioned first aspect or any possible implementation of the first aspect, or the computer is caused to execute the method in the aforementioned second aspect or any possible implementation of the second aspect, or the computer is caused to execute the method in the aforementioned third aspect or any possible implementation of the third aspect, or the computer is caused to execute the method in the aforementioned fourth aspect or any possible implementation of the fourth aspect.
[0075] A fourteenth aspect of an embodiment of the present application provides a computer program product, which, when executed on a computer, enables the computer to execute the method in the aforementioned first aspect or any possible implementation of the first aspect, enables the computer to execute the method in the aforementioned second aspect or any possible implementation of the second aspect, or enables the computer to execute the method in the aforementioned third aspect or any possible implementation of the third aspect, or enables the computer to execute the method in the aforementioned fourth aspect or any possible implementation of the fourth aspect.
[0076] It can be seen from the above technical solutions that the present application has the following advantages: the first device updates the local model according to the first result of the model on the downstream second device side, and sends the updated local model to the upstream third device. Thus, the third model obtained by the upstream third device based on the model updated by the second device is received. Then, the new second result of the public data set is updated according to the third model, and the second result is used to update the model on the downstream second device side. It can be seen that the first device fully utilizes its computing power to participate in joint training in the multi-level joint learning scenario. Compared with the solution where the intermediate level only forwards, the processing flow of the upstream device can be reduced, thereby increasing the learning efficiency of the multi-level joint learning. BRIEF DESCRIPTION OF THE DRAWINGS
[0077] FIG1A is a schematic diagram of a communication system provided in an embodiment of the present application;
[0078] FIG1B is a schematic diagram of a multi-level learning architecture provided in an embodiment of the present application;
[0079] FIG2 is a flow chart of a communication method according to an embodiment of the present application;
[0080] FIG3 is another schematic flow chart of a communication method according to an embodiment of the present application;
[0081] FIG4 is another schematic flow chart of a communication method according to an embodiment of the present application;
[0082] FIG5 is another schematic flow chart of a communication method according to an embodiment of the present application;
[0083] FIG6 is an example diagram of a second model provided in an embodiment of the present application;
[0084] FIG7A is an example diagram of a first model provided in an embodiment of the present application;
[0085] FIG7B is another example diagram of the first model provided in an embodiment of the present application;
[0086] FIG8A is another example diagram of the second model provided in an embodiment of the present application;
[0087] FIG8B is another example diagram of the first model provided in an embodiment of the present application;
[0088] FIG9 is another schematic flow chart of a communication method according to an embodiment of the present application;
[0089] FIG10 is another flow chart of the communication method provided in an embodiment of the present application;
[0090] FIG11 is another schematic flow chart of a communication method provided in an embodiment of the present application;
[0091] FIG12 is another schematic diagram of a communication system provided in an embodiment of the present application;
[0092] FIG13 is a schematic structural diagram of a first device provided in an embodiment of the present application;
[0093] FIG14 is a schematic structural diagram of a second device provided in an embodiment of the present application;
[0094] FIG15 is another structural diagram of the first device provided in an embodiment of the present application;
[0095] FIG16 is another structural diagram of the second device provided in an embodiment of the present application;
[0096] FIG17 is another structural diagram of the first device provided in an embodiment of the present application;
[0097] FIG18 is another structural diagram of the second device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0098] The following will describe the technical solutions in the embodiments of this application in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0099] First, some of the terms used in the embodiments of the present application are explained to facilitate understanding by those skilled in the art.
[0100] 1. Federated Learning
[0101] Federated learning is a distributed learning technology in which each device trains a model using a local dataset and reports the resulting model or updates to a parameter server. The server then uses a fusion algorithm, such as federated averaging, to weighted average the local models of multiple devices to generate a global model, which it then distributes to each device for model updates. The federated learning framework eliminates the need to upload user data, enabling joint learning across multiple devices while protecting user privacy.
[0102] 2. Mixed of Expert (MoE)
[0103] A hybrid expert is a neural network that trains multiple sub-models, each called an expert. A control module selects which expert to use for reasoning on each sample, thereby increasing model capacity without significantly increasing computational requirements. Knowledge distillation is a method for transferring knowledge between models with different structures. This transfer of knowledge is achieved by using the output of one neural network as the label for training another neural network.
[0104] 3. The terms "system" and "network" in the embodiments of the present application can be used interchangeably. "At least one" means one or more, and "plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, "at least one of A, B and C" includes A, B, C, AB, AC, BC or ABC. And, unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in the embodiments of the present application are used to distinguish multiple objects, and are not used to limit the order, timing, priority or importance of multiple objects.
[0105] Please refer to FIG. 1A , which is a schematic diagram of a communication system provided in an embodiment of the present application.
[0106] FIG1A shows a schematic diagram of a communication system according to an embodiment of the present application, wherein the communication system includes a server / core network device 101 , network devices 1021 and 1022 , and terminal devices 1031 and 1032 .
[0107] In the embodiment of the present application, Figure 1A only uses one server / core network device 101, two network devices 1021 and 1022, and two terminal devices 1031 and 1032 as an example for illustration. In actual applications, there may be more server / core network devices, network devices, and terminal devices.
[0108] The way in which each terminal device accesses the server / core network device 101 may also be different. Two terminal devices 1031 and 1032 can access the server / core network device 101 through the same network device 1021, or one terminal device can access the server / core network device 101 through one network device (not shown in Figure 1A).
[0109] The two terminal devices 1031 and 1032 are generally connected to the network device 1021 through a wireless network, or through a wired network. If connected through a wireless network, the specific connection form can be a cellular wireless network, a WiFi network, or other types of wireless networks.
[0110] The network devices 1021 and 1022 can be connected to the server / core network device 101 via a wireless network or a wired network. If they are connected via a wired network, the general connection form is a fiber optic network.
[0111] Optionally, the terminal device 1031 and the terminal device 1032 may be directly connected via a wireless network or a wired network, or may be indirectly connected via the network device 1021, etc., which is not limited herein.
[0112] It is understandable that the network devices 1021 and 1022 can be devices independent of the server / core network device 101, or can be artificial intelligence (AI) nodes of the server / core network device 101, etc.
[0113] The communication system shown in Figure 1A can be applied to cellular systems related to the third generation partnership project (3GPP), such as long term evolution (LTE) systems, fourth generation (4G) communication systems, new radio (NR) systems, and other fifth generation (5G) communication systems. It can also be applied to wireless fidelity (WiFi) systems, communication systems that support the integration of multiple wireless technologies, or sixth generation (6G) communication systems and other communication systems that have evolved after 5G.
[0114] The terminal devices, network devices, and server / core network devices involved in the embodiments of the present application have communication functions and may also have AI computing capabilities. These devices can perform machine learning training through local data samples, and can also receive models trained by other devices for fusion and send to other devices, thereby realizing joint learning of multiple devices.
[0115] The terminal device mentioned in the embodiments of the present application may be a device with wireless transceiver functions, specifically user equipment (UE), access terminal, subscriber unit, user station, mobile station, remote station, remote terminal, mobile device, user terminal, wireless communication equipment, user agent or user device. The terminal device may also be a satellite phone, a cellular phone, a smart phone, a wireless data card, a wireless modem, a machine type communication device, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication capabilities, a computing device or other processing device connected to a wireless modem, an in-vehicle device, a communication device carried on a high-altitude aircraft, a wearable device, a drone, a robot, a terminal in device-to-device communication (D2D), a terminal in vehicle-to-everything (V2X), a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical care, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city ... This application does not limit the wireless terminals in the city, the wireless terminals in the smart home, or the terminal devices in the future communication network.
[0116] The network device mentioned in the embodiments of the present application may be a device with wireless transceiver functions for communicating with a terminal device, or may be a device for accessing a terminal device to a wireless network. The network device may be a node in a radio access network, which may also be referred to as a base station, or may also be referred to as a radio access network (RAN) node (or device). The network device may be an evolved Node B (eNB or eNodeB) in LTE; or a next generation node B (gNB) in a 5G network or a base station in a future evolved public land mobile network (PLMN), a broadband network service gateway (BNG), an aggregation switch or a non-third generation partnership project (3GPP) access device, etc. Optionally, the network devices in the embodiments of the present application may include various forms of base stations, such as macro base stations, micro base stations (also known as small stations), relay stations, access points, devices that implement base station functions in communication systems evolved after 5G, access points (APs) in WiFi systems, transmission points (transmitting and receiving points, TRPs), transmitting points (transmitting points, TPs), mobile switching centers, and devices to devices (Device-to-Device, D2D), vehicle-to-everything (V2X), and machine-to-machine (M2M) communications. Devices that perform base station functions, etc., may also include centralized units (CUs) and distributed units (DUs) in cloud radio access networks (C-RAN) systems, and network devices in non-terrestrial networks (NTN) communication systems, that is, they can be deployed on high-altitude platforms or satellites. The embodiments of the present application are not specifically limited to this.
[0117] The server mentioned in the embodiments of the present application can also be understood as an AI server (AI Function, AIF). The core network device can include, for example, an access and mobility management function (AMF), a user plane function (UPF), or a session management function (SMF). It can be understood that the core network device can also be referred to as a core network element. Among them, the core network element can be used to complete functions such as registration, connection, and session management. The core network element mainly includes a network exposure function (NEF) network element, a policy control function (PCF) network element, an application function (AF) network element, an access and mobility management function (AMF) network element, a session management function module (SMF) network element, and a user plane function (UPF) network element.
[0118] Optionally, a server is generally not considered as a core network element. The server includes functions for implementing model processing, etc.
[0119] In the communication system shown in Figure 1A, each device can implement multi-level joint learning. The multi-level joint learning of Figure 1A is described below with reference to Figure 1B.
[0120] Figure 1B is a structural diagram of a multi-level learning architecture, which includes a terminal device, a first-level node, and a second-level node. Here, the first-level node is the network device shown in Figure 1A, and the second-level node is the server / core network device shown in Figure 1A. Figure 1B can be regarded as a round of joint learning process, and the process of Figure 1B is repeated until the stopping condition is met. The stopping condition can be model convergence, training time reaches a preset time, or training times reach a preset number of times. In addition, the first-level node and the second-level node can be understood as a federated learning layer. The first-level node and the terminal device can be understood as a knowledge distillation learning layer. Generally, the terminal device and the network device pre-store a public data set. Of course, the public data set can also be obtained by interacting with the terminal device and the network device, and the specific method is not limited here.
[0121] It is understood that Figure 1B illustrates the example of a first-level node being a network device and a second-level node being a server / core network device. In practical applications, the first-level and second-level nodes can also be other terminal devices, in which case it can be considered multi-level joint learning of terminal devices. The specifics of the second-level and third-level nodes are not limited here.
[0122] A round of joint learning shown in FIG1B includes steps 1 to 7, which are described below respectively.
[0123] Step 1: The server / core network device triggers the federated learning process, selects participating network devices, and notifies each network device to participate. The participating network devices further select terminal devices to participate in federated distillation and notify each terminal device to participate in the federated learning process. Specifically, terminal devices can be selected based on their capability information and / or service requirement information. Capability information can include at least one of the following: computing power, storage capacity, etc. Service requirement information can include at least one of the following: data distribution of each terminal device, inference tasks of each terminal device, etc.
[0124] Step 2: After the terminal devices participating in the joint learning process train the local model based on the local dataset, the updated local model infers the public dataset to obtain a first result, and reports the first result to the network device.
[0125] Step 3: Based on the received first result, the network device uses the public data set as the training set, the label of the training set as the label for calculating the loss function, and the first result as the soft label for calculating the loss function to train the network device side model.
[0126] Step 4: The network device reports the trained network-side device model to the server / core network device.
[0127] Step 5: The server / core network device performs a weighted average of the received network-side device models to obtain the global model learned in this round and sends the global model to each network device.
[0128] Step 6: The network device replaces the trained network-side device model with the global model. The global model is then used to process the public dataset to obtain a second result. This second result is then sent to the terminal device.
[0129] Step 7: After receiving the second result, the terminal device uses the public dataset as the training set, the labels of the training set as the labels for calculating the loss function, and the second result as the soft labels for calculating the loss function to train the terminal-side model. This completes one round of joint learning.
[0130] It can be understood that in the above steps 2, 3, and 7, knowledge distillation can also be performed through network devices to perform terminal-side model fusion, that is, the terminal device trains a local model based on local private data, and reports the trained local model to the network device; the network device trains the network device side model through knowledge distillation based on the public data set and each terminal side model, and further distills and updates each terminal side model, and sends the updated terminal side model to the terminal device for updating.
[0131] To understand the above-mentioned joint learning process in more detail, the communication method in the embodiment of the present application is described below in conjunction with the communication architecture of Figures 1A and 1B:
[0132] Please refer to Figure 2, which is a flow chart of a communication method provided in an embodiment of the present application. The method may include steps 201 to 207. Steps 201 to 207 are described in detail below. The first device in this embodiment is the first-level node / network device in Figures 1A and 1B above. The second device is a terminal device, and the third device is the server / core network device in Figures 1A and 1B above. In addition, the number of the first device, the second device, and the third device can be one or more, and is not specifically limited here.
[0133] Step 201: The first device obtains a first result.
[0134] In the embodiment of the present application, there are multiple situations in which the first device obtains the first result, which are described below respectively.
[0135] In the first case, step 201 includes step 2011 and step 2012 .
[0136] In step 2011, the second device obtains a first result by inferring the public data set based on the second device side model.
[0137] Optionally, the second device uses a local second device-side model to infer the public data set to obtain the first result. Specifically, the second device inputs data in the public data set into the second device-side model to obtain an inference result (ie, the first result).
[0138] Optionally, the above-mentioned second device side model is trained by the second device using local data.
[0139] Step 2012: The second device sends the first result to the first device.
[0140] After obtaining the first result, the second device sends the first result to the first device. Correspondingly, the first device receives the first result sent by the second device.
[0141] In the second case, step 201 includes step 2013 and step 2014.
[0142] Step 2013: The second device sends the second device side model to the first device.
[0143] Optionally, the second device uses the local data training model to obtain the second device-side model. After the second device generates the second device-side model, it sends the second device-side model to the first device. Correspondingly, the first device receives the second device-side model sent by the second device.
[0144] In step 2014, the first device infers the public data set based on the second device side model to obtain a first result.
[0145] Optionally, after the first device obtains the second device-side model, the first device infers the public data set based on the second device-side model to obtain the first result. Specifically, the first result is obtained by inferring the public data set using the second device-side model.
[0146] It is understandable that the above two situations are just examples. In actual applications, there are many ways for the first device to obtain the first result, such as selecting from a database, etc., which are not specifically limited here.
[0147] As can be seen, the two scenarios above can be selected based on actual needs. In the first scenario, the second device reports the first result to the first device. In the second scenario, the second device reports the second device-side model to the first device, and the first device then uses the second device-side model to infer the public dataset to obtain the first result.
[0148] Step 202: The first device updates the first model based on the first result to obtain a second model.
[0149] After obtaining the first result, the first device may update the first model based on the first result to obtain the second model.
[0150] Optionally, a public dataset is used as a training set, the labels of the training set are used as hard labels for the loss function, and the first result is used as a soft label for the loss function. The first device uses the training set as input and trains the first model to obtain a second model with the goal of reducing the loss function. The loss function is used to represent a first difference and a second difference. The first difference is the difference between the output of the first model and the hard label, and the second difference is the difference between the output of the first model and the soft label.
[0151] Optionally, the loss function includes a weighted sum of the first difference and the second difference, wherein the weight coefficients of the first difference and the second difference can be set according to actual needs, for example, loss function = 0.4 * first difference + 0.6 * second difference. Specific details are not limited here.
[0152] This step can also be understood as the first device performing knowledge distillation based on the public dataset and the first result.
[0153] In addition, it should be noted that the model of interaction between each device in the embodiment of the present application (for example, the first model, the second model, the third model, etc.) can refer to the entire model, or it can refer to the weight of the model (for example, all weights, or weights with incremental updates, etc., which are not limited here).
[0154] It is understandable that the first model weight here can be all parameter weights of the first model, or can be parameter weights adjusted relative to the last learning, and the specifics are not limited here.
[0155] Step 203: The first device sends the second model to the third device.
[0156] After the first device trains / updates the first model to obtain the second model, it sends the second model to the third device. Correspondingly, the third device receives the second model sent by the first device.
[0157] Step 204: The third device updates the third device-side model based on the second model to obtain a third model.
[0158] After receiving the second model sent by the first device, the third device updates the third device side model based on the second model to obtain a third model.
[0159] In this step, the number of second models acquired by the third device depends on the number of first devices participating in the joint learning. That is, the third device can acquire second models reported by multiple first devices. After acquiring the second models reported by multiple first devices, the third device updates the third-device-side model based on the multiple second models to obtain a third model. For example, the third model is obtained by taking a weighted average of the parameters of the multiple second models and the third-device-side model.
[0160] This step can be understood as the third device collecting the latest models of multiple first devices and using the latest models of multiple first devices to obtain a global model (i.e., the third model). For example, the global model is obtained by taking a weighted average of the parameters of the latest models of multiple first devices and the model on the third device side.
[0161] Step 205: The third device sends the third model to the first device.
[0162] After acquiring the third model, the third device sends the third model to the first device. Correspondingly, the first device receives the third model sent by the third device.
[0163] This step can be understood as the third device collecting the second models reported by multiple first devices, using the second model to update the previous third device side model to obtain a global model, and sending the global model to each first device.
[0164] Step 206: The first device obtains a second result based on the public data set and the third model.
[0165] After receiving the third model sent by the third device, the first device obtains a second result based on the public data set and the third model.
[0166] Optionally, the third model infers the public dataset to obtain a second result.
[0167] It is understandable that in some scenarios, if the third device stores a public data set, the above steps 205 and 206 can be replaced by: after obtaining the third model, the third device obtains the second result based on the public data set and the third model, and sends the second result to the first device.
[0168] Step 207: Update the second device-side model based on the second result.
[0169] In this embodiment, there are multiple situations for updating the second device-side model based on the second result, which are described below respectively.
[0170] In one possible implementation, after obtaining the second result, the first device sends the second result to the second device. The second device updates the second device-side model based on the second result and the public dataset. For example, similar to the above, the public dataset is used as a training set, the labels of the training set are used as hard labels for the loss function, and the second result is used as a soft label for the loss function. The second device uses the training set as input and trains and updates the second device-side model with the goal of reducing the value of the loss function.
[0171] In another possible implementation, the first device stores a second device-side model (for example, the second device-side model is obtained through the second case of the aforementioned step 201), and the first device can update the second device-side model based on the second result. And send the updated second device-side model to the second device. For example, similar to the above, by using a public data set as a training set, the label of the training set as the hard label of the loss function, and the second result as the soft label of the loss function. The first device uses the training set as input and trains and updates the second device-side model with the goal of reducing the value of the loss function.
[0172] In an embodiment of the present application, the first device updates the local model based on the first result of the model on the downstream second device side, and sends the updated local model to the upstream third device. Thus, the third model obtained by the upstream third device based on the model updated by the second device is received. The second result of the public data set is then updated based on the third model, and the second result is used to update the model on the downstream second device side. It can be seen that the first device fully utilizes its computing power to participate in joint training in a multi-level joint learning scenario. Compared with the solution where the intermediate level only forwards, it can integrate the heterogeneous models of the downstream devices and reduce the processing flow of the upstream devices, thereby increasing the learning efficiency of multi-level joint learning.
[0173] Figure 3 illustrates another communication method provided by an embodiment of the present application. Figure 3 can be understood as describing an example in which the first device is a base station, the second device is a terminal device, and the third device is an AI server. The method includes steps 301 to 308, which are described below.
[0174] Step 301: The AI server sends first trigger information to the base station.
[0175] The AI server sends a first trigger message to the base station, and the base station receives the first trigger message sent by the AI server. The first trigger message is used to notify the base station to perform joint learning.
[0176] Optionally, the AI server may broadcast the first trigger information. The first trigger information may include at least one of the following: a joint learning identifier, a learning area (e.g., represented by a cell identifier or a dedicated learning area identifier), etc. The joint learning identifier is used to indicate a specific AI task. The learning area is used to indicate an area participating in the joint learning, and base stations within the area can participate in the joint learning.
[0177] Step 302: The base station sends second trigger information to the terminal device.
[0178] After receiving the first trigger information, the base station sends a second trigger information to the terminal device. Correspondingly, the terminal device receives the second trigger information sent by the base station. The second trigger information is used to instruct the terminal device to perform joint learning.
[0179] Optionally, after receiving the first trigger information, the base station broadcasts second trigger information, where the second trigger information includes at least one of the following: a joint learning identifier, a terminal ID, and a feedback time-frequency resource location. The terminal ID is used to indicate the terminal device participating in the joint learning, and the feedback time-frequency resource location is used to indicate the physical resource used by the terminal to feedback training completion information.
[0180] Step 303: The terminal device sends training completion information to the base station.
[0181] After receiving the second trigger information, the terminal device uses local data to train the model. After the training is completed, it sends a training completion message to the base station. In response, the base station receives the training completion message sent by the terminal device. The training completion message is used to indicate that the terminal device has completed the model training.
[0182] Step 304: The base station sends configuration information to the terminal device.
[0183] The base station sends configuration information to the terminal device. Correspondingly, the terminal device receives the configuration information sent by the base station. This configuration information indicates the physical resources and / or transmission parameters used by the terminal device to report the first result. The physical resources may be the aforementioned feedback time-frequency resource location. The transmission parameters may include the coding rate and / or modulation order.
[0184] It is understandable that if the second trigger information does not include the feedback time-frequency resource location, the configuration information may include the feedback time-frequency resource location. Of course, if the terminal device has a preset feedback time-frequency resource location, the second trigger information and the configuration information may not include the feedback time-frequency resource location.
[0185] Step 305: The terminal device sends the first result to the base station.
[0186] The terminal device uses a locally trained model to infer the public dataset to obtain a first result. Specifically, the locally trained model infers the public dataset to obtain the first result. The terminal device then transmits the first result to a base station. In response, the base station receives the first result transmitted by the terminal device.
[0187] For the description of the first result, reference may be made to the description of the first result in the embodiments shown in FIG. 1B and FIG. 2 , which will not be repeated here.
[0188] Step 306: The base station sends the first model to the AI server.
[0189] After obtaining the first result, the base station can train a local model based on the first result and the public dataset to obtain a first model. The first model is then sent to the AI server. In response, the AI server receives the first model sent by the base station.
[0190] Step 307: The AI server sends the second model to the base station.
[0191] After receiving the first model from the base station, the AI server uses the first model to update its local model to obtain a second model. The second model is then sent to the base station. In response, the base station receives the second model from the AI server.
[0192] Optionally, the AI server fuses and updates the first models reported by multiple base stations to obtain a second model, and broadcasts the second model to each base station.
[0193] Step 308: The base station sends the second result to the terminal device.
[0194] After receiving the second model from the AI server, the base station uses the second model to infer the public dataset to obtain a second result. The second result is then sent to the terminal device. In return, the terminal device receives the second result from the base station. This second result is used to update the terminal device-side model.
[0195] It is understandable that Figure 3 only describes the interaction between the devices using the first device as a base station, the second device as a terminal device, and the third device as an AI server as an example. For the specific process, please refer to the description of the embodiments shown in Figures 1B and 2 above, and will not be repeated here.
[0196] In addition, during the joint learning process in the embodiments shown in Figures 1B to 3 above, the first device and the second device participating in the joint learning can synchronize the common data set. This ensures that the prediction results of the interaction (e.g., the first result and the second result) correspond to the same common data set. In one possible implementation, the synchronization process of the above-mentioned common data set can be shown in Figure 4, and the interaction process includes steps 401 and 402.
[0197] Step 401: The first device sends indication information to the second device.
[0198] The first device sends an instruction message to the second device. Correspondingly, the second device receives the instruction message sent by the first device. The instruction message is used to synchronize a common data set between the first device and the second device. The synchronization operation includes at least one of the following: adding, deleting, modifying, etc.
[0199] Optionally, an index may be configured for each sample in the public dataset, and the sample may be indicated by the index. The operations corresponding to the above synchronization include: adding a sample, deleting a sample, modifying a sample, and the like.
[0200] Optionally, the indication information may be carried by at least one of the following: radio resource control (RRC) signaling, downlink control information (DCI), a control element (MAC CE) in the media access control information, and the like.
[0201] Step 402: The second device sends confirmation information to the first device.
[0202] After receiving the instruction information, the second device performs operations such as adding, deleting, and modifying the public data set, and sends a confirmation message to the first device, where the confirmation message is used to synchronize the public data set.
[0203] Optionally, the confirmation information may include the latest public data set, an incrementally updated public data set, an index of a sample to be modified and the modified content, an index of a sample to be deleted, etc., which are not specifically limited here.
[0204] In this embodiment, the first device and the second device participating in the joint learning may synchronize the common data set, thereby ensuring that the prediction results of the interaction (eg, the first result and the second result) correspond to the same common data set.
[0205] Please refer to Figure 5, which is another flow chart of the communication method provided in an embodiment of the present application. The method may include steps 501 to 508. Steps 501 to 508 are described in detail below. The first device and the second device in this embodiment can be the terminal device and the network device in the embodiments shown in Figures 1A to 4, or can be the network device and the server / core network device, and the specific details are not limited here. That is, the embodiment shown in Figure 5 can be combined with the embodiments shown in Figures 1A to 4.
[0206] Step 501: The second device obtains the first model.
[0207] The second device obtains a first model, where the first model is obtained based on the first information of the second device and the second model. The first model is a part of the second model. The first information includes capability information and / or business requirement information.
[0208] There are many cases where the first model is a part of the second model.
[0209] In one possible implementation, the first model and the second model have the same number of network layers, and the subnetworks at each network layer in the first model are part of the subnetworks at the corresponding network layer in the second model. In this case, the second model includes N layers of first networks, at least one of which includes two or more parallel subnetworks, and the first model includes N layers of second networks. The first number is less than the second number, where the first number is the number of subnetworks included in at least one of the N layers of second networks, and the second number is the number of subnetworks included in the first network corresponding to the at least one second network in the N layers of first networks, and N is a positive integer.
[0210] Exemplarily, the second model is shown in FIG6 . The second model includes n layers of first networks, where n is an integer greater than 2. The n layers of first networks include: a first layer of first network NN1, a second layer of first network NN2, ..., and an nth layer of first network NNn. The first layer of first network NN1 includes K subnetworks: subnetwork NN1-1, subnetwork NN1-2, ..., and subnetwork NN1-K. The second layer of first network NN2 includes L subnetworks: subnetwork NN2-1, subnetwork NN2-2, ..., and subnetwork NN2-L. The nth layer of first network NNn includes M subnetworks: subnetwork NNn-1, subnetwork NNn-2, ..., and subnetwork NNn-M. K, L, and M are positive integers. The first model is shown in FIG7A . The first model includes n layers of second networks. The n layers of second networks include: a first layer of second network NN1, a second layer of second network NN2, ..., and an nth layer of second network NNn. The first-layer second network NN1 includes KP subnetworks: subnetworks NN1-1, ..., and subnetwork NN1-(KP). The second-layer second network NN2 includes L subnetworks: subnetworks NN2-1, NN2-2, ..., and NN2-L. The n-th-layer second network NNn includes M subnetworks: subnetworks NNn-1, NNn-2, ..., and NNn-M. P is a positive integer greater than 0 and less than K. It should be understood that Figures 6 and 7A are merely examples of the second model and the first model, used to illustrate a situation in which the first model is part of the second model.
[0211] In another possible implementation, the first model and the second model have different numbers of network layers, and some of the network layers in the second model are the first model. In this case, the first model includes N first network layers, and the second model includes M first network layers, where N and M are positive integers, and M is less than or equal to N.
[0212] For example, the second model is continued as shown in FIG6 . The first model is shown in FIG7B , and the first model includes an nm-layer second network. The nm-layer second network includes: a first-layer second network NN1, ..., a nm-th-layer second network NN(nm). The first-layer second network NN1 includes K subnetworks: subnetwork NN1-1, subnetwork NN1-2, ..., subnetwork NN1-K. The nm-th-layer second network NN(nm) includes Q subnetworks: subnetwork NN(nm)-1, subnetwork NN(nm)-2, ..., subnetwork NNNN(nm)-Q. Q and m are positive integers. It can be understood that FIG6 and FIG7B are merely examples of the second model and the first model, used to describe another case where the first model is part of the second model.
[0213] Additionally, the capability information of the second device is used to determine the number of subnetworks in the first model. The service requirement information is used to determine each subnetwork. The capability information may include at least one of the following: computing power, storage capacity, etc. The service requirement information may include at least one of the following: data distribution of each second device, inference tasks of each second device, etc.
[0214] In the embodiment of the present application, there are multiple situations in which the second device obtains the first model, which are described below respectively.
[0215] In the first case, step 501 includes step 5011 and step 5012 .
[0216] Step 5011: The first device sends the second model to the second device.
[0217] The first device sends the second model at the first device to the second device. Correspondingly, the second device receives the second model sent by the first device. The second model can also be understood as a large model with multiple experts (i.e., the first network / the second network).
[0218] Step 5012: The second device determines the first model from the second model based on the first information.
[0219] After the second device obtains the second model, it can determine the first model from the second model based on the first information.
[0220] Specifically, the number of subnetworks in the first model can be determined using capability information, and each subnetwork can be determined using service requirement information, thereby determining which subnetworks from the second model are selected as the first model.
[0221] Determining the first model from the second model can be understood as determining one or more paths in the second model as the first model. The path is used to represent the subnetwork selected from the second model.
[0222] Optionally, the second model may include a path selection module and an expert selection module matching the first network. The expert selection module is used to determine the subnetworks in the first network. Specifically, the path selection module is used to determine the number of subnetworks subsequently selected in each first network layer in the second model. The input information to the path selection module includes at least one of the following: terminal ID, terminal capability information, terminal service requirement information, input samples, number of paths, etc. The output of the path selection module is a vector with the same dimensions as the input samples or the average of all samples. The expert selection module receives information sent by the path selection module (e.g., input samples, number of paths, etc.) and outputs the weights of each subnetwork. The number of expert selection modules can be one or more. If there is one expert selection module, the expert selection module is used to select subnetworks for all first network layers in the second model. If the number of expert selection modules is the same as the number of first networks in the second model, each first network layer can correspond to an expert selection module to determine the subnetworks in its respective first network layer. Furthermore, the number of subnetworks selected by the expert selection module from each first network layer can be one or more, and the specific number is not limited here. If the expert selection module determines a sub-network from each layer of the first network, the sub-networks selected from each layer of the first network can be connected and regarded as a path.
[0223] Furthermore, the path control module mentioned above does not need to participate in the reasoning of the second model. That is, the second model is deployed to include all paths. During the specific reasoning, the expert selection module will select a path to process the input sample based on the input sample, thereby determining the weight of the sub-network on the path.
[0224] For example, let's assume the second model is shown in Figure 8A (i.e., N, M, L, and K are 3 in Figure 6 ), and the first model is shown in Figure 8B . The above process of determining the first model from the second model is described. As shown in Figure 8A , the second model includes three layers of first networks: a first-layer first network NN1, a second-layer first network NN2, and a third-layer first network NN3. The first-layer first network NN1 includes subnetworks NN1-1, NN1-2, and NN1-3. The second-layer first network NN2 includes subnetworks NN2-1, NN2-2, and NN2-3. The third-layer first network NN3 includes subnetworks NN3-1, NN2-3, and NN3-3. Furthermore, multiple first networks can be matched to one expert selection module. Of course, to improve the overall performance of the model, each layer of the first network can also be matched to an expert selection module. For example, expert selection module 1 is used to determine the subnetwork selected from the first-layer first network. Expert selection module 2 is used to determine the subnetwork selected from the second-layer first network. Expert selection module 3 is used to determine the subnetwork selected from the third-layer first network. Taking the example of selecting a subnetwork from each layer of the first network (i.e., selecting a path), after the expert selection module outputs the weights of each subnetwork, the subnetwork with the larger weight can be selected from each layer of the first network as the subnetwork of the first model. As shown in Figure 8A, in the first-layer first network NN1, the weight of subnetwork NN1-1 is 0.1, the weight of subnetwork NN1-2 is 0.7, and the weight of subnetwork NN1-3 is 0.1. In the second-layer first network NN2, the weight of subnetwork NN2-1 is 0.05, the weight of subnetwork NN2-2 is 0.6, and the weight of subnetwork NN2-3 is 0.1. In the third-layer first network NN3, the weight of subnetwork NN3-1 is 0.8, the weight of subnetwork NN3-2 is 0.02, and the weight of subnetwork NN3-3 is 0.08. It can be seen that the weight of subnetwork NN1-2, 0.7, is the largest weight in the first-layer first network NN1. Subnetwork NN2-2 has a weight of 0.6, the largest weight in the second-layer first network NN2. Subnetwork NN3-1 has a weight of 0.8, the largest weight in the third-layer first network NN3. This results in a path: subnetwork NN1-2, subnetwork NN2-2, and subnetwork NN3-1. The first model determined based on the above process is shown in Figure 8B.
[0225] It is understandable that the above-mentioned Figures 8A and 8B are only examples. In actual applications, the second model and the first model may have other situations, and the first model may include multiple paths, which are not specifically limited here.
[0226] Optionally, Figure 8B above is the first case where the aforementioned first model is part of the second model. For the second case where the aforementioned first model is part of the second model, for example, for structures such as autoencoders used for joint reasoning, the network may also split the model into two parts, and accordingly, the selected path is also divided into two parts. For the segmented model, one part is deployed on the second device (such as the terminal), and the other part is deployed on the first device (such as the base station), such as the encoder and decoder for channel information feedback. For example, in the case where the second model includes an encoder and a decoder, the first model can be part of the encoder or decoder in the second model. For each terminal, the base station needs to maintain path information so that it can select the corresponding path, that is, the decoder paired with the encoder, during joint reasoning. For a segmented neural network, segmented learning can be achieved, that is, the terminal and the base station implement model training by interacting with intermediate features and gradients.
[0227] The second case, step 501 in this case includes steps 5013 to 5015.
[0228] Step 5013: The second device sends the first information to the first device.
[0229] The second device sends the first information to the first device. Correspondingly, the first device receives the first information sent by the second device. The description of the first information can be referred to above and will not be repeated here.
[0230] Step 5014: The first device determines the first model from the second model based on the first information.
[0231] This step is similar to the aforementioned step 5012 and will not be repeated here.
[0232] Step 5015: The first device sends the first model to the second device.
[0233] After determining the first model from the second model, the first device sends the first model to the second device. Correspondingly, the second device receives the first model sent by the first device.
[0234] As can be seen, the two scenarios above can be selected based on actual needs. In the first scenario, the first device sends the second model to the second device. The second device then determines the first model from the second model based on the first information. In the second scenario, the second device reports the first information to the first device. The first device then determines the first model from the second model based on the first information and sends the first model to the second device.
[0235] Step 502: The first device sends a first parameter to the second device. This step is optional.
[0236] Optionally, after acquiring the first model, the first device may further send a first parameter to the second device. Accordingly, the second device receives the first parameter sent by the first device. The first parameter is used to indicate an adjustment to the subnetwork.
[0237] The first parameter may include at least one of the following: addition or deletion of the first model sub-network.
[0238] Step 503: The second device updates the first model based on the first parameter. This step is optional.
[0239] Optionally, after receiving the first parameter, the second device updates the first model based on the first parameter.
[0240] Specifically, the second device performs operations such as adding, deleting, and modifying the sub-network in the first model using the received first parameter.
[0241] It is understandable that the process of step 502 and step 503 is triggered by the first device. In actual application, the adjustment process of the sub-network can also be triggered by the second device, for example, when a new terminal is added to the joint learning, etc., which is not limited here.
[0242] In step 504, the second device trains the first model based on the local data to obtain a third model. This step is optional.
[0243] Optionally, after acquiring the first model, the second device trains the first model based on local data to obtain a third model. This process can also be understood as the second device fine-tuning the first model so that the fine-tuned third model is more suitable for reasoning with the data at the second device.
[0244] Step 505: The second device sends the third model to the first device. This step is optional.
[0245] Optionally, after the second device fine-tunes the first model to obtain the third model, it sends the third model to the first device. Correspondingly, the first device receives the third model sent by the second device.
[0246] Step 506: The first device updates the second model based on the third model to obtain a fourth model. This step is optional.
[0247] Optionally, after receiving the third model, the first device uses the third model to update the local second model to obtain a fourth model.
[0248] This step can also be understood as the base station adjusting the second model on the base station side to obtain the fourth model by receiving the latest model reported by the downstream terminal. For example, the same sub-network of the model at each terminal (i.e., each first model) is merged to obtain the fourth model.
[0249] Step 507: The first device sends the fourth model to the second device. This step is optional.
[0250] Optionally, after acquiring the fourth model, the first device may send the fourth model to the second device. Correspondingly, the second device receives the fourth model sent by the first device.
[0251] This step can be understood as the base station fusing the same sub-networks of the models at each terminal to obtain a fourth model, and sending the fourth model to the second device so that the second device updates its local model based on the third model.
[0252] Step 508: The second device updates the third model based on the fourth model. This step is optional.
[0253] Optionally, after acquiring the fourth model, the second device uses the fourth model to update the local third model.
[0254] In addition, steps 501 and 504 to 508 of this embodiment can be understood as joint learning. Specifically, the network device side trains a multi-expert large model (i.e., the second model) based on existing data. The terminal device or network device determines the sub-model (i.e., the first model) determined by one or more expert paths based on capability information / business requirement information. Each terminal device obtains a trained sub-model (i.e., the third model) based on local data training and reports it. The network device fuses the same parts of the sub-models reported by each terminal device and sends the fused model (i.e., the fourth model) to the terminal device, allowing the terminal device to update the local model. Among them, the network device or terminal device needs to maintain the terminal ID and sub-model path information for participating in the averaging of each module model during model fusion on the network device side. After training is completed, each terminal device infers based on the sub-model, and the network device infers based on the large model. The terminal device can further perform knowledge distillation based on the sub-model to obtain a smaller model or a model more suitable for local hardware.
[0255] In one possible implementation, the communication method provided in this embodiment includes step 501. In this case, the communication method can determine the first model from the second model based on the terminal's capability information and / or service requirement information. The terminal's data is inferred using this path (i.e., the subnetwork in the first model).
[0256] In another possible implementation, the communication method provided in this embodiment includes steps 501 to 503. In this case, the communication method can determine the first model from the second model based on the terminal's capability information and / or service requirement information. The terminal's data is inferred using this path (i.e., the subnetwork in the first model). Furthermore, timely adjustments to the subnetwork in the first model can be achieved.
[0257] In another possible implementation, the communication method provided in this embodiment includes steps 501, 504 to 508. The communication method can determine the first model from the second model based on the terminal's capability information and / or business requirement information. And the terminal's data all uses this path (i.e., the subnetwork in the first model) for inference. In addition, it can be applied to joint learning scenarios. In this case,
[0258] In another possible implementation manner, the communication method provided in this embodiment includes steps 501 to 508.
[0259] Please refer to Figure 9, which is another flow chart of the communication method provided in an embodiment of the present application. The method may include steps 901 to 903. Steps 901 to 903 are described in detail below. The first device and the second device in this embodiment can be the terminal device and the network device in the embodiments shown in Figures 1A to 4 above, or can be the network device and the server / core network device, and the specific details are not limited here. That is, the embodiment shown in Figure 9 can be combined with the embodiments shown in Figures 1A to 8B.
[0260] Step 901: The second device sends first information to the first device.
[0261] The second device sends first information to the first device. Correspondingly, the first device receives the first information sent by the second device. The first information includes capability information and / or service requirement information of the second device.
[0262] Optionally, the capability information may include at least one of the following: computing capability, storage capability, etc. The service requirement information may include at least one of the following: data distribution of the second device, reasoning tasks of the second device, etc.
[0263] Step 902: The first device sends indication information to the second device.
[0264] After obtaining the first information from the second device, the first device determines, based on the first information, whether the model's learning mode is federated learning mode or distillation learning mode. After determining the learning mode, the first device sends an indication to the second device. The second device receives the indication from the first device. The indication indicates whether the learning mode is federated learning mode or distillation learning mode.
[0265] For example, for a second device with weaker computing power, a small model is used. This determines that the learning mode of the second device is the distillation learning mode (also known as the knowledge distillation mode). For another example, for a second device with stronger computing power, a large model is used. This determines that the learning mode of the second device is the federated learning mode.
[0266] Step 903: The second device sends second information based on the indication information.
[0267] The second device receives the instruction information, determines a learning mode based on the instruction information, and determines second information to be sent to the first device based on the instruction information. The second information is used to update the model on the first device.
[0268] In one possible implementation, in the distillation learning mode, the second information is the first result obtained by the second device-side model inferring the public data set.
[0269] In another possible implementation, in the federated learning mode, the second information is the weight or gradient of the second device-side model.
[0270] In this embodiment, the first device determines a learning mode that matches the second device through the capability information / business requirement information of the second device, so that it can flexibly apply the model training scenario and improve the model training efficiency.
[0271] It can be seen that the communication process is different based on the different learning modes. The following describes two UEs and one base station as an example with reference to Figures 10 and 11.
[0272] The first one is the distillation learning model (also known as the knowledge distillation model).
[0273] As shown in FIG10 , the communication process includes steps 1001 to 1006 .
[0274] Step 1001: UE1 and UE2 send first information to a base station.
[0275] UE1 and UE2 send first information to the base station. The first information of UE1 includes capability information and / or service requirement information of UE1. The first information of UE2 includes capability information and / or service requirement information of UE2.
[0276] The capability information may include at least one of the following: computing capability, storage capability, etc. The service requirement information may include at least one of the following: data distribution of the second device, reasoning tasks of the second device, etc.
[0277] Step 1002: The base station sends indication information (knowledge distillation) to UE1 and UE2.
[0278] The base station determines that the learning mode is the knowledge distillation mode based on the first information of UE1 and UE2, and sends indication information to UE1 and UE2, where the indication information is used to indicate that the learning mode is the knowledge distillation mode.
[0279] Step 1003: UE1 and UE2 perform local training.
[0280] After UE1 and UE2 determine that the learning mode is the knowledge distillation mode, they train the model using their respective local data and obtain the inference result (i.e., the first result) based on the trained model and the public dataset.
[0281] Step 1004: UE1 and UE2 send the first result to the base station.
[0282] After obtaining the first result, UE1 and UE2 report the first result to the base station.
[0283] Step 1005: base station model training.
[0284] After receiving the first result sent by UE1 and UE2, the base station updates the base station-side model using the first result, and obtains an inference result (ie, a second result) based on the updated model and the public data set.
[0285] Step 1006: The base station sends the second result to UE1 and UE2.
[0286] After obtaining the second result, the base station sends the second result to UE1 and UE2. The second result is used by UE1 and UE2 to update their respective local models.
[0287] The process of the embodiment shown in FIG10 is similar to the process between the first-level node and the terminal device in FIG1B , and similar descriptions are not repeated here.
[0288] The second is the federated learning model.
[0289] As shown in FIG11 , the communication process includes steps 1101 to 1106 .
[0290] Step 1101: UE1 and UE2 send first information to a base station.
[0291] UE1 and UE2 send first information to the base station. The first information of UE1 includes capability information and / or service requirement information of UE1. The first information of UE2 includes capability information and / or service requirement information of UE2.
[0292] The capability information may include at least one of the following: computing capability, storage capability, etc. The service requirement information may include at least one of the following: data distribution of the second device, reasoning tasks of the second device, etc.
[0293] Step 1102: The base station sends instruction information (federated learning) to UE1 and UE2.
[0294] The base station determines that the learning mode is the federated learning mode based on the first information of UE1 and UE2, and sends indication information to UE1 and UE2, where the indication information is used to indicate that the learning mode is the federated learning mode.
[0295] Step 1103: UE1 and UE2 perform local training.
[0296] After UE1 and UE2 determine the learning mode as federated learning mode, they train the model using their respective local data and obtain the weights / gradients of the trained model.
[0297] Step 1104: UE1 and UE2 send weights / gradients to the base station.
[0298] After obtaining the weights / gradients, UE1 and UE2 report the weights / gradients to the base station.
[0299] Step 1105: base station model training.
[0300] After receiving the weights / gradients sent by UE1 and UE2, the base station uses the weights / gradients to update the base station side model and updates the updated model weights / gradients (which may be referred to as updated weights / gradients).
[0301] Step 1106: The base station sends the updated weights / gradients to UE1 and UE2.
[0302] After obtaining the second result, the base station sends the updated weights / gradients to UE1 and UE2. The updated weights / gradients are used by UE1 and UE2 to update their respective local models.
[0303] In this embodiment, the base station determines the learning mode that matches the UE through the UE's capability information / service requirement information, so that it can flexibly apply the model training scenario and improve the model training efficiency.
[0304] In addition, the embodiment of the present application further provides a communication process between terminals. The scenario is shown in FIG12 , which takes one base station and four UEs as an example.
[0305] In this scenario, the base station does not store a public dataset and only forwards data. UEs with strong capabilities (e.g., computing power and storage capacity) can be responsible for large-scale model fusion and maintenance. Each UE trains a local model based on local data. Directly connected UEs transmit models via D2D. The fusion node fuses the model based on local data, including distilling it into small models and then sending it to other nodes. Non-directly connected UEs forward models via the base station. The fusion node fuses the model based on local data and sends it to the base station. The base station can serve as a fusion model storage node and a fusion terminal scheduling node. The ID of the model fusion terminal serves as the destination identifier for model transmission.
[0306] In this embodiment, a UE with stronger capabilities can be responsible for integrating and maintaining a large model, thereby realizing model transmission through D2D or base station relay and completing the model training process.
[0307] The communication method in the embodiment of the present application is described above, and the relevant devices in the embodiment of the present application are described below.
[0308] Referring to FIG. 13 , an embodiment of the first device in the embodiment of the present application includes:
[0309] An acquiring unit 1301 is configured to acquire a first result, where the first result is a result obtained by inferring a public dataset using a model on the second device side;
[0310] An updating unit 1302 is configured to update a first model based on the public data set and the first result to obtain a second model, where the first model is a local model of the first device;
[0311] The sending unit 1303 is configured to send the second model to the third device;
[0312] The receiving unit 1304 is configured to receive a third model sent by a third device, where the third model is obtained by processing the second model.
[0313] The acquisition unit 1301 is further used to obtain a second result based on the third model and the public data set, and the second result is used to update the second device-side model.
[0314] Optionally, the acquisition unit 1301 is specifically used to receive a first result from the second device, where the first result is a result obtained by the second device using a second device-side model to infer a public data set.
[0315] Optionally, the acquisition unit 1301 is specifically used to receive a second device-side model from a second device; the acquisition unit 1301 is specifically used to use the second device-side model to infer the public data set to obtain the first result.
[0316] Optionally, the sending unit 1303 is further configured to send a second result to the second device, where the second result is used by the second device to update the second device-side model.
[0317] Optionally, the updating unit 1302 is further used to update the second device side model based on the second result; the sending unit 1303 is further used to send the updated second device side model to the second device.
[0318] Optionally, the sending unit 1303 is also used to send an indication message to the second device, and the indication message is used to synchronize a common data set between the first device and the second device, and the corresponding synchronization operation includes at least one of the following: adding, deleting, and modifying; the receiving unit 1304 is also used to receive a confirmation message sent by the second device, and the confirmation message is used to synchronize the common data set.
[0319] In this embodiment, the operations performed by each unit in the first device are similar to those described in the embodiments shown in Figures 1A to 12 above, and will not be repeated here.
[0320] In this embodiment, the updating unit 1302 updates the local model based on the first result of the downstream second device side model, and the sending unit 1303 sends the updated local model to the upstream third device. The receiving unit 1304 then receives the third model obtained by the upstream third device based on the model updated by the second device. The new second result for the public data set is then updated based on the third model, and the second result is used to update the downstream second device side model. It can be seen that the first device fully utilizes its computing power to participate in joint training in a multi-level joint learning scenario. Compared to a solution where the intermediate level only forwards, the processing flow of the upstream device can be reduced, thereby increasing the learning efficiency of multi-level joint learning.
[0321] Referring to FIG. 14 , an embodiment of the second device in the embodiment of the present application includes:
[0322] The acquisition unit 1401 is used to acquire a first model, where the first model is obtained based on first information of the second device and the second model, and the first model is a part of the second model; the first information includes capability information and / or business requirement information.
[0323] Optionally, the second model includes N layers of first networks, at least one layer of the first network in the N layers of first networks includes two or more parallel sub-networks, the first model includes N layers of second networks, the first number is less than the second number, the first number is the number of sub-networks included in at least one layer of the second network in the N layers of second networks, and the second number is the number of sub-networks included in the first network corresponding to at least one layer of the second network in the N layers of first networks, and N is a positive integer.
[0324] Optionally, the second device further includes: a receiving unit 1402, configured to receive a first parameter from the first device, where the first parameter is used to indicate adjustment of the subnetwork;
[0325] Optionally, the second device further includes: an updating unit 1403, configured to update the first model based on the first parameter.
[0326] Optionally, the receiving unit 1402 is configured to receive the second model from the first device; and the acquiring unit 1401 is specifically configured to determine the first model from the second model based on the first information.
[0327] Optionally, the acquisition unit 1401 is specifically configured to determine a subnetwork of each layer of the first network in the N layers of the first network based on the first information; the acquisition unit 1401 is specifically configured to construct a first model based on the subnetwork.
[0328] Optionally, the capability information is used to determine the number of subnetworks in each second network in the N-layer second network, and the service requirement information is used to determine the subnetworks in each second network.
[0329] Optionally, the acquisition unit 1401 is specifically used to send first information to the first device, where the first information is used by the first device to determine the first model from the second model; the acquisition unit 1401 is specifically used to receive the first model sent by the first device.
[0330] Optionally, the updating unit 1403 is used to train the first model based on local data to obtain a third model; the sending unit 1404 is used to send the third model to the first device, and the third model is used by the first device to update the second model.
[0331] Optionally, the acquiring unit 1401 is further configured to acquire a fourth model, where the fourth model is obtained by updating the second model with the third model; and the updating unit 1403 is configured to update the third model based on the fourth model.
[0332] Optionally, the first model includes N layers of first networks, and the second model includes M layers of first networks, where N and M are positive integers, and M is less than or equal to N.
[0333] In this embodiment, the operations performed by each unit in the second device are similar to those described in the embodiments shown in Figures 1A to 12 above, and will not be repeated here.
[0334] In this embodiment, the second device can determine the first model from the second model through the capability information and / or service requirement information of the second device, and the data of the second device are all inferred using this path (ie, a substructure of the second model).
[0335] Referring to FIG. 15 , another embodiment of the first device in the embodiment of the present application includes:
[0336] A receiving unit 1501 is configured to receive first information sent by a second device, where the first information includes capability information and / or service requirement information of the second device, and the first information is used to determine whether a learning mode of the model is a federated learning mode or a distillation learning mode.
[0337] A determining unit 1502 is configured to determine a learning mode between the first device and the second device, where the learning mode is a federated learning mode or a distillation learning mode;
[0338] The sending unit 1503 is configured to send instruction information to the second device, where the instruction information is used to indicate a learning mode;
[0339] The receiving unit 1501 is further configured to receive second information sent by the second device, where the second information is used to update the model on the first device side.
[0340] Optionally, in the federated learning mode, the second information is the weight or gradient of the model.
[0341] Optionally, in the distillation learning mode, the second information is the result obtained by model reasoning on a public dataset.
[0342] In this embodiment, the operations performed by each unit in the first device are similar to those described in the embodiments shown in Figures 1A to 12 above, and will not be repeated here.
[0343] In this embodiment, the first device determines a learning mode that matches the second device through the capability information / business requirement information of the second device, so that it can flexibly apply the model training scenario and improve the model training efficiency.
[0344] Referring to FIG. 16 , another embodiment of the second device in the embodiment of the present application includes:
[0345] A sending unit 1601 is configured to send first information to a first device, where the first information includes capability information and / or service requirement information of the second device, and the first information is used to determine whether a learning mode of the model is a federated learning mode or a distillation learning mode.
[0346] The receiving unit 1602 is configured to receive instruction information sent by the first device, where the instruction information is used to indicate a learning mode;
[0347] The sending unit 1601 is used to send second information to the first device based on the learning mode, where the second information is used to update the model on the first device side.
[0348] Optionally, in the federated learning mode, the second information is the weight or gradient of the model.
[0349] Optionally, in the distillation learning mode, the second information is the result obtained by model reasoning on a public dataset.
[0350] In this embodiment, the operations performed by each unit in the second device are similar to those described in the embodiments shown in Figures 1A to 12 above, and will not be repeated here.
[0351] In this embodiment, the first device determines a learning mode that matches the second device through the capability information / business requirement information of the second device, so that it can flexibly apply the model training scenario and improve the model training efficiency.
[0352] Please refer to Figure 17, which is a structural diagram of the second device involved in the above-mentioned embodiments provided in an embodiment of the present application, wherein the second device can specifically be the second device / network device in the above-mentioned embodiments, and the structure of the second device can refer to the structure shown in Figure 17.
[0353] The second device includes at least one processor 1711, at least one memory 1712, at least one transceiver 1713, at least one network interface 1714, and one or more antennas 1715. The processor 1711, the memory 1712, the transceiver 1713, and the network interface 1714 are connected, for example, via a bus. In the embodiment of the present application, the connection may include various interfaces, transmission lines, or buses, etc., which are not limited in this embodiment. The antenna 1715 is connected to the transceiver 1713. The network interface 1714 is used to connect the second device to other communication devices through a communication link. For example, the network interface 1714 may include a network interface between the second device and the core network device, such as an S1 interface. The network interface may include a network interface between the second device and other network devices (such as other access network devices or core network devices), such as an X2 or Xn interface.
[0354] Processor 1711 is primarily used to process communication protocols and communication data, control the entire second device, execute software programs, and process software program data, for example, to support the second device in executing the actions described in the embodiments. The second device may include a baseband processor and a central processing unit. The baseband processor is primarily used to process communication protocols and communication data, while the central processing unit is primarily used to control the entire terminal device, execute software programs, and process software program data. Processor 1711 in Figure 17 may integrate the functions of a baseband processor and a central processing unit. Those skilled in the art will appreciate that the baseband processor and the central processing unit may also be independent processors interconnected via a bus or other technology. Those skilled in the art will appreciate that a terminal device may include multiple baseband processors to accommodate different network standards, multiple central processing units to enhance its processing capabilities, and various components of the terminal device may be connected via various buses. The baseband processor may also be referred to as a baseband processing circuit or a baseband processing chip. The central processing unit may also be referred to as a central processing circuit or a central processing chip. The function of processing communication protocols and communication data may be built into the processor or stored in memory as a software program, which is executed by the processor to implement the baseband processing function.
[0355] The memory is mainly used to store software programs and data. The memory 1712 can exist independently and be connected to the processor 1711. Optionally, the memory 1712 can be integrated with the processor 1711, for example, integrated into a single chip. Among them, the memory 1712 can store program codes for executing the technical solutions of the embodiments of the present application, and the execution is controlled by the processor 1711. The various computer program codes executed can also be regarded as drivers for the processor 1711.
[0356] Figure 17 shows only one memory and one processor. In an actual terminal device, there may be multiple processors and multiple memories. The memory may also be referred to as a storage medium or storage device. The memory may be a storage element on the same chip as the processor, i.e., an on-chip storage element, or an independent storage element, which is not limited in the present embodiment.
[0357] The transceiver 1713 can be used to support the reception or transmission of radio frequency signals between the second device and the terminal, and the transceiver 1713 can be connected to the antenna 1715. The transceiver 1713 includes a transmitter Tx and a receiver Rx. Specifically, one or more antennas 1715 can receive radio frequency signals. The receiver Rx of the transceiver 1713 is used to receive the radio frequency signal from the antenna, convert the radio frequency signal into a digital baseband signal or a digital intermediate frequency signal, and provide the digital baseband signal or digital intermediate frequency signal to the processor 1711 so that the processor 1711 can further process the digital baseband signal or digital intermediate frequency signal, such as demodulation and decoding. In addition, the transmitter Tx in the transceiver 1713 is also used to receive a modulated digital baseband signal or digital intermediate frequency signal from the processor 1711, convert the modulated digital baseband signal or digital intermediate frequency signal into a radio frequency signal, and send the radio frequency signal through one or more antennas 1715. Specifically, the receiver Rx can selectively perform one or more stages of down-mixing and analog-to-digital conversion on the RF signal to obtain a digital baseband signal or a digital intermediate frequency signal. The order of the down-mixing and analog-to-digital conversion processes is adjustable. The transmitter Tx can selectively perform one or more stages of up-mixing and digital-to-analog conversion on the modulated digital baseband signal or digital intermediate frequency signal to obtain a RF signal. The order of the up-mixing and digital-to-analog conversion processes is adjustable. The digital baseband signal and the digital intermediate frequency signal may be collectively referred to as digital signals.
[0358] A transceiver may also be referred to as a transceiver unit, a transceiver, a transceiver device, etc. Optionally, a device in a transceiver unit that implements a receiving function may be referred to as a receiving unit, and a device in a transceiver unit that implements a transmitting function may be referred to as a transmitting unit. That is, a transceiver unit includes a receiving unit and a transmitting unit. A receiving unit may also be referred to as a receiver, an input port, a receiving circuit, etc., and a transmitting unit may be referred to as a transmitter, a transmitter, or a transmitting circuit, etc.
[0359] It should be noted that the second device shown in Figure 17 can be specifically used to implement the steps implemented by the network device in the method embodiments shown in Figures 1A to 12, and to achieve the corresponding technical effects of the network device. The specific implementation methods of the second device shown in Figure 17 can refer to the description in the method embodiments shown in Figures 1A to 12, and will not be repeated here.
[0360] Please refer to Figure 18 , an embodiment of the present application provides another second device. For ease of explanation, only the parts related to the embodiment of the present application are shown. For specific technical details not disclosed, please refer to the method section of the embodiment of the present application. The second device can be any terminal device including a mobile phone, tablet computer, personal digital assistant (PDA), point of sales (POS), car computer, etc., taking the mobile phone as an example:
[0361] FIG18 is a block diagram illustrating a portion of the structure of a mobile phone related to a terminal device provided in an embodiment of the present application. Referring to FIG18 , the mobile phone includes components such as a radio frequency (RF) circuit 1810, a memory 1820, an input unit 1830, a display unit 1840, a sensor 1850, an audio circuit 1860, a wireless fidelity (WiFi) module 1870, a processor 1880, and a power supply 1890. Those skilled in the art will appreciate that the mobile phone structure shown in FIG18 does not limit the mobile phone and may include more or fewer components than shown, or combine certain components, or arrange the components differently.
[0362] The following is a detailed introduction to the various components of the mobile phone in conjunction with Figure 18:
[0363] The RF circuit 1810 can be used to receive and send signals during information transmission or calls. In particular, after receiving downlink information from the base station, it is sent to the processor 1880 for processing. In addition, the designed uplink data is sent to the base station. Generally, the RF circuit 1810 includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the RF circuit 1810 can also communicate with the network and other devices through wireless communication. The above-mentioned wireless communication can use any communication standard or protocol, including but not limited to the global system of mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), long term evolution (LTE), email, short messaging service (SMS), etc.
[0364] Memory 1820 can be used to store software programs and modules. Processor 1880 executes the various functional applications and data processing of the mobile phone by running the software programs and modules stored in memory 1820. Memory 1820 may primarily include a program storage area and a data storage area. The program storage area may store an operating system and at least one application required for a function (such as a sound playback function or an image playback function); the data storage area may store data generated based on the use of the mobile phone (such as audio data, a phone book, etc.). In addition, memory 1820 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0365] The input unit 1830 can be used to receive input digital or character information and generate key signal input related to the user settings and function control of the mobile phone. Specifically, the input unit 1830 may include a touch panel 1831 and other input devices 1832. The touch panel 1831, also known as a touch screen, can collect user touch operations on or near it (such as operations performed by the user using a finger, stylus, or any other suitable object or accessory on or near the touch panel 1831) and drive the corresponding connected device according to a pre-set program. Optionally, the touch panel 1831 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch direction and detects the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device and converts it into touch point coordinates, which are then sent to the processor 1880. It can also receive commands sent by the processor 1880 and execute them. In addition, the touch panel 1831 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 1831, the input unit 1830 may further include other input devices 1832. Specifically, the other input devices 1832 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick.
[0366] The display unit 1840 can be used to display information input by the user or information provided to the user and various menus of the mobile phone. The display unit 1840 may include a display panel 1841. Optionally, the display panel 1841 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc. Further, the touch panel 1831 may cover the display panel 1841. When the touch panel 1831 detects a touch operation on or near it, it is transmitted to the processor 1880 to determine the type of touch event. Subsequently, the processor 1880 provides a corresponding visual output on the display panel 1841 according to the type of touch event. Although in Figure 18, the touch panel 1831 and the display panel 1841 are used as two independent components to implement the input and output functions of the mobile phone, in some embodiments, the touch panel 1831 and the display panel 1841 can be integrated to implement the input and output functions of the mobile phone.
[0367] The mobile phone may also include at least one sensor 1850, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 1841 according to the brightness of the ambient light, and the proximity sensor may turn off the display panel 1841 and / or the backlight when the mobile phone is moved to the ear. As a type of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that identify the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors that the mobile phone can also be configured with, such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., they will not be described here.
[0368] Audio circuit 1860, speaker 1861, and microphone 1862 provide an audio interface between the user and the phone. Audio circuit 1860 converts received audio data into electrical signals and transmits them to speaker 1861, which then converts them into sound signals for output. Microphone 1862, on the other hand, converts collected sound signals into electrical signals, which are then received by audio circuit 1860 and converted into audio data. The audio data is then processed by processor 1880 and transmitted to, for example, another phone via RF circuit 1810, or stored in memory 1820 for further processing.
[0369] WiFi is a short-range wireless transmission technology. A mobile phone can help users send and receive emails, browse the web, and access streaming media through the WiFi module 1870, providing users with wireless broadband Internet access. Although FIG18 shows the WiFi module 1870, it is understood that it is not a necessary component of a mobile phone.
[0370] Processor 1880 is the control center of the mobile phone, connecting all parts of the mobile phone using various interfaces and circuits. By running or executing software programs and / or modules stored in memory 1820 and accessing data stored in memory 1820, it performs various functions of the mobile phone and processes data, thereby providing overall monitoring of the mobile phone. Optionally, processor 1880 may include one or more processing units; preferably, processor 1880 may integrate an application processor and a modem processor. The application processor primarily handles the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into processor 1880.
[0371] The mobile phone also includes a power supply 1890 (such as a battery) for supplying power to various components. Preferably, the power supply can be logically connected to the processor 1880 through a power management system, thereby managing functions such as charging, discharging, and power consumption through the power management system.
[0372] Although not shown, the mobile phone may also include a camera, a Bluetooth module, etc., which will not be described in detail here.
[0373] In an embodiment of the present application, the processor 1880 included in the terminal device can perform the functions in the embodiments shown in Figures 1A to 12 above, which will not be repeated here.
[0374] An embodiment of the present application further provides a computer-readable storage medium storing one or more computer-executable instructions. When the computer-executable instructions are executed by a processor, the processor executes the method described in the possible implementation of the first device / second device / third device in the aforementioned embodiment.
[0375] An embodiment of the present application also provides a computer program product (or computer program) storing one or more computers. When the computer program product is executed by the processor, the processor executes the method of the possible implementation of the above-mentioned first device / second device / third device.
[0376] An embodiment of the present application also provides a chip system, which includes at least one processor for supporting a terminal device to implement the functions involved in the possible implementation of the first device / second device / third device mentioned above. Optionally, the chip system also includes an interface circuit, which provides program instructions and / or data to the at least one processor. In one possible design, the chip system may also include a memory for storing the necessary program instructions and data for the terminal device. The chip system may be composed of a chip, or may include a chip and other discrete devices.
[0377] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0378] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0379] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0380] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0381] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
Claims
1. A communication method, characterized in that: The method is applied to a first device, and includes: Obtaining a first result, where the first result is a result obtained by inferring a public data set using a model on the second device; updating a first model based on the public data set and the first result to obtain a second model, where the first model is a local model of the first device; sending the second model to a third device; receiving a third model sent by the third device, where the third model is obtained by processing the second model; A second result is obtained based on the third model and the public data set, and the second result is used to update the second device-side model.
2. The method according to claim 1, characterized in that The obtaining of the first result includes: A first result is received from a second device, where the first result is a result obtained by the second device using a model on the second device to infer the public data set.
3. The method according to claim 1, characterized in that The obtaining of the first result includes: receiving the second device-side model from the second device; The first result is obtained by inferring the public dataset using the second device-side model.
4. The method according to any one of claims 1 to 3, characterized in that The method further comprises: The second result is sent to the second device, where the second result is used by the second device to update the second device-side model.
5. The method according to any one of claims 1 to 3, characterized in that The method further comprises: updating the second device-side model based on the second result; The updated second-device-side model is sent to the second device.
6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: Sending instruction information to the second device, where the instruction information is used for the first device to synchronize the public data set with the second device, where the operation corresponding to the synchronization includes at least one of the following: adding, deleting, and modifying; Receive confirmation information sent by the second device, where the confirmation information is used to synchronize the public data set.
7. A communication method, characterized in that: The method is applied to a second device, and includes: Obtain a first model, where the first model is obtained based on first information of the second device and a second model, and the first model is a part of the second model; the first information includes capability information and / or business requirement information.
8. The method according to claim 7, characterized in that The second model includes N layers of first networks, at least one layer of the first network in the N layers of first networks includes two or more parallel sub-networks, the first model includes N layers of second networks, the first number is less than the second number, the first number is the number of sub-networks included in at least one layer of the second network in the N layers of second networks, the second number is the number of sub-networks included in the first network corresponding to the at least one layer of the second network in the N layers of first networks, and N is a positive integer.
9. The method according to claim 8, characterized in that The method further comprises: receiving a first parameter from a first device, where the first parameter is used to indicate an adjustment to the subnetwork; The first model is updated based on the first parameter.
10. The method according to any one of claims 7 to 9, characterized in that The method further comprises: receiving the second model from the first device; The obtaining of the first model includes: The first model is determined from the second model based on the first information.
11. The method according to claim 10, characterized in that The determining the first model from the second model based on the first information includes: Determine a subnetwork of each layer of the first network in the N layers of the first network based on the first information; The first model is constructed based on the sub-network.
12. The method according to any one of claims 7 to 11, characterized in that The capability information is used to determine the number of subnetworks in each second network in the N-layer second network, and the service requirement information is used to determine the subnetworks in each second network.
13. The method according to any one of claims 7 to 9, characterized in that The obtaining of the first model includes: Sending the first information to the first device, where the first information is used by the first device to determine the first model from the second model; Receive the first model sent by the first device.
14. The method according to any one of claims 7 to 13, characterized in that The method further comprises: Train the first model based on local data to obtain a third model; The third model is sent to the first device, where the third model is used by the first device to update the second model.
15. The method according to claim 14, characterized in that The method further comprises: Acquire a fourth model, where the fourth model is obtained by updating the second model with the third model; The third model is updated based on the fourth model.
16. The method according to claim 7, characterized in that The first model includes N layers of first networks, and the second model includes M layers of first networks, where N and M are positive integers, and M is less than or equal to N.
17. A communication method, characterized in that: The method is applied to a first device, and includes: receiving first information sent by a second device, where the first information includes capability information and / or service requirement information of the second device, and the first information is used to determine whether a learning mode of the model is a federated learning mode or a distillation learning mode; Determine a learning mode for the first device and the second device, where the learning mode is a federated learning mode or a distillation learning mode; Sending instruction information to the second device, where the instruction information is used to indicate the learning mode; Second information sent by the second device is received, where the second information is used to update the model on the first device side.
18. The method according to claim 17, characterized in that In the federated learning mode, the second information is the weight or gradient of the model.
19. The method according to claim 17, wherein In the distillation learning mode, the second information is the result obtained by the model reasoning about the public dataset.
20. A communication method, characterized in that: The method is applied to a second device, and includes: Sending first information to the first device, where the first information includes capability information and / or service requirement information of the second device, and the first information is used to determine whether a learning mode of the model is a federated learning mode or a distillation learning mode; receiving indication information sent by the first device, where the indication information is used to indicate the learning mode; Second information is sent to the first device based on the learning mode, where the second information is used to update a model on the first device side.
21. The method according to claim 20, characterized in that In the federated learning mode, the second information is the weight or gradient of the model.
22. The method according to claim 20, characterized in that In the distillation learning mode, the second information is the result obtained by the model reasoning about the public dataset.
23. A first device, characterized in that: The first device includes: Obtaining a first result, where the first result is a result obtained by inferring a public data set using a model on the second device; updating a first model based on the public data set and the first result to obtain a second model, where the first model is a local model of the first device; sending the second model to a third device; receiving a third model sent by the third device, where the third model is obtained by processing the second model; A second result is obtained based on the third model and the public data set, and the second result is used to update the second device-side model.
24. A second device, characterized in that: The second device includes: Obtain a first model, where the first model is obtained based on first information of the second device and a second model, and the first model is a part of the second model; the first information includes capability information and / or business requirement information.
25. A first device, characterized in that: The first device includes: receiving first information sent by a second device, where the first information includes capability information and / or service requirement information of the second device, and the first information is used to determine whether a learning mode of the model is a federated learning mode or a distillation learning mode; Determine a learning mode for the first device and the second device, where the learning mode is a federated learning mode or a distillation learning mode; Sending instruction information to the second device, where the instruction information is used to indicate the learning mode; Second information sent by the second device is received, where the second information is used to update the model on the first device side.
26. A second device, characterized in that: The second device includes: Sending first information to the first device, where the first information includes capability information and / or service requirement information of the second device, and the first information is used to determine whether a learning mode of the model is a federated learning mode or a distillation learning mode; receiving indication information sent by the first device, where the indication information is used to indicate the learning mode; Second information is sent to the first device based on the learning mode, where the second information is used to update a model on the first device side.
27. A first device, characterized in that: include: A processor, the processor is coupled to a memory, the memory is used to store a program or instruction, when the program or instruction is executed by the processor, the first device executes the method according to any one of claims 1-6, 17-19.
28. A second device, characterized in that: include: A processor, the processor is coupled to a memory, the memory is used to store a program or instruction, when the program or instruction is executed by the processor, the second device executes the method according to any one of claims 7-16, 20-22.
29. A communication system, characterized in that: The communication system comprises the first device according to claim 27 and / or the second device according to claim 28.
30. A computer-readable storage medium, characterized in that The medium stores instructions, and when the instructions are executed by a computer, the method according to any one of claims 1 to 22 is implemented.
31. A computer program product, characterized in that The method comprises instructions which, when executed on a computer, cause the computer to perform the method according to any one of claims 1 to 22.