Federated split deep neural network computing

EP4767261A1Pending Publication Date: 2026-07-01GOOGLE LLC

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
GOOGLE LLC
Filing Date
2024-10-01
Publication Date
2026-07-01

AI Technical Summary

Technical Problem

User equipment (UE) executing deep neural networks (DNNs) faces capability constraints such as limited processing power, memory, battery power, and hardware specifications, which can hinder the execution of DNNs, especially for complex applications like extended reality (XR).

Method used

The implementation of a federated split deep neural network (DNN) computing method, where UEs are assigned to federated learning groups for split execution of neural networks. This involves dividing the DNN into parts, with the network entity executing one part and each UE executing a local part, allowing for updates to be shared and parameters to be adjusted locally and globally.

Benefits of technology

This approach ensures that sensitive data remains locally on the UE while leveraging network resources for computation, enabling the execution of larger and more complex DNNs than would be possible with local UE execution alone, thus addressing privacy and capability constraints.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024049388_10042025_PF_FP_ABST
    Figure US2024049388_10042025_PF_FP_ABST
Patent Text Reader

Abstract

Federated machine learning (FML) is combined with user equipment (UE) split deep neural network (DNN) computing. A plurality of UEs are assigned to a federated learning group for performing split execution of a neural network (106), such that a computing system executes a respective first part (106A) of the neural network and each UE in the federated learning group executes a respective second part (106B) of the neural network. An initial indication of a neural network configuration (114A-M) for the second part of the neural network is transmitted to the UEs in the federated learning group. Parameters of the second part of the neural network are updated based on update information (126-M) to the respective second parts of the neural network is received from at least two UEs, and an update indication (130) of the updated parameters is sent to the UEs in the federated learning group.
Need to check novelty before this filing date? Find Prior Art

Description

FEDERATED SPLIT DEEP NEURAL NETWORK COMPUTINGBACKGROUND AND TECHNICAL PROBLEM

[0001] For Fifth Generation (5G) advanced and Sixth Generation (6G) cellular standards, the use of deep neural networks (DNNs), are expected to play an important role. For example, to support extended reality (XR) use cases, such as virtual reality (VR) and augmented reality (AR), DNNs can be used for image rendering.

[0002] However, a user equipment (UE) executing such applications may have capability constraints that affect the execution of DNNs by the UE, such as constraints on processing power, available memory, available battery power or the like. Such constraints can be temporary, e.g. available battery power, current memory, or processor usage or the like, or permanent, e.g. hardware specifications of the UE. In addition, a UE permits a user to control access to data.SUMMARY OF EMBODIMENTS

[0003] In a first aspect, the present disclosure provides a computer implemented method, performed by a computing system, the method comprising: receiving, from a user equipment, UE, a request for a neural network configuration; assigning, based on the request, the UE to a federated learning group comprising a plurality of UEs performing split execution of a neural network, such that the computing system executes a respective first part of the neural network for each UE in the federated learning group and each UE in the federated learning group executes a respective second part of the neural network; transmitting, to the plurality of UEs in the federated learning group, an initial indication of a neural network configuration for the second part of the neural network; receiving, from at least two of the plurality of the UEs in the federated learning group, respective update information to the respective second parts of the neural network executed at the plurality of UEs; updating, based on the update information, parameters of the second part of the neural network; and sending, to the plurality of UEs in the federated learning group, an update indication of the updated parameters of the second part of the neural network.

[0004] In a further aspect, this specification provides a computer implemented method performed by a user equipment, UE, the method comprising: transmitting, to a network node, a request for a neural network configuration; receiving, in response to the request, an initial indication of a neural network configuration for a second part of the neural network to be executed locally at the UE; receiving, from the network node, an intermediate output of the neural network model generated by a first part of the neural network; processing, by the second part of the neural network model, the intermediate output to generate a model output of the neural network; generating an update for the second part of the neural network based on the model output and using a local update process; and transmitting, to the network node, the update.

[0005] Further aspects of the present disclosure provide systems, apparatus, and computer readable media for implementing any of the methods described herein.

[0006] The systems, methods and apparatus described herein may be implemented to realise one or more of the following advantages. The use of split deep neural networks (DNNs) in combination with federated learning can ensure that sensitive data portions, such as private user data, can be retained locally at a UE during both DNN inference and DNN training, while allowing the UE to leverage network resources to when executing a DNN, for example in order to execute a larger and / or more complex DNN than would be possible using only local UE execution.BRIEF DESCRIPTION OF THE DRAWINGS

[0007] FIG. 1 A shows an overview of an example system and method for assigning UEs to a federated learning group;

[0008] FIG. 1 B shows an overview of an example system and method for executing a split DNN;

[0009] FIG. 1C shows an overview of an example system and method for updating a split DNN using federated machine learning;

[0010] FIG. 2 shows an overview of a further example system for executing a split DNN, in which the UE-side split of the DNN is not identical for all UEs in the federated learning group;

[0011] FIG. 3 shows a signalling diagram for performing federated learning with split DNN architectures;

[0012] FIG. 4A shows an example of signalling diagram for executing user plane data at a two-part split DNN;

[0013] FIG. 4B shows a further example of a signalling diagram for executing user plane data at a three-part split DNN;

[0014] FIG. 4C shows a further example of signalling diagram for executing user plane data at a two-part split DNN;

[0015] FIG. 4D shows a further example of a signalling diagram for executing user plane data at a three-part split DNN;

[0016] FIG. 5A shows an example of a federated machine learning process for a two-part split DNN;

[0017] FIG. 5B shows an example of a federated machine learning process for a three-part split DNN;

[0018] FIG. 5C shows a further example of a federated machine learning process for a two-part and / or a three-part split DNN;

[0019] FIG. 6 shows a flow diagram of an example network-side method for performing federated learning with split DNN architectures;

[0020] FIG. 7 shows a flow diagram of an example UE-side method for performing federated learning with split DNN architectures;

[0021] FIG. 8 shows an example system for performing any of the methods described; and

[0022] FIG. 9 shows an example computer readable medium.DETAILED DESCRIPTION

[0023] This specification describes systems, methods and apparatus that combine federated machine learning (FML) with user equipment (UE) split deep neuralnetwork (DNN) computing, where FML is used to address UE privacy constraints and split computing is used to address both UE local computation capability and UE privacy constraints. In addition to addressing privacy and power constraints, combining FML with split DNNs also helps network efficiency when updating DNN models.

[0024] FIGs. 1 A-C show an overview of an example system and method for establishing and performing FML for a split-DNN. The system includes a network entity 102 (also referred to herein as a “network node” or “network element”), such as a base station, edge device, or a component of a core network, and a plurality of user equipments (UEs) 104A-N. The system is configured to set up and perform FML using a DNN 106 whose execution is split between the network entity 102 and each of a plurality of UEs 104A-M in a federated machine-learning group 110 (an “FML group”).

[0025] FIG. 1A shows an overview of an example system and method 100A for assigning UEs 104A-M to a federated machine learning (FML) group 110. Each UE 104A-N of a plurality of UEs transmits to a network entity 102 a request 112A-N for a DNN 106 configuration. Details of the requests 112A-N and conditions that can trigger a request from a UE 104A-N are described in further detail with respect to FIG. 3.

[0026] Based on the requests 112A-N, the network entity 102 determines whether to configure the UEs 104A-N for split execution of the DNN 106. The network entity groups a plurality of the UEs 104A-M into a group 110 for FML based on, for example, the configuration for split execution of the DNN 106 by the UEs 104A-M in the FML group 110 and / or capabilities of the UEs 104A-M in the group being similar.

[0027] In the example shown, one UE 104N is not assigned to the FML group 110, e.g., due to the unassigned UE 104N having different capabilities relative to the UEs 104A-M in the FML group 110 and / or being assigned a different configuration for split execution of the DNN 106 by the network entity 102. If a further FML group (not shown) containing UEs with similar capabilities to the unassigned UE 104N already exists, the unassigned UE 104N is assigned to the further FML group. If no such group has yet been set up by the network entity 102, then the UE 104N remainsunassigned to a FML group until the network entity 102 determines that one or more further UEs (not shown) that request a DNN 106 architecture configuration are suitable for grouping with the 104N to form a further FML group. Also, if a UE in the FML group 110 experiences a change in capabilities, the network entity 102 may regroup that UE into another FML group.

[0028] For UEs 104A-M that the network entity has assigned a split DNN 106 configuration, the network entity 102 splits the DNN 106 into a first part 106A and a second part 106B based on the requests 112A-M, and transmits configuration data 114A-M to the UEs 104A-M in the FML group 110. At inference time, in the example shown, the network entity 102 executes the first part of the DNN 106A (i.e. , the input part of the DNN) and the UEs 104A-N each execute a local copy 108A-M (also referred to as a “replica”) of the second part of the DNN 106B (i.e., the output part of the DNN), as described in relation to FIG. 1 B and FIG. 4A. In some alternative examples, the UEs 104A-M each execute a local copy 108A-M of the first part of the DNN 106B (i.e., the input part of the DNN) and the network entity 102 executes the second part of the DNN (i.e., the output part of the DNN), as described in relation to FIG. 4C.

[0029] In the example shown, the DNN 106 is split into two parts 106A, 106B for UEs 104A-M in the FML group 110. However, in some alternative examples, the DNN 106 may be split into an initial / input part, an intermediate / middle part, and an output / final part. In some implementations, the initial and final parts are executed by the UEs 104A-M, with the intermediate part executed by the network entity 102. Examples of such a configuration are described with respect to FIG. 4B. In alternative implementations, the network entity 102 executes the initial and final parts of the DNN, with the intermediate part executed by the UEs 104A-N. Examples of such a configuration are described with respect to FIG. 4D.

[0030] The network entity 102 determines whether to combine a plurality of UEs 104A-M into an FML group 110 based on the requests 112A and the DNN 106 structure and split. In some examples, UEs with the same split location, i.e., UEs 104A-M whose UE-side DNN 108 have identical architectures, are assigned to the same FML group 110. In some examples, UEs whose UE-side DNN split at least a threshold number of layers in common with each other are assigned to the same FMLgroup 110 as will be described with respect to FIG. 2. Alternatively or additionally, UEs with similar capabilities and / or local conditions are assigned to the same FML group 110.

[0031] In some implementations, if an FML group 110 has already been established for UEs 104A-M with similar properties (e.g., the same split locations, similar capabilities etc), the network entity 102 assigns newly requesting UEs (not shown) to the existing group. If no suitable FML group is available, the network entity 102 establishes another FML group and assigns the newly requesting UE (and other requesting UEs with similar properties) to this other FML group.

[0032] After the requesting UEs 104A-M have been assigned to an FML group 110, the network entity 102 transmits a configuration message 114A-M to the UEs 104A-M in the FML group 110. For example, to save network overhead, in some implementations the network entity 102 multicasts the configuration message 114A-M to the UEs 104A-M in the FML group 110. In some examples, the network entity 102 uses unicast messaging such as when a UE is joining an established FML group 110 or switching between FML groups 110, or when a UE is performing a cell handover or other mobility procedures. The configuration message 114A-M is, in some examples, transmitted as a non-access stratum (NAS) layer message. Separate configuration messages 114N are also transmitted to UEs 104N that are not assigned to the FML group 110, e.g., indicating that the UE 104N is assigned to a further FML group or not assigned to any FML group.

[0033] The configuration message 114A-N includes, in some implementations, indications of the architecture of the second part of the DNN 106B. For example, the configuration message 114A-M indicates a network structure for the replica 108A-M to be formed at each UE 104A-M.

[0034] The configuration message 114A-M includes, in some implementations, FML configuration parameters indicative of the FML group 110 identity and / or properties of the FML process the federated UEs 104A-M should use. Examples of FML configuration parameters are described in further detail with respect to FIG. 3.

[0035] In some implementations, the UEs 104A-M can execute multiple split DNN portions, e.g., each split DNN portion performing a different function for a LIE, and thus be assigned to more than one FML group. For example, a UE can be assigned to different FML groups for each of the DNNs it is executing. For example, an FML group for a first DNN contains UEs 104A-M, while a different subset of UEs 104A-B also implement a second DNN that could be either split with a network entity or a complete (non-split) DNN.

[0036] FIG. 1 B shows an overview of an example system and method 100B for executing a split DNN 106. In the example shown, the UE-side part of the neural network 108A-M has an identical architecture for each UE 104A-M in the FML group 110. However, in some examples, a proper subset of the UEs 104A-M in the FML group 110 executes one or more additional layers, as described in further detail with respect to FIG. 2. For simplicity of explanation, a single FML group 110 is shown.

[0037] When performing split execution of the neural network 106 with UEs 104A- M, the network entity 102 processes input data 116A-M associated with the UE 104A- M using the first part of the neural network 106A to generate a corresponding intermediate output 120A-M, i.e., the output of an intermediate layer 118 of the neural network 106. In some implementations, the input data 116A-M is generated / captured at the UEs 104A-M, and transmitted from the UEs 104A-M to the network entity 102, e.g., as described with respect to FIG. 4A. In some implementations, the input data originates at the network entity 102, or from the core network, e.g., as described with respect to FIG. 4D.

[0038] The intermediate output 120A-M for a given input is transmitted from the network entity 102 to the corresponding UE 104A-M. The corresponding UE 104A-M receives the intermediate output 120A-M and processes it using the local version of the second part of the DNN 108A-M (also referred to as a “replica” of the second part 106B of the DNN 106) to generate a respective network output 122A-M.

[0039] In the example shown in FIG. 1 B, the DNN 106 is split into two parts. However, in some implementations, the network entity splits the DNN into three or more parts. Examples of such three-part DNN configurations are described with respect to FIG. 4B and FIG. 4D.

[0040] FIG. 1C shows an overview of an example system and method 100C for updating a split DNN 106 using federated machine learning.

[0041] Each UE 104A-M in the FML group 110 performs a local update procedure 124A-M based on respective output data 122A-M generated at the UE (see FIG. 1 B) to generate update information 126A-M. In some implementations, the update procedure 124A-M at each UE 124A-M includes determining gradients of an objective function with respect to parameters (i.e., weights and / or biases) of the local version of the UE-side split of the DNN 108A-M, for example using backpropagation of gradients. In some implementations, the local update procedure 124A-M includes applying an optimisation routine, such as stochastic gradient descent, to an objective function to determine updates to values of the parameters of the UE-side split of the DNN 108A-M. The local update procedure 124A-M is, in some examples, a supervised learning procedure (e.g., based on an objective function comparing network outputs 122A-M to corresponding ground truth data, i.e., a labelled training dataset), a semi-supervised learning procedure (e.g., using a mix of labelled training data and unlabelled training data) or an unsupervised learning procedure (e.g., using unlabelled training data).

[0042] The update information 126A-M from each UE 104A-M in the FML group 110 is transmitted to the network entity 102. In some examples, each UE 104A-M transmits a NAS layer message containing its respective update information 126A-N. The network entity 102 uses the update information 126A-M to perform an update procedure 128 (also referred to as a “global update procedure”) on the second part of the DNN 106B (i.e., the network-side version / replica of the UE-side split of the DNN) using FML techniques.

[0043] In some implementations, the update information 126A-M includes updated parameter values of the UE-side split of the DNN 108A-N. For example, in some implementations the update information 126A-M includes the updated parameter values of the UE-side split of the DNN 108A-M. In other alternative implementations, the update information 126A-M includes differences between the current parameter values of the UE-side split of the DNN 108A-M and the updated values, i.e., the “deltas” determined by the local update procedures 124A-M. The network entity combines the update information 126A-M from the UEs in the FML group 110 forexample by averaging or weighted averaging, to determine the updates to the second part of the DNN 106B.

[0044] In some implementations, the update information 126A-N includes the local gradients of the objective function with respect to the parameters of the replica 108A- M. The network entity 102 combines the local gradients from the UEs 104A-M in the FML group and uses the combined gradients to determine updates to parameters of the second part of the DNN 106B, for example using an optimisation routine such as stochastic gradient descent. In some implementations, the network entity 102 updates 130 the first part of the DNN 106A using the local gradients, for example by backpropagating the local gradients through the first part of the DNN 106A and applying an optimisation routine.

[0045] In examples where the DNN 106 has three split parts (see FIGs. 4B and 4D), the network-side part of the DNN, in some implementations, transmits gradient information to the UEs 104A-M, which use the gradient data to perform a local update procedure on the preceding part of the DNN. The UEs 104A-M transmit local update information for the preceding part of the DNN back to the network entity 102. The network entity 102 uses the local update information for the preceding part of the DNN to update the network-side version of the preceding part of the DNN using an FML procedure.

[0046] FIG. 2 shows an overview of a further example system / method 200 for executing a split DNN, in which the UE-side split of the DNN 208A-M is not identical for all UEs 204A-M in the FML group 210. For ease of presentation, only two UEs 202A, 204M are shown. Each UE 208A-M in the FML group 210 executes a first set of one or more DNN layers that is common across the FML group 210 (also referred to as the “common set of layers”). In the example of FIG. 1 B, all UEs 104A-M in the FML group 110 execute only these common layers. However, in the example of FIG. 2, one or more UEs 204A in the FML group 210 each execute a respective one or more additional layers of the DNN. In other words, all UEs 204A-M in the FML group 210 execute the common set of layers reflecting a replica of the second part 206B of the split DNN 206, and a proper subset of UEs 204A in the FML group 210 execute an additional one or more layers of the split DNN 206.

[0047] The method proceeds as described above in relation to FIG. 1 B, with the exception that the intermediate outputs 220A for UEs 204A executing additional layers are taken from an earlier intermediate layer 218A of the first part of the DNN 206A than the intermediate outputs 220M for UEs 204M executing only the common layers. During the FML update process (corresponding to FIG. 1 C), the network entity sends updates relating to the common layers 206B received from all UEs 204A-M in the FML group 110 to update the common layers 206B of the split DNN 206. Additional update information is, in some examples, received from the UEs 204A executing additional layers. The network entity 202 uses this additional update information to update the version of the additional layers 218M maintained by the network entity.

[0048] FIG. 3 shows a high-level signalling diagram for performing federated learning with split DNN architectures. In the example shown, two UEs 304A, 304B are shown, though in general a plurality of UEs can be utilised. Operations 312, 340, 314 and 342 correspond to the methods described in relation to FIG. 1A. Operations 344A and 344B correspond to the methods described in relation to FIG. 1 B. Operations 324-332 correspond to the methods described in relation to FIG. 1C.

[0049] Each UE 304A, 304B transmits a respective request for a DNN configuration 312A, 312B to the network node / entity 302. A request 312A, 12B from a UE 304A, 304B is triggered, for example, when one or more conditions are satisfied. For example, a request 312A, 312B can be triggered when a UE 304A, 304B determines that it cannot / can no longer execute a DNN locally, for example due to a change in local conditions at the UE. Alternatively or additionally, a request 312A, 312B can be triggered when DNN constraints of a UE 304A, 304B change such that the UE 304A, 304B can no longer support a current DNN configuration, e.g. a DNN configuration previously supplied by the network entity 302. Alternatively or additionally, a request 312A, 312B from a UE 304A, 304B is triggered when a UE that is already performing split execution of a DNN 306 with a different network entity (not shown) joins a cell of the network entity 302.

[0050] The requests 312A, 312B are, for example, transmitted as a message in the non-access stratum (NAS) layer of the protocol stack, for example as information elements (lEs). One or more messages may form the basis for a request, and arequest may include any of several parameters such as: an explicit request, current DNN-specific capabilities of the UE 104, or DNN-specific parameters, perhaps providing an implicit request.

[0051] In some implementations, a request 312A, 312B for a DNN architecture configuration identifies a particular DNN, e.g., the request contains an identifier for the DNN for which split execution is being requested. Alternatively, request 312A, 312B for a DNN architecture configuration identifies a function that a UE 304A, 304B is requesting, e.g., an image / audio classification function, an image / audio generation function, a network resource prediction function, an augmented reality function, an image / video / audio enhancement function (such as super-resolution and / or denoising), a structure-from-video function, or the like. Based on the identified function, the network node 302 selects a DNN to use from a plurality of available DNNs.

[0052] In some implementations, a request 312A, 312B for a DNN architecture configuration includes an explicit indication of the location of the split for the DNN, i.e. , the UE 304A, 304B sending the request determines the split location and communicates it to network entity 302 as part of the request 312A, 312B.

[0053] In some alternative implementations, a request 312A, 312B for a DNN architecture configuration includes UE capability information or UE assistance information as defined by 3GPP indicating one or more capabilities of the requesting UE 304A, 304B. In some implementations, UE capability information or UE assistance information is provided separately to a request 312A, 312B as part of another message, i.e., a non-DNN-specific message. Examples of UE capabilities include hardware specifications of the UE, such as a processor speed and / or a memory size.

[0054] Alternatively or additionally, a request 312A, 312B includes an indication of DNN related constraints of the corresponding UE 304A, 304B. DNN related constraints include, for example, one or more of: a number / type of DNN nodes supported by the UE; types of DNN layers supported by the UE; types of convolutional layer supported by the UE (e.g., sizes of supported convolutionalfilters); and / or fully connected layer capabilities (e.g. a maximum number of nodes supported in a fully connected layer).

[0055] Alternatively or additionally, a request 312A, 312B indicates one or more local LIE conditions. Examples of such conditions include one or more of: a current processor and / or memory availability / usage; a current power level / availability / usage; a signal strength at the UE location; and / or a UE temperature. In such implementation, the network entity 102 determines the location of the split for each UE based on the capability data and / or local conditions received from the respective UE 304A, 304B.

[0056] Collectively, the UE capability information, UE assistance information, local UE conditions, and / or DNN related constraints are referred to as “UE constraints” or “UE local constraints.” In some examples, the UE constraints include privacy constraints.

[0057] The network node 302 determines 340 a split architecture for the DNN for each requesting UE 304A, 304B, and determines if FML can be supported for a group of the requesting UEs 304A, 304B.

[0058] In implementations where the requests 312A, 312B include a split location for the DNN, the network node 302 uses the split location to determine the split architecture for the DNN for each requesting UE 304A, 304B consistent with FIG. 1 B or FIG. 2.

[0059] In implementations where the network node 302 is provided with UE constraints (either as part of the request 312A, 312B or otherwise), the network node 302 determines the split location for the DNN. For example, the network node 302 uses a look-up table accessible by the network node 302 to determine the split location for the DNN based on the UE constraints. In alternative implementations, the network node 302 determines a resource requirement for each of a plurality of candidate split locations. The network node then selects a split location from the plurality of candidate split locations based on the UE constraints compared to the resource requirement. For example, the network node 302 selects the split locationthat results in the smallest network-side split for which the UE constraints are satisfied.

[0060] In some implementations, the network node 302 determines if FML can be supported for a group of the requesting UEs 304A, 304B based on the determined split location for the UEs 304A, 304B. For example, an FML group is created from a plurality of UEs 304A, 304B that have the same split location(s) for the DNN, i.e. , whose network-side portions of the DNN are identical and UE-side portions of the DNN are identical, as described in relation to FIG. 1A-C. Alternatively, an FML group is created from a plurality of UEs 304A, 304B whose UE-side DNN splits satisfy one or more similarity criteria; for example, have at least a threshold number of layers in common and / or less than a threshold number of different layers, e.g., as described in relation to FIG. 2.

[0061] Alternatively, the network node 302 determines if FML can be supported for a group of the requesting UEs 304A, 304B based on the UE constraints for the UEs 304A, 304B. The network node 302, for example, groups a plurality of UEs 304A, 304B having similar (or identical) values for the UE constraints into an FML group.

[0062] Following determination 340 of the split network architecture and the FML grouping, the network node 302 causes transmission of an initial indication of a neural network configuration 314 for the second part of the neural network to the requesting UEs 304A, 304B. In some implementations, the initial indication of a neural network configuration 314 is multi-cast to UEs 304A, 304B that have been grouped into the same FML group. In examples where a UE joins an existing FML group, the initial indication of a neural network configuration 314 is, for example, unicast to the UE joining the FML group.

[0063] In implementations where the requests 312A, 312B contained a split location, the initial indication of a neural network configuration 314 can include a confirmation message that the network node 302 has accepted the split requested by the UE.

[0064] In implementations where the network node 302 determined the DNN split location, the initial indication of a neural network configuration 314 includes an indication of the architecture for the UE-side replica of the split DNN portion.

[0065] In some examples, the initial indication of a neural network configuration 314 includes a split location for the DNN, e.g., an indication of the layer at which the split in the DNN occurs, such as a layer number. Alternatively, the initial indication of a neural network configuration 314 includes an indication of the layers that the UE 304A, 304B will execute, e.g., identifiers one or more layers of the DNN that the UE 304A, 304B will execute.

[0066] Alternatively, in some implementations, the initial indication of a neural network configuration 314 includes an explicit indication of the network structure for the parts of the DNN to be executed by the UEs 304A, 304B. For example, the initial indication of a neural network configuration 314 indicates a type and / or structure of each layer of the UE-side DNN split(s), parameter values (i.e . , weights and / or biases) for nodes in the second part of the DNN, and / or activation functions used in the DNN. In some implementations, the initial indication of a neural network configuration 314 includes references to pre-defined DNN layers stored in a memory on the UEs 304A, 304B. In some such implementations, the initial indication of a neural network configuration 314 includes instructions to modify the pre-defined DNN layers, e.g., updates to weights and / or biases of the predefined layers stored at the UEs 304A, 304B.

[0067] The network node 302 causes transmission of an FML configuration 342 to the requesting UEs 304A, 304B. The FML configuration 342 includes parameters relevant to the FML process. For example, the FML configuration includes an identifier of the FML group that the UE has been assigned to. The FML configuration 342 alternatively or additionally includes, for example, an update type indicating what type of update the UEs 104A-M should send to the network entity 102, e.g., updated parameter values, changes in parameter values, loss function values and / or gradients of an objective function with respect to network parameters. Alternatively or additionally, the FML configuration 342 indicates one or more triggers for the UEs 104A-N to send local updates to the network entity 102, e.g., a time period or a number of local update iterations.

[0068] In some implementations, the network node 302 multicasts the FML configuration 342 to the UEs 304A, 304B. For example, the network node 302 uses a multicast to all UEs 304A, 304B assigned to the FML group when the FML group is initialised. The network node also uses a multicast to transmit updates to the FML configuration 342 to the UEs 304A, 304B in the FML group. In some examples, for subsequent UEs added to the FML group, the network node 302 unicasts the FML configuration 342 to the newly joining UEs.

[0069] While the initial indication of a neural network configuration 314 and the FML configuration 342 are shown is separate messages in FIG. 3, it will be appreciated that in some examples they are combined into a single message that indicates both the architecture for the UE-side split of the DNN and the FML configuration.

[0070] In some implementations, each UE 304A, 304B transmits a confirmation message (not shown) to the network entity 302 to indicate that said UE 304A, 304B is ready for split execution of the DNN.

[0071] Following configuration, the network node 302 and UEs 304A, 304B perform split execution 344A, 344B of the DNN. Examples of split execution of the DNN are described in further detail with respect to FIGs. 4A-C. In general, the network entity 302 executes one or more parts of the split DNN and the UEs 304A, 304B execute a further one or more parts of the split DNN.

[0072] The network node 302 and the UEs 304A, 304B in the federated learning group perform a federated machine learning process 346 to update the UE-side DNN split at the network node 302. Examples of signalling for the federated machine learning process 346 are described in further detail with respect to FIGs. 5A-D. In general, the UEs 304A, 304B perform respective local updates on their respective UE-side DNN replica to generate respective local update data. The UEs 304A, 304B communicate their respective local update data to the network node 302, which uses the local update data to update the network entity version of the UE-side DNN split.

[0073] Following the FML process 346, the network node 302 transmits, to the UEs 304A, 304B in the federated learning group, an update indication 332, indicating the updates to the UE-side DNN split(s). The update indication 332 may be multicast orunicast to UEs in the FML group. The UEs 304A, 304B use the update indication 332 to update their local replicas of the UE-side DNN split(s).

[0074] FIG. 4A shows an example of a high-level signalling diagram 444A for executing user plane data at a two-part split DNN. The diagram corresponds to the method described in FIG. 1 B and elaborates on the steps introduced in FIG. 3 as element 344.

[0075] The network node 402 executes 446 a first part of the split DNN on a set of input data 416 to generate an intermediate DNN output 420, e.g., the values of node activations at an intermediate layer of the DNN. The network node transmits the intermediate output 420 to the UE 404, which executes 448 the second part of the split DNN on the intermediate output data to generate a final output of the DNN. The UE 404 can, in some implementations, perform one or more actions based on the final output. For example, the UE 404 causes the final output to be rendered on a display associated with the UE.

[0076] In some implementations, the set of input data 416 is transmitted from the UE 404 to the network node 402, for example as a data-plane communication. For example, the UE 404 collects a set of input data using one or more sensors of the UE 404 and / or one or more user inputs to the UE 404. As an example, the input data could reflect position or heading information of the UE, and the final output data could be a video image with the UE oriented in a background that reflects the input data position or heading.

[0077] Alternatively or additionally, at least a part of the input data 416 originates from network-side, e.g., is collected by the network node 402 or a further network entity. To continue the prior example, the final output data video image could be a portion of a 360-degree background image received as input data from an application server.

[0078] FIG. 4B shows an example of a high-level signalling diagram for executing user plane data at a three-part split DNN. The diagram corresponds to examples in which the DNN is split into three parts. The diagram corresponds to the method described in FIG. 1 B and elaborates on the steps introduced in FIG. 3 as element344. Such examples of FIGs. 4B and 4C can provide additional privacy to a user, as input data does not leave the LIE 404.

[0079] The example of FIG. 4B is similar to that of FIG. 4A, with an additional split to the DNN on the UE-side, i.e. , the split DNN has an initial / input part on the UE-side, a middle / intermediate part on the network-side and a final / output part on the networkside. Input data at a UE 404 is fed into the local copy of the initial part of the DNN, which processes 450 the input data 416 to generate an initial (first) intermediate output. The UE transmits 452 the initial intermediate output to the network entity 402. The network entity 402 feeds the initial intermediate output into a middle part of the DNN, which processes 452 the initial intermediate output to generate a further (second) intermediate output. The network entity 402 transmits 454 the further intermediate output to the UE 404. The UE 404 feeds the further intermediate output to a local copy of the final part of the DNN, which processes 456 the further intermediate output data to generate a final output of the DNN.

[0080] FIG. 4C shows a further example of a high-level signalling diagram for executing user plane data at a two-part split DNN. In this example, the DNN split is reversed when compared to FIG. 4A, i.e., the first (input) part of the DNN is executed by the UE 404 and the second (output) part of the DNN is executed by the network entity 402.

[0081] The first part of the DNN is executed 446 at the UE 404 on input data generated / captured by the UE 404 to generate intermediate output data. The UE 44 transmits 420 the intermediate output data to the network entity 402. The network entity 402 executes 448 the second part of the DNN on the intermediate output data to generate output data for the DNN. In some implementations, the network entity 402 transmits the output data 466 to the UE 404. In some implementations, the network entity 402 retains the output data 466.

[0082] FIG. 4D shows a further example of a high-level signalling diagram for executing user plane data at a three-part split DNN. In this example, the DNN split is reversed when compared to FIG. 4B, i.e., the first (input) part of the DNN is executed by the network entity 402, the second (middle) part of the DNN is executed by the UE 404 and the third (output) part of the DNN is executed by the network entity 402.

[0083] The method proceeds as described in relation to FIG. 4A up to and including the execution 448 of the second part of the DNN by the LIE 404. The output of the second part of the DNN is treated as further intermediate output data, and transmitted 458 to the network entity 402. The network entity 402 executes 460 a third part of the DNN on the further intermediate output data to generate the output data 466 of the DNN. In some implementations, the network entity 402 transmits 466 the output data to the LIE 404. In some implementations, the network entity 402 retains the output data 466.

[0084] FIG. 5A shows an example of a high-level signalling diagram for performing FML on a two-part split DNN. Element 546 corresponds to element 346 of FIG. 3. For convenience, a single UE 504 is shown, though in general a plurality of UEs participate in the FML procedure and operate in parallel using their own local input data.

[0085] The UE 504 performs a local update procedure 524 on the UE-side split of the DNN to generate local update information 526. For example, the UE 504 determines values of a loss / objective function based on data output by the DNN during split execution of the DNN, and applies at least a part of an optimisation routine (such as stochastic gradient descent) to the loss / objective function to determine update information for the UE-side split of the DNN. In examples that use supervised learning, the loss / objective function compares the output of the DNN to a ground truth output.

[0086] In some examples, the update information 526 includes an indication of updated values of the parameters of the UE-side split of the DNN, e.g., the updated values of the parameters themselves or differences between the current values of the parameters and the updated values. Alternatively or additionally, the update information 526 includes gradients of the loss / objective function with respect to the parameters of the UE-side split of the DNN, e.g., as determined using backpropagation of gradients through the UE-side split of the DNN. In some implementations, the update information 526 includes one or more loss function values, i. e. , values of the loss function calculated using output data output at the UE 504.

[0087] The UE 504 transmits the local update information 526 to the network node 502. Each UE in the FML group (not shown) that has performed a local update procedure 524 does likewise perhaps at different times. The network node 502 uses the received local update information 526 from a plurality of UEs to perform an aggregate update 528 of the UE-side split stored at the network node 502. For example, where the local update information 526 includes an indication of updated values of the parameters of the UE-side split of the DNN, the network node 502 averages the indication of updated values of the parameters over the received sets of update information 526 and applies the updates to the UE-side split DNN stored at the network node 502.

[0088] In implementations where the update information 526 includes gradients of the loss / objective function, the network node 502 can average the gradient values over the received sets of update information 526, and use the average gradient values to determine parameter updates for the UE-side split DNN, e.g., using a gradient ascent or descent process. In some examples, the network node 502 backpropagates the average gradient values through the network-side DNN split to determine gradients of the loss function with respect to the parameters of the network-side DNN split, and uses these gradients to perform an update 530 to the network-side DNN split parameters, e.g., using a gradient ascent or descent process.

[0089] FIG. 5B shows an example of a high-level signalling diagram for performing FML on a three-part split DNN. The three-part split DNN corresponds to the DNN split described in relation to FIG. 4B.

[0090] The UE 504 performs a local update procedure 524 on the UE-side split of the DNN to generate local update information 526 for the final part of the DNN split, and transmits the local update information 526 to the network node 502, as described in relation to FIG. 5A.

[0091] In implementations where the local update information 526 includes an indication of updated values of the parameters of the final UE-side split of the DNN, but not gradient information, the network node 502 performs update aggregation as described in relation to FIG. 5A. In such implementations, the network-side split of theDNN and the initial UE-side split of the DNN are not updated, only the final UE-side split of the DNN.

[0092] However, in the implementation shown, the local update information 526 includes gradient information, the network node 502 uses the gradient information from final part of the UE-side split to update 530 to the network-side DNN split parameters, e.g., as described in FIG. 5A. Additionally, the network node 502 backpropagates the gradients of the loss function through the initial part of the UE- side split of the DNN to determine gradients of the loss function with respect to the parameters of the initial part of the UE-side split of the DNN. The network node 502 uses these gradients to determine updates 562 to the initial part of the UE-side split. The network node 502 transmits the determined updates 562 to the initial part of the UE-side split to the UEs 504 in the federated learning group, for example as described in operation 332 of FIG. 3. The UEs 502 use the updates 562 to update their respective replicas of the initial part of the UE-side split of the DNN.

[0093] FIG. 5C shows a further example of a high-level signalling diagram for performing FML on a two-part split DNN or a three-part split DNN. The two-part split DNN corresponds to the DNN split shown in FIG. 4C, i.e., with the input part of the DNN executed by the UE 504 and the output part of the DNN executed by the network node 502. The three-part split DNN corresponds to the DNN split shown in FIG. 4D, i.e., with the input part of the DNN executed by the network node 502, the intermediate part of the DNN executed by the UE 504 and the output side of the DNN executed by the network node 502.

[0094] In this example, the DNN output occurs at the network node 502. Consequently, in some implementations, the network node 502 determines the parameter updates to the neural network without any local update process being performed at the UEs 504 of the FML group. The entire DNN update process 568 is performed at the network node 502. For example, the network node 502 applies an optimisation routine, such as stochastic gradient descent, to a loss function determined based on the outputs of the DNN. The network node 502 transmits the determined updates for the UE-side splits to the UEs 504 in the federated learning group, for example as described in operation 332 of FIG. 3. The UEs 502 use the updates to update their respective replicas of the UE-side splits of the DNN.

[0095] However, in some implementations, ground truth data corresponding to the DNN output is stored locally at the LIE 504. To avoid privacy issues that may occur by sharing such ground truth data, the network node 502 transmits the DNN output 566 to the UE 504. The UE 504 determines one or more loss function values based on the ground truth data and the network output, and transmits the one or more loss function values back to the network node 502. The network node 502 then uses the loss function values to perform the DNN update process 568. The network node 502 transmits the determined updates for the UE-side splits to the UEs 504 in the federated learning group, for example as described in operation 332 of FIG. 3. The UEs 504 use the updates 562 to update their respective replicas of the UE-side splits of the DNN.

[0096] FIG. 6 shows a flow diagram of an example network-side method for performing federated learning with split DNN. The method is performed by a network node / entity, such as the network node / entity described in relation to FIGs. 1 and 8. For convenience, the method is described as being performed by a system. In some implementations, the method corresponds at least in part to any one or more of the methods described with respect to FIGs. 1-5.

[0097] At operation 612, the system receives a request for a neural network configuration from a UE. Operation 612 corresponds, in some examples, to elements 112 of FIG. 1A, and / or 312 of FIG. 3.

[0098] At operation 640, the system assigns the UE to a federated learning group based on the request. Operation 612 corresponds, in some examples, to element 340 of FIG. 3.

[0099] At operation 614, the system transmits an initial indication of a neural network configuration for the second part of the neural network to the plurality of UEs in the federated learning group. Operation 614 corresponds, in some examples, to elements 114 of FIG. 1A, and / or 314 and / or 342 of FIG. 3.

[0100] At operation 626, the system receives, from at least two UEs in the plurality of UEs in the federated learning group, respective update information to the respective second parts of the neural network executed at the plurality of UEs.Operation 626 corresponds, in some examples, to elements 126A-M of FIG. 1C, and / or elements 526 of FIGs. 5A-B.

[0101] At operation 628, the system updates parameters of the second part of the neural network based on the update information. Operation 626 corresponds, in some examples, to element 128 of FIG. 1 C, and / or elements 528 of FIGs. 5A-B.

[0102] At operation 632, the system sends an update indication of the updated parameters of the second part of the neural network to the plurality of UEs in the federated learning group. Operation 632 corresponds, in some examples, to element 132 of FIG. 1 C, and / or element 332 of FIG. 3.

[0103] FIG. 7 shows a flow diagram of an example UE-side method for performing federated learning with split DNN. The method is performed by a UE, such as the UE described in relation to FIGs. 1 and 8. In some implementation, the method corresponds at least in part to any one or more of the methods described with respect to FIGs. 1-5.

[0104] At operation 712, the UE transmits a request for a neural network configuration to a UE. Operation 712 corresponds, in some examples, to elements 112 of FIG. 1A, and / or 312 of FIG. 3.

[0105] At operation 714, the UE receives, in response to the request, an initial indication of a neural network configuration for a second part of the neural network to be executed locally at the UE. Operation 714 corresponds, in some examples, to elements 114 of FIG. 1A, and / or 314 and / or 342 of FIG. 3.

[0106] At operation 720, the UE receives, from the network node, an intermediate output of the neural network model generated by a first part of the neural network. Operation 720 corresponds, in some examples, to elements 120A-M of FIG. 1 B, element 420 of FIG. 4A, element 454 of FIG. 4B and / or element 420 of FIG. 4D.

[0107] At operation 722, the UE processes, by the second part of the neural network model, the intermediate output to generate a model output of the neural network. Operation 722 corresponds, in some examples, to elements 122A-M of FIG. 1 B, element 448 of FIG. 4A, element 456 of FIG 4B and / or element 448 of FIG. 4D.

[0108] At operation 724, the UE generates an update for the second part of the neural network based on the model output and using a local update process. Operation 724 corresponds, in some examples, to elements 124A-M of FIG. 1C and / or element 524 of FIGs. 5A-B.

[0109] At operation 726, the UE transmits the update to the network node. Operation 726 corresponds, in some examples, to elements 126A-M of FIG. 1C and / or element 526 of FIGs. 5A-B.

[0110] FIG. 8 illustrates a schematic example of a computing system / apparatus 800 for performing any of the methods, operations or processes described and / or for implementing any of the systems, units and / or apparatus as described. The computing system / apparatus 800 shown is an example of a computing device or platform. It will be appreciated by the skilled person that other types of computing devices / systems / platforms can alternatively be used to implement the methods described, such as a distributed computing system. The computing system / apparatus 800 is, in some examples, a UE, a subsystem of a UE, a network node / entity and / or a subsystem of a network node / entity.

[0111] The apparatus (or system) 800 includes one or more processors 802 (e.g., CPUs). The one or more processors 802 control operation of other components of the system / apparatus 800. The system / apparatus 800 can be part of a computing device, computing system, distributed computing system, cloud computing platform and the like for implementing the functionality of the systems / apparatus and / or one or more methods / operations / processes as described. The one or more processors 802 , for example, include a general-purpose processor. The one or more processors 802 can be a single core device or a multiple core device. The one or more processors 802 can include a Central Processing Unit (CPU) or a graphical processing unit (GPU). Alternatively, the one or more processors 802 include specialized processing hardware, for instance a RISC processor or programmable hardware with embedded firmware. In some examples, multiple processors are included. In some embodiments, the one or more processors 802 are part of a distributed computing system such as a cloud computing system and / or cloud computing platform.

[0112] The system / apparatus includes memory system or memory 804 including a working or volatile memory 806. The one or more processors access the volatile memory 806 in order to process data and control the storage of data in memory. The volatile memory 806 can include RAM of any type, for example, Static RAM (SRAM), Dynamic RAM (DRAM), or include Flash memory, such as an SD-Card. In some embodiments, the memory 804 and / or one or more volatile memories 806 include a plurality of memories 804 forming part of the distributed computing system such as the cloud computing system and / or cloud computing platform and the like.

[0113] The system / apparatus includes a non-volatile memory 808. The non-volatile memory 808 stores a set of operation or operating system instructions 809a for controlling the operation of the processors 802 in the form of computer readable instructions and / or software instructions 809b in the form of computer readable instructions, which when executed on the one or more processors 802 cause the processors to implement the methods, processes, operations and / or functionality described. The non-volatile memory 808 can be a memory of any kind such as a Read Only Memory (ROM), a Flash memory, SD drive, a magnetic drive memory or magnetic disc drive memory and the like as the application demands. In some embodiments, the non-volatile memory 808 includes a plurality of non-volatile memories 808 forming part of the distributed computing system such as the cloud computing system and / or cloud computing platform and the like.

[0114] The one or more processors 802 are configured to execute operating instructions 809a and / or software instructions 809b to cause the system / apparatus to perform any of the methods or processes described. The operating instructions 809a include, for example, code (i.e., drivers) relating to the hardware components of the system / apparatus 800, as well as code relating to the basic operation of the system / apparatus 800. Generally speaking, the one or more processors 802 execute one or more instructions of the operating instructions 809a and / or software instructions 809b, which are stored permanently or semi-permanently in the nonvolatile memory 808, using the volatile memory 806 to store temporarily data generated during execution of said operating instructions 809a and / or software instructions 809b.

[0115] In some implementations, the one or more processors 802 are connected to a network interface 810 including a transmitter (TX) and a receiver (RX) for communicating over a network with other apparatus and systems. The one or more processors 802 are, in some examples, connected with a user interface (III) 812 for user or operator input for instructing or using the computing system and / or for outputting data therefrom. The one or more processors 802 are, in some examples, connected with a display 814 for displaying output to a user or operator. The at least one processor 802, with the at least one memory 804 and the computer program code 809a, 809b are arranged to cause the computing system 800 to at least perform at least the operations, methods, and / or processes, for example as disclosed in relation to the schematic diagrams, flow diagrams or operations as described with any of figures 1 to 7 and related features thereof.

[0116] FIG. 9 shows an example non-transitory computer readable medium 800 according to some implementations. The non-transitory medium 900 includes a computer readable storage medium 902 and / or input / output mechanism 904 for enabling a computing system 800 to access said computer-readable medium 902. Although in this example the non-transitory medium is USB stick, this is by way of example only and the invention is not so limited, the skilled person would appreciate the non-transitory media 900 could be any other type of computer readable media or medium such as, for example, a CD, a DVD, a USB stick, a blue ray disk, flash drive etc. and / or any other computer readable medium as the application demands. The non-transitory medium 900 stores computer program code, causing an apparatus to perform one or more of the methods, operations, processors of any preceding process for example as disclosed in relation to the flow diagrams and schematic diagrams of figures 1 to 7 and related features thereof.

[0117] Implementations of the methods or processes described may be realized as in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These may include computer program products (such as software stored on e.g., magnetic discs, optical disks, memory, Programmable Logic Devices) including computer readable instructions that, when executed by acomputer, such as that described in relation to Figure 8, cause the computer to perform one or more of the methods described.

[0118] Any system feature as described may also be provided as a method or process feature, and vice versa. As used herein, means plus function features may be expressed alternatively in terms of their corresponding structure. In particular, method aspects may be applied to system aspects, and vice versa.

[0119] Furthermore, any, some and / or all features in one aspect can be applied to any, some and / or all features in any other aspect, in any appropriate combination. It should also be appreciated that particular combinations of the various features described and defined in any aspects of the disclosure can be implemented and / or supplied and / or used independently.

[0120] Although several embodiments have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles of this disclosure, the scope of which is defined in the claims and their equivalents.

Claims

WHAT IS CLAIMED IS:1 . A computer implemented method, performed by a computing system, the method comprising: receiving (312), from a user equipment, UE, a request for a neural network configuration; assigning (340), based on the request, the UE to a federated learning group comprising a plurality of UEs performing split execution of a neural network, such that the computing system executes a respective first part of the neural network for each UE in the federated learning group and each UE in the federated learning group executes a respective second part of the neural network; transmitting (314), to the plurality of UEs in the federated learning group, an initial indication of a neural network configuration for the second part of the neural network; receiving, from at least two of the plurality of the UEs in the federated learning group, respective update information to the respective second parts of the neural network executed at the plurality of UEs; updating, based on the update information, parameters of the second part of the neural network; and sending, to the plurality of UEs in the federated learning group, an update indication of the updated parameters of the second part of the neural network.

2. The method of claim 1 , further comprising: receiving, from a further UE, a further request for a neural network configuration; and assigning the further UE to the federated learning group based on the further request for a neural network configuration.

3. The method of any of claims 1 or 2, wherein the method further comprises:executing, based on input data from the UE, a first part of the neural network to generate an intermediate neural network output; and causing transmission of the intermediate neural network output to the UE.

4. The method of any preceding claim, wherein the update information comprises one or more updated parameter values for the second part of the neural network and / or one or more changes of parameter values for the second part of the neural network.

5. The method of any preceding claim, wherein the update information comprises one or more gradients of an objective function with respect to parameters of the second part of the neural network.

6. The method of claim 5, further comprising updating one or more parameters of the first part of the neural network based on the one or more gradients of the objective function with respect to parameters of the second part of the neural network.

7. The method of any preceding claim, wherein: the request for a neural network configuration comprises one or more local UE conditions capability information for the UE, assistance information for the UE, and / or indicates local conditions for the UE; and the assigning the UE to a federated learning group comprises determining that the local UE conditions falls within a range of capabilities and / or local conditions associated with the federated learning group.

8. The method of claim 7, wherein the one or more local UE conditions comprise one or more of: UE capability information, UE assistance information, UE processing availability and / or capability information; DNN-specific processing availability and / capability information; UE power information; and / or UE thermal information.

9. The method of any preceding claim, wherein the initial indication of a neural network configuration is identical for each UE in the federated learning group.

10. The method of any of claims 1 to 7, wherein: the respective second parts of the neural network executed by the plurality of UEs in the federated learning group have a set of one or more common layers across the federated learning group; and a proper subset of the UEs in the federated learning group have a respective second part of the neural network that comprises one or more additional neural network layers that are not present in the set of one or more common layers.11 . The method of any preceding claim, wherein the initial indication of the neural network configuration comprises an indication of one or more of: one or more layer identities and / or types for the second part of the neural network; a plurality of weight and / or bias values for nodes of the second part of the neural network; an identity of a federated learning group to which the UE is assigned; a split location for the neural network; one or more triggers for transmitting the update information to the computing system; a type and / or format for the update information; and / or a type of local update process for generating the update information. .

12. The method of any preceding claim, wherein the computing system is a cellular network entity.

13. The method of any preceding claim, wherein the respective update information is obtained from a local update process at each of a plurality of UEs in the federated learning group.

14. A computer implemented method performed by a user equipment, UE, the method comprising: transmitting, to a network node, a request for a neural network configuration; receiving, in response to the request, an initial indication of a neural network configuration for a second part of the neural network to be executed locally at the UE; receiving, from the network node, an intermediate output of the neural network model generated by a first part of the neural network;processing, by the second part of the neural network model, the intermediate output to generate a model output of the neural network; generating an update for the second part of the neural network based on the model output and using a local update process; and transmitting, to the network node, the update.

15. The method of claim 14, further comprising: receiving, from the network node, one or more federated updates for the second part of the neural network; and applying the received one or more federated updates to the second part of the neural network model.

16. The method of any of claims 14 or 15, wherein the method further comprises, prior to receiving the intermediate output, transmitting input data for the first part of the neural network to the network node.

17. The method of any of claims 14 or 15, wherein the method further comprises, prior to receiving the intermediate output: processing, by a third part of the neural network, input data to generate an initial intermediate output; and transmitting the initial intermediate output to the network node for input to the first part of the neural network.

18. The method of any of claims 14 to 17, wherein the request for a neural network configuration comprises one or more local conditions for the UE.

19. The method of claim 18, wherein the one or more local conditions for the UE comprise one or more of: UE capability information, UE assistance information, UE processing availability and / or capability information; DNN- specific processing availability and / capability information; UE power information; and / or UE thermal information.

20. The method of any of claims 14 to 19, wherein the request for a neural network configuration specifies a split location for the neural network.21 . The method of any of claims 14 to 20, wherein the initial indication of the neural network configuration for the second part of the neural network comprises one or more of: data indicative of an architecture for the second part of the neural network; data indicative of a plurality of weights for the second part of the neural network; and / or data indicative of a plurality of biases for the second part of the neural network.

22. The method of any of claims 14 to 21 , wherein the initial indication of the neural network configuration for the second part of the neural network comprises one or more further neural network layers for the UE to execute in addition to a common second part of the neural network that is shared between a plurality of UEs in a federated learning group.

23. The method of any of claims 14 to 22, wherein the initial indication of the neural network configuration for the second part of the neural network comprises federated learning configuration data.

24. The method of claim 23, wherein the federated learning configuration data comprises one or more of: an identity of a federated learning group to which the UE is assigned; one or more triggers for transmitting the update information to the computing system; a type and / or format for the update information; and / or a type of local update process for generating the update information.

25. The method of any of claims 14 to 24, wherein the update comprises one or more of: a set of updated network weights and / or biases of the second part of the neural network; and / or a set of gradients of a loss function with respect to weights and / or biases of the second part of the neural network.

26. A device comprising: a network interface; one or more processors coupled to the network interface; anda memory storing computer readable instructions that, when executed by the one or more processors, cause the device to perform the method of any of claims 1 to 13.

27. A user equipment comprising: one or more antennae; one or more processors; and a memory, the memory storing computer readable instructions that, when executed by the one or more processors, cause the user equipment to perform the method of any of claims 14 to 25.

28. A computer program product comprising computer readable instructions that, when executed by device comprising a network interface and one or more processors coupled to the network interface, cause the device to perform the method of any of claims 1 to 25.