Neural network model partitioning in wireless communication system

By dividing the neural network model into multiple sub-models in a wireless communication system and selecting the division layer based on performance information, the power consumption and latency issues of resource-limited devices when training and using neural networks are solved, and the device performance is improved.

CN120752645APending Publication Date: 2025-10-03QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480015959.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-03-07
Filing Date
2024-01-15
Publication Date
2025-10-03

AI Technical Summary

Technical Problem

In wireless communication systems, resource-limited devices such as IoT devices and vehicles face challenges in power consumption and processing resources when training and using neural network models, which affects device performance.

Method used

The neural network model is divided into a first sub-neural network model implemented by a first device and a second sub-neural network model implemented by a second device, and a partitioning layer is selected based on performance information such as power consumption and latency information, and the partitioning layer is dynamically updated to optimize resource utilization.

Benefits of technology

By dividing the neural network model, the power consumption and latency of the device are reduced, resource utilization efficiency is improved, and device performance is enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120752645A_ABST
    Figure CN120752645A_ABST
Patent Text Reader

Abstract

Methods, systems, and devices for wireless communication are described. A first device may select a partition layer for partitioning a neural network model between the first device and a second device. The first device may implement a first sub-neural network model including the divided layer, and the second device may implement a second sub-neural network model including layers adjacent to the divided layer.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references

[0002] This patent application claims the benefit of U.S. patent application No. 18 / 179,629, filed by GUAN et al. on March 7, 2023, entitled “NEURAL NETWORK MODEL PARTITIONING IN A WIRELESS COMMUNICATION SYSTEM,” which is assigned to the assignee of this application and is expressly incorporated herein by reference. Technical Field

[0003] The following relates to wireless communications, including neural network model partitioning in wireless communication systems. Background Art

[0004] Wireless communication systems are widely deployed to provide various types of communication content, such as voice, video, packet data, messaging, broadcast, and more. These systems can support communication with multiple users by sharing available system resources (e.g., time, frequency, and power). Examples of such multiple-access systems include fourth-generation (4G) systems (such as Long Term Evolution (LTE) systems, LTE-Advanced (LTE-A) systems, or LTE-A Pro systems) and fifth-generation (5G) systems (which may be referred to as New Radio (NR) systems). These systems may employ technologies such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), or discrete Fourier transform-spread orthogonal frequency division multiplexing (DFT-S-OFDM). A wireless multiple-access communication system may include one or more base stations, each of which supports wireless communication for communication devices, which may be referred to as user equipment (UE).

[0005] In some wireless communication systems, a device may support a neural network model that the device trains and subsequently uses to perform various tasks. Improved techniques for implementing neural network models may be needed. Summary of the Invention

[0006] The described techniques relate to improved methods, systems, devices, and apparatuses for supporting neural network model partitioning in wireless communication systems. For example, the described techniques provide for a first device to determine whether to partition a neural network model between the first device and a second device. The first device may select a partitioning layer for partitioning the neural network into a first sub-neural network implemented by the first device and a second sub-neural network implemented by the second device. The first device may select the partitioning layer based on performance information (e.g., latency information, power consumption information) associated with different candidate partitioning layers for partitioning the neural network model.

[0007] A method for wireless communication at a first device is described. The method may include: obtaining first performance information of the first device associated with different candidate partition layers for partitioning a neural network model into a first sub-neural network model on the first device and a second sub-neural network model on a second device; receiving second performance information of the second device associated with the different candidate partition layers for partitioning the neural network model; and selecting, based on the first performance information and the second performance information, a candidate partition layer from the different candidate partition layers for partitioning the neural network model into the first sub-neural network model on the first device and the second sub-neural network model on the second device.

[0008] An apparatus for wireless communication at a first device is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions may be executable by the processor to cause the apparatus to: obtain first performance information of the first device associated with different candidate partition layers for partitioning a neural network model into a first sub-neural network model on the first device and a second sub-neural network model on a second device; receive second performance information of the second device associated with the different candidate partition layers for partitioning the neural network model; and select, based on the first performance information and the second performance information, a candidate partition layer from the different candidate partition layers for partitioning the neural network model into the first sub-neural network model on the first device and the second sub-neural network model on the second device.

[0009] Another apparatus for wireless communication at a first device is described. The apparatus may include: a component for obtaining first performance information of the first device associated with different candidate partition layers for partitioning a neural network model into a first sub-neural network model on the first device and a second sub-neural network model on a second device; a component for receiving second performance information of the second device associated with the different candidate partition layers for partitioning the neural network model; and a component for selecting, from the different candidate partition layers, a candidate partition layer for partitioning the neural network model into the first sub-neural network model on the first device and the second sub-neural network model on the second device based on the first performance information and the second performance information.

[0010] A non-transitory computer-readable medium storing code for wireless communication at a first device is described. The code may include instructions executable by a processor to: obtain first performance information of the first device associated with different candidate partition layers for partitioning a neural network model into a first sub-neural network model on the first device and a second sub-neural network model on a second device; receive second performance information of the second device associated with the different candidate partition layers for partitioning the neural network model; and select, based on the first performance information and the second performance information, a candidate partition layer from the different candidate partition layers for partitioning the neural network model into the first sub-neural network model on the first device and the second sub-neural network model on the second device.

[0011] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for: selecting a second candidate partition layer for partitioning the neural network model after performing a first iteration of a training session using the candidate partition layer; and performing a second iteration of the training session using the second candidate partition layer.

[0012] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for obtaining updated first performance information of the first device based on a threshold number of iterations of executing the training session; and receiving updated second performance information of the second device based on executing the threshold number of iterations, wherein the second candidate partitioning layer may be selected based on the updated first performance information and the updated second performance information.

[0013] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the second candidate partition layer can be selected based on a gradient for updating a weight of the second candidate partition layer being less than a threshold gradient.

[0014] In some examples of the methods, apparatuses, and non-transitory computer-readable media described herein, the first performance information and the second performance information each include latency information and power consumption information.

[0015] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for sending a request to the second device to partition the neural network model, wherein the second performance information may be received based on sending the request.

[0016] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the request may be sent based on a processing capability of the first device.

[0017] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving a request to partition the neural network model from the second device, wherein the first performance information may be obtained based on receiving the request.

[0018] Some examples of the methods, apparatuses, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for sending an indication of the candidate partition layer to the second device based on selecting the candidate partition layer.

[0019] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for performing a portion of a training session iteration using the first sub-neural network model; and sending an output of the candidate split layer to the second device based at least in part on performing the portion of the training session iteration.

[0020] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for: receiving a second output of a second layer of the neural network model from the second device based on sending the output, the second layer may be adjacent to the candidate partition layer; and updating one or more weights of the candidate partition layer based on the second output.

[0021] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for: receiving an output of the candidate partition layer from the second device; and performing a portion of a training session iteration using the first sub-neural network model based on the output of the candidate partition layer.

[0022] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for sending a second output of a second layer of the neural network model to the first device, where the second layer may be adjacent to the candidate partition layer, for updating one or more weights of the candidate partition layer.

[0023] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for: using the first sub-neural network model to perform a portion of a task, wherein the first sub-neural network model includes the candidate partition layer; and sending an output of the candidate partition layer to the second device for use by the second sub-neural network model. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 An example of a wireless communication system supporting neural network model partitioning according to one or more aspects of the present disclosure is illustrated.

[0025] Figure 2 An example of a wireless communication system supporting neural network model partitioning according to one or more aspects of the present disclosure is illustrated.

[0026] Figure 3 An example of a process flow for supporting neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure is illustrated.

[0027] Figure 4 An example of a process flow for supporting neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure is illustrated.

[0028] Figure 5 An example of a process flow for supporting neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure is illustrated.

[0029] Figure 6 and Figure 7 A block diagram illustrating a device supporting neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure is illustrated.

[0030] Figure 8 A block diagram illustrating a communication manager that supports neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure is illustrated.

[0031] Figure 9 A diagram illustrating a system including a device supporting neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure is illustrated.

[0032] Figure 10A flowchart illustrating a method for supporting neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure is illustrated. DETAILED DESCRIPTION

[0033] In some wireless communication systems, devices can use neural network models to perform various tasks. For example, a device can use a neural network model to estimate a wireless channel. Before using a neural network model to perform a task, the device can perform a training session to train the neural network model to perform the task. However, for resource-constrained devices, such as Internet of Things (IoT) devices and vehicles, training and using neural network models can be challenging. For example, training a neural network model can consume excessive power or processing resources at the device, which can negatively impact the device's performance.

[0034] According to the techniques described herein, a first device may partition a neural network model into a first sub-neural network model implemented by the first device and a second sub-neural network model implemented by a second device. To this end, the first device may select a partitioning layer for splitting the neural network model that allows the jointly implemented neural network to meet a desired metric (e.g., latency metric, power consumption metric). For example, the first device may select a partitioning layer based on performance information (e.g., power consumption information, latency information) for the first device and the second device. In some examples, the partitioning layer may be dynamically updated (e.g., midway through a training session) based on updated performance information or based on gradients determined during a training session.

[0035] Aspects of the present disclosure are first described in the context of a wireless communication system. Aspects of the present disclosure are further described in the context of a process flow. Aspects of the present disclosure are further illustrated by and described with reference to apparatus diagrams, system diagrams, and flow diagrams related to neural network model partitioning in a wireless communication system.

[0036] Figure 1 An example of a wireless communication system 100 that supports neural network model partitioning according to one or more aspects of the present disclosure is illustrated. The wireless communication system 100 may include one or more network entities 105, one or more UEs 115, and a core network 130. In some examples, the wireless communication system 100 may be a Long Term Evolution (LTE) network, an Advanced LTE (LTE-A) network, an LTE-A Pro network, a New Radio (NR) network, or a network operating according to other systems and radio technologies, including future systems and radio technologies not explicitly mentioned herein.

[0037] The network entities 105 may be dispersed throughout a geographic area to form the wireless communication system 100 and may include devices in different forms or with different capabilities. In various examples, the network entities 105 may be referred to as network elements, mobility elements, radio access network (RAN) nodes, or network equipment, among other nomenclature. In some examples, the network entities 105 and the UEs 115 may communicate wirelessly via one or more communication links 125 (e.g., radio frequency (RF) access links). For example, the network entities 105 may support a coverage area 110 (e.g., a geographic coverage area) within which the UEs 115 and the network entities 105 may establish one or more communication links 125. The coverage area 110 may be an example of a geographic area within which the network entities 105 and the UEs 115 may support signal communication based on one or more radio access technologies (RATs).

[0038] The UEs 115 may be dispersed throughout the coverage area 110 of the wireless communication system 100, and each UE 115 may be stationary or mobile or both stationary and mobile at different times. The UEs 115 may be devices that take different forms or have different capabilities. Figure 1 Some example UEs 115 are illustrated in FIG. The UEs 115 described herein may be capable of supporting communication with various types of devices, such as Figure 1 105) as shown.

[0039] As described herein, a node of wireless communication system 100 (which may be referred to as a network node or wireless node) may be a network entity 105 (e.g., any network entity described herein), a UE 115 (e.g., any UE described herein), a network controller, an apparatus, a device, a computing system, one or more components, or another suitable processing entity configured to perform any of the techniques described herein. For example, the node may be UE 115. As another example, the node may be network entity 105. As another example, a first node may be configured to communicate with a second node or a third node. In one aspect of this example, the first node may be UE 115, the second node may be network entity 105, and the third node may be UE 115. In another aspect of this example, the first node may be UE 115, the second node may be network entity 105, and the third node may be network entity 105. In other aspects of this example, the first node, the second node, and the third node may be different relative to these examples. Similarly, references to UE 115, network entity 105, apparatus, device, computing system, etc. may include disclosure of UE 115, network entity 105, apparatus, device, computing system, etc. as nodes. For example, a disclosure that UE 115 is configured to receive information from network entity 105 also discloses that the first node is configured to receive information from a second node.

[0040] In some examples, network entities 105 can communicate with core network 130, with each other, or both. For example, network entities 105 can communicate with core network 130 via one or more backhaul communication links 120 (e.g., according to S1, N2, N3, or other interface protocols). In some examples, network entities 105 can communicate with each other via backhaul communication links 120 (e.g., according to X2, Xn, or other interface protocols) directly (e.g., directly between network entities 105) or indirectly (e.g., via core network 130). In some examples, network entities 105 can communicate with each other via midhaul communication links 162 (e.g., according to a midhaul interface protocol) or fronthaul communication links 168 (e.g., according to a fronthaul interface protocol), or any combination thereof. Backhaul communication links 120, midhaul communication links 162, or fronthaul communication links 168 can be or include one or more wired links (e.g., electrical links, fiber optic links), one or more wireless links (e.g., radio links, wireless optical links), etc., or various combinations thereof. UE 115 may communicate with core network 130 via communication link 155 .

[0041] One or more of the network entities 105 described herein may include or may be referred to as a base station 140 (e.g., a base transceiver station, a radio base station, an NR base station, an access point, a radio transceiver, a Node B, an evolved Node B (eNB), a next-generation Node B, or a gigabit Node B (any of which may be referred to as a gNB), a 5G NB, a next-generation eNB (ng-eNB), a Home Node B, a Home evolved Node B, or other suitable terminology). In some examples, the network entity 105 (e.g., the base station 140) may be implemented in a converged (e.g., monolithic, stand-alone) base station architecture that may be configured to utilize a protocol stack that is physically or logically integrated within a single network entity 105 (e.g., a single RAN node, such as the base station 140).

[0042] In some examples, the network entity 105 can be implemented in a disaggregated architecture (e.g., a disaggregated base station architecture, a disaggregated RAN architecture) that can be configured to utilize a protocol stack that is physically or logically distributed between two or more network entities 105, such as an integrated access backhaul (IAB) network, an open RAN (O-RAN) (e.g., a network configuration sponsored by the O-RAN Alliance), or a virtualized RAN (vRAN) (e.g., a cloud RAN (C-RAN)). For example, the network entity 105 can include one or more of the following: a central unit (CU) 160, a distributed unit (DU) 165, a radio unit (RU) 170, a RAN intelligent controller (RIC) 175 (e.g., a near real-time RIC (near RT RIC), a non-real-time RIC (non-RT RIC)), a service management and orchestration (SMO) 180 system, or any combination thereof. The RU 170 may also be referred to as a radio head, smart radio head, remote radio head (RRH), remote radio unit (RRU), or transmit receive point (TRP). One or more components of the network entity 105 in the disaggregated RAN architecture may be co-located, or one or more components of the network entity 105 may be located in distributed locations (e.g., separate physical locations). In some examples, one or more network entities 105 of the disaggregated RAN architecture may be implemented as virtual units (e.g., virtual CU (VCU), virtual DU (VDU), virtual RU (VRU)).

[0043] The functional split between CU 160, DU 165, and RU 170 is flexible and can support different functions depending on which functions (e.g., network layer functions, protocol layer functions, baseband functions, RF functions, and any combination thereof) are performed at CU 160, DU 165, or RU 170. For example, a functional split of the protocol stack can be employed between CU 160 and DU 165, such that CU 160 can support one or more layers of the protocol stack and DU 165 can support one or more different layers of the protocol stack. In some examples, CU 160 can host higher protocol layer (e.g., Layer 3 (L3), Layer 2 (L2)) functions and signaling (e.g., Radio Resource Control (RRC), Service Data Adaptation Protocol (SDAP), Packet Data Convergence Protocol (PDCP)). The CU 160 may be connected to one or more DUs 165 or RUs 170, and the one or more DUs 165 or RUs 170 may host lower protocol layers, such as Layer 1 (L1) (e.g., physical (PHY) layer) or L2 (e.g., radio link control (RLC) layer, medium access control (MAC) layer) functionality and signaling, and may each be at least partially controlled by the CU 160. Additionally or alternatively, a functional split of the protocol stack may be employed between the DU 165 and the RU 170, such that the DU 165 may support one or more layers of the protocol stack and the RU 170 may support one or more different layers of the protocol stack. The DU 165 may support one or more different cells (e.g., via one or more RUs 170). In some cases, the functional split between the CU 160 and the DU 165 or between the DU 165 and the RU 170 can be within the protocol layer (e.g., some functions of a protocol layer can be performed by one of the CU 160, DU 165, or RU 170, while other functions of the protocol layer are performed by a different one of the CU 160, DU 165, or RU 170). The CU 160 can be further functionally split into CU control plane (CU-CP) and CU user plane (CU-UP) functions. The CU 160 can be connected to one or more DUs 165 via midhaul communication links 162 (e.g., F1, F1-c, F1-u), and the DU 165 can be connected to one or more RUs 170 via fronthaul communication links 168 (e.g., an open fronthaul (FH) interface). In some examples, midhaul communication link 162 or fronthaul communication link 168 may be implemented according to interfaces (eg, channels) between layers of a protocol stack supported by respective network entities 105 communicating via these communication links.

[0044] In some wireless communication systems (e.g., wireless communication system 100), the infrastructure and spectrum resources used for radio access may support wireless backhaul link capabilities to supplement wired backhaul connections, thereby providing an IAB network architecture (e.g., to core network 130). In some cases, in an IAB network, one or more network entities 105 (e.g., IAB nodes 104) may be partially controlled by one another. One or more IAB nodes 104 may be referred to as a donor entity or IAB donor. One or more DUs 165 or one or more RUs 170 may be partially controlled by one or more CUs 160 associated with a donor network entity 105 (e.g., donor base station 140). One or more donor network entities 105 (e.g., IAB donors) may communicate with one or more additional network entities 105 (e.g., IAB nodes 104) via supported access and backhaul links (e.g., backhaul communication link 120). The IAB node 104 may include an IAB mobile terminal (IAB-MT) controlled (e.g., scheduled) by the coupled IAB donor's DU 165. The IAB-MT may include an independent set of antennas for relaying communications with the UE 115, or may share the same antennas of the IAB node 104 (e.g., of the RU 170) for access via the DU 165 of the IAB node 104 (e.g., referred to as a virtual IAB-MT (vIAB-MT)). In some examples, the IAB node 104 may include a DU 165 that supports communication links with additional entities (e.g., IAB node 104, UE 115) within a relay chain or configuration (e.g., downstream) of the access network. In such cases, one or more components of the disaggregated RAN architecture (e.g., one or more IAB nodes 104 or components of the IAB node 104) may be configured to operate according to the techniques described herein.

[0045] Where the techniques described herein are applied to the context of a disaggregated RAN architecture, one or more components of the disaggregated RAN architecture may be configured to support neural network model partitioning in a wireless communication system as described herein. For example, some operations described as being performed by a UE 115 or a network entity 105 (e.g., a base station 140) may additionally or alternatively be performed by one or more components of the disaggregated RAN architecture (e.g., an IAB node 104, a DU 165, a CU 160, a RU 170, a RIC 175, a SMO 180).

[0046] UE 115 may include or may be referred to as a mobile device, a wireless device, a remote device, a handheld device, or a subscriber device, or some other suitable terminology, where "device" may also be referred to as a unit, a station, a terminal, or a client, etc. UE 115 may also include or may be referred to as a personal electronic device, such as a cellular phone, a personal digital assistant (PDA), a tablet computer, a laptop computer, or a personal computer. In some examples, UE 115 may include or may be referred to as a wireless local loop (WLL) station, an Internet of Things (IoT) device, an Internet of Everything (IoE) device, or a machine type communication (MTC) device, etc., which may be implemented in various objects, such as appliances or vehicles, meters, etc.

[0047] The UE 115 described herein may be capable of communicating with various types of devices, such as other UEs 115, which may sometimes act as relays, as well as network entities 105 and network equipment including macro eNBs or gNBs, small cell eNBs or gNBs, or relay base stations, etc. Figure 1 shown.

[0048] UE 115 and network entity 105 may wirelessly communicate with each other via one or more communication links 125 (e.g., access links) using resources associated with one or more carriers. The term "carrier" may refer to a collection of RF spectrum resources having a physical layer structure that defines the communication link 125. For example, a carrier used for communication link 125 may comprise a portion of an RF spectrum band (e.g., a bandwidth part (BWP)) operating in accordance with one or more physical layer channels for a given radio access technology (e.g., LTE, LTE-A, LTE-A Pro, NR). Each physical layer channel may carry acquisition signaling (e.g., synchronization signals, system information), control signaling for coordinating carrier operation, user data, or other signaling. The wireless communication system 100 may support communications with UE 115 using carrier aggregation or multi-carrier operation. Depending on the carrier aggregation configuration, UE 115 may be configured with multiple downlink component carriers and one or more uplink component carriers. Carrier aggregation may be used for both frequency division duplex (FDD) and time division duplex (TDD) component carriers. Communication between the network entity 105 and other devices may refer to communication between those devices and any portion (e.g., entity, sub-entity) of the network entity 105. For example, the terms "send," "receive," or "communicate" when referring to the network entity 105 may refer to any portion of the network entity 105 (e.g., base station 140, CU 160, DU 165, RU 170) of the RAN communicating with another device (e.g., directly or via one or more other network entities 105).

[0049] The signal waveform transmitted via a carrier wave may include multiple subcarriers (e.g., using a multicarrier modulation (MCM) technique such as orthogonal frequency division multiplexing (OFDM) or discrete Fourier transform spread OFDM (DFT-S-OFDM)). In systems employing MCM techniques, a resource element may refer to a resource of one symbol period (e.g., the duration of one modulation symbol) and one subcarrier, where the symbol period and subcarrier spacing may be inversely related. The number of bits carried by each resource element may depend on the modulation scheme (e.g., the order of the modulation scheme, the coding rate of the modulation scheme, or both), such that a relatively high number of resource elements (e.g., in a transmission duration) and a relatively high-order modulation scheme may correspond to a relatively high communication rate. Wireless communication resources may refer to a combination of RF spectrum resources, time resources, and spatial resources (e.g., spatial layers or beams), and the use of multiple spatial resources may increase the data rate or data integrity used for communications with UE 115.

[0050] The time interval for the network entity 105 or the UE 115 may be expressed as a multiple of a basic time unit, which may be, for example, a sampling period. Seconds, for this can represent the supported subcarrier spacing, and The supported discrete Fourier transform (DFT) size may be indicated. Time intervals of communication resources may be organized according to radio frames, each of which has a specified duration (e.g., 10 milliseconds (ms)). Each radio frame may be identified by a system frame number (SFN) (e.g., ranging from 0 to 1023).

[0051] Each frame may include a plurality of consecutively numbered subframes or time slots, and each subframe or time slot may have the same duration. In some examples, a frame may be divided (e.g., in the time domain) into subframes, and each subframe may be further divided into a certain number of time slots. Alternatively, each frame may include a variable number of time slots, and the number of time slots may depend on the subcarrier spacing. Each time slot may include a certain number of symbol periods (e.g., depending on the length of the cyclic prefix appended to the front of each symbol period). In some wireless communication systems 100, the time slot may be further divided into a plurality of mini-slots associated with one or more symbols. Excluding the cyclic prefix, each symbol period may be associated with one or more (e.g., The duration of a symbol period may depend on the subcarrier spacing or the operating frequency band.

[0052] A subframe, slot, mini-slot, or symbol may be the minimum scheduling unit (e.g., in the time domain) of the wireless communication system 100 and may be referred to as a Transmit Time Interval (TTI). In some examples, the TTI duration (e.g., the number of symbol periods in a TTI) may be variable. Additionally or alternatively, the minimum scheduling unit of the wireless communication system 100 may be dynamically selected (e.g., in a burst of a shortened TTI (sTTI)).

[0053] Physical channels may be multiplexed according to various techniques for communication using carriers. For example, physical control channels and physical data channels may be multiplexed using one or more of time division multiplexing (TDM), frequency division multiplexing (FDM), or hybrid TDM-FDM techniques for signaling via downlink carriers. A control region (e.g., a control resource set (CORESET)) of a physical control channel may be defined by a set of symbol periods and may extend across the system bandwidth of a carrier or a subset of that bandwidth. One or more control regions (e.g., CORESETs) may be configured for a set of UEs 115. For example, one or more of UEs 115 may monitor or search the control region for control information according to one or more search space sets, and each search space set may include one or more control channel candidates in one or more aggregation levels arranged in a cascaded manner. The aggregation level of a control channel candidate may refer to the number of control channel resources (e.g., control channel elements (CCEs)) associated with coded information for a control information format having a given payload size. The search space sets may include a common search space set configured for transmitting control information to multiple UEs 115 and a UE-specific search space set for transmitting control information to a specific UE 115 .

[0054] In some examples, network entities 105 (e.g., base stations 140, RUs 170) can be mobile and, therefore, provide communication coverage for mobile coverage areas 110. In some examples, different coverage areas 110 associated with different technologies can overlap, but the different coverage areas 110 can be supported by the same network entity 105. In some other examples, overlapping coverage areas 110 associated with different technologies can be supported by different network entities 105. The wireless communication system 100 can include, for example, a heterogeneous network in which different types of network entities 105 provide coverage for various coverage areas 110 using the same or different radio access technologies.

[0055] Some UEs 115, such as MTC or IoT devices, may be low-cost or low-complexity devices and may provide automated communication between machines (e.g., via machine-to-machine (M2M) communication). M2M communication or MTC may refer to data communication technologies that allow devices to communicate with each other or with a network entity 105 (e.g., base station 140) without human intervention. In some examples, M2M communication or MTC may include communication from devices with integrated sensors or meters to measure or acquire information and relay such information to a central server or application, which uses the information or presents it to a person interacting with the application. Some UEs 115 may be designed to collect information or enable automated behavior of machines or other equipment. Examples of applications for MTC devices include smart metering, inventory monitoring, water level monitoring, equipment monitoring, healthcare monitoring, wildlife monitoring, weather and geological event monitoring, fleet management and tracking, remote security sensing, physical access control, and transaction-based charging for services.

[0056] The wireless communication system 100 may be configured to support ultra-reliable communication or low-latency communication or various combinations thereof. For example, the wireless communication system 100 may be configured to support ultra-reliable low-latency communication (URLLC). The UE 115 may be designed to support ultra-reliable or low-latency or critical functionality. Ultra-reliable communication may include private or group communications and may be supported by one or more services such as push-to-talk, video, or data. Support for ultra-reliable, low-latency functionality may include prioritization of services, and such services may be used for public safety or general commercial applications. The terms ultra-reliable, low-latency, and ultra-reliable low-latency may be used interchangeably herein.

[0057] In some examples, a UE 115 may be configured to support communication directly with other UEs 115 via a device-to-device (D2D) communication link 135 (e.g., according to a peer-to-peer (P2P), D2D, or sidelink protocol). In some examples, one or more UEs 115 in a group performing D2D communication may be within a coverage area 110 of a network entity 105 (e.g., a base station 140, a RU 170), which may support aspects of such D2D communication as configured (e.g., scheduled) by the network entity 105. In some examples, one or more UEs 115 in such a group may be outside of the coverage area 110 of the network entity 105 or may otherwise be unable or not configured to receive transmissions from the network entity 105. In some examples, a group of UEs 115 communicating via D2D communication may support a one-to-many (1:M) system in which each UE 115 transmits to each of the other UEs 115 in the group. In some examples, network entity 105 may facilitate scheduling of resources for D2D communications. In some other examples, D2D communications may be performed between UEs 115 without involving network entity 105.

[0058] In some systems, D2D communication link 135 may be an example of a communication channel (such as a sidelink communication channel) between vehicles (e.g., UE 115). In some examples, vehicles may communicate using vehicle-to-everything (V2X) communication, vehicle-to-vehicle (V2V) communication, or some combination thereof. Vehicles may signal information related to traffic conditions, signal scheduling, weather, safety, emergency situations, or any other information relevant to the V2X system. In some examples, vehicles in a V2X system may communicate with roadside infrastructure (such as roadside units) or with the network via one or more network nodes (e.g., network entity 105, base station 140, RU 170) using vehicle-to-network (V2N) communication, or both.

[0059] The core network 130 may provide user authentication, access authorization, tracking, Internet Protocol (IP) connectivity, and other access, routing, or mobility functions. The core network 130, which may be an evolved packet core (EPC) or a 5G core (5GC), may include at least one control plane entity (e.g., a mobility management entity (MME), an access and mobility management function (AMF)) for managing access and mobility, and at least one user plane entity (e.g., a serving gateway (S-GW), a packet data network (PDN) gateway (P-GW), or a user plane function (UPF)) for routing packets or interconnecting to external networks. The control plane entities may manage non-access stratum (NAS) functions, such as mobility, authentication, and bearer management, for UEs 115 served by network entities 105 (e.g., base stations 140) associated with the core network 130. User IP packets may be transferred through the user plane entities, which may provide IP address allocation and other functions. The user plane entities may connect to one or more network operators' IP services 150. IP services 150 may include access to the Internet, an intranet, an IP Multimedia Subsystem (IMS), or packet-switched streaming services.

[0060] The wireless communication system 100 can operate using one or more frequency bands that can range from 300 megahertz (MHz) to 300 gigahertz (GHz). Generally speaking, the region from 300 MHz to 3 GHz is referred to as the ultra-high frequency (UHF) region or decimeter band because the wavelengths range from approximately one decimeter to one meter in length. UHF waves can be blocked or redirected by buildings and environmental features (which can be referred to as clusters), but these waves can penetrate structures sufficiently for a macrocell to provide service to UEs 115 located indoors. Communication using UHF waves can be associated with smaller antennas and a shorter range (e.g., less than 100 kilometers) compared to communication using the smaller frequencies and longer wavelengths of the high frequency (HF) or very high frequency (VHF) portions of the spectrum below 300 MHz.

[0061] The wireless communication system 100 can utilize both licensed and unlicensed RF spectrum bands. For example, the wireless communication system 100 can employ License Assisted Access (LAA), LTE Unlicensed (LTE-U) radio access technology, or NR technology using an unlicensed band, such as the 5 GHz Industrial, Scientific, and Medical (ISM) band. When operating using an unlicensed RF spectrum band, devices such as the network entity 105 and the UE 115 can employ carrier sensing for collision detection and avoidance. In some examples, operation using the unlicensed band can be based on a carrier aggregation configuration in combination with component carriers operating using a licensed band (e.g., LAA). Operations using the unlicensed spectrum can include downlink transmissions, uplink transmissions, P2P transmissions, D2D transmissions, and the like.

[0062] A network entity 105 (e.g., base station 140, RU 170) or UE 115 may be equipped with multiple antennas that can be used to employ techniques such as transmit diversity, receive diversity, multiple-input, multiple-output (MIMO) communications, or beamforming. The antennas of the network entity 105 or UE 115 may be located within one or more antenna arrays or antenna panels, which can support MIMO operations or transmit or receive beamforming. For example, one or more base station antennas or antenna arrays may be co-located at an antenna assembly, such as an antenna tower. In some examples, antennas or antenna arrays associated with the network entity 105 may be located at different geographic locations. The network entity 105 may include an antenna array having a set of multiple rows and columns of antenna ports that the network entity 105 can use to support beamforming for communications with the UE 115. Similarly, the UE 115 may include one or more antenna arrays that can support various MIMO or beamforming operations. Additionally or alternatively, the antenna panels may support RF beamforming for signals transmitted via the antenna ports.

[0063] Beamforming (which may also be referred to as spatial filtering, directional transmission, or directional reception) is a signal processing technique that can be used at a transmitting or receiving device (e.g., network entity 105, UE 115) to shape or steer an antenna beam (e.g., a transmit beam, a receive beam) along a spatial path between the transmitting and receiving devices. Beamforming can be achieved by combining signals communicated via antenna elements of an antenna array so that some signals propagating in a particular direction relative to the antenna array experience constructive interference, while other signals experience destructive interference. Adjustments to the signals communicated via the antenna elements can include the transmitting or receiving device applying an amplitude shift, a phase shift, or both to the signals carried by the antenna elements associated with the device. The adjustments associated with each of these antenna elements can be defined by a set of beamforming weights associated with a particular direction (e.g., relative to the antenna array of the transmitting or receiving device or relative to some other direction).

[0064] In some examples, a device of the wireless communication system 100 may implement a neural network model to perform various tasks or other types of operations for wireless communication. To conserve resources (e.g., power resources, computing resources, or processing resources), which may be particularly limited for certain types of devices (such as IoT devices), the device may split the neural network model inference and training tasks between itself and another device (e.g., a device with more resources, such as a server or network entity 105). For example, the device may split the neural network model into two sub-neural network models at a partitioning layer, where one sub-neural network model is implemented by the device and the other sub-neural network model is implemented by another device.

[0065] The device can use the techniques described herein to select a partitioning layer for partitioning a neural network model so that the latency and / or power consumption associated with the neural network model meets a desired threshold. For example, the device can use performance information associated with different candidate partitioning layers to select a partitioning layer for partitioning the neural network model. To account for changes in the network or device, the device can use similar techniques or dynamically update the partitioning layer based on gradients generated during training or use of the partitioned neural network model.

[0066] A neural network (NN) model may also be referred to as a neural network algorithm, an artificial intelligence (AI) model, a machine learning (ML) model, or other suitable terminology. Although described with reference to wireless communication systems, the techniques described herein may be implemented in other types of communication systems, including wired communication systems.

[0067] Figure 2 An example of a wireless communication system 200 supporting neural network model partitioning according to one or more aspects of the present disclosure is illustrated. The wireless communication system 200 may be implemented as shown in FIG. Figure 1 Various aspects of the wireless communication system 100 described herein may be implemented by various aspects of the wireless communication system. For example, the wireless communication system 200 may include a device 205, which may be as described herein (including references to Figure 1 ) are examples of UEs or network entities described in the preceding text. Device 205 may alternatively be other types of devices, including devices capable of wired communication. In some examples, first device 205-a may be an example of a resource-constrained device (e.g., a UE, an IoT device), and second device may be an example of a resource-rich device (e.g., a server, a network entity).

[0068] Device 205 may implement a partitioned neural network model, such as NN model 210, which may include multiple layers (e.g., layers L1 to L6). For example, first device 205-a may implement a portion of NN model 210 that includes layers L1 and L2, referred to as sub-neural network model 215-a. Second device 205-b may implement another portion of NN model 210 that includes layers L3, L4, L5, and L6, referred to as sub-neural network model 215-b.

[0069] To train the NN model 210, training data may be input into the first layer (e.g., L1) of the NN model 210 and forward-passed (e.g., internally) through the layers of the sub-neural network model 215-a. These layers may operate on the training data and generate outputs (e.g., features, feature vectors) for use by adjacent upstream layers. At a partitioning layer (e.g., layer L2), the first device 205-a may send the output (e.g., feature vector) generated by the sub-neural network model 215-a to the second device 205-b (which may be output by partitioning layer L2). The second device 205-b may continue forward-passing the received feature vector through the sub-neural network model 215-b. Upon completion of the forward pass, the second device 205-b may calculate a predetermined loss function and one or more gradients (e.g., gradient vectors), and propagate the gradients backward through the layers of the sub-neural network model 215-b. Thus, after the forward pass at the last layer, a loss may be calculated according to a predetermined loss function (e.g., mean squared error), and the first gradient may be a derivative of the loss function. The backward pass through the NN model 210 may involve computing derivatives from the final layer (e.g., layer L6) to the first layer (e.g., layer L1) of the NN model 210. The derivatives of each layer may be multiplied together down the NN model 210 to compute subsequent derivatives.

[0070] During the backward pass through the sub-neural network model 215-b, the second device 205-b may update the weights of the layers of the sub-neural network model 215-b based on the gradients. At a layer adjacent to the partition layer (e.g., layer L3), the second device 205-b may send the output (e.g., gradient vector) generated by the sub-neural network model 215-b to the first device 205-a (which may be output by layer L3). If the first and second layers are configured to directly exchange outputs (e.g., without using an intervening layer), then these layers are adjacent.

[0071] The first device 205-a may continue the backward pass of the received gradient vector through the sub-neural network model 215-a. During the backward pass through the sub-neural network model 215-a, the first device 205-a may update the weights of the layers of the sub-neural network model 215-a based on the gradient.

[0072] Thus, iterations of a training session for the NN model 210 can be jointly implemented by the first device 205-a and the second device 205-b. A training session can involve multiple iterations performed on different training data sets (e.g., batches). Upon completion of the training session, the first device 205-a and the second device 205-b can use the NN model 210 to perform various inference tasks, such as channel estimation.

[0073] The latency and power consumption associated with training and using the NN model 210 can vary based on the layer selected for partitioning the NN model 210. For example, using layer L2 as the partitioning layer can be associated with a first latency and a first amount of power consumption, while using a different layer (e.g., layer L3) as the partitioning layer can be associated with a second latency and a second amount of power consumption. One of the devices 205 can implement the partitioning layer selection techniques described herein to reduce the latency and / or power consumption associated with training and using the NN model 210.

[0074] For example, the device 205 may include a partition layer selector 220 that selects a partition layer for the NN model 210. The partition layer selector 220 may select a partition layer for the NN model 210 based on various parameters and metrics.

[0075] In some examples, the partitioning layer selector 220 may select a partitioning layer based on metrics of the communication network (referred to as "network information") and metrics of the device 205 (referred to as a "first device profile" and a "second device profile"). The network information may include uplink data rate and throughput for the network, downlink data rate and throughput for the network, channel information, or any combination thereof. The device-specific profile may include a training profile for the device, a computation profile for the device, a communication profile for the device, or any combination thereof. The training profile for the device may indicate any or all of the following: computational burden, latency, power consumption, and the amount of data transmitted for the forward and / or backward passes of the sub-neural network implemented by the device. The computation profile for the device may indicate any or all of the following: the clock rate, floating-point operations per second (FLOPs), and power consumption of the device. The communication profile for the device may include power consumption associated with sending training information (e.g., feature vectors, gradient vectors), receiving training information, or both.

[0076] In some examples, the partitioning layer selector 220 may select a partitioning layer based on performance information for the device 205. For example, the partitioning layer selector 220 may select a partitioning layer based on first performance information of the first device 205-a and based on second performance information of the second device 205-b. The first performance information of the first device 205-a may include latency information and power consumption information associated with different candidate partitioning layers for partitioning the NN model 210 for the first device 205-a. The second performance information of the second device 205-b may include latency information and power consumption information associated with different candidate partitioning layers for partitioning the NN model 210 for the second device 205-b. Figure 3 Additional details are provided for selecting partitioning tiers based on performance information.

[0077] In some examples, the split layer selector 220 can select a split layer based on a gradient generated by the NN model 210. For example, the split layer selector 220 can select a split layer based on the split layer being associated with a gradient that is less than a threshold gradient. During training, the gradients of the NN model 210 can decrease as they are passed back through the NN model 210. Because small gradients are associated with small weight adjustments that negligibly affect the associated layer, the split layer selector 220 can select a split layer associated with a sufficiently small gradient (e.g., a gradient that is less than or equal to the threshold gradient). Figure 4 Additional details are provided for selecting partitioning layers based on gradients.

[0078] Thus, the devices 205 can train and jointly implement a neural network model that can be partitioned at the partitioning layer selected by the partitioning layer selector 220. In some examples, the devices 205 can train and use the neural network model to perform operations for wireless communication. For example, the devices 205 can train and use the NN model 210 to predict channel characteristics for a communication beam for the first device 205-a based on measured channel characteristics of other communication beams. The first device 205-a can then report the beam characteristic predictions to a network entity to facilitate wireless communication with the network entity. Because the resources used to train and implement such a model may be greater than the resources that the first device 205-a can support, the NN model 210 can be split between the devices 205. For example, as described herein, a portion of the NN model 210 can be offloaded from the first device 205-a to the second device 205-b, which can allow the first device 205-a to realize the benefits of the NN model 210 without incurring the full resource costs of the NN model 210.

[0079] Figure 3 An example of a process flow 300 for supporting neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure is illustrated. The process flow 300 may be performed by referring to Figure 1 and Figure 2 The various aspects of the wireless communication system 100 or 200 described herein may be implemented. For example, the process flow 300 may be implemented by Figure 2 The first device 205 described above may be implemented. The first device may implement process flow 300 to select a partition layer for a neural network model based on performance information associated with the first device and the second device, the neural network model to be partitioned between the first device and the second device. The neural network model may include N layers (e.g., layer L_1 to layer L_N), each of which may be initially included in a set of candidate partition layers for the neural network model.

[0080] Process flow 300 may be used by a first device to select a partitioning layer that uses a minimum amount of power while satisfying a latency metric. However, a process flow similar to process flow 300 may be implemented to select a partitioning layer that satisfies other metrics.

[0081] At 305, the first device may use a dataset of size S to select a candidate partition layer L_i for an iteration of a training session. At 310, the first device may configure a first sub-neural network model including layers L_1 to L_i (e.g., candidate partition layers) for the training session. At 315, the first device may configure the second device using a second sub-neural network model including layers L_i+1 (e.g., layers adjacent to the candidate partition layer) to L_N for the training session.

[0082] At 320, the first device and the second device may perform an iteration of the training session using the dataset. For example, the first device may perform a portion of the training session iteration using a first sub-neural network including the candidate partition layer, and the second device may perform a portion of the training session iteration using a second sub-neural network.

[0083] At 325, the first device may determine a latency for an iteration of the training session. The first device may determine the latency for an iteration of the training session based on a timer that the first device starts at the beginning of the iteration and stops at the end of the iteration. Alternatively, the first device may determine the latency based on latency information calculated by the first device and latency information received from the second device.

[0084] At 330, the first device may determine whether the latency of the training iteration for the candidate partition layer L_i satisfies (e.g., is less than or equal to) a threshold latency. If the latency does not satisfy the threshold latency, then at 335, the first device may remove the candidate partition layer L_i from the set of candidate partition layers. If the latency satisfies (e.g., is less than) the latency threshold, then the first device retains the partition layer L_i in the set of candidate partition layers and proceeds to 340. Although described with reference to removing a partition layer from the set of candidate partition layers, the process flow 300 may alternatively be used to construct a set of candidate partition layers by adding layers that satisfy various metrics to the set of layers.

[0085] At 340, the first device may determine power consumption associated with the training session iteration. The first device may determine the power consumption based on power consumption information calculated by the first device and power consumption information received from the second device. For example, the power consumption associated with the training session iteration may be the sum of power consumed by the first device performing a portion of the iteration (including power consumed by communicating with the second device) and power consumed by the second device performing another portion of the iteration (including power consumed by communicating with the first device).

[0086] At 345, the first device may determine whether the candidate split layer L_i is the last layer in the set of candidate split layers (e.g., the first device may determine whether the candidate split layer L_i is layer L_N). If the candidate split layer L_i is not the last layer, the first device may increment i (e.g., select the next layer to evaluate) and proceed to 305. If the candidate split layer L_i is the last layer, at 350, the first device may determine the candidate split layer with the lowest power in the set of candidate split layers. At 355, the first device may select the candidate split layer with lower power consumption (from the set of candidate split layers that satisfy the latency metric) as the split layer.

[0087] Thus, the first device can select a partitioning layer based on performance information (e.g., latency information, power consumption information) for the first device and the second device. Process flow 300 can be used by the first device to select an initial partitioning layer or to update a partitioning layer (e.g., midway through a training session, during a subsequent training session).

[0088] Figure 4 An example of a process flow 400 for supporting neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure is illustrated. The process flow 400 may be performed by referring to Figure 1 and Figure 2 The various aspects of the wireless communication system 100 or 200 described herein may be implemented. For example, the process flow 400 may be implemented by Figure 2 The device 205 described above can be implemented. The device can implement the process flow 400 to select a partitioning layer for a neural network model based on a gradient generated by the neural network model. The neural network model can include N layers (eg, layer L_1 to layer L_N).

[0089] At 405, the device may select a threshold gradient for selecting a partitioning layer for the neural network model. At 410, the device may compare the gradient generated (and output) by the layer of the neural network model (e.g., during backpropagation) with the threshold gradient. At 415, the device may determine whether the gradient generated by the layer is less than or equal to the threshold gradient. If the gradient generated by the layer is greater than the threshold gradient, the device may move to the next layer and perform the operation at 410.

[0090] If the gradient generated by the layer is less than or equal to the threshold gradient, the device may proceed to 420 and select the associated layer as a partitioning layer for the neural network model. At 425, the device may indicate to the device the partitioning layer between which the neural network model is partitioned (or to be partitioned). If the other device is from Figure 2If the first device 205 - a has a partitioning layer, the first device may skip (eg, avoid performing) the remainder of the backpropagation that occurs after the split layer, or may set the learning rate to zero.

[0091] Thus, the device can select a partitioning layer based on the gradients generated by the neural network model.Process flow 400 can be used by a device to select an initial partitioning layer or to update a partitioning layer (eg, midway through a training session, during a subsequent training session).

[0092] Figure 5 An example of a process flow 500 for supporting neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure is illustrated. The process flow 500 may be performed by referring to Figure 1 and Figure 2 The various aspects of the wireless communication system 100 or 200 described herein may be implemented. For example, the process flow 500 may be implemented by the device 505-a and the device 505-b, which may be as described in reference Figure 2 An example of the described device 205. Device 505 can implement process flow 500 to partition a neural network model for training and use.

[0093] Although described with reference to certain devices performing certain operations, performance of the operations of process flow 500 is not limited to the illustrated devices. For example, operations illustrated as being performed by device 505-a may be performed by device 505-b, and vice versa.

[0094] At 510, device 505-a may collect training data for training a neural network model (e.g., via sensors). At 515, device 505-a may determine to partition the neural network model (e.g., for training). Device 505-a may determine to partition the neural network model based on information such as the size (e.g., amount) of the training data, a state of processing resources at device 505-a, processing capabilities of device 505-a, a training profile for device 505-a, a computation profile for device 505-a, a communication profile for device 505-a, a training profile for device 505-b, a computation profile for device 505-b, a communication profile for device 505-b, or any combination thereof, as well as other metrics. In some examples, device 505-a may determine to partition the neural network based on available processing resources or power resources at device 505-a failing to meet a threshold.

[0095] At 520, device 505-a may send a request to device 505-b to partition the neural network model. Device 505-a may send the request based on determining to partition the neural network model.

[0096] At 523, device 505-a may send partitioning information for determining a partitioning layer for the neural network model to device 505-b. For example, the partitioning information may include information related to the training data (e.g., modality, such as image or time series, size, number of training samples).

[0097] The partition information may additionally or alternatively include information related to the neural network model (e.g., task type such as regression or classification, state of the neural network model, architecture of the neural network model, candidate training parameters for the neural network model such as available learning rates, loss function and training performance metrics such as classification accuracy, current performance metrics such as accuracy and loss). The partition information may additionally or alternatively include information related to the processing capabilities of the device 505-a (e.g., process type such as CPU or GPU, clock speed, number of FLOPs per second). The partition information may additionally or alternatively include profile information or performance information for the device 505-a.

[0098] At 525, device 505-b may determine partition information for device 505-b. In some examples, device 505-b may determine the partition information based on (eg, in response to) the partition request received at 520. The partition information may be similar to the partition information described with reference to 520.

[0099] At 530, device 505-b may select a partitioning layer for partitioning the neural network model. Device 505-b may select a partitioning layer based on the partitioning information for device 505-a and the partitioning information for device 505-b, as well as other information. For example, device 505-b may select a partitioning layer based on network information (e.g., uplink data rate and throughput for the network, downlink data rate and throughput for the network, channel information), profile information for device 505-a, performance information for device 505-a, profile information for device 505-b, performance information for device 505-b, or any combination thereof, as well as other types of information. In some examples, device 505-b may implement aspects of process flow 300 or process flow 400 to select a partitioning layer.

[0100] At 535, device 505-b may send an indication of the partitioning layers to device 505-a. Device 505-b may also send information such as the size of the training data and training parameters (eg, learning rate) used for training at device 505-a.

[0101] In some examples, device 505-a may be a device that selects a partition layer. In such an example, device 505-a may send a request for partition information for device 505-b, and in response to receiving the partition information, may select a partition layer. In addition, device 505-a may send an indication of the partition layer to device 505-b. For example, at 523, device 505-b may send partition information to device 505-a for determining a partition layer for a neural network model. The partition information may include information related to the processing capabilities of device 505-b (e.g., process type, clock speed, FLOPs per second, such as a CPU or GPU). The partition information may additionally or alternatively include profile information or performance information for device 505-b.

[0102] At 525, device 505-a may determine partition information for device 505-a. In some examples, device 505-a may determine the partition information based on (eg, in response to) the partition information received at 523. The partition information may be similar to the partition information described with reference to 520.

[0103] At 530, device 505-a (but not device 505-b) may select a partitioning layer for partitioning the neural network model. Device 505-a may select a partitioning layer based on the partitioning information for device 505-a and the partitioning information for device 505-b, as well as other information. For example, device 505-a may select a partitioning layer based on network information (e.g., uplink data rate and throughput for the network, downlink data rate and throughput for the network, channel information), profile information for device 505-a, performance information for device 505-a, profile information for device 505-b, performance information for device 505-b, or any combination thereof, as well as other types of information. In some examples, device 505-b may implement aspects of process flow 300 or process flow 400 to select a partitioning layer.

[0104] At 535, device 505-a may send an indication of the partitioning layers to device 505-b. Device 505-a may also send information such as the size of the training data and training parameters (eg, learning rate) for training at device 505-b.

[0105] Thus, the partitioning operation between 515 and 535 may be performed by the device as shown, or may be performed by the device in a manner different from that shown.

[0106] At 540, device 505-b may perform a portion of a training session iteration using a first neural network sub-model based on the partitioning layer. At 545, device 505-a may send outputs generated by the first neural network sub-model (denoted as NN1) to device 505-b. For example, device 505-a may send one or more feature vectors generated by the first neural network sub-model. The one or more feature vectors may include feature vectors output by the partitioning layer. Device 505-a may also or alternatively send one or more labels associated with the feature vectors (e.g., for supervised learning tasks).

[0107] At 550, device 505-b may perform a portion of a training session iteration using a second sub-neural network model including a layer adjacent to the split layer based on the output received from device 505-a. As part of the training session iteration, device 505-b may generate gradients and update weights of the layers based on the gradients.

[0108] At 555, device 505-b may transmit outputs generated by the second sub-neural network model (denoted as NN2) to device 505-a. For example, device 505-b may transmit one or more gradient vectors generated by the second sub-neural network. The one or more gradient vectors may include gradient vectors output by layers adjacent to the partitioning layer. In some examples, device 505-b may also transmit updated model information, such as updated (e.g., most recent) classification accuracy on validation data for a classification task (which may be preloaded onto the second device 505-b), mean squared error (MSE) on validation data (e.g., for a regression task), one or more loss functions associated with the neural network model, summary statistics of updated training weights for certain layers, or any combination thereof, as well as other model information.

[0109] At 560, device 505-b may select an updated partitioning layer. Device 505-b may select the updated partitioning layer based on the gradient output by the second sub-neural network model. For example, device 505-b may select (as the updated partitioning layer) a layer of the second sub-neural network model associated with a gradient less than or equal to a threshold gradient (e.g., as shown in FIG. Figure 4 As described above). At 565, device 505-b may send an indication of the updated partition layer to device 505-a. Devices 505-a and 505-b may update the layers of the sub-neural network model based on the updated partition layer. In some examples, the operations at 560 and 565 may be performed by device 505-a.

[0110] At 570, device 505-a may complete an iteration of the training session. In some examples, completing an iteration of the training session may include updating weights of layers in the first child neural network model based on gradient information received from device 505-b. Thus, device 505-a and device 505-b may jointly perform an iteration of the training session for the neural network model split between device 505-a and device 505-b.

[0111] Device 505-a and device 505-b can repeat the operations of process flow 500 to perform multiple iterations of the training session. In some examples, device 505 can selectively perform the partitioning operation (e.g., 515 to 530). For example, device 505 can perform the partitioning operation every n iterations so that the partitioning layer can be updated to account for changes in the device or network. Thus, at the nth iteration, device 505-a can send updated partitioning information to device 505-b, and device 505-b can determine the updated partitioning information for device 505-b, both of which can be used by device 505-b to select an updated partitioning layer.

[0112] At 575, device 505-a may send a request to device 505-b to terminate the training session. Device 505-a may send the request based on performing a threshold number of training session iterations with device 505-b. At 580, device 505-b may send a message to device 505-a confirming the termination of the training session. After training the neural network model, device 505 may use the neural network model to perform one or more inference tasks. For example, at 585, device 505 may use the sub-neural network model trained via process flow 500 to perform a task (e.g., channel estimation). In some examples, the operations at 585 may include the first device 505-a performing a portion of the task using a first sub-neural network and sending the output of the partitioned layer (e.g., feature vector) to the second device 505-b for use by the second sub-neural network.

[0113] Thus, device 505 can implement process flow 500 to partition a neural network model for training and use.

[0114] Figure 6 A block diagram 600 illustrates a device 605 that supports neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure. The device 605 can be an example of aspects of the UE 115 as described herein. The device 605 can include a receiver 610, a transmitter 615, and a communication manager 620. The device 605 can also include a processor. Each of these components can communicate with each other (e.g., via one or more buses).

[0115] Receiver 610 may provide means for receiving information (such as packets, user data, control information, or any combination thereof) associated with various information channels (e.g., control channels, data channels, information channels related to neural network model partitioning in wireless communication systems). The information may be passed to other components of device 605. Receiver 610 may utilize a single antenna or a collection of multiple antennas.

[0116] Transmitter 615 may provide means for transmitting signals generated by other components of device 605. For example, transmitter 615 may transmit information (such as packets, user data, control information, or any combination thereof) associated with various information channels (e.g., control channels, data channels, information channels related to neural network model partitioning in wireless communication systems). In some examples, transmitter 615 may be co-located with receiver 610 in a transceiver module. Transmitter 615 may utilize a single antenna or a collection of multiple antennas.

[0117] The communication manager 620, the receiver 610, the transmitter 615, or various combinations thereof, or various components thereof, may be examples of means for performing various aspects of neural network model partitioning in a wireless communication system as described herein. For example, the communication manager 620, the receiver 610, the transmitter 615, or various combinations thereof, or components thereof, may support methods for performing one or more of the functions described herein.

[0118] In some examples, the communication manager 620, the receiver 610, the transmitter 615, or various combinations or components thereof can be implemented in hardware (e.g., in a communication management circuit). The hardware may include a processor, a digital signal processor (DSP), a central processing unit (CPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a microcontroller, discrete gate or transistor logic components, discrete hardware components, or any combination thereof that is configured as or otherwise supports components for performing the functions described in this disclosure. In some examples, the processor and a memory coupled to the processor can be configured to perform one or more of the functions described herein (e.g., by executing instructions stored in the memory by the processor).

[0119] Additionally or alternatively, in some examples, the communication manager 620, receiver 610, transmitter 615, or various combinations or components thereof may be implemented in code executed by a processor (e.g., as communication management software or firmware). If implemented in code executed by a processor, the functionality of the communication manager 620, receiver 610, transmitter 615, or various combinations or components thereof may be performed by a general-purpose processor (e.g., configured as or otherwise supporting means for performing the functions described in this disclosure), a DSP, a CPU, an ASIC, an FPGA, a microcontroller, or any combination of these or other programmable logic devices.

[0120] In some examples, communication manager 620 can be configured to perform various operations (e.g., receive, obtain, monitor, output, transmit) using or otherwise cooperating with receiver 610, transmitter 615, or both. For example, communication manager 620 can receive information from receiver 610, transmit information to transmitter 615, or be integrated with receiver 610, transmitter 615, or both to obtain information, output information, or perform various other operations as described herein.

[0121] The communication manager 620 may support wireless communication at the first device according to the examples disclosed herein. For example, the communication manager 620 may be configured to or otherwise support a component for obtaining first performance information of the first device associated with different candidate partitioning layers for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device. The communication manager 620 may be configured to or otherwise support a component for receiving second performance information associated with different candidate partitioning layers for partitioning the neural network model from the second device. The communication manager 620 may be configured to or otherwise support a component for selecting a candidate partitioning layer for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device from among the different candidate partitioning layers based on the first performance information and the second performance information.

[0122] By including or configuring a communication manager 620 according to examples as described herein, the device 605 (e.g., a processor controlling or otherwise coupled with the receiver 610, transmitter 615, communication manager 620, or a combination thereof) can support techniques for reducing processing and lowering power consumption.

[0123] Figure 7A block diagram 700 illustrates a device 705 that supports neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure. The device 705 can be an example of aspects of the device 605 or UE 115 as described herein. The device 705 can include a receiver 710, a transmitter 715, and a communication manager 720. The device 705 can also include a processor. Each of these components can communicate with each other (e.g., via one or more buses).

[0124] Receiver 710 may provide means for receiving information (such as packets, user data, control information, or any combination thereof) associated with various information channels (e.g., control channels, data channels, information channels related to neural network model partitioning in wireless communication systems). The information may be passed to other components of device 705. Receiver 710 may utilize a single antenna or a collection of multiple antennas.

[0125] The transmitter 715 may provide means for transmitting signals generated by other components of the device 705. For example, the transmitter 715 may transmit information (such as packets, user data, control information, or any combination thereof) associated with various information channels (e.g., control channels, data channels, information channels related to neural network model partitioning in wireless communication systems). In some examples, the transmitter 715 may be co-located with the receiver 710 in a transceiver module. The transmitter 715 may utilize a single antenna or a collection of multiple antennas.

[0126] Device 705 or its various components may be examples of means for performing various aspects of neural network model partitioning in a wireless communication system as described herein. For example, communication manager 720 may include performance information component 725, performance information manager 730, partitioning layer component 735, or any combination thereof. Communication manager 720 may be an example of aspects of communication manager 620 as described herein. In some examples, communication manager 720 or its various components may be configured to perform various operations (e.g., receive, obtain, monitor, output, transmit) using or otherwise cooperating with receiver 710, transmitter 715, or both. For example, communication manager 720 may receive information from receiver 710, transmit information to transmitter 715, or be integrated with receiver 710, transmitter 715, or both to obtain information, output information, or perform various other operations as described herein.

[0127] The communication manager 720 can support wireless communication at the first device according to examples as disclosed herein. The performance information component 725 can be configured to or otherwise support components for obtaining first performance information of the first device. The first performance information can be associated with different candidate partition layers for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device. The performance information manager 730 can be configured to or otherwise support components for receiving second performance information of the second device. The second performance indication can be associated with different candidate partition layers for partitioning the neural network model. The partition layer component 735 can be configured to or otherwise support components for selecting a candidate partition layer for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device based on the first performance information and the second performance information.

[0128] Figure 8 A block diagram 800 illustrates a communication manager 820 that supports neural network model partitioning in a wireless communication system in accordance with one or more aspects of the present disclosure. The communication manager 820 can be an example of aspects of the communication manager 620, the communication manager 720, or both, as described herein. The communication manager 820 or its various components can be examples of means for performing various aspects of neural network model partitioning in a wireless communication system as described herein. For example, the communication manager 820 can include a performance information component 825, a performance information manager 830, a partition layer component 835, a processor 840, a partition request component 845, a NN model output component 850, or any combination thereof. Each of these components can communicate with each other directly or indirectly (e.g., via one or more buses).

[0129] The communication manager 820 can support wireless communication at the first device according to the examples disclosed herein. The performance information component 825 can be configured to or otherwise support components for obtaining first performance information of the first device. The first performance information can be associated with different candidate partition layers for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device. The performance information manager 830 can be configured to or otherwise support components for receiving second performance information of the second device. The second performance information can be associated with different candidate partition layers for partitioning the neural network model. The partition layer component 835 can be configured to or otherwise support components for selecting a candidate partition layer for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device based on the first performance information and the second performance information.

[0130] In some examples, partition layer component 835 can be configured or otherwise support components for selecting a second candidate partition layer for partitioning the neural network model after performing a first iteration of the training session using the candidate partition layer. In some examples, processor 840 can be configured or otherwise support components for performing a second iteration of the training session using the second candidate partition layer.

[0131] In some examples, performance information component 825 can be configured or otherwise support means for obtaining updated first performance information for a first device based on executing a threshold number of iterations of a training session. In some examples, performance information component 825 can be configured or otherwise support means for receiving updated second performance information for a second device based on executing a threshold number of iterations, wherein a second candidate split layer is selected based on the updated first performance information and the updated second performance information.

[0132] In some examples, the second candidate split layer is selected based on a gradient used to update a weight of the second candidate split layer being less than a threshold gradient.

[0133] In some examples, the first performance information and the second performance information each include latency information and power consumption information.

[0134] In some examples, the partition request component 845 can be configured to or otherwise support a component for sending a request to the second device to partition the neural network model, wherein the second performance information is received based on sending the request. In some examples, the request is sent based on the processing capability of the first device.

[0135] In some examples, partition request component 845 may be configured to or otherwise support means for receiving a request to partition a neural network model from a second device, wherein the first performance information is obtained based on receiving the request.

[0136] In some examples, partition request component 845 can be configured or otherwise support means for sending an indication of a candidate partition layer to the second device based on selecting the candidate partition layer.

[0137] In some examples, processor 840 can be configured to or otherwise support components for performing a portion of a training session iteration using the first sub-neural network model. In some examples, NN model output component 850 can be configured to or otherwise support components for sending an output of a candidate partition layer to a second device based on performing a portion of a training session iteration.

[0138] In some examples, the NN model output component 850 can be configured to or otherwise support a component for receiving, from a second device, a second output of a second layer of the neural network model adjacent to the candidate partition layer based on the transmitted output. In some examples, the processor 840 can be configured to or otherwise support a component for updating one or more weights of the candidate partition layer based on the second output.

[0139] In some examples, the NN model output component 850 can be configured to or otherwise support components for receiving an output of the candidate partition layer from the second device. In some examples, the processor 840 can be configured to or otherwise support components for performing a portion of a training session iteration using the first sub-neural network model based on the output of the candidate partition layer.

[0140] In some examples, the NN model output component 850 may be configured as or otherwise support a component for sending a second output of a second layer of the neural network model adjacent to the candidate partition layer to a second device for updating one or more weights of the candidate partition layer.

[0141] In some examples, processor 840 may be configured to or otherwise support components for performing a portion of a task using a first sub-neural network model, wherein the first sub-neural network model includes a candidate partition layer. In some examples, NN model output component 850 may be configured to or otherwise support components for sending an output of the candidate partition layer to a second device for use by the second sub-neural network model.

[0142] Figure 9 A diagram illustrates a system 900 including a device 905 that supports neural network model partitioning in a wireless communication system, in accordance with one or more aspects of the present disclosure. Device 905 may be an example of device 605, device 705, or UE 115, as described herein, or may include components of such devices. Device 905 may communicate (e.g., wirelessly) with one or more network entities 105, one or more UEs 115, or any combination thereof. Device 905 may include components for two-way voice and data communication, including components for sending and receiving communications, such as a communication manager 920, an input / output (I / O) controller 910, a transceiver 915, an antenna 925, memory 930, code 935, and a processor 940. These components may be in electronic communication or otherwise coupled (e.g., operatively, communicatively, functionally, electronically, or electrically) via one or more buses (e.g., bus 945).

[0143] I / O controller 910 can manage input and output signals for device 905. I / O controller 910 can also manage peripheral devices that are not integrated into device 905. In some cases, I / O controller 910 can represent a physical connection or port to an external peripheral device. In some cases, I / O controller 910 can utilize an operating system such as iOS. ® ANDROID ® , MS-DOS ® 、MS-WINDOWS ® , OS / 2 ® , UNIX ® 、LINUX ® or another known operating system. Additionally or alternatively, I / O controller 910 may represent or interact with a modem, keyboard, mouse, touch screen, or similar device. In some cases, I / O controller 910 may be implemented as part of a processor (such as processor 940). In some cases, a user may interact with device 905 via I / O controller 910 or via hardware components controlled by I / O controller 910.

[0144] In some cases, the device 905 may include a single antenna 925. However, in some other cases, the device 905 may have more than one antenna 925, which may be capable of concurrently transmitting or receiving multiple wireless transmissions. The transceiver 915 may communicate bidirectionally via one or more antennas 925, wired, or wireless links, as described herein. For example, the transceiver 915 may represent a wireless transceiver and may communicate bidirectionally with another wireless transceiver. The transceiver 915 may also include a modem for modulating packets; providing the modulated packets to the one or more antennas 925 for transmission; and demodulating packets received from the one or more antennas 925. The transceiver 915, or the transceiver 915 and the one or more antennas 925, may be examples of the transmitter 615, the transmitter 715, the receiver 610, the receiver 710, or any combination thereof, or components thereof, as described herein.

[0145] The memory 930 may include random access memory (RAM) and read-only memory (ROM). The memory 930 may store computer-readable, computer-executable code 935 including instructions that, when executed by the processor 940, cause the device 905 to perform the various functions described herein. The code 935 may be stored in a non-transitory computer-readable medium such as system memory or another type of memory. In some cases, the code 935 may not be directly executable by the processor 940, but may (e.g., when compiled and executed) cause the computer to perform the functions described herein. In some cases, the memory 930 may also contain, among other things, a basic I / O system (BIOS) that controls basic hardware or software operations, such as interaction with peripheral components or devices.

[0146] The processor 940 may include an intelligent hardware device (e.g., a general-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof). In some cases, the processor 940 may be configured to operate a memory array using a memory controller. In some other cases, the memory controller may be integrated into the processor 940. The processor 940 may be configured to execute computer-readable instructions stored in a memory (e.g., memory 930) to cause the device 905 to perform various functions (e.g., functions or tasks supporting neural network model partitioning in a wireless communication system). For example, the device 905 or a component of the device 905 may include a processor 940 and a memory 930 coupled to or coupled to the processor 940, and the processor 940 and the memory 930 are configured to perform the various functions described herein.

[0147] The communication manager 920 may support wireless communication at the first device according to the examples disclosed herein. For example, the communication manager 920 may be configured to or otherwise support components for obtaining first performance information of the first device. The first performance information may be associated with different candidate partitioning layers for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device. The communication manager 920 may be configured to or otherwise support components for receiving second performance information of the second device. The second performance information may be associated with different candidate partitioning layers for partitioning the neural network model. The communication manager 920 may be configured to or otherwise support components for selecting a candidate partitioning layer for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device based on the first performance information and the second performance information.

[0148] By including or configuring the communication manager 920 according to examples as described herein, the device 905 can support techniques for improving the user experience related to reduced processing and lower power consumption.

[0149] In some examples, the communication manager 920 can be configured to use or otherwise cooperate with the transceiver 915, one or more antennas 925, or any combination thereof to perform various operations (e.g., receiving, monitoring, transmitting). Although the communication manager 920 is illustrated as a separate component, in some examples, one or more functions described with reference to the communication manager 920 can be supported or performed by the processor 940, the memory 930, the code 935, or any combination thereof. For example, the code 935 can include instructions that are executable by the processor 940 to cause the device 905 to perform various aspects of neural network model partitioning in a wireless communication system as described herein, or the processor 940 and the memory 930 can be otherwise configured to perform or support such operations.

[0150] Figure 10 A flowchart illustrating a method 1000 for supporting neural network model partitioning in a wireless communication system according to one or more aspects of the present disclosure is provided. The operations of the method 1000 may be implemented by a UE or a component thereof as described herein. For example, the operations of the method 1000 may be implemented by a UE or a component thereof as described herein. Figures 1 to 9 The described UE 115 performs. In some examples, the UE may execute an instruction set to control the functional elements of the UE to perform the described functions. Additionally or alternatively, the UE may use dedicated hardware to perform various aspects of the described functions.

[0151] At 1005, the method may include obtaining first performance information of a first device associated with different candidate partitioning layers for partitioning a neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device. The operations of 1005 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 1005 may be performed as described in reference to Figure 8 The described performance information component 825 is executed.

[0152] At 1010, the method may include receiving second performance information associated with different candidate partition layers for partitioning the neural network model from a second device. The operations of 1010 may be performed according to the examples disclosed herein. In some examples, aspects of the operations of 1010 may be performed as described in reference to Figure 8 The described performance information manager 830 is executed.

[0153] At 1015, the method may include selecting a candidate partitioning layer from different candidate partitioning layers for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device based on the first performance information and the second performance information. The operation of 1015 may be performed according to the examples disclosed herein. In some examples, aspects of the operation of 1015 may be performed as described in reference to Figure 8 The described partitioning layer component 835 is performed.

[0154] The following provides an overview of various aspects of the disclosure:

[0155] Aspect 1: A method for wireless communication at a first device, the method comprising: obtaining first performance information of the first device associated with different candidate partition layers for dividing a neural network model into a first sub-neural network model on the first device and a second sub-neural network model on a second device; receiving second performance information of the second device associated with the different candidate partition layers for dividing the neural network model; and selecting a candidate partition layer from the different candidate partition layers for dividing the neural network model into the first sub-neural network model on the first device and the second sub-neural network model on the second device based at least in part on the first performance information and the second performance information.

[0156] Aspect 2: According to the method of Aspect 1, the method also includes: after using the candidate partition layer to perform the first iteration of the training session, selecting a second candidate partition layer for partitioning the neural network model; and using the second candidate partition layer to perform the second iteration of the training session.

[0157] Aspect 3: According to the method of Aspect 2, the method also includes: obtaining updated first performance information of the first device based at least in part on executing a threshold number of iterations of the training session; and receiving updated second performance information of the second device based at least in part on executing the threshold number of iterations, wherein the second candidate partitioning layer is selected at least in part based on the updated first performance information and the updated second performance information.

[0158] Aspect 4: The method according to aspect 2, wherein the second candidate partition layer is selected based at least in part on a gradient used to update the weight of the second candidate partition layer being less than a threshold gradient.

[0159] Aspect 5: The method according to any one of aspects 1 to 4, wherein the first performance information and the second performance information each include latency information and power consumption information.

[0160] Aspect 6: According to the method described in any one of Aspects 1 to 5, the method further includes: sending a request to the second device to partition the neural network model, wherein the second performance information is received at least in part based on sending the request.

[0161] Aspect 7: The method of aspect 6, wherein the request is sent based at least in part on a processing capability of the first device.

[0162] Aspect 8: According to the method according to any one of Aspects 1 to 5, the method also includes: receiving a request to partition the neural network model from the second device, wherein the first performance information is obtained at least in part based on receiving the request.

[0163] Aspect 9: The method of aspect 8, further comprising: sending an indication of the candidate partition layer to the second device based at least in part on selecting the candidate partition layer.

[0164] Aspect 10: According to the method described in any one of Aspects 1 to 9, the method also includes: using the first sub-neural network model to perform a portion of a training session iteration; and sending the output of the candidate partition layer to the second device based at least in part on performing a portion of the training session iteration.

[0165] Aspect 11: According to the method of Aspect 10, the method also includes: receiving a second output of a second layer of the neural network model adjacent to the candidate partition layer from the second device based at least in part on sending the output; and updating one or more weights of the candidate partition layer based at least in part on the second output.

[0166] Aspect 12: According to the method described in any one of Aspects 1 to 9, the method also includes: receiving the output of the candidate partition layer from the second device; and using the first sub-neural network model to perform a portion of the training session iteration based at least in part on the output of the candidate partition layer.

[0167] Aspect 13: The method according to Aspect 12 further includes: sending a second output of a second layer of the neural network model adjacent to the candidate partition layer to the first device for updating one or more weights of the candidate partition layer.

[0168] Aspect 14: According to the method described in any one of Aspects 1 to 13, the method further includes: using the first sub-neural network model to perform part of the task, wherein the first sub-neural network model includes the candidate partition layer; and sending the output of the candidate partition layer to the second device for use by the second sub-neural network model.

[0169] Aspect 15: An apparatus for wireless communication at a first device, the apparatus comprising: a processor; a memory coupled to the processor; and instructions stored in the memory and executable by the processor to cause the apparatus to perform a method according to any one of Aspects 1 to 14.

[0170] Aspect 16: An apparatus for wireless communication at a first device, the apparatus comprising at least one means for performing the method according to any one of aspects 1 to 14.

[0171] Aspect 17: A non-transitory computer-readable medium storing code for wireless communication at a first device, the code comprising instructions executable by a processor to perform the method according to any one of aspects 1 to 14

[0172] It should be noted that the methods described herein describe possible implementations, and that the operations and steps may be rearranged or otherwise modified and that other implementations are possible. Furthermore, aspects from two or more methods may be combined.

[0173] Although aspects of LTE, LTE-A, LTE-A Pro, or NR systems may be described for example purposes, and the terminology of LTE, LTE-A, LTE-A Pro, or NR may be used throughout much of the description, the techniques described herein may also be applicable to networks other than LTE, LTE-A, LTE-A Pro, or NR networks. For example, the techniques described may be applicable to various other wireless communication systems, such as Ultra Mobile Broadband (UMB), Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, and other systems and radio technologies not explicitly mentioned herein.

[0174] The information and signals described herein may be represented by any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips referred to throughout the description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

[0175] The various illustrative blocks and components described in conjunction with the disclosure herein may be implemented or executed using a general purpose processor, a DSP, an ASIC, a CPU, an FPGA or other programmable logic device, discrete gate or transistor logic components, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration).

[0176] The functions described herein may be implemented using hardware, software executed by a processor, firmware, or any combination thereof. If implemented using software executed by a processor, the functions may be stored as one or more instructions or codes of a computer-readable medium, or sent using one or more instructions or codes of a computer-readable medium. Other examples and implementations are within the scope of this disclosure and the appended claims. For example, due to the nature of software, the functions described herein may be implemented using software executed by a processor, hardware, firmware, hard wiring, or a combination of any of these. Features that implement the functions may also be physically located at different locations, including being distributed so that various parts of the functions are implemented at different physical locations.

[0177] Computer-readable media includes both non-transitory computer storage media and communication media, including any media that facilitates the transfer of a computer program from one location to another. Non-transitory storage media can be any available medium that can be accessed by a general-purpose or special-purpose computer. By way of example and not limitation, non-transitory computer-readable media can include RAM, ROM, electrically erasable programmable ROM (EEPROM), flash memory, compact disc (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to carry or store desired program code components in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer or a general-purpose or special-purpose processor. In addition, any connection is appropriately referred to as a computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwaves, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwaves are included within the definition of computer-readable media. As used herein, disk and disc include CDs, laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs. Disks can reproduce data magnetically, and discs can reproduce data optically using lasers. Combinations of the above are also included within the scope of computer-readable media.

[0178] As used herein (including in the claims), "or" used in a list of items (e.g., a list of items followed by a phrase such as "at least one of" or "one or more of") indicates an inclusive list, so that, for example, a list of at least one of A, B, or C means A or B or C or AB or AC or BC or ABC (i.e., A and B and C). In addition, as used herein, the phrase "based on" should not be interpreted as a reference to a closed set of conditions. For example, an example step described as "based on condition A" can be based on both condition A and condition B without departing from the scope of this disclosure. In other words, as used herein, the phrase "based on" should be interpreted in the same manner as the phrase "based at least in part on."

[0179] The term "determining" encompasses a variety of actions, and thus, "determining" may include calculating, computing, processing, deriving, investigating, looking up (such as via looking up in a table, database, or other data structure), ascertaining, etc. Furthermore, "determining" may include receiving (e.g., receiving information), accessing (e.g., accessing data stored in a memory), etc. Furthermore, "determining" may include resolving, retrieving, selecting, choosing, establishing, and other such similar actions.

[0180] In the drawings, similar components or features may have the same reference label. In addition, various components of the same type may be distinguished by following the reference label with a dash and a second label to distinguish between similar components. If only the first reference label is used in the specification, the description can apply to any of the similar components having the same first reference label, regardless of the second reference label or other subsequent reference labels.

[0181] The description set forth herein in conjunction with the accompanying drawings describes example configurations and does not represent all examples that may be implemented or within the scope of the claims. The term "example" as used herein means "serving as an example, instance, or illustration," rather than "preferred" or "having advantages over other examples." The detailed description includes specific details to provide an understanding of the described techniques. However, these techniques can be practiced without these specific details. In some cases, known structures and devices are shown in block diagram form to avoid obscuring the concepts of the described examples.

[0182] The description herein is provided to enable one of ordinary skill in the art to make or use the present disclosure. Various modifications to the present disclosure will be apparent to those of ordinary skill in the art, and the general principles defined herein may be applied to other variations without departing from the scope of the present disclosure. Thus, the present disclosure is not limited to the examples and designs described herein, but should be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A first device for wireless communication, the first device comprising: processor; a memory coupled to the processor; as well as instructions stored in the memory and executable by the processor to cause the first device to: Obtaining first performance information of the first device associated with different candidate partition layers for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device; receiving, from the second device, second performance information associated with the different candidate partitioning layers for partitioning the neural network model; as well as A candidate partitioning layer from among the different candidate partitioning layers is selected based at least in part on the first performance information and the second performance information to partition the neural network model into the first sub-neural network model on the first device and the second sub-neural network model on the second device.

2. The first device of claim 1 , wherein the instructions are further executable by the processor to cause the first device to: After performing a first iteration of a training session using the candidate partition layer, selecting a second candidate partition layer for partitioning the neural network model; and A second iteration of the training session is performed using the second candidate partition layer.

3. The first device of claim 2, wherein the instructions are further executable by the processor to cause the first device to: obtaining updated first performance information for the first device based at least in part on performing a threshold number of iterations of the training session; and Updated second performance information is received for the second device based at least in part on performing the threshold number of iterations, wherein the second candidate partition layer is selected based at least in part on the updated first performance information and the updated second performance information. 4 . The first apparatus of claim 2 , wherein the second candidate partition layer is selected based at least in part on a gradient used to update a weight of the second candidate partition layer being less than a threshold gradient. 5 . The first device according to claim 1 , wherein the first performance information and the second performance information each include latency information and power consumption information.

6. The first device of claim 1 , wherein the instructions are further executable by the processor to cause the first device to: Sending a request to the second device to partition the neural network model, wherein the second performance information is received based at least in part on sending the request. The first device of claim 6 , wherein the request is sent based at least in part on a processing capability of the first device.

8. The first device of claim 1 , wherein the instructions are further executable by the processor to cause the first device to: A request to partition the neural network model is received from the second device, wherein the first performance information is obtained based at least in part on receiving the request.

9. The first device of claim 1 , wherein the instructions are further executable by the processor to cause the first device to: An indication of the candidate partition layer is sent to the second device based at least in part on selecting the candidate partition layer.

10. The first device of claim 1 , wherein the instructions are further executable by the processor to cause the first device to: performing a portion of a training session iteration using the first neural network sub-model; and Sending an output of the candidate partition layer to the second device based at least in part on performing a portion of the training session iterations.

11. The first device of claim 10, wherein the instructions are further executable by the processor to cause the first device to: receiving, from the second device, a second output of a second layer of the neural network model adjacent to the candidate partition layer based at least in part on transmitting the output; and One or more weights of the candidate partition layer are updated based at least in part on the second output.

12. The first device of claim 1 , wherein the instructions are further executable by the processor to cause the first device to: receiving an output of the candidate partition layer from the second device; and Performing a portion of a training session iteration using the first sub-neural network model based at least in part on the output of the candidate partition layer.

13. The first device of claim 12, wherein the instructions are further executable by the processor to cause the first device to: A second output of a second layer of the neural network model adjacent to the candidate partition layer is sent to the second device for updating one or more weights of the candidate partition layer.

14. The first device of claim 1 , wherein the instructions are further executable by the processor to cause the first device to: Using the first sub-neural network model to perform a portion of the task, wherein the first sub-neural network model includes the candidate partition layer; and The output of the candidate partition layer is sent to the second device for use by the second sub-neural network model.

15. A method for wireless communication at a first device, the method comprising: Obtaining first performance information of the first device associated with different candidate partition layers for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device; receiving, from the second device, second performance information associated with the different candidate partitioning layers for partitioning the neural network model; as well as A candidate partitioning layer from among the different candidate partitioning layers is selected based at least in part on the first performance information and the second performance information to partition the neural network model into the first sub-neural network model on the first device and the second sub-neural network model on the second device.

16. The method according to claim 15, further comprising: After performing a first iteration of a training session using the candidate partitioning layer, selecting a second candidate partitioning layer for partitioning the neural network model; as well as A second iteration of the training session is performed using the second candidate partition layer.

17. The method according to claim 16, further comprising: obtaining updated first performance information for the first device based at least in part on performing a threshold number of iterations of the training session; as well as Updated second performance information is received for the second device based at least in part on performing the threshold number of iterations, wherein the second candidate partition layer is selected based at least in part on the updated first performance information and the updated second performance information.

18. The method of claim 16, wherein the second candidate partition layer is selected based at least in part on a gradient used to update a weight of the second candidate partition layer being less than a threshold gradient. The method according to claim 15 , wherein the first performance information and the second performance information each include latency information and power consumption information.

20. The method according to claim 15, further comprising: Sending a request to the second device to partition the neural network model, wherein the second performance information is received based at least in part on sending the request.

21. The method of claim 20, wherein the request is sent based at least in part on a processing capability of the first device.

22. The method according to claim 15, further comprising: A request to partition the neural network model is received from the second device, wherein the first performance information is obtained based at least in part on receiving the request.

23. The method according to claim 15, further comprising: An indication of the candidate partition layer is sent to the second device based at least in part on selecting the candidate partition layer.

24. The method according to claim 15, further comprising: performing a portion of a training session iteration using the first neural network sub-model; as well as Sending an output of the candidate partition layer to the second device based at least in part on performing a portion of the training session iterations.

25. The method according to claim 24, further comprising: receiving, from the second device, a second output of a second layer of the neural network model adjacent to the candidate partition layer based at least in part on transmitting the output; as well as One or more weights of the candidate partition layer are updated based at least in part on the second output.

26. The method according to claim 15, further comprising: receiving an output of the candidate partition layer from the second device; as well as Performing a portion of a training session iteration using the first sub-neural network model based at least in part on the output of the candidate partition layer.

27. The method according to claim 26, further comprising: A second output of a second layer of the neural network model adjacent to the candidate partition layer is sent to the second device for updating one or more weights of the candidate partition layer.

28. The method of claim 15, further comprising: Using the first sub-neural network model to perform a portion of the task, wherein the first sub-neural network model includes the candidate partition layer; as well as The output of the candidate partition layer is sent to the second device for use by the second sub-neural network model.

29. An apparatus for wireless communication at a first device, the apparatus comprising: a component for obtaining first performance information of the first device associated with different candidate partition layers for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device; a component for receiving, from the second device, second performance information associated with the different candidate partitioning layers for partitioning the neural network model; as well as A component for selecting a candidate partition layer from the different candidate partition layers for partitioning the neural network model into the first sub-neural network model on the first device and the second sub-neural network model on the second device based at least in part on the first performance information and the second performance information.

30. A non-transitory computer-readable medium storing code for wireless communication at a first device, the code comprising instructions executable by a processor to: Obtaining first performance information of the first device associated with different candidate partition layers for partitioning the neural network model into a first sub-neural network model on the first device and a second sub-neural network model on the second device; receiving, from the second device, second performance information associated with the different candidate partitioning layers for partitioning the neural network model; as well as A candidate partitioning layer from among the different candidate partitioning layers is selected based at least in part on the first performance information and the second performance information to partition the neural network model into the first sub-neural network model on the first device and the second sub-neural network model on the second device.