Network training method and communication device

By flexibly indicating the bit width of AI model parameters and gradient parameters, the energy and transmission overhead problems caused by high-precision floating-point calculations are solved, and efficient AI model training on resource-constrained devices is realized, improving network training performance.

CN120409588APending Publication Date: 2025-08-01HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410149482.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-02-01
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

In the fifth generation of communication systems, during the network training of AI models, the energy resource consumption and transmission overhead caused by high-precision floating-point computing are relatively large, which limits the promotion of artificial intelligence in the wireless field.

Method used

By flexibly indicating the bit widths of different model parameters and gradient parameters, multiple bit width sets are used for network training to adapt to the resource capabilities of different terminals and realize network training and convergence.

Benefits of technology

It reduces air-interface transmission and computing overhead, saves terminal hardware resource consumption, improves network training performance, and supports AI model training on resource-constrained devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120409588A_ABST
    Figure CN120409588A_ABST
Patent Text Reader

Abstract

A method and a communication device for network training are applied to a scenario in which AI is combined with a wireless network. The method comprises the following steps: acquiring a first bit width of a first parameter, and sending first information which is used for indicating the first bit width; wherein the first bit width belongs to a first bit width set, the first parameter belongs to a first parameter set, a plurality of bit widths in the first bit width set correspond to a plurality of parameters in the first parameter set, and the plurality of parameters are used for training a first model; each parameter comprises one or more of the following parameters: a model parameter and / or a gradient parameter. The method can save resources while guaranteeing the network training performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technologies, and more particularly, to a method for network training and a communication device. Background Art

[0002] Currently, artificial intelligence (AI) has been introduced into the fifth-generation (5G) communication system. The training of AI models involves network training. During network training, such as neural network training, federated learning training, or knowledge distillation, devices transmit model parameters, gradient parameters, or data sets with a predetermined precision (such as 32-bit floating-point type, float32) through the air interface to achieve network training and convergence. However, this network training may involve a large number of floating-point value operations. At the same time, high-precision floating-point calculations are usually slow and consume more power, which not only brings a large amount of energy resource consumption and transmission overhead, but also may inhibit the execution of network training in devices with less available computing resources or power constraints, limiting the popularization of artificial intelligence in the wireless field. Summary of the Invention

[0003] This application provides a method for network training and a communication device, aiming to save resources while ensuring the performance of network training.

[0004] In a first aspect, a communication method is provided. This method can be executed by a first device (for example, a first terminal), or can also be executed by a chip or circuit of the first device. This application does not make any limitations in this regard. For the sake of description, the following takes the execution by the first device as an example. Among them, the first device can be a terminal device, or a chip, chip system, or circuit in the terminal device, or a functional module in the terminal device that can call and execute a program, etc.

[0005] The method includes: obtaining a first bit width of a first parameter, the first bit width belonging to a first bit width set, the first parameter belonging to a first parameter set, there is a corresponding relationship between multiple bit widths in the first bit width set and multiple parameters in the first parameter set, the multiple parameters are used to train a first model, and each parameter includes one or more of the following: model parameters and / or gradient parameters; sending first information, the first information is used to indicate the first bit width.

[0006] In this application, there is a corresponding relationship between multiple bit widths in the first bit width set and multiple parameters in the first parameter set, which can be understood as: multiple bit widths correspond one-to-one with multiple parameters, or multiple parameters correspond to one bit width. That is to say, the multiple bit widths corresponding to multiple parameters can be completely different from each other, or there may be some parameters with the same corresponding bit width.

[0007] According to the above solution, the first device obtains the bit width of the first parameter and can transmit it to the second device via the air interface, so that the first device and the second device align the first bit width of the first parameter, facilitating the subsequent reporting of the training result of the first parameter based on the first bit width after the local model training of the first device, and the second device can issue the merged training result of the first parameter based on the first bit width. That is, the first device can transmit different first bit widths corresponding to different first parameters via the air interface to achieve network training and convergence. In particular, compared with the single bit width (such as 64-bit floating-point type, double float64) corresponding to different model parameters in the existing network training process, this implementation can flexibly indicate different bit widths (such as float32) corresponding to different model parameters, with stronger applicability. It can not only ensure the network training performance, but also save resources, such as reducing the air interface overhead, storage overhead and computing overhead, saving the hardware resource consumption of the terminal, facilitating the terminal to train other more complex models, and also ensuring the popularization of artificial intelligence in the wireless field.

[0008] In some implementations of the first aspect, the first parameter set includes N second parameters, and the second bit width corresponding to at least one of the N second parameters is different from the first bit width. The second bit width belongs to the first bit width set, and N is an integer greater than or equal to 1.

[0009] Optionally, this application does not limit whether the second bit widths corresponding to the N second parameters are the same, as long as at least two of the multiple bit widths corresponding to the multiple parameters in the first parameter set are different. Based on the above solution, the bit widths corresponding to different model parameters can be different, with stronger applicability. It can not only ensure the network training performance, but also reduce the transmission overhead and computing overhead, save the hardware resource consumption of the terminal, and ensure the popularization of artificial intelligence in the wireless field.

[0010] In some implementations of the first aspect, the method further includes: obtaining a first training result, where the first training result corresponds to the first parameter and is obtained based on the training of the first model; and sending the first training result according to the first bit width.

[0011] That is to say, the first device locally trains the first model to obtain the training result of the first parameter and can report it to the second device based on the first bit width, that is, the bit width of the first training result is the first bit width. Based on the above solution, the bit widths of the training results corresponding to different parameters can be different, with stronger applicability. It can not only ensure the network training performance, but also reduce the air interface transmission overhead and computing overhead, save the power consumption of the terminal, and is beneficial for the first device to save resources.

[0012] In some implementations of the first aspect, the method further includes: receiving a second training result, where the bit width corresponding to the second training result is a first bit width, and the second training result is used by a first terminal to train a first model.

[0013] Exemplarily, the second training result is obtained by aggregating at least two first training results reported by at least two terminals, and the at least two terminals are used to jointly train the first model.

[0014] That is to say, the second device can merge the first training results of the first parameter from multiple terminals and send the merged second training result. Among them, the bit width of the second training result is the first bit width. That is to say, the bit width of the first training result of the first parameter reported by the terminal device is the same as the bit width of the second training result of the first parameter after merging sent by the second device. Based on the above solution, the bit widths of the first training results corresponding to the same parameter reported by different terminals can be different. Therefore, the bit widths of the second training results corresponding to the same parameter after merging sent by the second device to different terminals can also be different, with strong applicability. It can not only ensure the network training performance, but also reduce the air interface transmission overhead and computing overhead, and save the power consumption of the terminal.

[0015] In some implementations of the first aspect, the method further includes: sending a second piece of information, where the second piece of information is used to indicate that the bit width corresponding to the first parameter is updated to a third bit width, and the third bit width is different from the first bit width.

[0016] Based on the above solution, the first device can update the first bit width of the first parameter to the second device. For example, the third bit width is greater than the first bit width. Suppose that during the network training process of the first model, the battery capacity of the first device increases, or the accuracy of the first parameter required for the first model training improves. Then the first device can instruct the second device to update the first bit width to the third bit width. For example, the first bit width is float16, and the second bit width is (floating-point type 32 bits, float32) to improve the network training performance. Another example is that the third bit width is less than the first bit width. Suppose that during the network training process of the first model, the battery capacity of the first device drops sharply and cannot support the model training with a high-precision bit width. Then the first device can instruct the second device to update the first bit width to the third bit width. For example, the first bit width is double float64, and the second bit width is float16, which can reduce the transmission overhead and computing overhead while ensuring the network training performance and save the power consumption of the terminal.

[0017] In some implementations of the first aspect, the second piece of information includes a first time unit, and the second piece of information is used to indicate that within the first time unit, the bit width corresponding to the first parameter is updated to the third bit width.

[0018] Optionally, the present application does not limit the update time and update frequency of the first bit width of the first parameter, which may depend on factors such as the capability information of the terminal, the hardware conditions of the terminal, the hardware power of the terminal, the battery capacity of the terminal, and the current network training situation.

[0019] Based on the above solution, the first device may instruct the second device to update the first bit width of the first parameter to the third bit width at a certain moment, or the first device may also instruct the second device to update the first bit width of the first parameter to the third bit width within a certain time period, with strong flexibility and applicability, which helps to improve the network training performance and convergence performance.

[0020] In some implementation manners of the first aspect, obtaining the first bit width of the first parameter includes: receiving third information, where the third information is used to indicate the first bit width.

[0021] Based on the above solution, the first device obtaining the first bit width of the first parameter may be indicated by a signaling. Optionally, the first bit width of the first parameter may also be predefined or preconfigured. The present application does not limit the implementation manner for the first device to obtain the first bit width.

[0022] In some implementation manners of the first aspect, before receiving the third information, the method further includes: sending a second bit width set, where the first terminal supports the bit widths in the second bit width set, and the first bit width belongs to the second bit width set.

[0023] Based on the above solution, the first device may send a set of multiple bit widths supported by the first device, that is, the second bit width set, to the second device. For example, the second device may select the first bit width from the second bit width set according to at least one of the time-frequency resources, the bit width requirement ranges of different terminals for the first parameter, the hardware conditions of different terminals, the hardware power, the battery capacity, or the data set quality of different terminals, and indicate the first bit width to the first device. In this implementation manner, the second device allocates the first bit width for the first device in a targeted manner, which can save resources as much as possible while ensuring the network training performance, reduce the power consumption of the terminal, and reduce the signaling overhead and computing overhead.

[0024] In some implementation manners of the first aspect, before obtaining the first bit width of the first parameter, the method further includes: receiving fourth information, where the fourth information is used to request to train the first model, and the fourth information includes one or more of the following: the structure parameters of the first model, the number of parameters of the first model, or a fourth bit width; where the fourth bit width is the bit width supported by the network side.

[0025] In some implementation manners of the first aspect, the first bit width is less than or equal to the fourth bit width.

[0026] Based on the above solution, the second device can send a reference bit width, i.e., the fourth bit width, to the first device, facilitating the first device to determine the first bit width based on the fourth bit width, such that both the first device and the second device support the first bit width of the first parameter, which is beneficial to improving the network training performance and convergence performance. At the same time, by setting the first bit width to be less than or equal to the fourth bit width, resources can be saved as much as possible, the power consumption of the terminal can be reduced, and the signaling overhead and computational overhead can be decreased.

[0027] In a second aspect, a communication method is provided. This method can be executed by the second device, or alternatively, by a chip or circuit of the second device. This application does not make any limitations in this regard. For ease of description, the following will be described by taking the execution by the second device as an example. Among them, the second device can be a network device, or a chip, chip system, or circuit in the network device, or a functional module in the network device that can call and execute a program, etc.

[0028] The method includes: obtaining a first bit width of a first parameter, where the first bit width belongs to a first bit width set, the first parameter belongs to a first parameter set, there is a corresponding relationship between multiple bit widths in the first bit width set and multiple parameters in the first parameter set, and the multiple parameters are used to train a first model. Each parameter includes one or more of the following: model parameters and / or gradient parameters.

[0029] In some implementation manners of the second aspect, the first parameter set further includes N second parameters. For at least one second parameter among the N second parameters, the corresponding second bit width is different from the first bit width. The second bit width belongs to the first bit width set, and N is an integer greater than or equal to 1.

[0030] In some implementation manners of the second aspect, the method further includes: receiving at least two first training results reported by at least two terminals, where the at least two terminals are used to jointly train the first model; performing an aggregation process based on the at least two first training results to obtain a second training result, where the second training result is used to train the first model; and sending the second training result according to the first bit width.

[0031] In some implementation manners of the second aspect, the method further includes: receiving second information, where the second information is used to indicate that the bit width corresponding to the first parameter is updated to a third bit width, and the third bit width is different from the first bit width.

[0032] In some implementation manners of the second aspect, the second information includes a first time unit, and the second information is used to indicate that within the first time unit, the bit width corresponding to the first parameter is updated to the third bit width.

[0033] In some implementation manners of the second aspect, obtaining the first bit width of the first parameter includes: receiving first information, where the first information is used to indicate the first bit width.

[0034] In some implementations of the second aspect, obtaining the first bit width of the first parameter includes: receiving a set of second bit widths; selecting the first bit width from the set of second bit widths; The method further includes: sending third information for indicating the first bit width.

[0035] In some implementations of the second aspect, before obtaining the first bit width of the first parameter, the method further includes: sending fourth information for requesting to train the first model, where the fourth information includes one or more of the following: structural parameters of the first model, the number of parameters of the first model, or a fourth bit width; where the fourth bit width is the bit width supported by the network side.

[0036] In some implementations of the second aspect, the first bit width is less than or equal to the fourth bit width.

[0037] The beneficial effects of the above second aspect and some implementations of the second aspect can be correspondingly referred to the descriptions related to the first aspect, and will not be elaborated here.

[0038] In a third aspect, a communication method is provided. This method can be executed by a first device, or by a chip or circuit of the first device. This application does not make a limitation in this regard. For the sake of description, the following takes the execution by the first device as an example. Among them, the first device may be a terminal device, or a chip, a chip system or a circuit in the terminal device, etc., or a functional module in the terminal device that can call and execute a program.

[0039] The method includes: obtaining the first bit width of the first data, the first bit width belongs to a set of first bit widths, the first data belongs to a first data set, multiple bit widths in the set of first bit widths have a corresponding relationship with multiple data in the first data set, and the first data set is used to train the first model; sending first information for indicating the first bit width.

[0040] In this application, that multiple bit widths in the set of first bit widths have a corresponding relationship with multiple data in the first data set can be understood as: multiple bit widths and multiple data are in one-to-one correspondence, or multiple data correspond to one bit width, that is to say, the multiple bit widths corresponding to multiple data may be completely different from each other, or there may be some data with the same corresponding bit width.

[0041] According to the above solution, the first device obtains the bit width of the first data and can transmit it to the second device via the air interface, so that the first device and the second device align the first bit width of the first data, facilitating the second device to send the first data set based on the first bit width, enabling the first device to use the first data set to train the first model to achieve network training and convergence. In particular, compared with the single bit width (such as double float64) corresponding to multiple data in the first data set during the network training process in the existing solution, this implementation method can flexibly indicate different bit widths (such as float32) corresponding to different data in the same data set, with stronger applicability. It can not only ensure the network training performance but also save resources, such as reducing the air interface overhead, storage overhead, and computing overhead, saving the hardware resource consumption of the terminal, being beneficial for the terminal to train other more complex models, and also ensuring the popularization of artificial intelligence in the wireless field.

[0042] Among them, certain implementation manners and their beneficial effects in the third aspect can be correspondingly referred to the descriptions related to the first aspect and will not be elaborated here.

[0043] In a fourth aspect, a communication method is provided. This method can be executed by the second device, or can also be executed by a chip or circuit of the second device. This application does not make any limitations in this regard. For the sake of convenience of description, the following will take the execution by the second device as an example for illustration. Among them, the second device can be a network device, or a chip, chip system, or circuit in the network device, or a functional module in the network device that can call and execute a program, etc.

[0044] The method includes: obtaining the first bit width of the first data. The first bit width belongs to a first bit width set, the first data belongs to a first data set, and multiple bit widths in the first bit width set have a corresponding relationship with multiple data in the first data set. The first data set is used to train the first model.

[0045] Among them, certain implementation manners and their beneficial effects in the fourth aspect can be correspondingly referred to the descriptions related to the second aspect and will not be elaborated here.

[0046] In a fifth aspect, a communication device is provided. The device includes: a processing unit, configured to obtain the first bit width of the first parameter. The first bit width belongs to a first bit width set, the first parameter belongs to a first parameter set, and multiple bit widths in the first bit width set have a corresponding relationship with multiple parameters in the first parameter set. The multiple parameters are used to train the first model, and each parameter includes one or more of the following: model parameter and / or gradient parameter; a transceiver unit, configured to send a first message, where the first message is used to indicate the first bit width.

[0047] The receiving and transmitting unit can perform the receiving and transmitting processes in the foregoing first aspect, and the processing unit of the communication device can perform other processes in the foregoing first aspect except for receiving and transmitting.

[0048] In a sixth aspect, a communication device is provided. The device includes: a processing unit configured to obtain a first bit width of a first parameter, the first bit width belonging to a first bit width set, the first parameter belonging to a first parameter set, there being a corresponding relationship between multiple bit widths in the first bit width set and multiple parameters in the first parameter set, the multiple parameters being used to train a first model, and each parameter including one or more of the following: model parameters and / or gradient parameters.

[0049] The receiving and transmitting unit can perform the receiving and transmitting processes in the foregoing second aspect, and the processing unit of the communication device can perform other processes in the foregoing second aspect except for receiving and transmitting.

[0050] In a seventh aspect, a communication device is provided. The device includes: a processing unit configured to obtain a first bit width of first data, the first bit width belonging to a first bit width set, the first data belonging to a first data set, there being a corresponding relationship between multiple bit widths in the first bit width set and multiple data in the first data set, the first data set being used to train a first model; and a receiving and transmitting unit configured to transmit first information, the first information being used to indicate the first bit width.

[0051] The receiving and transmitting unit can perform the receiving and transmitting processes in the foregoing third aspect, and the processing unit of the communication device can perform other processes in the foregoing third aspect except for receiving and transmitting.

[0052] In an eighth aspect, a communication device is provided. The device includes: a processing unit configured to obtain a first bit width of first data, the first bit width belonging to a first bit width set, the first data belonging to a first data set, there being a corresponding relationship between multiple bit widths in the first bit width set and multiple data in the first data set, the first data set being used to train a first model.

[0053] The receiving and transmitting unit can perform the receiving and transmitting processes in the foregoing fourth aspect, and the processing unit of the communication device can perform other processes in the foregoing fourth aspect except for receiving and transmitting.

[0054] In a ninth aspect, a communication device is provided, including a processing circuit configured to execute a computer program such that the device performs the methods in the foregoing first aspect to fourth aspect and any possible implementation manner thereof.

[0055] Optionally, the processing circuit is one or more processors, or all or part of one or more processors are circuits for processing functions.

[0056] Optionally, the communication device further includes a memory for storing the computer program, and the memory is one or more.

[0057] Optionally, the memory may be integrated with the processor, or the memory is separately provided from the processor, or the memory is located within the processor.

[0058] Optionally, the communication device further includes a transceiver circuit, such as a transceiver or an input / output circuit.

[0059] In a tenth aspect, a communication system is provided, including: a terminal device and a network device. The terminal device is configured to execute the method in the first aspect or the third aspect and any possible implementation manner thereof above, and the network device is configured to execute the method in the second aspect or the fourth aspect and any possible implementation manner thereof above.

[0060] In an eleventh aspect, a communication system is provided, including: a first device and a second device. The first device is configured to execute the method in the first aspect or the third aspect and any possible implementation manner thereof above, and the second device is configured to execute the method in the second aspect or the fourth aspect and any possible implementation manner thereof above.

[0061] In a twelfth aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program or code. When the computer program or code runs on a computer, the computer is caused to execute the method in the first aspect to the fourth aspect and any possible implementation manner thereof above.

[0062] In a thirteenth aspect, a chip or a chip system is provided, including at least one processing circuit configured to run a computer program, such that the chip executes the method in the first aspect to the fourth aspect and any possible implementation manner thereof above.

[0063] Wherein, the chip may include an output circuit or interface for sending information or data, and an input circuit or interface for receiving information or data.

[0064] In a fourteenth aspect, a computer program product is provided. The computer program product includes: computer program code which, when running on a computer, executes the method in the first aspect to the fourth aspect and any possible implementation manner thereof above. Description of the Drawings

[0065] Figure 1 and Figure 2 is a schematic diagram of a communication system applicable to the embodiments of the present application;

[0066] Figure 3 is a schematic diagram of the structure of a neuron;

[0067] Figure 4 It is a schematic structural diagram of a neural network;

[0068] Figure 5 It is a schematic block diagram of an autoencoder;

[0069] Figure 6 It is a schematic diagram of an AI application framework;

[0070] Figure 7 It is a schematic interaction flowchart of a communication method provided by an embodiment of the present application;

[0071] Figure 8 It is a schematic interaction flowchart of another communication method provided by an embodiment of the present application;

[0072] Figure 9 It is a schematic interaction flowchart of yet another communication method provided by an embodiment of the present application;

[0073] Figure 10 It is a schematic interaction flowchart of yet another communication method provided by an embodiment of the present application;

[0074] Figure 11 It is a schematic block diagram of a communication device provided by an embodiment of the present application;

[0075] Figure 12 It is a schematic block diagram of another communication device provided by an embodiment of the present application. Detailed implementation manners

[0076] Next, the technical solutions in the present application will be described in conjunction with the accompanying drawings.

[0077] The technical solutions provided by this application can be applied to various communication systems, such as: the fifth-generation 5G or new radio (NR) system, the long-term evolution (LTE) system, the LTE frequency-division duplex (FDD) system, the LTE time-division duplex (TDD) system, the wireless local area network (WLAN) system, the satellite communication system, future communication systems, such as the sixth-generation mobile communication system, or a fusion system of multiple systems, etc. The technical solutions provided by this application can also be applied to device-to-device (D2D) communication, vehicle-to-everything (V2X) communication, machine-to-machine (M2M) communication, machine type communication (MTC), and the Internet of Things (IoT) communication system or other communication systems.

[0078] A device in a communication system can send signals to another device or receive signals from another device. The signals can include information, signaling, data, etc. Herein, the device can also be replaced with an entity, a network entity, a communication device, a communication module, a node, a communication node, etc. In this application, the device is taken as an example for description. For example, a communication system can include at least one terminal device and at least one network device. The network device can send downlink signals to the terminal device, and / or the terminal device can send uplink signals to the network device. It can be understood that the terminal device / network device in this application can be replaced with a terminal device, and the network device executes the corresponding communication method in this application.

[0079] The terminal devices in the embodiments of this application include various devices with wireless communication functions, which can be used to connect people, things, machines, etc. Terminal devices can be widely applied in various scenarios, such as: cellular communication, D2D, V2X, peer-to-peer (P2P), M2M, MTC, IoT, virtual reality (VR), augmented reality (AR), industrial control, autonomous driving, telemedicine, smart grid, smart home, smart office, smart wearables, smart transportation, smart city drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery and other scenarios. The terminal device can be a terminal in any of the above scenarios, such as an MTC terminal, an IoT terminal, etc. The terminal device can be a user equipment (UE), terminal, fixed device, mobile station device or mobile device, subscriber unit, handheld device, in-vehicle device, wearable device, cellular phone, smart phone, session initialization protocol (SIP) phone, wireless data card, personal digital assistant (PDA), computer, tablet computer, laptop computer, wireless modem, handset, laptop computer, computer with wireless transceiver function, smart book, vehicle, satellite, global positioning system (GPS) device, target tracking device, aircraft (such as drones, helicopters, multi-rotor helicopters, quadcopters, or airplanes, etc.), ship, remote control device, smart home device, industrial device, or a device built into the above devices (such as a communication module, modem or chip in the above devices), or other processing devices connected to a wireless modem. For the convenience of description, the terminal device will be described below taking the terminal or UE as an example.

[0080] It should be understood that in some scenarios, the UE can also be used as a base station. For example, the UE can act as a scheduling entity that provides sidelink signals between UEs in scenarios such as V2X, D2D, or P2P.

[0081] In the embodiments of the present application, the device for implementing the functions of the terminal device may be the terminal device itself, or a device capable of supporting the terminal device to implement such functions, such as a chip system or a chip, and this device may be installed in the terminal device. In the embodiments of the present application, the chip system may be composed of chips, or may include chips and other discrete devices.

[0082] The network device in the embodiments of this application can be a device for communicating with a terminal device. The network device can include an access network device or a radio access network device. For example, the network device can be a base station. The access network device in the embodiments of this application can refer to a radio access network (RAN) node (or device) that connects a terminal device to a wireless network. The above RAN can be a cellular system related to the 3rd generation partnership project (3GPP), such as a 5G mobile communication system or an evolved system for the future (such as a sixth generation (6G) mobile communication system). The RAN can also be an open RAN (O-RAN or ORAN), a cloud radio access network (CRAN), or a wireless fidelity (WiFi) system. The RAN can also be a communication system that combines two or more of the above systems. The network device can generally cover various names as follows, or be replaced with the following names. For example: Node B, evolved Node B (eNB), next generation Node B (gNB), relay station, access point, transmitting and receiving point (TRP), transmitting point (TP), master station, slave station, multi-mode radio (MSR) node, home base station, network controller, access node, wireless node, access point (AP), transmission node, transceiver node, building base band unit (BBU), remote radio unit (RRU), active antenna unit (AAU), remote radio head (RRH), central unit (CU), distributed unit (DU), positioning node, etc. The base station can be a macro base station, a micro base station, a relay node, a donor node, or the like, or a combination thereof. The base station can also refer to a communication module, a modem, or a chip used in the foregoing device or apparatus. The base station can also be a mobile switching center and a device that undertakes the function of a base station in D2D, V2X, M2M communications, a network-side device in a 6G network, a device that undertakes the function of a base station in a future communication system, etc. The base station can support networks with the same or different access technologies.Embodiments of the present application do not limit the specific technologies and specific device forms adopted by network devices.

[0083] The base station can be fixed or mobile. For example, a helicopter or a drone can be configured to act as a mobile base station, and one or more cells can move according to the position of the mobile base station. In other examples, a helicopter or a drone can be configured to be used as a device for communicating with another base station.

[0084] In some deployments, multiple RAN nodes cooperate to assist a terminal in achieving wireless access, and different RAN nodes respectively implement some functions of the base station. For example, the RAN node can be a CU, a DU, a central unit-control plane (CU-CP), a central unit-user plane (CU-UP), or an RU, etc. The CU and the DU can be set separately, or can also be included in the same network element, such as in a BBU. The radio unit (RU) can be included in a radio device or a radio unit, such as included in an RRU, an AAU, or an RRH.

[0085] The RAN node can support one or more types of fronthaul interfaces. Different fronthaul interfaces respectively correspond to DUs and RUs with different functions. If the fronthaul interface between the DU and the RU is the common public radio interface (CPRI), the DU is configured to implement one or more of the baseband functions, and the RU is configured to implement one or more of the radio frequency functions. If the fronthaul interface between the DU and the RU is another interface, compared with the CPRI, some of the downlink and / or uplink baseband functions, for example, for the downlink, one or more of precoding, digital beamforming (BF), or inverse fast Fourier transform (IFFT) / cyclic prefix (CP) addition, are moved from the DU to the RU for implementation. For the uplink, one or more of digital beamforming (BF), or fast Fourier transform (FFT) / CP removal, are moved from the DU to the RU for implementation. In a possible implementation, this interface can be the enhanced common public radio interface (eCPRI). Under the eCPRI architecture, different splitting methods between the DU and the RU correspond to different categories (Cat) of eCPRI, such as eCPRI Cat A, B, C, D, E, F.

[0086] Taking eCPRI Cat A as an example, for downlink transmission, with layer mapping as the segmentation, the DU is configured to implement layer mapping and one or more functions before it (i.e., one or more of encoding, rate matching, scrambling, modulation, or layer mapping), while other functions after layer mapping (such as one or more of resource element (RE) mapping, digital beamforming (BF), or inverse fast Fourier transform (IFFT) / adding cyclic prefix CP) are moved to the RU for implementation. For uplink transmission, with demapping of RE as the segmentation, the DU is configured to implement demapping and one or more functions before it (i.e., one or more of decoding, derate matching, descrambling, demodulation, inverse discrete Fourier transform (IDFT), channel equalization, or demapping of RE), while other functions after demapping (such as one or more of digital BF or FFT / removing CP) are moved to the RU for implementation. It can be understood that for the function descriptions of the DU and RU corresponding to various types of eCPRI, reference can be made to the eCPRI protocol, which will not be elaborated here.

[0087] In a possible design, the processing unit used to implement baseband functions in the BBU is called the baseband high (BBH) unit, and the processing unit used to implement baseband functions in the RRU / AAU / RRH is called the baseband low (BBL) unit.

[0088] In different systems, the CU (or CU-CP and CU-UP), DU, or RU may also have different names, but those skilled in the art can understand their meanings. For example, the radio access network can also be an open radio access network (O-RAN / ORAN) architecture. In the ORAN system, the CU can also be called the O-CU (open CU), the DU can also be called the O-DU, the CU-CP can also be called the O-CU-CP, the CU-UP can also be called the O-CU-UP, and the RU can also be called the O-RU. Any unit among the CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software modules and hardware modules.

[0089] In the embodiments of this application, the device for implementing the functions of a network device may be the network device itself, or a device capable of supporting the network device to implement such functions, such as a chip system or a chip. This device may be installed in the network device. In the embodiments of this application, the chip system may be composed of chips, or may include chips and other discrete devices.

[0090] The network device and the terminal device may be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they may also be deployed on water; they may also be deployed on aircraft, balloons, and satellites in the air. In the embodiments of this application, the scenarios where the network device and the terminal device are located are not limited. In addition, the terminal device and the network device may be hardware devices, or software functions running on dedicated hardware or software functions running on general hardware. For example, they may be virtualized functions instantiated on a platform (such as a cloud platform), or entities including dedicated or general hardware devices and software functions. This application does not limit the specific forms of the terminal device and the network device.

[0091] The network device may also include core network devices, such as an access and mobility management function (AMF), or an operations, administration and maintenance device (OAM), or a third-party device, such as an over the top (OTT) device or a cloud server, etc., or a device provided with an AI module, such as a RAN intelligent controller (RIC).

[0092] In the embodiments of this application, the terminal device may be the terminal device itself or a component of the terminal device (such as a chip or a circuit).

[0093] Optionally, the network device may be a network device provided with one or more AI modules. For example, the network device may be one or more devices among core network devices, radio access network (RAN) nodes, or OAM. For example, the AI module may be a RIC, such as a near real-time RIC or a non-real-time RIC, etc. For example, the near real-time RIC is set in a RAN node (such as a CU or a DU), and the non-real-time RIC is set in OAM, a cloud server, a core network device, or other network devices.

[0094] First, a communication system applicable to the embodiments of this application is briefly introduced as follows.

[0095] Figure 1 It is a schematic diagram of a wireless communication system 100 applicable to the embodiments of this application. As Figure 1As shown, the wireless communication system includes a radio access network 100. The radio access network 100 can be a next-generation (e.g., 6G or higher) radio access network or a traditional (e.g., 5G, 4G, 3G, or 2G) radio access network. One or more terminal devices (120a - 120j, collectively referred to as 120) can be interconnected or connected to one or more network devices (110a, 110b, collectively referred to as 110) in the radio access network 100. Figure 1 This is just a schematic diagram. The wireless communication system may also include other devices, such as core network devices, wireless relay devices, and / or wireless backhaul devices, etc., which are not drawn in Figure 1 the figure.

[0096] In practical applications, the wireless communication system can include multiple network devices simultaneously, and can also include multiple terminal devices simultaneously, without limitation. One network device can serve one or more terminal devices simultaneously. One terminal device can also access one or more network devices simultaneously. The embodiments of the present application do not limit the number of terminal devices and network devices included in the wireless communication system.

[0097] Figure 2 This is a schematic diagram of a wireless communication system 200 applicable to the embodiments of the present application. As Figure 2 shown, the wireless communication system 200 can include at least one network device, such as Figure 2 the network device 210 shown. The wireless communication system 200 can also include at least one terminal device, such as Figure 2 the terminal device 220 and the terminal device 230 shown. The wireless communication system 200 can also include an AI network element (also referred to as an AI entity), such as Figure 2 the AI network element 240 shown, for performing AI-related operations, such as constructing a training data set or training an AI model, etc.

[0098] In a possible implementation, the network device 210 can send data related to the training of the AI model to the AI network element 240, and the AI network element 240 constructs a training data set and trains the AI model. For example, the data related to the training of the AI model can include the data reported by the terminal device. The AI network element 240 can send the results of the operations related to the AI model to the network device 210, and forward them to the terminal device through the network device 210. For example, the results of the operations related to the AI model can include at least one of the following: the trained AI model, the evaluation result of the model, or the test result, etc. Exemplarily, a part of the trained AI model can be deployed on the network device 210, and another part can be deployed on the terminal device. Alternatively, the trained AI model can be deployed on the network device 210. Or, the trained AI model can be deployed on the terminal device.

[0099] It should be understood that Figure 2 only the example where the AI network element 240 is directly connected to the network device 210 is described. In other scenarios, the AI network element 240 can also be connected to the terminal device. Alternatively, the AI network element 240 can be connected to both the network device 210 and the terminal device simultaneously. Alternatively, the AI network element 240 can also be connected to the network device 210 through a third-party network element. The embodiments of the present application do not limit the connection relationship between the AI network element and other network elements.

[0100] The AI network element 240 can also be set as a module in the network device and / or the terminal device. For example, it can be set in Figure 1 the network device 110b or the terminal device shown.

[0101] Optionally, the AI network element 240 and the network device 210 can be different modules of the same device, or they can be separate different devices. It should be noted that Figure 1 and Figure 2 are only simplified schematic diagrams for easy understanding. For example, the communication system can also include other devices, such as wireless relay devices and / or wireless backhaul devices, etc., Figure 1 and Figure 2 which are not drawn in. In actual applications, the communication system can include multiple network devices, or multiple terminal devices, or can also include AI nodes. The embodiments of the present application do not limit the number of network devices and terminal devices included in the communication system.

[0102] To facilitate the understanding of the embodiments of the present application, the terms involved in the embodiments of the present application are briefly described below.

[0103] (1) AI model;

[0104] An AI model is an algorithm or computer program that can implement AI functions. The AI model represents the mapping relationship between the input and output of the model, or in other words, the AI model is a function model that maps an input of a certain dimension to an output of a certain dimension, and the parameters of the function model can be obtained through machine learning training. For example, f(x) = mx 2 + n is a quadratic function model, which can be regarded as an AI model. m and n are the parameters of the AI model, and m and n can be obtained through machine learning training. Exemplarily, the AI models mentioned in the following embodiments of the present application are not limited to neural networks, linear regression models, decision tree models, support vector machines (SVM), Bayesian networks, Q learning models, or other machine learning (ML) models.

[0105] It can be understood that the implementation of an AI model can be a hardware circuit, software, or a combination of software and hardware, without limitation. Non-limiting examples of software include: program code, programs, subroutines, instructions, instruction sets, code, code segments, software modules, applications, or software applications, etc.

[0106] (2) Machine learning ML;

[0107] ML is a form of implementation of artificial intelligence. Machine learning is a method that can endow machines with the ability to learn, enabling machines to perform functions that cannot be accomplished through direct programming. In a practical sense, machine learning is a method of training a model using data and then using the model for prediction. There are many machine learning methods, such as neural networks (NN), decision trees, or support vector machines. Machine learning theory mainly focuses on designing and analyzing algorithms that allow computers to learn automatically. Machine learning algorithms are a type of algorithm that automatically analyzes data to obtain patterns and uses these patterns to predict unknown data.

[0108] (3) Neural network NN;

[0109] A neural network is a specific implementation form of AI or machine learning. According to the universal approximation theorem, a neural network can theoretically approximate any continuous function, enabling the neural network to have the ability to learn any mapping. A neural network is a mathematical model that mimics the behavioral characteristics of the animal neural network for information processing. The idea of a neural network comes from the neuron structure of the brain tissue. Each neuron can perform a weighted summation operation on its input values, and the result of the weighted summation operation is passed through an activation function to produce an output.

[0110] A neural network can be composed of neural units, and a neural unit can refer to an operation unit with xs and an intercept of 1 as inputs. A neural network is a network formed by connecting many of these single neural units together, that is, the output of one neural unit can be the input of another neural unit. The input of each neural unit can be connected to the local receptive field of the previous layer to extract the features of the local receptive field, and the local receptive field can be a region composed of several neural units.

[0111] Taking the type of the AI model as a neural network as an example, the AI model of the present application can be a deep neural network (DNN). According to the construction method of the network, DNN can include a feedforward neural network (FNN), a convolutional neural network (CNN), a recurrent neural network (RNN), etc.

[0112] Figure 3 is a schematic diagram of the neuron structure. As Figure 3 shown, assuming the input of the neuron is x = [x0, x1, …, x n , and the weights corresponding to each input are w = [w, w1, …, w n , and the bias of the weighted sum is b. Among them, b can be an integer, a decimal, or a complex number, etc., with various possible values. The form of the activation function can be diversified. As an example, assuming the activation function of a neuron is: y = f(z) = max(0, z), then the output of this neuron is: As another example, assuming the activation function of a neuron is: y = f(z) = z, then the output of this neuron is: As Figure 3 shown. The activation functions of different neurons in the neural network can be the same or different.

[0113] A neural network generally includes a multi-layer structure, and each layer can include one or more logical judgment units, and such a logical judgment unit can be called a neuron. By increasing the depth and / or width of the neural network, the expression ability of the neural network can be improved, providing a more powerful information extraction and abstract modeling ability for complex systems. Among them, the depth of the neural network can be understood as the number of layers included in the neural network, and the number of neurons included in each layer can be called the width of this layer.

[0114] Figure 4 is a schematic diagram of the layer relationship of the neural network.

[0115] In a possible implementation, the neural network includes an input layer and an output layer. After the input received by the input layer of the neural network is processed by neurons, the result is passed to the output layer, and the output result of the neural network is obtained by the output layer.

[0116] In another possible implementation, the neural network includes an input layer, a hidden layer, and an output layer, as Figure 4As shown. After the input layer of the neural network processes the received input through neurons, the result is passed to the middle hidden layer, and the hidden layer then passes the calculation result to the output layer or the adjacent hidden layer. Finally, the output result of the neural network is obtained by the output layer. A neural network may include one or more hidden layers connected in sequence, without limitation.

[0117] During the training process of the neural network, a loss function can be defined. The loss function is used to measure the difference between the predicted value and the true value of the model. During the training process of the neural network, the loss function describes the gap or difference between the output value of the neural network and the ideal target value. The training process of the neural network is to adjust the neural network parameters so that the value of the loss function is less than the threshold value or meets the target requirements. Among them, the neural network parameters may include at least one of the following: the number of layers of the neural network, the width, the weights of the neurons, and the parameters in the activation function of the neurons.

[0118] (4) Federated learning;

[0119] Federated learning (FL) is a distributed machine learning method in which multiple participants interact model parameters through a security mechanism without sharing the original training data, so as to achieve the effect of AI collaborative training. Its original intention is to effectively help multiple institutions to use data and perform machine learning modeling while meeting the requirements of user privacy protection and data security. Within the federated learning framework, what is transmitted between nodes is not the data itself, but the intermediate results obtained during training, such as model parameters or gradients, etc.

[0120] According to the different distributions of data sources among the participating parties, federated learning can be classified into three categories: horizontal federated learning, vertical federated learning, and federated transfer learning. Among them, horizontal federated learning, also known as feature-aligned federated learning, refers to the case where there is a large overlap in user features but a small overlap in users between two datasets. In this case, the datasets are sliced horizontally (i.e., along the user dimension), and the part of the data where the user features are the same but the users are not completely the same is selected for training. Vertical federated learning, also known as sample-aligned federated learning, refers to the case where there is a large overlap in users but a small overlap in user features between two datasets. In this case, the datasets are sliced vertically (i.e., along the feature dimension), and the part of the data where the users are the same but the user features are not completely the same is selected for training. Federated transfer learning refers to the case where there is a small overlap in both users and user features between two datasets. In this case, we do not slice the data, but instead use transfer learning to overcome the shortage of data or labels.

[0121] Taking high-frequency beam management as an example, when the base station side performs beam scanning of codebook-based synchronization signal blocks (SSBs) or channel state information-reference signals (CSI-RSs), the channels between users at different positions and the base station are different. Users measure the received SSB or CSI-RS beams, for example, measure the physical layer reference signal receiving power (L1-RSRP), and feedback the beam identity (ID) corresponding to the maximum RSRP value. By using AI / ML, a model can be trained to infer the optimal beam ID using the received SSB / CSI-RS signals, or the intensity of the received SSB / CSI-RS signals, or the estimated channel as input, and feedback it to the base station. Each user can collect their own received beam / channel information and the corresponding optimal beam ID as samples for training the above AI / ML model (i.e., local samples). However, the number of samples that each user can collect is limited, and the performance of the model trained by the user using only local data will be limited. That is, due to the user's location, the optimal beam ID may only be a subset of the SSB / CSI-RS codebook. If the user sends local data to the server, and the server aggregates the data of each user for model training, although the performance of the model can be improved, there is a risk of leaking the user's privacy information. For example, information such as the user's current location can be inferred through the channel. To solve this problem, federated learning can be used. The central node sends a global model to each user participating in federated learning. Each user uses local data to train the global model to obtain a local model, and sends the parameter information of the local model, such as gradients, weights, etc. (encrypted) to the server. The server performs model aggregation (MA) to update the global model, and then sends the global model to each user again. The user continues to update the local model and send it to the central node, and this process is repeated multiple times until convergence.

[0122] In the FL framework, different users train a common model based on local data, and this local model can better fit the characteristics of local data. After aggregation at the central node, the generalization ability of the entire model is improved, but the ability to "overfit" the characteristics of various local data is "lost", and similar personalized FL enhancement is required.

[0123] (5) Auto-encoders (AE);

[0124] The autoencoder AE is a neural network for unsupervised learning. Its characteristic is that the input data is used as labeled data. Therefore, AE can also be understood as a neural network for self-supervised learning. AE can be used for data compression and recovery. Exemplarily, the encoder in AE can perform compression (encoding) processing on data A to obtain data B, and the decoder in AE can perform decompression (decoding) processing on data B to recover data A. Or it can be understood that the decoder is the inverse operation of the encoder.

[0125] Exemplarily, the AI model in the embodiments of this application may include an encoder and a decoder. The encoder and the decoder are used in a matching manner, and it can be understood that the encoder and the decoder are a supporting AI model. The encoder and the decoder can be respectively deployed on a terminal device and a network device. Optionally, the AI model in the embodiments of this application may be a single-end model, and this AI model can be deployed on a terminal device or a network device.

[0126] (6) Two-side model;

[0127] The two-side model can also be called a bilateral model, a collaborative model, or a dual model, etc. The two-side model refers to a model composed of multiple sub-models combined together. The multiple sub-models constituting this model need to match each other. The multiple sub-models can be deployed in different nodes.

[0128] The embodiments of this application involve an encoder for compressing CSI and a decoder for recovering the compressed CSI. The encoder and the decoder are used in a matching manner, and it can be understood that the encoder and the decoder are a supporting AI model. An encoder may include one or more AI models, and the decoder matched with this encoder also includes one or more AI models. The number of AI models included in the matching encoder and decoder is the same and they correspond one by one.

[0129] In a possible design, a set of matching encoder and decoder can specifically be two parts in the same AE. As Figure 5 shown, the encoder and the decoder are respectively deployed on different nodes. The AE model is a typical bilateral model. The encoder and the decoder of the AE model are usually co-trained and can be used in a matching manner. For example, the encoder can process the input V to obtain the processed result z, and the decoder can decode the output z of the encoder into the desired output V'. That is to say, CSI feedback can be implemented based on the AI model of AE. For example, the UE side compresses and quantifies CSI through the encoder, and the base station recovers CSI through the decoder. For the base station, the input of the model is the CSI fed back by the UE, the output is the recovered CSI, and the training of the model requires the CSI fed back by the UE as the true value label of the recovered CSI.

[0130] (7) Model training;

[0131] The process of training the model parameters using an optimization algorithm by selecting an appropriate loss function, such that the value of the loss function is less than a threshold or satisfies the target requirements.

[0132] (8) Training dataset and inference data;

[0133] In the field of machine learning, the ground truth usually refers to data that is considered accurate or real.

[0134] A dataset refers to the data used for model training, model validation, or model testing in machine learning. The quantity and quality of the data will affect the performance of machine learning. The training dataset is used for training an AI model. The training dataset can include the input of the AI model, or can include both the input and the target output of the AI model. Among them, the training dataset includes one or more training data. The training data can include the training samples input to the AI model, or can also include the target output of the AI model. Among them, the target output is the target value of the output of the AI model, and can also be referred to as the output ground truth, comparison ground truth, label, sample label, or labeled sample. The label is the ground truth.

[0135] In the field of communication, the training dataset can include simulation data collected through a simulation platform, or can include experimental data collected in an experimental scenario, or can also include measured data collected in an actual communication network. Due to differences in the geographical environment and channel conditions where the data is generated, such as differences in indoor, outdoor, moving speed, frequency band, or antenna configuration, etc., when obtaining the data, the collected data can be classified. For example, data with the same channel propagation environment and antenna configuration can be grouped into one category.

[0136] Model training essentially involves learning certain features from the training data. During the process of training an AI model (such as a neural network model), since we hope the output of the AI model is as close as possible to the value we truly want to predict, we can compare the predicted value of the current network with the true target value, and then update the weight vector of each layer of the AI model according to the difference between the two. (Of course, there is usually an initialization process before the first update, that is, pre-configuring parameters for each layer in the AI model). For example, if the predicted value of the network is too high, we adjust the weight vector to make it predict lower, and keep adjusting until the AI model can predict the true target value or a value very close to the true target value. Therefore, it is necessary to pre-define "how to compare the difference between the predicted value and the target value", which is the loss function or objective function. They are important equations for measuring the difference between the predicted value and the target value. Among them, taking the loss function as an example, the higher the output value (loss) of the loss function, the greater the difference. Then the training of the AI model becomes a process of minimizing this loss as much as possible, making the value of the loss function less than the threshold, or making the value of the loss function meet the target requirements. For example, if the AI model is a neural network, adjusting the model parameters of the neural network includes adjusting at least one of the following parameters: the number of layers of the neural network, the width, the weights of the neurons, or the parameters in the activation function of the neurons.

[0137] The inference data can be used as the input of the trained AI model for inference of the AI model. During the model inference process, when the inference data is input into the AI model, the corresponding output can be obtained, which is the inference result.

[0138] The design of the AI model mainly includes a data collection link (such as collecting training data and / or inference data), a model training link, and a model inference link. Further, it can also include an inference result application link.

[0139] Figure 6 is an AI application framework.

[0140] In the foregoing data collection phase, the data source is used to provide training datasets and inference data. In the model training phase, an AI model is obtained by analyzing or training the training data provided by the data source. Among them, the AI model represents the mapping relationship between the input and output of the model. Obtaining the AI model through the model training node is equivalent to learning the mapping relationship between the input and output of the model using the training data. In the model inference phase, the AI model trained through the model training phase is used to perform inference based on the inference data provided by the data source, and an inference result is obtained. This phase can also be understood as: inputting the inference data into the AI model, and obtaining an output through the AI model, and this output is the inference result. The inference result can indicate: configuration parameters used (executed) by the execution object, and / or operations performed by the execution object. In the inference result application phase, the inference result is published. For example, the inference result can be uniformly planned by the execution entity. For example, the execution entity can send the inference result to one or more execution objects (such as access network devices or terminal devices, etc.) for execution. Another example is that the execution entity can also feedback the performance of the model to the data source to facilitate subsequent implementation of model update training.

[0141] It can be understood that network elements with artificial intelligence capabilities can be included in the communication system. The above-mentioned phases related to AI model design can be executed by one or more network elements with artificial intelligence capabilities. In a possible design, AI capabilities (such as AI modules or AI entities) can be configured in existing network elements in the communication system to implement AI-related operations, such as training and / or inference of AI models. For example, the existing network element can be an access network device or a terminal device, etc. Or in another possible design, an independent network element can also be introduced in the communication system to perform AI-related operations, such as training the AI model. This independent network element can be called an AI network element (or AI node, AI entity, etc.), and the embodiments of the present application do not limit this name. Exemplarily, this AI network element can be directly connected to the access network device in the communication system, or can be indirectly connected to the access network device through a third-party network element. Among them, the third-party network element can be a network device such as an authentication management function (AMF) network element, a user plane function (UPF) network element, OAM, a server (such as a cloud server), or other network elements, without limitation. Exemplarily, this independent AI network element can be deployed on one or more of the access network device side, the terminal device side, or the core network side. Optionally, it can be deployed on a server, such as a cloud server, or on an over-the-top (OTT) device. For example, Figure 2 The AI network element 240 in the shown communication system.

[0142] The training processes of different models can be deployed in different devices or nodes, or can also be deployed in the same device or node. The inference processes of different models can be deployed in different devices or nodes, or can also be deployed in the same device or node. Taking the terminal device to complete the model training phase as an example, after the terminal device trains the supporting encoder and decoder, it can send the model parameters of the decoder among them to the network device. Taking the network device to complete the model training phase as an example, after the network device trains the supporting encoder and decoder, it can indicate the model parameters of the encoder among them to the terminal device. Taking an independent AI network element to complete the model training phase as an example, after the AI network element trains the supporting encoder and decoder, it can send the model parameters of the encoder among them to the terminal device and send the model parameters of the decoder among them to the network device. Then, the model inference phase corresponding to the encoder is carried out in the terminal device, and the model inference phase corresponding to the decoder is carried out in the network device.

[0143] Among them, the model parameters can include one or more of the following: the structural parameters of the model (such as the number of layers of the model, and / or weights, etc.), the input parameters of the model (such as input dimension, number of input ports), or the output parameters of the model (such as output dimension, number of output ports). It can be understood that the input dimension can refer to the size of an input data. For example, when the input data is a sequence, the input dimension corresponding to the sequence can indicate the length of the sequence. The number of input ports can refer to the number of input data. Similarly, the output dimension can refer to the size of an output data. For example, when the output data is a sequence, the output dimension corresponding to the sequence can indicate the length of the sequence. The number of output ports can refer to the number of output data.

[0144] (9) Knowledge distillation / model distillation;

[0145] Generally, large models are often a single complex network or a collection of several networks, with good performance and generalization ability, while small models have limited expressive ability due to their small network scale. Therefore, the knowledge learned by the large model can be used to guide the training of the small model, so that the small model has performance comparable to that of the large model, but the number of parameters is greatly reduced, thereby realizing model compression and acceleration. This is the application of knowledge distillation and transfer learning in model optimization.

[0146] Knowledge distillation adopts the Teacher-Student mode, that is, a complex and large model is used as the Teacher, and the Student model has a relatively simple structure. The Teacher is used to assist the training of the Student model. The Teacher has strong learning ability and can transfer the knowledge it has learned to the Student model with relatively weak learning ability, so as to enhance the generalization ability of the Student model. The complex and bulky but effective Teacher model is not put online and is simply a tutor role. The truly deployed and online Student small model is used for prediction tasks.

[0147] In model distillation, a common approach is to transfer the input and output of the teacher model to the student model as a dataset, and the student model implements model training based on the dataset. Similarly, during the training process of a dual-end model, it is necessary to transfer the dataset to the other end to ensure that the other end performs network training according to the received dataset.

[0148] (10) Bit width;

[0149] Bit width can be understood as the number of bits occupied by data in a computer system. Or rather, bit width is the amount of data that can be transferred by memory or video memory at one time. Simply put, it is the data width that can be transferred at one time. The larger the bit width, the more data can be transferred at one time, which is obviously beneficial to improving the performance of the graphics card.

[0150] Next, the training process and inference process of the AI model in the embodiments of the present application will be further described exemplarily.

[0151] The training data for training the AI model includes training samples and sample labels. Exemplarily, the training samples are the channel information determined by the terminal device, and the sample labels are the true channel information, that is, the true CSI. For the case where the encoder and decoder belong to the same autoencoder, the training data may only include training samples, or rather, the training samples are the sample labels.

[0152] In the field of wireless communication, true CSI can be understood as high-precision CSI. The specific training process includes: the model training node processes the channel information, that is, the training samples, using an encoder to obtain CSI feedback information, and processes the feedback information using a decoder to obtain the restored channel information, that is, CSI restoration information. Furthermore, the difference between the CSI restoration information and the corresponding sample label is calculated, that is, the value of the loss function. The parameters of the encoder and decoder are updated according to the value of the loss function, so that the difference between the restored channel information and the corresponding sample label is minimized, that is, the loss function is minimized. Exemplarily, the loss function can be mean square error (MSE) or cosine similarity. Repeating the above operations can obtain an encoder and decoder that meet the target requirements. The above model training node can be a terminal device, a network device, or other network elements with AI capabilities in the communication system.

[0153] It should be understood that the above is only an example for the use of the AI model in CSI compression. In CSI feedback, the AI model can also be used in other scenarios. For example, the AI model can be used for CSI prediction, that is, predicting the channel information at one or more future moments based on the channel information measured at one or more historical moments. The embodiments of the present application do not limit the specific use of the AI model in the CSI feedback scenario.

[0154] In a communication system, such as in neural network training, federated learning training, or knowledge distillation processes, a network training scheme with a predetermined precision is usually adopted, that is, transmitting network model parameters, network gradient parameters, or data sets of the same bit width (such as 32-bit floating-point type, or larger) over the air interface to achieve network training and convergence. However, the above network training may involve a large number of floating-point value operations. High-precision floating-point calculations are usually slow and consume power. At the same time, floating-point data is usually 32 bits or larger, requiring a large storage space and time. In addition, high-bit-width floating-point values may inhibit the execution of neural networks on devices with less available computing resources or power constraints. At the same time, training a neural network with high-bit-width floating-point will bring higher hardware consumption.

[0155] In summary, in the current network training process, transmitting network model parameters, network gradient parameters, or data sets over the air interface based on the same bit width not only brings a large consumption of energy resources and air interface transmission overhead, but also limits the popularization of artificial intelligence in the wireless field.

[0156] Based on this, the embodiments of the present application provide a communication method and a communication device, which can effectively improve the network training performance.

[0157] The following will describe in detail the communication method provided by the embodiments of the present application with reference to the accompanying drawings. The embodiments provided by the present application can be applied to the above Figure 1 orFigure 2 In the communication system shown, there is no limitation. The present application proposes the following Figures 7 to 10 For the method shown, it should be understood that Figures 7 to 10 The method embodiments shown can be combined with each other, Figures 7 to 10 and the steps in the method embodiments shown can be referenced to each other. In the embodiments of the present application, Figures 8 to 10 the method embodiments shown can be regarded as possible implementation manners for implementing Figure 7 the functions of the method embodiments shown.

[0158] Figure 7 FIG. 700 is a schematic flowchart of a communication method provided by an embodiment of the present application. As ​ shown, the method flow can be executed by a first device and a second device. Among them, the first device (for example, the first terminal) can be a terminal device, or a chip or circuit in the terminal device, or a functional module in the terminal device that can call and execute a program. The second device can be a network device, or a chip or circuit in the network device, or a functional module in the network device that can call and execute a program. Optionally, the first device or the second device can also be an AI entity (also called an AI network element), such as a model training network element, a model storage network element, or a model inference network element, such as a third-party device like OAM, OTT, or a cloud server. The method includes the following multiple steps.

[0159] S710, the first device obtains the first bit width of the first parameter.

[0160] Among them, the first bit width belongs to a first bit width set, the first parameter belongs to a first parameter set, there is a corresponding relationship between multiple bit widths in the first bit width set and multiple parameters in the first parameter set, the multiple parameters are used to train a first model, and each parameter includes one or more of the following: model parameters and / or gradient parameters.

[0161] Optionally, the present application does not specifically limit the number of bit widths in the first bit width set and the number of parameters in the first parameter set.

[0162] It should be understood that the first bit width can represent the number of bits occupied by the first parameter, and multiple bit widths in the first bit width set represent the number of bits occupied by multiple parameters in the first parameter set respectively. Exemplarily, the bit width can be float16, float32, double float64, or (floating point type 128 bits, complex 128), etc. The bit width can be indicated by bits. For example, bit "00" is used to represent float16, bit "01" is used to represent float32, bit "10" is used to represent double float64, and bit "11" is used to represent complex 128. The present application does not make specific limitations on the value and representation form of the bit width.

[0163] In the present application, the first parameter can include the first model parameter and / or the first gradient parameter, where the first model can be a neural network, a Gaussian model (gaussian mixture model, GMM), a variational autoencoder (variational autoencoder, VAE), or a generative adversarial network (generative adversarial networks, GAN), etc. It should be understood that this solution is applicable to network training such as neural network training, federated learning training, or knowledge distillation process.

[0164] Exemplarily, if the first model is an AI model and the AI model is a neural network, the model parameters of the neural network (i.e., the first parameter) can include one or more of the following: the number of layers of the neural network, the width of the neural network, the weights or biases of the neurons, the parameters in the activation function of the neurons, the input parameters of the model (such as input dimension, number of input ports), the output parameters of the model (such as output dimension, number of output ports), or the identification information of the first parameter, etc. The specific interpretation can refer to the above relevant description.

[0165] Exemplarily, if the first model is an AI model and the AI model is a neural network, the gradient parameters of the neural network (i.e., the first parameter) can include one or more of the following: the number of layers of the neural network, the width of the neural network, the gradients corresponding to the weights or biases of the neurons, or the identification information of the first parameter, etc. The specific interpretation can refer to the above relevant description.

[0166] It should be understood that the gradient is a vector, which can represent the partial derivatives of an n -ary function f with respect to n variables. The gradient represents that the directional derivative of a certain function at this point reaches the maximum value along this direction, that is, the function changes fastest at this point along this direction (the direction of this gradient), and the change rate is the largest (the modulus of this gradient). That is, the gradient parameter is a parameter used to describe the change rate of a function at a certain point.

[0167] In this application, there is a corresponding relationship between multiple bit widths in the first bit width set and multiple parameters in the first parameter set. It can be understood that: multiple bit widths correspond to multiple parameters one by one, or multiple parameters correspond to one bit width. For example, if the first bit width set includes bit width #1 and bit width #2, and the multiple parameters in the first parameter set include parameter #1 and parameter #2, then bit width #1 can correspond to parameter #1, indicating that the number of bits occupied by parameter #1 is bit width #1, and bit width #2 can correspond to parameter #2, indicating that the number of bits occupied by parameter #2 is bit width #2. Another example, if the first bit width set includes bit width #1 and bit width #2, and the multiple parameters in the first parameter set include parameter #1, parameter #2, bit width #3, and bit width #4, then bit width #1 can correspond to parameter #1 and parameter #2, indicating that the number of bits occupied by parameter #1 and parameter #2 is both bit width #1, and bit width #2 can correspond to parameter #3 and bit width #4, indicating that the number of bits occupied by parameter #3 and parameter #4 is both bit width #2.

[0168] In a possible design, the first parameter set includes N second parameters, and at least one of the N second parameters corresponds to a second bit width different from the first bit width. The second bit width belongs to the first bit width set, and N is an integer greater than or equal to 1.

[0169] Optionally, this application does not limit whether the second bit widths corresponding to the N second parameters are the same, as long as at least two of the multiple bit widths respectively corresponding to the multiple parameters in the first parameter set are different. For example, assuming N equals 1, it means the first parameter set includes two parameters, namely the first parameter and the second parameter, where the first bit width corresponding to the first parameter is different from the second bit width corresponding to the second parameter; another example, assuming N is an integer greater than or equal to 2, such as N = 3, it means the first parameter set includes four parameters, for example, the first parameter, the second parameter #1, the second parameter #2, and the second parameter #3. The second parameter #1 corresponds to bit width #1, the second parameter #2 corresponds to bit width #2, and the second parameter #3 corresponds to bit width #3. Among them, bit width #1, bit width #2, and bit width #3 can all be the same, or partially the same, or different from each other. This application does not limit this, that is, the bit widths corresponding to the multiple second parameters can be the same or different. It should be noted that when bit width #1, bit width #2, and bit width #3 are the same, the first bit width corresponding to the first parameter is different from bit width #1, bit width #2, and bit width #3.

[0170] In this application, the correspondence between multiple bit widths in the first bit width set and multiple parameters in the first parameter set can be predefined. The predefined can include predefined in advance, such as protocol definition; or, the correspondence can be configured by signaling or preconfigured. The preconfiguration can be implemented by pre-saving corresponding codes, tables or other ways that can be used to indicate the correspondence in the first device and / or the second device. This application does not limit its specific implementation manner.

[0171] Optionally, the correspondence can exist in the form of a table, a function, a text, or a string, such as storage or transmission.

[0172] Next, an example of the correspondence between multiple bit widths in the first bit width set and multiple parameters in the first parameter set is given in the form of a table. Among them, the correspondence between multiple bit widths in the first bit width set and multiple model parameters in the first parameter set can satisfy Table 1 and Table 2 below, and the correspondence between multiple bit widths in the first bit width set and multiple gradient parameters in the first parameter set can satisfy Table 3 and Table 4 below.

[0173] Table 1

[0174] ​ ​ ​ ​ ​ ​ ​ ​ ​ ​

[0175] As shown in Table 1, the first bit-width set includes bit-width #1, bit-width #2, bit-width #3, and bit-width #4. Taking multiple parameters in the first parameter set as model parameters as an example, the first parameter set includes model parameter #1, model parameter #2, model parameter #3, and model parameter #4. Among them, bit-width #1 corresponds to model parameter #1, bit-width #2 corresponds to model parameter #2, bit-width #3 corresponds to model parameter #3, and bit-width #4 corresponds to model parameter #4, that is, one bit-width corresponds to one model parameter, or in other words, each model parameter has a different bit-width. If the first parameter is model parameter #1, then the first bit-width is bit-width #1, and the second parameter includes model parameter #2, model parameter #3, and model parameter #4 (N = 3), and the corresponding second bit-widths are bit-width #2, bit-width #3, and bit-width #4 in sequence. For example, assume that bit-width #1 is float16, bit-width #2 is float32, bit-width #3 is double float64, bit-width #4 is complex 128, model parameter #1 is the number of layers of the neural network, model parameter #2 is the width of the neural network, model parameter #3 is the input dimension of the model, and model parameter #4 is the output dimension of the model. Then it indicates that the bit-widths of the model parameters (such as the number of layers, width, input dimension, and output dimension of the neural network) reported by the first device during network training, and the bit-widths of the merged model parameters (such as the number of layers, width, input dimension, and output dimension of the neural network) sent by the second device are float16, float32, double float64, and complex 128 in sequence. Optionally, the bit-width #1, bit-width #2, bit-width #3, and bit-width #4 in Table 1 above can be represented using bits. For example, the bits "00", "01", "10", or "11" are used to represent bit-width #1, bit-width #2, bit-width #3, and bit-width #4 respectively.

[0176] Table 2

[0177] ​ ​ ​ ​ ​ ​ ​ ​ ​ ​

[0178] As shown in Table 2, the first bit-width set includes bit-width #1 and bit-width #2. Taking multiple parameters in the first parameter set as model parameters as an example, the first parameter set includes model parameter #1, model parameter #2, model parameter #3, and model parameter #4. Among them, bit-width #1 corresponds to model parameter #1, and bit-width #2 corresponds to model parameter #2, model parameter #3, and model parameter #4. That is, one bit-width can correspond to one model parameter, or one bit-width corresponds to multiple model parameters. Or rather, different model parameters can have the same bit-width or different bit-widths. For example, assume that bit-width #1 is float16, bit-width #2 is float32, model parameter #1 is the number of layers of a neural network, model parameter #2 is the width of the neural network, model parameter #3 is the input dimension of the model, and model parameter #4 is the output dimension of the model. Then it indicates that the bit-width of the model parameters (such as the number of layers of the neural network) obtained by the first device reporting network training and the bit-width of the merged model parameters (such as the number of layers of the neural network) issued by the second device are both float16. The bit-widths of the model parameters (such as width, input dimension, and output dimension) obtained by the first device reporting network training and the bit-widths of the merged model parameters (such as width, input dimension, and output dimension) issued by the second device are float32, double float64, and complex 128 in sequence. Optionally, bit-width #1 and bit-width #2 in Table 2 above can be represented by bits. For example, bits "0" and "1" are used to represent bit-width #1 and bit-width #2 respectively.

[0179] Table 3

[0180] ​ ​ ​ ​ ​ ​ ​ ​ ​ ​

[0181] As shown in Table 3, the first bit-width set includes bit-width #1, bit-width #2, bit-width #3, and bit-width #4. Taking multiple parameters in the first parameter set as gradient parameters as an example, the first parameter set includes gradient parameter #1, gradient parameter #2, gradient parameter #3, and gradient parameter #4. Among them, bit-width #1 corresponds to gradient parameter #1, bit-width #2 corresponds to gradient parameter #2, bit-width #3 corresponds to gradient parameter #3, and bit-width #4 corresponds to gradient parameter #4, that is, one bit-width corresponds to one gradient parameter, or in other words, each gradient parameter has a different bit-width. If the first parameter is gradient parameter #1, then the first bit-width is bit-width #1, and the second parameter includes gradient parameter #2, gradient parameter #3, and gradient parameter #4 (N = 3), and the corresponding second bit-widths are bit-width #2, bit-width #3, and bit-width #4 in sequence. For example, assuming that bit-width #1 is float16, bit-width #2 is float32, bit-width #3 is double float64, and bit-width #4 is complex 128, it indicates the bit-widths of the gradient parameters (such as gradient parameter #1, gradient parameter #2, gradient parameter #3, and gradient parameter #4) reported by the subsequent first device during network training, and the bit-widths of the merged gradient parameters (such as gradient parameter #1, gradient parameter #2, gradient parameter #3, and gradient parameter #4) sent by the second device are float16, float32, double float64, and complex 128 in sequence. Optionally, the bit-width #1, bit-width #2, bit-width #3, and bit-width #4 in Table 3 above can be represented by bits. For example, bits "00", "01", "10", or "11" are used to represent bit-width #1, bit-width #2, bit-width #3, and bit-width #4 respectively.

[0182] Table 4

[0183] ​ ​ ​ ​ ​ ​ ​ ​ ​ ​

[0184] As shown in Table 4, the first bit-width set includes bit-width #1, bit-width #2, and bit-width #3. Taking multiple parameters in the first parameter set as gradient parameters as an example, the first parameter set includes gradient parameter #1, gradient parameter #2, gradient parameter #3, and gradient parameter #4. Among them, bit-width #1 corresponds to gradient parameter #1 and gradient parameter #2, bit-width #2 corresponds to gradient parameter #3, and bit-width #3 corresponds to gradient parameter #4. That is, one bit-width can correspond to one gradient parameter, or one bit-width corresponds to multiple gradient parameters. Or rather, different gradient parameters can have the same bit-width or different bit-widths. For example, assuming that bit-width #1 is float16, bit-width #2 is float32, and bit-width #3 is double float64, it means that the bit-widths of the gradient parameters (such as gradient parameter #1 and gradient parameter #2) reported by the subsequent first device for network training, and the bit-widths of the merged gradient parameters (such as gradient parameter #1 and gradient parameter #2) sent by the second device are both float16. The bit-widths of the model parameters (such as gradient parameter #3 and gradient parameter #4) reported by the first device for network training, and the bit-widths of the merged gradient parameters (such as gradient parameter #3 and gradient parameter #4) sent by the second device are double float64 and complex 128 respectively. Optionally, bit-width #1, bit-width #2, and bit-width #3 in Table 4 above can be represented using bits. For example, bits "0", "1", and "default" are used to represent bit-width #1, bit-width #2, and bit-width #3 respectively.

[0185] It should be noted that the above Tables 1 to 4 are only examples given for easy understanding, and other solutions are not excluded.

[0186] Optionally, the present application does not specifically limit the number of parameters in the first parameter set and the number of bit-widths in the first bit-width set involved in the above Tables 1 to 4. Or rather, the present application does not limit the number of corresponding relationships between multiple bit-widths and multiple parameters (such as a row in the table) involved in the above Tables 1 to 4. For example, bit-width #1 to bit-width #3, and bit-width #4 in Table 1 can form new tables independently. Another example is that bit-width #1 and bit-width #2, and bit-width #3 and bit-width #4 in Table 4 can form new tables independently. That is, the above Tables 1 to 4 can be split into multiple other tables for illustration. The present application does not limit this, and the splitting method is also not limited.

[0187] Optionally, the present application does not limit the values of the bit-widths involved in the above Tables 1 to 4, and the model parameters and / or gradient parameters corresponding to the bit-widths. Among them, the values of the bit-widths and the parameters corresponding to the bit-widths can be predefined or pre-configured, or can also be configured by signaling.

[0188] Optionally, the above Tables 1 to 4 can be implemented independently or in combination. For example, Table 1 and Table 3 above can be combined into one table, and this application does not limit this. For example, for a specific bit width, one or more rows in Table 1 can be reflected in one table with the corresponding one or more rows in Table 3. Optionally, for example, the corresponding relationships shown in the first 2 rows of Table 1 and the corresponding relationships shown in the first 2 rows of Table 3 can be combined into one table, and the corresponding relationships shown in the last 2 rows of Table 1 and the corresponding relationships shown in the last 2 rows of Table 3 can be combined into one table, and this application does not limit this.

[0189] Next, a specific implementation manner for the first bit width of the first parameter obtained by the first device will be described by way of example.

[0190] In the first example, the first bit width of the first parameter can be determined independently by the first device. Exemplarily, the first device can determine the first bit width according to factors such as its own capability information, its own hardware conditions, hardware power, or battery capacity. For example, if the current memory of the first device cannot support network training with a large number of model parameters, or the current power of the first device cannot support high-precision bit width model training, then the first device can selectively determine the first bit width. For example, the first bit width can be a bit width with a smaller precision, such as float16.

[0191] In the second example, the first bit width can be predefined or preconfigured. Predefining can include predefined, such as protocol definition. Preconfiguration can be implemented by pre-saving corresponding codes, tables, or other ways that can be used to indicate the first bit width in the first device, and this application does not limit its specific implementation manner.

[0192] In the third example, the first bit width can be configured through signaling. Exemplarily, the first bit width of the first parameter can be determined by a second device (such as a base station) and indicated to the first communication device. For example, the second device sends third information to the first device, and this third information is used to indicate the first bit width. Correspondingly, the first device receives the third information from the second device and determines the first bit width of the first parameter according to the third information.

[0193] Optionally, before the second device sends the third information to the first device, the method further includes: the first device sends a second bit width set to the second device, and the second bit width set includes the first bit width. It should be understood that the first device supports the bit widths in the second bit width set. Correspondingly, the second device receives the second bit width set from the first device and selects the first bit width from the second bit width set.

[0194] Exemplarily, the second bitwidth set may be a set including multiple bitwidths supported by the first device. For example, the second bitwidth set includes float16, float32, and double float64, indicating that the first bitwidth corresponding to the first parameter supported by the first device may be float16, or float32, or double float64. Alternatively, the second bitwidth set may include the upper and lower limits of the bitwidths supported by the first device. For example, the second bitwidth set includes float16 and float32, indicating that the first bitwidth corresponding to the first parameter supported by the first device may be any bitwidth between float16 and float32. The present application does not limit the representation form of the second bitwidth set.

[0195] It should be understood that one or more bitwidths in the second bitwidth set are all with respect to the first bitwidth. That is, the first bitwidth corresponding to the first parameter reported by the first device may be any bitwidth in the second bitwidth set. For example, the second bitwidth set may include one or more of the following: float16, float32, double float64, or complex 128, that is, the first bitwidth corresponding to the first parameter may be any one of float16, float32, double float64, or complex 128.

[0196] It should be noted that the multiple bitwidths in the above first bitwidth set are with respect to the multiple bitwidths corresponding to the multiple model parameters and / or multiple gradient parameters of the first model. For example, the first bitwidth set float16, float32, and doublefloat64 respectively correspond to model parameter #1, model parameter #2, and model parameter #3. It should be understood that the values of the multiple bitwidths in the first bitwidth set and the multiple bitwidths in the second bitwidth set may be the same or different. The present application does not limit this.

[0197] For the second device to select a first bitwidth from a second set of bitwidths, in one example, the second device may select the first bitwidth from the second set of bitwidths according to at least one of time-frequency resources, the bitwidth requirement ranges of different terminals for a first parameter, the hardware conditions of different terminals, the hardware power, the battery capacity, or the dataset quality of different terminals, and indicate the first bitwidth to the first device. For example, Terminal #1 and Terminal #2 respectively report a second set of bitwidths #1 and a second set of bitwidths #2 to the second device. Among them, the second set of bitwidths #1 includes float16 and float32, and the second set of bitwidths #2 includes float32 and double float64. Then, the second device can comprehensively consider factors such as the size of the currently available time-frequency resources, the lower battery capacity of Terminal #1, the better hardware conditions of Terminal #2, and the higher precision requirement of Terminal #2 for the first parameter. Finally, it is determined that the bitwidth allocated to Terminal #1 is float16, the bitwidth allocated to Terminal #2 is double float64, and the first bitwidth corresponding to the first parameter is indicated to Terminal #1 as float16, and the first bitwidth corresponding to the first parameter is indicated to Terminal #2 as double float64. It should be understood that the present application does not limit the specific implementation manner of the second device to select the first bitwidth from the second set of bitwidths.

[0198] In a possible design, before the first device obtains the first bitwidth of the first parameter, the second device may send a reference bitwidth (for example, an example of a fourth bitwidth) to the first device. Exemplarily, the second device sends a fourth message to the first device, and this fourth message is used to request the training of the first model, and this fourth message includes the fourth bitwidth. It should be understood that this fourth bitwidth is the bitwidth supported by the second device. Accordingly, the first device receives the fourth message from the second device and determines the first bitwidth.

[0199] Exemplarily, the fourth message may be a broadcast message. For example, the second device may send a fourth request message to multiple first devices; or, the fourth message may be a high-layer signaling, such as a radio resource control (RRC) signaling.

[0200] Optionally, the first device determines the first bitwidth according to the fourth bitwidth. At this time, the first bitwidth is usually less than or equal to the fourth bitwidth. For example, if the fourth bitwidth is float32, the first bitwidth may be float16 or float32. Or, if the fourth bitwidth is float16, the first bitwidth determined by the first device may be float32. That is to say, the fourth bitwidth is used as the reference bitwidth provided by the second device to the first device, and the first bitwidth determined by the first device may be less than or equal to the fourth bitwidth, or may be greater than the fourth bitwidth. The present application does not limit this.

[0201] Optionally, the fourth information may further include the structural parameters of the first model and / or the number of parameters of the first model. Among them, the structural parameters of the first model may include one or more of the following: fully connected, CNN, RNN, or Transformer (such as encoder-decoder), etc., and the number of parameters of the first model includes: floating-point operation amount and / or addition and multiplication operation amount, etc.

[0202] Exemplarily, the fourth bit width may be a certain bit width supported by the second device, which may be the maximum bit width, such as double float64, or may be the range of bit widths supported by the second device, such as float16 to double float64, or may also be the set of bit widths supported by the second device, such as float32, double float64, and complex 128. That is to say, the fourth bit width may be a specific bit width value supported by the second device, or may be replaced by the set of bit widths supported by the second device, or may also be replaced by the upper and lower limits of the bit widths supported by the second device (corresponding to the bit width range). It should be understood that the present application does not limit the specific implementation manner of the fourth bit width.

[0203] S720, the first device sends the first information to the second device. Correspondingly, the second device receives the first information from the first device.

[0204] Among them, the first information is used to indicate the first bit width.

[0205] In the first example, the first device may send the bit widths corresponding to multiple parameters in the first parameter set to the second device, and the multiple parameters include the first parameter. Or rather, the first device may report to the second device the multiple bit widths corresponding to all model parameters and / or gradient parameters for the training of the first model, and the multiple bit widths include the first bit width. For example, the first device reports Table 1 and / or Table 3 to the second device.

[0206] In the second example, the first device may send only the first bit width corresponding to the first parameter to the second device, such as the bit width #1 corresponding to the model parameter #1 in Table 1 above, or the bit width #2 corresponding to the gradient parameter #3 in Table 4 above.

[0207] Regarding the above Table 1, assuming that the values of bit widths #2, #3, and #4 in the first bit width set are predefined or preconfigured. For example, bit widths #2, #3, and #4 can be regarded as a default value such as float32. Since the bit width #1 corresponding to model parameter #1 uses a non-default value, the first device can report only the bit width #1 corresponding to model parameter #1, such as float16, to the second device. In this case, Table 1 may not be reported; or, the first device can also report the complete Table 1 to the second device, including model parameters #1 to #4 and their corresponding bit widths #1 to #4; or, the first device can also report Table 1 and only mark model parameter #1 and its bit width #1 separately in Table 1, etc.

[0208] Optionally, the first information can exist in the form of bits. For example, the bit "00" represents float16, "01" represents float32, "10" represents double float64, "11" represents complex 128, etc.

[0209] Based on the above steps, the first device and the second device align multiple model parameters for training the first model and their corresponding bit widths. Subsequently, the first device can train the first model and report the training results of the multiple model parameters to the second device, and the second device can perform aggregation processing on the training results of the multiple model parameters reported by different first devices and send the training results of the aggregated multiple model parameters to different first devices for the multiple first devices to update their local models until the first model training is completed.

[0210] In a possible design, at least two first devices obtain a first training result, which corresponds to a first parameter and is obtained based on the training of the first model. Then, at least two first devices send the first training result to the second device according to the first bit width. That is to say, the bit width of the first training results reported by at least two first devices is the first bit width.

[0211] Exemplarily, assume that there are multiple first devices (such as terminal #1 and terminal #2) for jointly training a first model. The first parameters include model parameter #1, model parameter #2, or model parameter #3. Among them, the first bitwidths of the first parameters obtained by terminal #1 correspond to float16, float32, or double float64 respectively, and the first bitwidths of the first parameters obtained by terminal #2 correspond to float32, float32, or complex 128 respectively. Then, the first training results sent by terminal #1 to the second device include the training results of model parameter #1, model parameter #2, or model parameter #3, and the corresponding bitwidths are float16, float32, or double float64 respectively. Or rather, terminal #1 reports the training results of model parameter #1, model parameter #2, or model parameter #3 with bitwidths of float16, float32, or double float64 respectively. Similarly, the first training results sent by terminal #2 to the second device include the training results of model parameter #1, model parameter #2, or model parameter #3, and the corresponding bitwidths are float32, float32, or complex 128 respectively. Or rather, terminal #2 reports the training results of model parameter #1, model parameter #2, or model parameter #3 with bitwidths of float32, float32, or complex 128 respectively.

[0212] In a possible design, the second device receives at least two first training results from at least two first devices, and performs aggregation processing based on the at least two first training results to obtain a second training result. Then, the second device sends the second training result to the at least two first devices according to the first bitwidth. Correspondingly, the at least two first devices respectively receive the second training result, and train or update the first model based on the second training result. That is to say, the bitwidth of the second training result sent by the second device is the first bitwidth.

[0213] Exemplarily, assume that the first training result sent by terminal #1 to the second device includes the training results of model parameter #1, model parameter #2, or model parameter #3, and the corresponding bit widths are float16, float32, or float32 respectively. Or rather, terminal #1 reports the training results of model parameter #1, model parameter #2, or model parameter #3 with bit widths of float16, float32, or float32 respectively. The first training result sent by terminal #2 to the second device includes the training results of model parameter #1, model parameter #2, or model parameter #3, and the corresponding bit widths are float16, float16, or float32 respectively. Or rather, terminal #2 reports the training results of model parameter #1, model parameter #2, or model parameter #3 with bit widths of float16, float16, or float32 respectively. Then, the second device can merge and process the training results of model parameter #1, model parameter #2, or model parameter #3 reported by terminal #1 and terminal #2 according to rule #1 to obtain the second training result. That is to say, the second training result includes the merged training results of model parameter #1, model parameter #2, or model parameter #3.

[0214] Optionally, rule #1 can be to merge according to the standard of the maximum reachable bit width. For example, since the bit widths corresponding to the model parameters are all float16 or float32, the second device can merge the model parameters corresponding to float16 or float32 into model parameters of double float64. Further, the second device then converts the merged model parameters of double float64 for model parameter #1, model parameter #2, or model parameter #3 into model parameters of float16, float32, or float32 for model parameter #1, model parameter #2, and model parameter #3 in sequence, and sends them to terminal #1 for terminal #1 to update or train the first model. Similarly, the second device then converts the merged model parameters of double float64 for model parameter #1, model parameter #2, or model parameter #3 into model parameters of float16, float16, or float32 for model parameter #1, model parameter #2, and model parameter #3 in sequence, and sends them to terminal #2 for terminal #2 to update or train the first model.

[0215] Optionally, Rule #1 can be merged according to the standard of the maximum bit width currently in use. For example, since the bit widths corresponding to the model parameters are all float16 or float32, the second device can merge the model parameters corresponding to float16 or float32 into the model parameters of float32. Further, the second device then sequentially converts the merged float32 model parameters #1, model parameters #2, or model parameters #3 into float16, float32, or float32 model parameters #1, model parameters #2, and model parameters #3, and sends them to terminal #1 for terminal #1 to update or train the first model. Similarly, the second device then sequentially converts the merged float32 model parameters #1, model parameters #2, or model parameters #3 into float16, float16, or float32 model parameters #1, model parameters #2, and model parameters #3, and sends them to terminal #2 for terminal #2 to update or train the first model.

[0216] In a possible design, one or more bit widths in the above first parameter set can be updated at any time. Exemplarily, the first device can send second information to the second device, and the second information is used to indicate that the first bit width corresponding to the first parameter is updated to the third bit width, and the third bit width is different from the first bit width.

[0217] Exemplarily, the third bit width is greater than the first bit width. Assume that during the network training process of the first model, the battery capacity of the first device increases, or the accuracy of the first parameter required for the first model training improves. Then the first device can instruct the second device to update the first bit width to the third bit width. For example, the first bit width is float16 and the second bit width is float32 to improve the network training performance.

[0218] Exemplarily, the third bit width is less than the first bit width. Assume that during the network training process of the first model, the battery capacity of the first device drops sharply and cannot support the model training with a high-precision bit width. Then the first device can instruct the second device to update the first bit width to the third bit width. For example, the first bit width is double float64 and the second bit width is float16 to reduce the overhead while ensuring the network training performance.

[0219] Optionally, the second information may include a first time unit, which is used to indicate that within the first time unit, the first bit width corresponding to the first parameter is updated to the third bit width. The first time unit may be a certain moment or a certain time period. For example, if the first time unit is 15:00, the second information is used to indicate that the first bit width of the first parameter is updated to the third bit width at 15:00. That is to say, before 15:00, the bit width of the training result or the combined result of the model parameters exchanged between the first device and the second device is the first bit width, and after 15:00, the bit width of the training result or the combined result of the model parameters exchanged between the first device and the second device is the third bit width. Another example, if the first time unit is 10:00 - 14:00, the second information is used to indicate that the first bit width of the first parameter is updated to the third bit width during 10:00 - 14:00. That is to say, within 10:00 - 14:00, the bit width of the training result or the combined result of the model parameters exchanged between the first device and the second device is the third bit width, and before 10:00 or after 14:00, the bit width of the training result or the combined result of the model parameters exchanged between the first device and the second device is the first bit width.

[0220] It should be understood that the above solution is an example for the bit width of transmitting model parameters and / or gradient parameters over the air interface. It should be understood that this application is equally applicable to the bit width of transmitting a data set over the air interface.

[0221] In one example, the first device obtains the first bit width of the first data and sends the first information to the second device. The first information is used to indicate the first bit width. It should be understood that the first bit width belongs to a set of first bit widths, the first data belongs to a first data set, and there is a corresponding relationship between multiple bit widths in the set of first bit widths and multiple data (such as samples) in the first data set. The first data set is used to train the first model.

[0222] Among them, a dataset can also be referred to as a datagroup. The first data is the data in the first data set. The first data set corresponds to the first model, or in other words, multiple data in the first data set are used to train the first model. Optionally, the first data may be part of the first data set. For example, if the first data set includes 4 data, the first data may be 1 data, or 2 data, or 3 data.

[0223] It can be understood that the first data in this implementation manner can correspond to the above-mentioned first parameter, the first data set can correspond to the above-mentioned first parameter set, and multiple data correspond to multiple parameters. Therefore, for the implementation manner of the first device obtaining the first bit width of the first data, the implementation manner of the first device sending the first information, the specific interpretation of the first bit width, and the corresponding relationship between the multiple bit widths in the first bit width set and the multiple data in the first data set, etc., the specific interpretations and manifestations can refer to the above-related descriptions. For the sake of brevity, they will not be described here.

[0224] Based on the above solution, the bit widths corresponding to the training results of multiple parameters or data sets for the first model training transmitted by the first device over the air interface, and the bit widths corresponding to the training results of the multiple parameters or data sets merged and sent by the second device can be non-uniform and variable to achieve network training and convergence. This implementation manner can not only save resources, such as reducing the air interface overhead, reducing the storage overhead and computing overhead, saving the hardware resource consumption of the terminal, and helping the first device train more complex models, but also update the bit widths corresponding to the model parameters, gradient parameters, and / or data sets of the first model in real time and flexibly. While improving the network training performance, it can ensure the popularization of artificial intelligence in the wireless field.

[0225] ​ It is a schematic flowchart of the communication method 800 provided by an embodiment of the present application. As ​ shown, this method takes the first device as the terminal device and the second device as the network device as the execution subject, and takes the first parameter as the model parameter. The terminal device and the network device transmit model parameters with different bit widths over the air interface as an example for description. This method includes the following multiple steps.

[0226] S810, the network device sends the fourth information to the terminal device. Correspondingly, the terminal device receives the fourth information from the network device.

[0227] Among them, the fourth information includes one or more of the following: model structure, number of model parameters, or model reference bit width (i.e., the fourth bit width). The specific interpretation can refer to the relevant description of the above method 700. For example, the model structure is CNN, the number of model parameters is the floating-point operation amount, and the model reference bit width is double float64.

[0228] Exemplarily, the network device determines the model structure, the number of model parameters, or the model reference bit width according to the training task of the first model, and sends the fourth information to the terminal device that may potentially participate in the model training. Optionally, the training task of the first model, such as the horizontal federated learning training task or the vertical federated learning task, can be initiated by the terminal device, or can also be initiated by the network device. The present application does not limit this.

[0229] S820. The terminal device sends a model bitwidth table to the network device. Correspondingly, the network device receives the model bitwidth table from the terminal device.

[0230] Among them, the model bitwidth table indicates the correspondence between the first parameter set and the first bitwidth set. For example, the model bitwidth table can refer to Table 1 or Table 2 in the above method 700. For example, the model bitwidth table includes model parameters #1 to #4 (for example, the first parameter set), and the corresponding bitwidths include bitwidths #1 to #4 (for example, the first bitwidth set).

[0231] Exemplarily, the terminal device can determine whether to participate in the training of the federated learning task according to factors such as its own hardware conditions, hardware power, and battery capacity. For example, if the current memory of the terminal device cannot support the network training of a large model parameter amount, or the current power of the terminal device cannot support the training of a high-precision bitwidth model, the terminal device can selectively report the model bitwidth table. That is to say, the bitwidths (or precisions) of at least two model parameters among the multiple model parameters included in the model bitwidth table are different.

[0232] Optionally, if multiple parameters in the first parameter set all adopt default values, such as float32, which can be predefined or preconfigured, then the model bitwidth table reported by the terminal device can only reflect the non-default values and their corresponding model parameters to reduce the air interface transmission overhead.

[0233] Optionally, in the model bitwidth table, each of the multiple bitwidths included in the first bitwidth set (for example, bitwidths #1 to #4) can be a specific bitwidth value (such as float16), or can also be a bitwidth range (such as float16 to Double float64), or can also be the upper limit of the bitwidth supported by the terminal device (such as Double float64) and the lower limit of the bitwidth (such as float16), or a combination of a bitwidth value and a bitwidth range. The present application does not limit its representation form.

[0234] It should be noted that the model bit-width tables reported by different terminal devices can be the same or different. That is to say, for the same model parameter, the bit-widths supported by different terminal devices can be the same or different. In addition, the bit-widths of the model parameters for different layers under the first model can be the same or different. For example, in the model bit-width table #1 reported by UE1, the first model includes the bit-width #1 corresponding to the model parameter #1 and the bit-width #2 corresponding to the model parameter #2; in the model bit-width table #2 reported by UE2, the first model includes the bit-width #1 corresponding to the model parameter #1 and the bit-width #3 corresponding to the model parameter #2. Another example is that the first model is a neural network, which includes two layers. The bit-width #1 corresponds to the model parameter #1 and the bit-width #2 corresponds to the model parameter #2 in the first layer, and the bit-width #2 corresponds to the model parameter #1 and the bit-width #3 corresponds to the model parameter #2 in the second layer.

[0235] Optionally, if each bit-width in the model bit-width table reported by the terminal device is a specific bit-width value, the following step S840 does not need to be executed. On the contrary, if the model bit-width table reported by the terminal device includes a bit-width range, the following step S840 needs to be executed, that is, the network device specifies a specific bit-width.

[0236] S830, the network device confirms that the terminal device participates in federated learning.

[0237] Exemplarily, the network device can send a signaling to the terminal device to determine whether the terminal device supports participating in federated learning. Further, the network device sends the detailed model structure to the terminal device that has confirmed to participate in the federated learning training, which can include one or more of the number of model layers, the number of model features, the usage method of the normalization layer, or the usage method of the activation function. It should be understood that the detailed model structure can be any relevant information that can indicate the structure of the first model. It should be noted that if the model structure of the first model adopts Transformer, the detailed model structure sent by the network device can also include information such as the number of Heads and / or position encodings. Optionally, the detailed model structure can also be sent to the terminal device in step S810, and the present application does not make specific limitations on this.

[0238] S840, optionally, the network device allocates the model bit-width #1 to the terminal device. Correspondingly, the terminal device receives the model bit-width #1 (for example, the first bit-width) from the network device.

[0239] Exemplarily, if the bitwidth range is carried in the model bitwidth table reported by the terminal device in step S820 above, the network device determines the specific model bitwidth #1 according to the bitwidth range and notifies the terminal device. For example, the network device may determine the model bitwidth #1 from the bitwidth range according to at least one of time-frequency resources, the bitwidth requirement ranges of different terminal devices, the hardware conditions of different terminal devices, the hardware power, or the battery capacity, and indicate the model bitwidth #1 to the terminal device. The specific implementation manner may refer to the relevant description of method 700 above. Optionally, the network device may indicate the model bitwidth #1 in bits.

[0240] Based on the above steps, the terminal device and the network device align the multiple model parameters included in the first parameter set and their corresponding bitwidths.

[0241] S850, the terminal device sends the model parameters to the network device according to the model bitwidth table and / or the model bitwidth #1.

[0242] Correspondingly, the network device receives the model parameters from the terminal device.

[0243] Exemplarily, the terminal device trains the network according to the local data at the local model detailed structure sent by the network device to obtain a training result (such as the first training result), and performs one or more forward and backward passes. For example, the terminal device adjusts the bitwidth of each model parameter according to the reported model bitwidth table and uploads the training results of the model parameters with the corresponding bitwidths. For example, the terminal device reports the training results of the model parameter #1 and the model parameter #2 trained locally in float16 and float32 respectively.

[0244] S860, the network device sends the merged model parameters to the terminal device according to the model bitwidth table and / or the model bitwidth #1.

[0245] Correspondingly, the terminal device receives the model parameters from the network device.

[0246] It should be understood that each model parameter corresponds to its own bitwidth.

[0247] Exemplarily, the network device receives multiple model parameters reported by different terminal devices (such as model parameter #1 and model parameter #2), and merges the multiple model parameters respectively to obtain the merged training result (such as the second training result). Then, according to the model bit-width table reported by different terminal devices or the model bit-width #1 allocated by the network device, the network device distributes the training result of the merged model parameters to different terminal devices. For example, the network device distributes the training results of the merged model parameter #1 and model parameter #2 to terminal device #1 in float16 and float32 respectively, and distributes the training results of the merged model parameter #1 and model parameter #2 to terminal device #2 in float32 and double float64 respectively. It should be noted that the bit-width corresponding to the training results of the merged model parameter #1 and model parameter #2 distributed by the network device is consistent with the bit-width in the model bit-width table or the model bit-width #1 allocated by the network device. For example, if the training result of model parameter #1 reported by the terminal device corresponds to float16 and the training result of the merged model parameter #1 corresponds to float32, the network device needs to convert the training result of the merged model parameter #1 to float16 before performing step S850 and then distribute it to the terminal device. Among them, the implementation manner of the network device merging the model parameter #1 or model parameter #2 reported by different terminal devices can refer to the relevant description of the above method 700.

[0248] Further, the terminal device updates or trains the model based on the training result of the merged model parameter.

[0249] Optionally, during the federated learning process, the terminal device can update the bit-width corresponding to at least one model parameter in the above model bit-width table. The specific implementation manner can refer to the relevant description of the above method 700. This application does not limit the update time and update frequency of the bit-width of at least one model parameter.

[0250] Based on the above solution, the bit-widths corresponding to multiple model parameters for model training transmitted over the air interface by the terminal device and the bit-widths corresponding to the merged multiple model parameters distributed by the network device can be non-uniform and variable, ensuring the generalization and convergence capabilities of the network. This implementation manner can reduce the amount of bits for interaction, reduce the air interface transmission overhead, save resources, and save the hardware resource consumption of the terminal device. During the federated learning process, the bit-width of the model parameter can also be flexibly updated, which can improve the network training performance and ensure the popularization of artificial intelligence in the wireless field.

[0251] ​ It is a schematic flowchart of the communication method 900 provided by an embodiment of this application. As ​As shown, this method takes the first device as the terminal device and the second device as the network device as the execution entities, and takes the first parameter as the gradient parameter. Taking the example where the terminal device and the network device transmit gradient parameters with different bit widths over the air interface, this method includes the following steps.

[0252] S910, the network device sends the fourth information to the terminal device. Correspondingly, the terminal device receives the fourth information from the network device.

[0253] Among them, the fourth information includes one or more of the following: model structure, number of model parameters, or gradient reference bit width (i.e., the fourth bit width). For specific interpretations, reference can be made to the relevant descriptions of the above method 700. For example, the model structure is CNN, the number of model parameters is the number of floating-point operations, and the gradient reference bit width is float32. Optionally, the training task of the first model, such as a horizontal federated learning training task or a vertical federated learning task, can be initiated by the terminal device, or it can also be initiated by the network device. This application does not make any restrictions on this.

[0254] S920, the terminal device sends the gradient bit width table to the network device. Correspondingly, the network device receives the gradient bit width table from the terminal device.

[0255] Among them, the gradient bit width table indicates the correspondence between the first parameter set and the first bit width set. For example, the gradient bit width table can refer to Table 3 or Table 4 in the above method 700. For example, the gradient bit width table includes gradient parameter #1 to gradient parameter #4 (for example, the first parameter set), and the corresponding bit widths include bit width #1 to bit width #4 (for example, the first bit width set).

[0256] Regarding the implementation method for the terminal device to determine and report the gradient bit width table, the presentation form of the gradient bit width table can refer to the relevant descriptions of the model bit width table involved in step S820 of the above method 800.

[0257] It should be noted that the gradient bit width tables reported by different terminal devices can be the same or different. That is to say, for the same model parameter, the bit widths supported by different terminal devices can be the same or different. In addition, the bit widths of the gradient parameters for different layers under the first model can be the same or different. Among them, specific examples can refer to the relevant example descriptions of the bit widths of the model parameters involved in step S820 of the above method 800.

[0258] Optionally, if each bit width in the gradient bit width table reported by the terminal device is a specific bit width value, then the following step S940 does not need to be executed. On the contrary, if the gradient bit width table reported by the terminal device includes a bit width range, then the following step S940 needs to be executed, that is, the network device specifies the specific bit width.

[0259] S930, the network device confirms that the terminal device participates in federated learning.

[0260] S940, optionally, the network device allocates gradient bitwidth #1 to the terminal device. Correspondingly, the terminal device receives gradient bitwidth #1 (e.g., the first bitwidth) from the network device.

[0261] For the implementation manners of the above steps S930 and S940, refer to the relevant descriptions in steps S830 and S840 of the above method 800.

[0262] Based on the above steps, the terminal device and the network device align multiple gradient parameters included in the first parameter set and their corresponding bitwidths.

[0263] S950, the terminal device sends gradient parameters to the network device according to the gradient bitwidth table and / or gradient bitwidth #1.

[0264] Correspondingly, the network device receives gradient parameters from the terminal device.

[0265] Exemplarily, in vertical federated learning, the terminal device locally trains the network according to the gradient detailed structure sent by the network device based on local data to obtain the Bottom network training result (e.g., the first training result), and performs one or more forward and backward passes. For example, the terminal device adjusts the bitwidth of each gradient parameter according to the reported gradient bitwidth table and uploads the training result of the gradient parameter with the corresponding bitwidth. For example, the terminal device reports the Bottom training results of gradient parameter #1 and gradient parameter #2 locally trained in float16 and float32 respectively.

[0266] S960, the network device sends the merged gradient parameters to the terminal device according to the gradient bitwidth table and / or gradient bitwidth #1.

[0267] Correspondingly, the terminal device receives gradient parameters from the network device.

[0268] Exemplarily, the network device receives multiple gradient parameters reported by different terminal devices (such as gradient parameter #1 and gradient parameter #2), and converts the bit widths of the multiple gradient parameters to the bit widths required by the TOP network according to the gradient bit width table reported by the terminal device. Then, the multiple gradient parameters are merged respectively to obtain the merged training result (such as the second training result). Next, the reverse gradient is calculated according to the loss, and the training result of the merged gradient parameters is sent to different terminal devices according to the gradient bit width table reported by different terminal devices or the gradient bit width #1 allocated by the network device. For example, the network device sends the training results of the merged gradient parameter #1 and gradient parameter #2 to terminal device #1 in float16 and float32 respectively, and the network device sends the training results of the merged gradient parameter #1 and gradient parameter #2 to terminal device #2 in float32 and double float64 respectively. For example, if the training result of the gradient parameter #1 reported by the terminal device corresponds to float16 and the training result of the merged gradient parameter #1 corresponds to float32, the network device needs to convert the training result of the merged gradient parameter #1 to float16 before executing step S950 and then send it to the terminal device. Among them, the implementation method of the network device for merging the gradient parameter #1 or gradient parameter #2 reported by different terminal devices can refer to the relevant description of the above method 700.

[0269] Further, the terminal device updates or trains the model based on the training result of the merged gradient parameter.

[0270] Optionally, during the federated learning process, the terminal device can update the bit width corresponding to at least one gradient parameter in the above gradient bit width table. The specific implementation method can refer to the relevant description of the above method 700. This application does not limit the update time and update frequency of the bit width of at least one gradient parameter.

[0271] Based on the above solution, the bit widths corresponding to multiple gradient parameters for model training transmitted over the air interface by the terminal device, and the bit widths corresponding to the merged multiple gradient parameters sent by the network device can be non-uniform and variable, ensuring the generalization and convergence capabilities of the network. This implementation method can reduce the amount of bits for interaction, reduce the air interface transmission overhead, save resources, and save the hardware resource consumption of the terminal device. During the federated learning process, the bit width of the gradient parameter can also be updated flexibly, which can improve the network training performance while ensuring the popularization of artificial intelligence in the wireless field.

[0272] ​ It is a schematic flowchart of the communication method 1000 provided by an embodiment of the present application. As ​As shown, this method takes the first device as the terminal device and the second device as the network device as the execution entities. Taking the example of the terminal device and the network device transmitting the first data set with different bit widths over the air interface, this method includes the following multiple steps.

[0273] S1010, the terminal device sends a data set bit width table to the network device. Correspondingly, the network device receives the data set bit width table from the terminal device.

[0274] Among them, the data set bit width table indicates the correspondence between the first data set and the first bit width set. For example, the data set bit width table includes data #1 to data #4 (for example, the first data set), and the corresponding bit widths include bit width #1 to bit width #4 (for example, the first bit width set), that is, each bit width corresponds to one bit width, and at least two of the bit widths #1 to #4 are different.

[0275] Regarding the implementation method for the terminal device to determine and report the data set bit width table, the manifestation form of the data set bit width table can refer to the model bit width table involved in step S820 of the above method 800, or the relevant description of the gradient bit width table involved in step S920 of the above method 900.

[0276] Optionally, if each bit width in the data set bit width table reported by the terminal device is a specific bit width value, then the following step S1020 does not need to be executed. On the contrary, if the data set bit width table reported by the terminal device includes a data range, for example, the first data set includes multiple data (such as sample #1, sample #2, and sample #3), and the bit width range corresponding to sample #1 reported by the terminal device is from float16 to float32, then the following step S1020 needs to be executed, that is, the network device specifies the specific bit width of sample #1.

[0277] S1020, optionally, the network device allocates data bit width #1 to the terminal device. Correspondingly, the terminal device receives data bit width #1 (for example, the first bit width) from the network device.

[0278] Exemplarily, the network device can determine data bit width #1 from the data range according to at least one of the time-frequency resources and the bit width requirement range of each data included in the first data set (or the importance of each data), and indicate data bit width #1 to the terminal device. For example, if the bit width range corresponding to sample #1 reported by the terminal device is from float16 to float32, the bit width of sample #1 allocated by the network device can be float32. Optionally, the network device can indicate data bit width #1 in bits, and the specific implementation method can refer to the relevant description of the above method 700.

[0279] S1030, the network device sends the first data set to the terminal device according to the data set bit width table and / or the data bit width #1.

[0280] Correspondingly, the terminal device receives the first data set from the network device.

[0281] Exemplarily, in model distillation, the network device can send a data set to the terminal device according to the data set bit width table and / or the data bit width #1. Each data in the data set corresponds to its own bit width, and at least two data have different bit widths. After receiving the data set, the terminal device implements model training according to the data set. Similarly, in the process of dual - terminal model training, the network device transmits the data set to the terminal device according to the data set bit width table and / or the data bit width #1, so that the terminal device performs network training based on the received data set.

[0282] Optionally, during network training, the terminal device can update the bit width corresponding to at least one data in the above - mentioned data set table. The specific implementation method can refer to the relevant description of the above - mentioned method 700. This application does not limit the update time and update frequency of the bit width of at least one data.

[0283] Based on the above - mentioned solution, the bit width of the data set for model training transmitted by the terminal device over the air interface enables the network device to send the data set according to the bit width corresponding to each data. There are at least two data in the data set whose bit widths are non - single and variable, which ensures the generalization and convergence ability of the network. This implementation method can reduce the amount of bits for interaction, reduce the air - interface transmission overhead, save resources, and save the hardware resource consumption of the terminal device. During network training, the bit width of any data in the data set can be flexibly updated. While improving the network training performance, it can ensure the popularization of artificial intelligence in the wireless field.

[0284] Above, in combination with ​ The method provided in the embodiments of the present application has been described in detail. Below, in combination with ​ The device provided in the embodiments of the present application will be described in detail. It should be understood that the description of the device embodiments corresponds to the description of the method embodiments. Only the main structure of the device is given below. For the solution details not described in detail, reference can be made to the above - mentioned method embodiments. For the sake of brevity, they will not be elaborated here.

[0285] ​ is a schematic diagram of a communication device 2000 provided in the embodiments of the present application. As ​As shown in the figure, the communication device 2000 includes a processing module 2001 and a communication module 2002. In one example, the communication device 2000 may be a first device, including a terminal device, or applied to a terminal device, or used in matching with a terminal device and capable of implementing the method executed by the terminal device, such as a chip, a chip system, or a circuit. In another example, the communication device 2000 may be a second device, including a network device, or applied to a network device or used in matching with a network device and capable of implementing the method executed by the network device, such as a chip, a chip system, or a circuit.

[0286] Among them, the communication module may also be referred to as a transceiver module, a transceiver, a transceiver unit, or a transceiver device, etc. The processing module may also be referred to as a processor, a processing board, a processing unit, or a processing device, etc. Optionally, the communication module is used to perform the sending operation and receiving operation of the terminal device or the network device in the above method. The devices used to implement the receiving function in the communication module can be regarded as a receiving unit, and the devices used to implement the sending function in the communication module can be regarded as a sending unit, that is, the communication module includes a receiving unit and a sending unit.

[0287] When the communication device 2000 is applied to the first device, the processing module 2001 can be used to implement the processing function of the first device in the above embodiments, and the communication module 2002 can be used to implement the transceiver function of the first device in the above embodiments.

[0288] Exemplarily, the processing module 2001 is used to obtain the first bit width of the first parameter. The first bit width belongs to the first bit width set, the first parameter belongs to the first parameter set, and there is a corresponding relationship between the multiple bit widths in the first bit width set and the multiple parameters in the first parameter set. The multiple parameters are used to train the first model, and each parameter includes one or more of the following: model parameters and / or gradient parameters; the communication module 2002 is used to send the first information, and the first information is used to indicate the first bit width.

[0289] Exemplarily, the first parameter set includes N second parameters. At least one of the N second parameters corresponds to a second bit width different from the first bit width. The second bit width belongs to the first bit width set, and N is an integer greater than or equal to 1.

[0290] Exemplarily, the processing module 2001 is further used to obtain the first training result. The first training result corresponds to the first parameter, and the first training result is obtained based on the training of the first model; the communication module 2002 is further used to send the first training result according to the first bit width.

[0291] Exemplarily, the communication module 2002 is further used to receive the second training result. The bit width corresponding to the second training result is the first bit width, and the second training result is used for the first terminal to train the first model.

[0292] Exemplarily, the second training result is obtained by aggregating at least two first training results reported by at least two terminals, and the at least two terminals are used to jointly train the first model.

[0293] Exemplarily, the communication module 2002 is further configured to send a second piece of information, where the second piece of information is used to indicate that the bit width corresponding to the first parameter is updated to a third bit width, and the third bit width is different from the first bit width.

[0294] Exemplarily, the second piece of information includes a first time unit, and the second piece of information is used to indicate that within the first time unit, the bit width corresponding to the first parameter is updated to the third bit width.

[0295] Exemplarily, the communication module 2002 is further configured to receive a third piece of information, where the third piece of information is used to indicate the first bit width.

[0296] Exemplarily, the communication module 2002 is further configured to send a set of second bit widths, the first terminal supports the bit widths in the set of second bit widths, and the first bit width belongs to the set of second bit widths.

[0297] Exemplarily, the communication module 2002 is further configured to receive a fourth piece of information, where the fourth piece of information is used to request training of the first model, and the fourth piece of information includes one or more of the following: the structural parameters of the first model, the number of parameters of the first model, or a fourth bit width; where the fourth bit width is the bit width supported by the network side.

[0298] Exemplarily, the first bit width is less than or equal to the fourth bit width.

[0299] When the communication device 2000 is applied to the first device, the processing module 2001 can be used to implement the processing functions of the first device in the above embodiments, and the communication module 2002 can be used to implement the transceiver functions of the first device in the above embodiments.

[0300] Exemplarily, the processing module 2001 is configured to obtain the first bit width of the first data, the first bit width belongs to the set of first bit widths, the first data belongs to the first data set, there is a corresponding relationship between the multiple bit widths in the set of first bit widths and the multiple data in the first data set, and the first data set is used to train the first model; the communication module 2002 is configured to send a first piece of information, and the first piece of information is used to indicate the first bit width.

[0301] When the communication device 2000 is applied to the second device, the processing module 2001 can be used to implement the processing functions of the second device in the above embodiments, and the communication module 2002 can be used to implement the transceiver functions of the second device in the above embodiments.

[0302] Exemplarily, the processing module 2001 is configured to obtain the first bit width of the first parameter. The first bit width belongs to the first bit width set, the first parameter belongs to the first parameter set, and there is a corresponding relationship between multiple bit widths in the first bit width set and multiple parameters in the first parameter set. The multiple parameters are used to train the first model, and each parameter includes one or more of the following: model parameters and / or gradient parameters.

[0303] Exemplarily, the first parameter set further includes N second parameters. The second bit width corresponding to at least one of the N second parameters is different from the first bit width. The second bit width belongs to the first bit width set, and N is an integer greater than or equal to 1.

[0304] Exemplarily, the communication module 2002 is configured to receive at least two first training results reported by at least two terminals. The at least two terminals are used to jointly train the first model; the processing module 2001 is configured to perform aggregation processing on the at least two first training results to obtain a second training result, and the second training result is used to train the first model; the communication module 2002 is further configured to send the second training result according to the first bit width.

[0305] Exemplarily, the communication module 2002 is further configured to receive second information, and the second information is used to indicate that the bit width corresponding to the first parameter is updated to a third bit width, and the third bit width is different from the first bit width.

[0306] Exemplarily, the second information includes a first time unit, and the second information is used to indicate that within the first time unit, the bit width corresponding to the first parameter is updated to the third bit width.

[0307] Exemplarily, the communication module 2002 is further configured to receive first information, and the first information is used to indicate the first bit width.

[0308] Exemplarily, the communication module 2002 is further configured to receive a second bit width set; the processing module 2001 is further configured to select the first bit width from the second bit width set; the communication module 2002 is further configured to send third information, and the third information is used to indicate the first bit width.

[0309] Exemplarily, the communication module 2002 is further configured to send fourth information, and the fourth information is used to request training of the first model. The fourth information includes one or more of the following: the structural parameters of the first model, the number of parameters of the first model, or a fourth bit width; wherein the fourth bit width is the bit width supported by the network side.

[0310] Exemplarily, the first bit width is less than or equal to the fourth bit width.

[0311] When the communication device 2000 is applied to the second device, the processing module 2001 can be used to implement the processing functions of the second device in the above embodiments, and the communication module 2002 can be used to implement the transceiver functions of the second device in the above embodiments.

[0312] Exemplarily, the processing module 2001 is configured to obtain the first bit width of the first data. The first bit width belongs to the first bit width set, the first data belongs to the first data set, multiple bit widths in the first bit width set have a corresponding relationship with multiple data in the first data set, and the first data set is used to train the first model.

[0313] In addition, it should be noted that the foregoing communication module and / or processing module may be implemented by a virtual module. For example, the processing module may be implemented by a software functional unit or a virtual device, and the communication module may be implemented by a software function or a virtual device. Alternatively, the processing module or the communication module may also be implemented by an entity device. For example, if the device is implemented by a chip / circuit (such as an integrated circuit or a logic circuit, etc.). The communication module may be an input / output circuit and / or a communication interface, performing an input operation (corresponding to the foregoing receiving operation) and an output operation (corresponding to the foregoing sending operation); the processing module is an integrated processor or a microprocessor or a circuit (such as an integrated circuit or a logic circuit, etc.).

[0314] The division of modules in this application is illustrative, merely a logical function division. In actual implementation, there may be other division methods. In addition, in each example of this application, each functional module may be integrated in a processor, or may exist independently physically, or two or more modules may be integrated in one module. The above-mentioned integrated modules may be implemented in the form of hardware or in the form of software functional modules.

[0315] ​ It is a schematic diagram of another communication device 3000 provided by an embodiment of the present application. As ​ shown, optionally, the communication device 3000 may be the foregoing first device or second device, or a chip or a chip system for the foregoing first device or second device. Optionally, the communication device 3000 may be the foregoing terminal device or network device, or a chip or a chip system for the foregoing terminal device or network device. Optionally, in this application, the chip system may be composed of chips, or may include chips and other discrete devices.

[0316] The communication device 3000 can be used to implement the functions of any device (such as the first device or the second device) in the communication system described in the foregoing examples. The communication device 3000 may include at least one processing circuit 3010. Optionally, the processing circuit 3010 is coupled to a memory, which may be located within the device, or the memory may be integrated with the processor, or the memory may also be located outside the device. For example, the communication device 3000 may further include at least one memory 3020. The memory 3020 stores the necessary computer programs, computer programs or instructions and / or data in any of the above examples; the processing circuit 3010 may execute the computer programs stored in the memory 3020 to complete the methods in any of the above examples.

[0317] The communication device 3000 may further include a transceiver circuit 3030, and the communication device 3000 can interact with other devices through the transceiver circuit 3030. Exemplarily, the transceiver circuit 3030 may be a transceiver, a circuit, a bus, a module, a pin or other types of transceiver circuits. When the communication device 3000 is a chip-like device or circuit, the transceiver circuit 3030 in the device 3000 may also be an input / output circuit, or an interface circuit, which can input information (or receive information) and output information (or send information). When the communication device 3000 is the first device, the second device, a terminal device or a network device, the transceiver circuit 3030 may be a transmitter, a receiver or a transceiver, or a communication interface, which is not limited herein.

[0318] Among them, the processing circuit 3010 may be one or more processors, or all or part of the processing circuits in one or more processors. The processing circuit 3010 is an integrated processor, microprocessor, integrated circuit or logic circuit, etc., and the processor can determine the output information according to the input information.

[0319] The coupling in this application is an indirect coupling or communication connection between devices, units or modules, which may be electrical, mechanical or other forms, and is used for information interaction between devices, units or modules. The processing circuit 3010 may cooperate with the memory 3020 and the transceiver circuit 3030. The specific connection medium between the processing circuit 3010, the memory 3020 and the transceiver circuit 3030 is not limited in this application.

[0320] Optionally, as ​ shown, the processing circuit 3010, the memory 3020 and the transceiver circuit 3030 are interconnected through a bus 3040. Optionally, the bus may include types of buses such as an address bus, a data bus, and a control bus. In addition, for the convenience of representation, ​ only one bus 3040 is shown in, but it does not mean that there is only one bus or one type of bus.

[0321] It should be understood that the processor mentioned in the embodiments of the present application may be the following device or a part of the circuit for processing functions in the following devices: a central processing unit (CPU), and may also be other general-purpose processors, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0322] It should also be understood that the memory mentioned in the embodiments of the present application may be a volatile memory and / or a non-volatile memory. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM). For example, the RAM may be used as an external cache. By way of example and not limitation, the RAM includes the following various forms: static random access memory (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0323] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, the memory (storage module) may be integrated in the processor.

[0324] It should also be noted that the memories described herein are intended to include, but are not limited to, these and any other suitable types of memories.

[0325] In the embodiments of the present application, the methods described in the above embodiments may be executed by a terminal device and a network device, or may be executed by a chip, a chip system or a circuit of the terminal device and the network device, and the chip, the chip system or the circuit may be installed in the terminal device and the network device.

[0326] The embodiments of the present application provide a computer-readable storage medium, on which computer instructions for implementing the methods executed by the devices (such as terminal devices, and network devices) in the above method embodiments are stored.

[0327] For example, when the computer program is executed by a computer, the computer can implement the methods executed by the devices (such as terminal devices, and network devices, etc.) in the above method embodiments.

[0328] The embodiments of the present application provide a computer program product, including instructions, which when executed by a computer, implement the methods executed by the devices (such as terminal devices, and network devices (or positioning devices), etc.) in the above method embodiments.

[0329] The embodiments of the present application provide a communication system, which includes the terminal devices and / or network devices in the above embodiments. For example, the system includes the terminal devices and / or network devices in the above embodiments. For another example, the system includes the terminal devices and / or network devices in the above embodiments.

[0330] The explanations and beneficial effects of the relevant content in any of the above-mentioned devices can be referred to the corresponding method embodiments provided above, and will not be elaborated here.

[0331] To facilitate the understanding of the above embodiments provided by the present application, the following points are explained:

[0332] In the present application, if there is no special explanation and logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referred to each other, and the technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.

[0333] In this application, "at least one" means one or more, and "a plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone, where A and B can be singular or plural. In the written description of this application, the character " / " generally represents an "or" relationship between the associated objects before and after. "At least one (item)" or its similar expression refers to any combination of these items, including any combination of single item (s) or plural items (s). For example, at least one (item) of a, b, and c can represent: a, or b, or c, or a and b, or a and c, or b and c, or a, b, and c. Where a, b, and c can be single or multiple respectively.

[0334] In this application, "first", "second", and various numerical numbers are used for distinction for the convenience of description, and do not limit the scope of the embodiments of this application. For example, to distinguish different messages, etc., rather than for describing a specific order or sequence. It should be understood that the objects described in this way can be interchanged under appropriate circumstances so as to be able to describe the solutions other than the embodiments of this application.

[0335] In this application, the terms "include" and "have" and any of their variations are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or are inherent to these processes, methods, products, or devices.

[0336] In this application, "for indicating" can include for directly indicating and for indirectly indicating. When describing that a certain indication information is used to indicate A, it can include that the indication information directly indicates A or indirectly indicates A, and does not mean that A must be carried in the indication information. Among them, directly indicating information A means including the information A; implicitly indicating information A means indicating information A through the corresponding relationship between information A and information B and directly indicating information B. Among them, the corresponding relationship between information A and information B can be predefined, pre-stored, pre-burned, or pre-configured.

[0337] In this application, information C is used to determine information D, which includes both that information D is determined only based on information C and that it is determined based on information C and other information. In addition, there can also be a situation where information C is used for the determination of information D and is indirectly determined. For example, information D is determined based on information E, and information E is determined based on information C.

[0338] In this application, "network element A sends information A to network element B" can be understood as the destination of information A or an intermediate network element in the transmission path between the destination and the destination is network element B, which may include directly or indirectly sending information to network element B. "Network element B receives information A from network element A" can be understood as the source of information A or an intermediate network element in the transmission path between the source and the source is network element A, which may include directly or indirectly receiving information from network element A. The information may be subject to necessary processing, such as format change, etc., between the source and the destination of the information transmission, but the destination can be understood as the valid information from the source. Similar expressions in this application can be understood similarly and will not be elaborated here.

[0339] It can be understood that some optional features in the embodiments of this application, in some scenarios, may not depend on other features, and in some scenarios, may be combined with other features, without limitation.

[0340] It can also be understood that in some of the above embodiments, sending information is mentioned multiple times. For example, "network element A sends information A to network element B" can be understood as the destination of information A or an intermediate network element in the transmission path between the destination and the destination is network element B, which may include directly or indirectly sending information to network element B. "Network element B receives information A from network element A" can be understood as the source of information A or an intermediate network element in the transmission path between the source and the source is network element A, which may include directly or indirectly receiving information from network element A. The information may be subject to necessary processing, such as format change, etc., between the source and the destination of the information transmission, but the destination can be understood as the valid information from the source. Similar expressions in this application can be understood similarly and will not be elaborated here.

[0341] It can also be understood that in some of the above embodiments, the AI model used for positioning is taken as an example for illustrative purposes. It can be understood that the above AI model can also be used for other purposes.

[0342] It can also be understood that the solutions in the embodiments of this application can be combined and used reasonably, and the explanations or descriptions of the various terms appearing in the embodiments can be referred to or explained with each other in the various embodiments, without limitation.

[0343] It can also be understood that in the above method embodiments, the methods and operations implemented by the terminal device or the positioning device can also be implemented by the components (such as chips or circuits) that can be of the terminal device or the positioning device, without limitation.

[0344] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or by a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0345] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.

[0346] In 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 illustrative. For example, the division of the units is only a logical function division, and there can be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces, and the indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms.

[0347] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0348] In addition, the functional units in each embodiment of this application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.

[0349] When the above-described function 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, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs that can store program codes.

[0350] As described above, the above are only specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should all be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A method for network training, characterized in that, including: Obtain a first bit width of a first parameter, where the first bit width belongs to a first bit width set, the first parameter belongs to a first parameter set, multiple bit widths in the first bit width set have a corresponding relationship with multiple parameters in the first parameter set, the multiple parameters are used to train a first model, and each parameter includes one or more of the following: model parameters and / or gradient parameters; Send a first message, where the first message is used to indicate the first bit width.

2. The method according to claim 1, characterized in that, The first parameter set includes N second parameters, and at least one second parameter among the N second parameters corresponds to a second bit width different from the first bit width, the second bit width belongs to the first bit width set, and N is an integer greater than or equal to 1.

3. The method according to claim 1 or 2, characterized in that, The method further includes: Obtain a first training result, where the first training result corresponds to the first parameter, and the first training result is obtained based on the training of the first model; Send the first training result according to the first bit width.

4. The method according to claim 3, wherein The method further includes: Receive a second training result, where the bit width corresponding to the second training result is the first bit width, and the second training result is used for a first terminal to train the first model.

5. The method according to claim 4, wherein The second training result is obtained by aggregating at least two first training results reported by at least two terminals, and the at least two terminals are used to jointly train the first model.

6. The method according to any one of claims 1 to 5, characterized in that The method further includes: Send a second message, where the second message is used to indicate that the bit width corresponding to the first parameter is updated to a third bit width, and the third bit width is different from the first bit width.

7. The method according to claim 6, characterized in that, The second message includes a first time unit, and the second message is used to indicate that within the first time unit, the bit width corresponding to the first parameter is updated to the third bit width.

8. The method according to any one of claims 1 to 7, characterized in that The obtaining the first bit width of the first parameter includes: Receive a third message, where the third message is used to indicate the first bit width.

9. The method according to claim 8, characterized in that, Before receiving the third message, the method further includes: Send a second bit width set, and a first terminal supports the bit widths in the second bit width set, and the first bit width belongs to the second bit width set.

10. The method according to any one of claims 1 to 9, characterized in that, Before the obtaining the first bit width of the first parameter, the method further includes: Receive a fourth message, where the fourth message is used to request to train the first model, and the fourth message includes one or more of the following: structure parameters of the first model, the number of parameters of the first model, or a fourth bit width; Wherein, the fourth bit width is the bit width supported by the network side.

11. The method according to claim 10, wherein The first bit width is less than or equal to the fourth bit width.

12. A method for network training, characterized in that, including: Obtain a first bit width of a first parameter, where the first bit width belongs to a first bit width set, the first parameter belongs to a first parameter set, multiple bit widths in the first bit width set have a corresponding relationship with multiple parameters in the first parameter set, the multiple parameters are used to train a first model, and each parameter includes one or more of the following: model parameters and / or gradient parameters.

13. The method according to claim 12, wherein The first parameter set further includes N second parameters, and at least one second parameter among the N second parameters corresponds to a second bit width different from the first bit width, the second bit width belongs to the first bit width set, and N is an integer greater than or equal to 1.

14. The method according to claim 12 or 13, characterized in that, The method further includes: Receive at least two first training results reported by at least two terminals, where the at least two terminals are used to jointly train the first model; Perform an aggregation process based on the at least two first training results to obtain a second training result, where the second training result is used to train the first model; Send the second training result according to the first bit width.

15. The method according to any one of claims 12 to 14, characterized in that, The method further includes: Receive second information, where the second information is used to indicate that the bit width corresponding to the first parameter is updated to a third bit width, and the third bit width is different from the first bit width.

16. The method according to claim 15, characterized in that The second information includes a first time unit, and the second information is used to indicate that within the first time unit, the bit width corresponding to the first parameter is updated to the third bit width.

17. The method according to any one of claims 12 to 16, characterized in that, The obtaining the first bit width of the first parameter includes: Receive first information, where the first information is used to indicate the first bit width.

18. The method according to any one of claims 12 to 17, characterized in that The obtaining the first bit width of the first parameter includes: Receive a set of second bit widths; Select the first bit width from the set of second bit widths; The method further includes: sending third information, where the third information is used to indicate the first bit width.

19. The method according to any one of claims 12 to 18, characterized in that, Before obtaining the first bit width of the first parameter, the method further includes: Send fourth information, where the fourth information is used to request training of the first model, and the fourth information includes one or more of the following: the structural parameters of the first model, the number of parameters of the first model, or a fourth bit width; Wherein, the fourth bit width is the bit width supported by the network side.

20. The method according to claim 19, wherein The first bit width is less than or equal to the fourth bit width.

21. A method for network training, characterized in that, Includes: Obtain the first bit width of the first data, where the first bit width belongs to a set of first bit widths, the first data belongs to a first data set, multiple bit widths in the set of first bit widths have a corresponding relationship with multiple data in the first data set, and the first data set is used to train a first model; Send first information, where the first information is used to indicate the first bit width.

22. A method for network training, characterized in that, Includes: Obtain the first bit width of the first data, where the first bit width belongs to a set of first bit widths, the first data belongs to a first data set, multiple bit widths in the set of first bit widths have a corresponding relationship with multiple data in the first data set, and the first data set is used to train a first model.

23. A communication device, characterized in that, Includes a module or unit for executing the method according to any one of claims 1 to 11, or 20.

24. A communication device, characterized in that, Includes a module or unit for executing the method according to any one of claims 12 to 19, or 21.

25. A communication device, characterized in that, Includes at least one processor, where the at least one processor is coupled to a memory and is used to execute computer instructions stored in the memory, so that the communication device executes the method according to any one of claims 1 to 11, or 20.

26. A communication device, characterized in that, Includes at least one processor, where the at least one processor is coupled to a memory and is used to execute computer instructions stored in the memory, so that the communication device executes the method according to any one of claims 12 to 19, or 21.

27. A computer-readable storage medium, characterized in that, A computer program or instructions are stored on the computer-readable storage medium. When the computer program or the instructions are run on a computer, the method according to any one of claims 1 to 11, or 20 is caused to be executed, or the method according to any one of claims 12 to 19, or 21 is caused to be executed.

28. A computer program product, characterized in that, Instructions are included which, when run on a computer, cause the method according to any one of claims 1 to 11, or 20 to be executed, or cause the method according to any one of claims 12 to 19, or 21 to be executed.