Determination whether to merge offloaded distributed model layers
The method addresses challenges in offloading ML model layers by using a similarity metric and regularizing actions to maintain model performance and accuracy in split learning environments.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-06
- Publication Date
- 2026-03-12
AI Technical Summary
In split learning environments, offloading ML model layers from tail nodes to a prior node is challenging due to differing use cases and weight discrepancies, leading to potential changes in model structure and reduced accuracy.
A method to determine whether to merge offloaded distributed ML model layers based on a similarity metric, using a threshold value to decide between merging or keeping layers separate, and employing regularizing actions to maintain model performance.
Reduces ML model performance losses by determining appropriate layer merging and maintaining accuracy through regularizing actions, allowing models to diverge if necessary for their specific tasks.
Smart Images

Figure SE2024050773_12032026_PF_FP_ABST
Abstract
Description
Determination Whether To Merge Offloaded Distributed Model LayersThe project leading to this application has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 101095759.TECHNICAL FIELD
[0001] The present disclosure relates generally to computer-implemented methods for determining whether to merge offloaded distributed machine learning (ML) model layers in a split learning environment, and related methods and devices.BACKGROUND
[0002] Split learning (an underlying technique for vertical federated learning) may enable training and inference by splitting one ML model, e.g. a neural network, into different partitions, where the partitions can be deployed at different computing devices. Thus, the overhead of computations can be offloaded to multiple, different computing devices. Another reason for splitting a ML model may be due to privacy protection needs. If a dataset is sensitive or has very large size, for example, and cannot be transferred to a centralized location then split learning can allow training where the dataset is without require sharing such a dataset over a communication link.
[0003] A split learning environment can include one head node and multiple tail nodes. The tail nodes can support different use cases. In such a split learning environment, offloading ML model layers from tail nodes (which contain a last portion of ML model layers) to a prior node (which contains a first portion of ML model layers) may be challenging. For example, prior to offloading, the last portion of ML model layers from respective tail nodes can be different due to the different use cases at the tail nodes. Thus, for example, when these layers are offloaded to the prior node and concatenated the structure of the ML model at the prior node is changed; or when these layers are offloaded to the prior node and averaged, if the weights of the ML model layers from the tail nodes were very different, the averaging may impact the efficacy of one or more of the use cases.SUMMARY
[0004] There currently exist certain challenges. A method for offloading ML model layers from tail nodes (which contain the last portion of the model layers) to a prior node (which containsthe first portion of the model layers) in a split learning environment may be lacking. Challenges for such offloading may include that the tail nodes may have layers that solve different tasks. Thus, it may be challenging to merge the layers that serve different tasks due to, for example, a statistical difference between a weight for each of the respective layers. Moreover, merging the first few layers of the tail nodes, for example, and appending them as last layers of the prior node may result in the tail nodes becoming less accurate due to changed weights at the last layer of the prior node, e.g, intermediate layers of the overall ML model.
[0005] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges.
[0006] Some embodiments provide a computer-implemented method for determining whether to merge offloaded distributed ML model layers in a split learning environment. The method comprises obtaining a similarity metric comprising a comparison between a ML model parameter of (i) a layer from a first distributed computing device to be offloaded to a third distributed computing device and (ii) a layer from a second distributed computing device to be offloaded to the third distributed computing device. The method further comprises determining at least one of (i) when the similarity metric is greater than a threshold value, merge the layer from the first distributed computing device and the layer from the second distributed computing device in the third distributed computing device, or (ii) when the similarity metric is equal to or less than the threshold value, offload the layer from the first distributed computing device and the layer from the second distributed computing device and keep them as separate layers in the third distributed computing device.
[0007] Other embodiments provide a computing device. The computing device comprises at least one processor; and at least one memory connected to the at least one processor and storing program code that is executed by the at least one processor to perform operations. The operations include to obtain a similarity metric comprising a comparison between a ML model parameter of (i) a layer from a first distributed computing device to be offloaded to a third distributed computing device and (ii) a layer from a second distributed computing device to be offloaded to the third distributed computing device. The operations further comprise to determine at least one of (i) when the similarity metric is greater than a threshold value, merge the layer from the first distributed computing device and the layer from the second distributed computing device in the third distributed computing device, or (ii) when the similarity metric is equal to or less than the threshold value, offload the layer from the first distributed computing device and the layer from the second distributed computing device and keep them as separate layers in the third distributed computing device.
[0008] Some embodiments include a computer program product comprising a non-transitory storage medium including program code to be executed by at least one processor of a computing device configured to determine whether to merge offloaded distributed ML model layers in a split learning environment, whereby execution of the program code causes the computing device to perform operations comprising: to obtain a similarity metric comprising a comparison between a ML model parameter of (i) a layer from a first distributed computing device to be offloaded to a third distributed computing device and (ii) a layer from a second distributed computing device to be offloaded to the third distributed computing device. The operations further comprise to determine at least one of (i) when the similarity metric is greater than a threshold value, merge the layer from the first distributed computing device and the layer from the second distributed computing device in the third distributed computing device, or (ii) when the similarity metric is equal to or less than the threshold value, offload the layer from the first distributed computing device and the layer from the second distributed computing device and keep them as separate layers in the third distributed computing device.
[0009] Still other embodiments provide a computer-implemented method for training related to offloading a portion of a ML model in a split learning environment for a telecommunications network. The method includes sharing, with a receiving computing device, a weight of a layer of a first ML model at a first distributed computing device to be offloaded and a weight of a second ML model at a second distributed computing device to be offloaded. The method further includes performing, at the receiving computing device, a regularizing action on the layer of the first ML model and the layer of the second ML model.
[0010] Other embodiments provide a computing device. The computing device comprises at least one processor; and at least one memory connected to the at least one processor and storing program code that is executed by the at least one processor to perform operations. The operations include to share, with a receiving computing device, a weight of a layer of a first ML model at a first distributed computing device to be offloaded and a weight of a second ML model at a second distributed computing device to be offloaded. The operations further include to perform, at the receiving computing device, a regularizing action on the layer of the first ML model and the layer of the second ML model.
[0011] Some embodiments include a computer program product comprising a non-transitory storage medium including program code to be executed by at least one processor of a computing device configured to determine whether to train related to offloading a portion of a ML model in a split learning environment for a telecommunications network, whereby execution of the program code causes the computing device to perform operations comprising: to share, with a receivingcomputing device, a weight of a layer of a first ML model at a first distributed computing device to be offloaded and a weight of a second ML model at a second distributed computing device to be offloaded. The operations further include to perform, at the receiving computing device, a regularizing action on the layer of the first ML model and the layer of the second ML model.
[0012] Certain embodiments may provide one or more of the following technical advantages. Based on some embodiments determining whether to merge offloaded layers from tail nodes in a prior node, ML model performance losses may be reduced or minimized. Further, based on some embodiments performing a regularizing action on layers of the tail nodes during training, ML model performance may be maintained during training. A decision to apply regularizing, however, may have a further technical advantage of allowing two ML models at two tail nodes, for example, to diverge if needed due to their respective tasks.BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this application, illustrate certain non-limiting embodiments of the present disclosure. In the drawings:
[0014] Figure 1 is a is a schematic diagram of an example of split learning;
[0015] Figure 2 is a is a schematic diagram of another example of split learning;
[0016] Figure 3 is schematic diagram of an example of split learning according to some embodiments;
[0017] Figure 4A is a plot of a training curve and measured negative cosine similarity according to some embodiments;
[0018] Figure 4B is a plot of a training curve and measured positive negative cosine similarity according to some embodiments;
[0019] Figure 5 is a flowchart of an example for deciding how to conduct training according to some embodiments;
[0020] Figure 6 is a flowchart of an example for determining merging according to some embodiments;
[0021] Figure 7 is a schematic diagram of an example deployment where layers are not merged according to some embodiments;
[0022] Figure 8 is a sequence diagram of an example of offloading with regularization according to some embodiments;
[0023] Figure 9 is a sequence diagram of an example of offloading with regularization in the form of aggregation according to some embodiments;
[0024] Figure 10 is a sequence diagram of an example of offloading without regularization according to some embodiments;
[0025] Figure 11 is a schematic diagram of an example of a split architecture for a use case according to some embodiments;
[0026] Figure 12 is a sequence diagram showing signaling flow for the example of Figure 11 according to some embodiments;
[0027] Figure 13 is a sequence diagram corresponding to the example of Figures 11 and 12 but implemented in an open radio access network (ORAN) according to some embodiments;
[0028] Figures 14 and 15 are flow charts illustrating operations of a computing device according to some embodiments;
[0029] Figure 16 is a block diagram of a communication system in accordance with some embodiments; and
[0030] Figure 17 is a block diagram of computing device according to some embodiments.DETAILED DESCRIPTION
[0031] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art, in which examples of embodiments of the present disclosure are shown. Inventive concepts may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present / used in another embodiment.
[0032] In split learning, there may be distributed nodes, also referred to herein as computing devices. A distributed node can have (i) only input features, (ii) only output labels, (iii) both input features and output labels, or (iv) none of them. Figure l is a schematic diagram of an example of split learning. In this example, generalization node 100 has no input and output features, and acts as intermediate layer as one partition that shares a computation of a bigger neural network. For example, the role of such a generalization node 100 can be to learn to provide generalized activations as an output to different more specialized use cases at tail nodes 104, 106. In this way, the majority of a ML model that is common to multiple use cases may be shared, thus, yielding more sustainable ML model training and inference. For example, instead of training one ML model for a first use case at tail node 104, and another ML model for a second use case at tail node 106,with similar input attributes but where the ML models have different output tasks, rather the first layer(s) of a ML model that is common to both use cases can be merged. Merging maybe possible because the first layer(s), for example, of the ML models often may perform feature extraction of input features.
[0033] Such modularization of a large global ML model, and partitioning the global ML model into multiple split portions, may enable dynamic adaptation of ML model training / inference tasks for changing computation availabilities in a distributed nodes. For instance, during split ML model training, a ML model layer at a third distributed node 100 can be offloaded to first distributed nodes 104, 106 as shown in the example in Figure 2. In some cases, the offloading may not impact the overall ML model performance, but in some cases it may.
[0034] For example, in Figure 2, the last layer L3 of generalization node 100 is offloaded to tail nodes 104, 106. In this example, the last layer L3 of generalization node 100 is attached to the first layer LI of the tail nodes 104, 106. Since the last layer L3 of the generalization node 100 is broadcasted to both tail nodes 104, 106, they are the same. Thus, no impact on performance of the ML model is expected.
[0035] However, it may be more challenging when offloading is triggered in the reverse direction as shown in the example in Figure 3. In this example, offloading may be challenging because, e.g., the first layers LI of the use case at tail nodes 104, 106 are different before the offloading event. When the first layers LI of the use case at tail nodes 104, 106 are offloaded to the generalization node 100, the first layers LI need to be either concatenated or aggregated (e.g., averaged). However, concatenation can change the structure of the ML model at the generalization node 100. For example, when the ML model is a neural network, the structure of the neural network (NN) is changed since then the NN in this example would have 1x20 NN model weights instead of IxO; where I and O are intermediate and output layers, respectively. On the other hand, when first layers LI are aggregated (e.g., averaged), the aggregation may not impact the structure of the NN model. However, there may then be a challenge if the weights of the first layers LI of the NN models received from tail nodes 104, 106 are different. In that case, averaging may impact the use case ML model efficacy, and may cause latency in training time. A longer training time can cause a higher number of training iterations. In turn, higher iterations can cause longer computation time and a larger network footprint at the communication link and, thus, higher energy consumption.
[0036] Further in some approaches, offloading of layers in a split learning environment may focus on defining ways to place the ML models or the layers of a ML model at different compute nodes to adapt a training workload to available compute and communication resources. Suchapproaches may assume that offloading events do not have an impact on ML model efficacy. Aspects related to ML model efficacy, however, are not well explored due to topologies such as shown in the example in Figure 3 have not been considered. While aggregation strategies may be available in some approaches for horizontal federated learning, for example, such approaches do not include aggregating ML model layers / weights that are offloaded from a remote, distributed node. Additionally, some approaches may conclude that a ML model aggregation strategy in the scope of horizontal federated learning may play a role in ML model efficacy. For example, the complexity of aggregation can span a range of complexities from a simple aggregation such as averaging to a more complex aggregation. For example, categories of ML model aggregation can include synchronous aggregation, asynchronous aggregation, hierarchical aggregation, and / or robust aggregation.
[0037] Thus, there may be a need for an aggregation strategy for ML model layers when they are transferred from one distributed computing device to another prior distributed computing device.
[0038] Such a strategy may be relevant to, for example, the Hexa-X-II European level 6G flagship project; and / or vertical federated learning issues discussed in Rel 19 of the Third Generation Partnership Project (3GPP) where an application, e.g. an application function (AF), is trained collaboratively with a network data analytics function (NWDAF). In Figure 3, for example, the tail nodes 104, 106 may train clients at AFs and the generalization node 100 may be a NWDAF deployed in a core network of a telecommunications network.
[0039] Some examples herein focus on a subset of layers for aggregation and include aggregating ML model weights that are offloaded from a remote tail node(s). Further, some examples include using additional regularization at the loss function at the tail nodes to prepare the tail nodes for the potential offloading of partial ML models either later in training or during inference. Some examples include synchronous aggregation that provides weight adjustment and regularization terms. Moreover, some examples include silo-based distributed learning that does not involve a high number of clients and, thus, may be suitable to synchronous aggregation.
[0040] Some examples include determining how to combine offloaded ML model layers between distributed ML models, such as NN models. In the case of a split NN architecture with one head and multiple tail nodes, for example, the first layers LI of tail NN nodes 104, 106 can be moved to the last layer L3 of the previous NN node 100 as shown in the example in Figure 3. A technical advantage of doing so may be a reduction in computation overhead at the tail node(s) 104, 106. In one example, first layers LI are at specialized neural network nodes 104, 106 that solve different tasks and, thus, it may be challenging to merge first layers LI due to a statisticaldifference between the two LI layer weight matrices, for example. In some examples, merging is performed based on looking at the difference(s) between the parameters of the layers merged. Using cosine similarity, for example, may help in determining how successful merging of layers will be, e.g. without negative impact or reduced negative impact on ML model performance such as accuracy. While some examples include a similarity metric comprising cosine similarity, examples herein are not so limited. Other similarity metrics may include, but are not limited to, LI norms, L2 norms, etc.
[0041] In some approaches, a loss function at tail nodes may be solely defined by a difference, which may be referred to as prediction error or loss, between predicted values and labels. In such approaches, backward propagation is performed and the weights of the tail node ML model is updated. The updated weights in the first layer of the ML model are then sent to another node for aggregation. Once these two ML models are aggregated, however, the tail nodes may become less accurate due to the changed weights at the last layer of the head node. In order to decrease the impact of aggregation when layers are offloaded, before offloading the layers, it may be desirable to train in a way (e.g., with an adjusted regularized loss function) that the first layers of both ML models stay similar to each other as much as possible. Similarity may be determined by comparison of a similarity metric with a threshold value. The similarity metric may be a cosine similarity, for example. The layers may be similar when the cosine similarity os greater than a positive threshold value for example.
[0042] It may not always be clear as to what degree a difference in the offloaded ML models may impact prediction accuracy of individual ML models. Maximizing the similarity of multiple ML models may impact the prediction accuracy, while making the ML models less similar may yield more accurate ML models but can result in a higher negative impact on the performance when the first layers are offloaded and aggregated. On one hand, it may be desirable to minimize the loss of prediction ML models, but on the other hand, it may be desirable to keep the first layers of the tail models as similar as possible, and let an intermediate ML model learn. In some cases, some dissimilarity between offloaded layers may be tolerated by one tail node, but not by another tail node as the tail nodes may be trained / training for different tasks and may have different expected accuracy thresholds. Thus, an acceptable balance may be needed.
[0043] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges. In one example, a loss function at the tail nodes may be modified with a weighted sum of prediction error and the degree of dissimilarity of the first layers as a regularization term with: min(wl*usecase_prediction_loss(y,y’)+ w2*dissimilarity(Ll,L2))where;is the weight of a layer of a ML model, such a NN model, at tail node n.
[0044] In this example, the weights, e.g., wl and w2, of a weighted sum are kept customized at the tail nodes. In other words, in this example, wl and w2 at tail node 104 is not necessarily the same with wl and w2 at tail node 106. Thus, the ML model can personalize to the tail node 104, 106, while at the same time not impacting the accuracy of both tail nodes 104, 106.
[0045] In some examples, factors in whether to combine layers or not is related to the weight similarity. In one non-limiting example, weight similarity is determined based on whether cosine similarity compared to a threshold is positive. Other examples may use a different similarity metric and / or a different threshold value.
[0046] In some examples, a method is provided for determining whether offloaded layers from distributed nodes 104, 106 can be aggregated or not. The method can determine whether or not to merge layers coming from separate use cases in a split learning setting when offloading layers from multiple tail nodes 104, 106. The method includes comparing the similarities of the layers being offloaded from the tail nodes 104, 106 to a generic node 100 in terms of ML model parameters; identifying if the similarity is above a threshold; and identifying a decision and action corresponding to either (1) merging the offloaded tail node 104, 106 layers, or gradients from the tail nodes 104, 106 per layer, into one, or (2) keeping both offloaded tail node 104, 106 layers intact and treating them as different layers in the generic node 100.
[0047] In other examples, a method is provided for training parallel split learning with the help of regularization for making future offloading easier. The method trains and offloads portions of a ML model in a split learning setting. The method includes determining how to exchange ML model weights based on a current load of a network, such as a telecommunication network. The method further includes sharing weights at an interval with an identified receiver node from tail nodes. For example, sharing can be between tail nodes 104, 106 or from a tail node(s) 104 106 to generalization node 100. The method further includes, in the identified receiver, performing a regularizing action on the offloaded layer. The regularizing action can be to regularize based on similarities, such as cosine similarity, and sending the similarity (e.g., cosim(Ltaiii, Ltaiu) ), where Lxis a first layer matrix / tensor of model deployed at a tail node. Alternatively, the regularizing action can be to continuously make sure that the layers are kept in synchronization, by using federated averaging (FedAvg) for example.
[0048] While examples herein are discussed in the context of a split learning environment that includes two tail nodes 104, 106, the present disclosure is not so limited and also applies to a plurality of tail nodes greater than two.
[0049] Certain embodiments may provide one or more of the following technical advantages. Based on determining whether offloaded layers from distributed nodes can be aggregated or not based on a similarity metric, ML model layers may be offloaded without impacting, or an acceptable impact on, ML model performance.
[0050] Unless addressed during training, when performing offloading in a single headed, multi-tailed split learning environment, what used to be a single layer can turn into several unique layers with different parameters. A method is lacking on how to determine whether to merge the layers into a shared layer when offloading is no longer needed and the previously offloaded layer is moved back to the generalized node. Examples herein may provide a further technical advantage of an automated way to decide whether or not to merge. Compared to always merging which can result in large sudden performance losses, some examples thus avoid large sudden performance losses that may otherwise occur at a backload time, shown by the vertical line in Figures 4A and 4B discussed further herein. Further, when compared to never merging, some examples herein include ways to merge layers in order to decrease storage requirements. Thus, instead of two additional customized layers for each of two tail nodes, for example, there is one merged layer.
[0051] Further, based on the inclusion in some examples of a method to maintain ML model performance during training with a regularizer, FedAvg or other federated aggregation, there may be a technical advantage of allowing, e.g., two ML models to diverge if needed due to the tasks. In such examples that include FedAvg or other federated aggregation, the generalized node can act as a server node of the federated learning.
[0052] A further technical advantage may include that the method of some examples can be applied both in training and in inference. For example, in inference, the similarity check can be done and with a high similarity, merging can be performed without further training while still maintaining acceptable ML model performance. For example, as shown in Figure 4B, which shows a case with a high similarity and the ML model performance does not degrade much compared to Figure 4A where there is low similarity.
[0053] In an experiment with a toy dataset, 100 training samples and 100 test samples were generated. Each sample included two input features by sampling from a multivariate gaussian with mean values [0, 0] and covariance matrix [[5, -3], [-3, 2]]. Target samples y for task 1 corresponded = x0+ 3x and for task 2 to y2=l-5x0—^xi + 3. Initially, a head node included one layer and two tails nodes included to two layers. Referring to Figures 4A and 4B, after 70 epochs, indicated by the vertical line in each of Figures 4A and 4B, the first layer in the tail nodes was moved and merged to the head node. After this merging the new second layer in the head node was the averaged version of the first layer in the tail nodes. Thus, Figures 4A and 4Bshow how the performance changed after the merge, cosine similarity between the layers that are to be offloaded is also included in Figure 4A showing one example with a negative cosine similarity and Figure 4B showing another example with a positive cosine similarity. When the cosine similarity is low, e.g. as in Figure 4A, there is a large increase in the validation loss. When the cosine similarity is large, e.g. as in Figure 4B, ML model degradation is much smaller. Thus, this indicates that cosine similarity may be a good metric to use to determine whether merging of ML model parameters should be done or not. This includes in training, and also when running inference and a need for merging arises. As discussed herein, merging may result in lower overhead in terms of memory and, therefore, may be desirable but only when it is known whether the merging will cause an unacceptable degradation in the ML model performance.
[0054] Some examples include a system that includes a generalized node 100 and several tail nodes 104, 106 as shown in Figure 3. Generalization node 100 keeps a subset of the ML model that is connected to tail nodes 104, 106, and tail nodes 104, 106 have specialized layers.
[0055] Some examples are based on the fact that there are layers that can be offloaded between nodes in a split learning architecture. Offloading from the generalized node 100 to the tail nodes 104, 106 may not be very challenging as identical copies are sent to several places, which is a mapping from one layer to many. However, the case of offloading in the other direction is more challenging as the end goal is to map multiple ML models to one.
[0056] Figure 5 is a flowchart of an example for deciding how to conduct training for examples that use a regularizer. In operation 500, generalization node 100 knows that there is an offloading need. In operation 502, generalization node 100 determines whether weights of ML model layers can be shared between tail nodes 104, 106. If yes, in operation 504, generalization node 100 sends the layers to the tail nodes 104, 106 for training with the regularizer. If no (that is the layers cannot be shared), in operation 506, because the layers cannot be shared regularization will be performed with respect to a received weight similarity metric, such as a cosine similarity metric, not with respect to the layers. Thus, generalization node 100 sends the weight similarity metric to the tail nodes 104, 106 and trains the layers in isolation..
[0057] In one example, the regularizer can be based on tail nodes 104, 106 sharing their layers and one of tail node 104, 106 storing a reference model of the other layers that is then used to for the regularization. This can be a penalty term on the loss that penalized low cosine similarities to the reference model that can be added so:6ref '6IMliieiiwhere Wref is a vector of reference parameters and VP is a vector with the current parameters that are being optimized. The term a is a scaler, which is a hyperparameter that is selected. It is noted that the reference model does not need to be exchanged in every training pass. The frequency of communication of the reference model can be varied based on available network resources and the use case, for example.
[0058] In another example, averaging, or some other aggregation such as FedAvg, is performed between the offloaded layers. The layers are forced to be kept the same but a potential disadvantage may be that the layers ca not be customized if needed. If weights cannot be shared at all, due to limited communication availability for instance, the ML models can be trained in isolation without any kind of regularizer.
[0059] Figure 6 is a flowchart of an example for how the merging is determined. In operation 600, a generalization node 100 receives a backloading request from tail nodes 104, 106. In other examples discussed further herein , the offloading request is from an orchestration node. The offloading request may be triggered by, e.g., one or more of tail nodes 104, 106 being battery operated devices and the battery is almost depleted. Thus, tail node(s) 104, 106 make an offloading request to generalization node 100 to offload a layer. In operation 602, generalization node 100 checks the similarity between the layers to be offloaded using, e.g., cosine similarity. In operation 604, if the similarity is above a threshold value, e.g., above 0, the layers are merged. While some examples discussed herein include a threshold value of 0, the present disclosure is not so limited and includes other values, including for a comparison with cosine similarity or with another similarity metric. Cosine similarity can be defined as:
[0060] In operation 606, if the cosine similarity is below the threshold value, the layers are kept separate, resulting in a deployment as shown in the example in Figure 7. As shown in Figure 7, when the layers LI shown with dashed lines of tail nodes 104, 106 cannot be merged, layers LI are kept in a last layer L3 shown with dashed lines in the generalization node 100. The old layers LI are kept separate and the layer LI previously belonging to tail node 101 is used for output to tail node 104 and vice versa for the layer LI previously belonging to tail node 106.
[0061] Figure 8 is a sequence diagram of an example of offloading with regularization. In this example the layer weights can be exchanged intermittently, and an old reference can be used if it is needed to keep communication overhead low, for example. Operations 1-17 correspond to anexample a method for training parallel split learning with the help of regularization in order to make future offloading easier. Operations 18-21 correspond to an example of a method for determining whether offloaded layers from distributed nodes 104, 106 can be aggregated or not.
[0062] In operations 1 and 2, generalization node 100 sends an offloading request to tail nodes 104, 106, respectively. In operations 3 and 4, tail nodes 104, 106 respectively send privacy and network constraints information to generalization node 100.
[0063] In operation 5, generalization node 100 decides to use a regularizer in training. In operations 6 and 7, generalization node 100 provides to tail nodes 104, 106, respectively, an identification of layers to offload and an indication to share weights.
[0064] In operation 8, generalization node 100 performs a forward pass on locally available input data; and in operations 9 and 10 sends activations to tail nodes 104, 106 respectively.
[0065] In operations 11 and 12, tail nodes 104, 106 respectively perform a forward pass on the activations; and, in operations 13 and 14, tail nodes 104, 106 respectively share their weights.
[0066] In operation 15, tail node 106 calculates a prediction loss and a cosine similarity; and, in operations 16 and 17, tail nodes 104, 106 respectively send their gradients to generalization node 100.
[0067] In operations 18 and 19, generalization node 100 receives a backloading request from tail nodes 104, 106 respectively. The backloading request from each of tail node 104 and tail node 106 includes a request to offload a layer and a weight of the layer.
[0068] In operation 20, generalization node 100 computes a similarity metric between the layers to be offloaded and performs a model maturity check. The model maturity check can include, for example, checking a historical trajectory of gradients obtained from tail node 104, 106.
[0069] In operation 21, generalization node 100 outputs a decision on whether to merge the layers or not merge the layers.
[0070] Figure 9 is a sequence diagram of an example of offloading with regularization in the form of aggregation. In this example, FedAvg is included but it is noted that other aggregation methods can be used. Operations 1 -17d correspond to an example a method for training parallel split learning with the help of regularization in the form of aggregation in order to make future offloading easier. Operations 18-21 correspond to an example of a method for determining whether offloaded layers from distributed nodes 104, 106 can be aggregated or not.
[0071] In operations 1 and 2, generalization node 100 sends an offloading request to tail nodes 104, 106, respectively. In operations 3 and 4, tail nodes 104, 106 respectively send privacy and network constraints information to generalization node 100.
[0072] In operation 5, generalization node 100 decides to synchronization weights of tail nodes 104, 106 using FedAvg in training. In operations 6 and 7, generalization node 100 provides to tail nodes 104, 106, respectively, an identification of layers to offload and an indication to share weights.
[0073] In operation 8, generalization node 100 performs a forward pass on locally available input data; and in operations 9 and 10 sends activations to tail nodes 104, 106 respectively.
[0074] In operations 11 and 12, tail nodes 104, 106 respectively perform a forward pass on the activations; and, in operations 13 and 14, tail nodes 104, 106 respectively share their weights.
[0075] In operation 15, tail node 106 calculates a prediction loss; and, in operations 16 and 17, tail nodes 104, 106 respectively send their gradients to generalization node 100.
[0076] In operations 17a, generalization node 100 performs FedAvg.
[0077] In operation 17b, generalization node 100 performs a forward pass; and in operations 17c and 17 d, tail nodes 104, 106 respectively send activations and the averaged layers to tail nodes 104, 106.
[0078] In operations 18 and 19, generalization node 100 receives a backloading request from tail nodes 104, 106 respectively. The backloading request from each of tail node 104 and tail node 106 includes a request to offload a layer and a weight of the layer.
[0079] In operation 20, generalization node 100 computes a similarity metric between the layers to be offloaded and performs a model maturity check. The model maturity check can include, for example, checking a historical trajectory of gradients obtained from tail node 104, 106.
[0080] In operation 21, generalization node 100 outputs a decision on whether to merge the layers or not merge the layers.
[0081] Figure 10 is a sequence diagram of an example of offloading without regularization. Operations 1-13 correspond to an example a method for training parallel split learning without regularization. Operations 18-21 correspond to an example of a method for determining whether offloaded layers from distributed nodes 104, 106 can be aggregated or not.
[0082] In operations 1 and 2, generalization node 100 sends an offloading request to tail nodes 104, 106, respectively. In operations 3 and 4, tail nodes 104, 106 respectively send privacy and network constraints information to generalization node 100.
[0083] In operation 5, generalization node 100 decides not to use a regularizer in training. In operations 6 and 7, generalization node 100 provides to tail nodes 104, 106, respectively, an identification of layers to offload.
[0084] In operation 8, generalization node 100 performs a forward pass on locally available input data; and in operations 9 and 10 sends activations to tail nodes 104, 106 respectively.
[0085] In operation 11, tail node 106 calculates a prediction loss; and, in operations 12 and 13, tail nodes 104, 106 respectively send their gradients to generalization node 100.
[0086] In operations 18 and 19, generalization node 100 receives a backloading request from tail nodes 104, 106 respectively. The backloading request from each of tail node 104 and tail node 106 includes a request to offload a layer and a weight of the layer.
[0087] In operation 20, generalization node 100 computes a similarity metric between the layers to be offloaded and performs a model maturity check. The model maturity check can include, for example, checking a historical trajectory of gradients obtained from tail node 104, 106.
[0088] In operation 21, generalization node 100 outputs a decision on whether to merge the layers or not merge the layers.
[0089] A further example is for a split learning version of a use case referred to as “E2E data volume transfer time” described in 3GPP release 19 in technical specification (TS) 23.288, section 6.18; and another use case of predicting jitter using the same input data as in the “E2E data volume transfer time” use case. In this example, the ML model is trained in a dynamic split learning manner instead of the centralized approach from the 3 GPP description.
[0090] This example takes input from the following network functions: Access and Mobility Management Function (AMF), Session Management Function (SMF), gNodeB (gNB), User Plane Function (UPF) and the AF via the Network Exposure Function (NEF). In the use-case in 3GPP, this data is sent to a centralized NWDAF where the ML model is trained. In contrast as shown in Figure 11, in this example, there is distributed split learning using head / input nodes 1110 that include an AMF, SMF, and gNB; and a generalization node 100 that includes a UPF and is in between (i) the input nodes 1100 that include AMF, SMF, gNB and (ii) the output node 102, which includes tail node 104 having a first AF (AF1) and tail node 106 which includes a second AF (AF2). AF1 of tail node 104 includes layers LI, L2 for predicting E2E data volume transfer time. AF2 of tail node 106 includes layers LI, L2 for predicting jitter.
[0091] All ML training / deployment in this example is done in localized NWDAFs that coexist with some network functions, or in a generalized NWDAF. In this example, the generalization node 100 determines whether to merge or not previously offloaded layers from tail nodes 104, 106 in the generalization node 100. This example provides a mechanism for how to train the offloaded layers to facilitate an easier move of the layers back to the generalization node 100. The flowcharts and signaling diagrams of Figures 5, 6, and 8-10 can apply to this example and, for brevity, theirdescription are not repeated. A specific difference, however, is that all nodes in the example in Figure 11 are a NWDAF. That is, the nodes are a NWDAF(s) co-located with the functions AMF, SMF, gNB, UPF, AF1, AF2 as shown in Figure 11. A more detailed signaling diagram for this example is shown in Figure 12.
[0092] Figure 12 is a sequence diagram of a signaling flow of a deployment of ML model layer offloading in a split learning setting in a 3GPP NWDAF as discussed with respect to the example in Figure 11. In this example, all NWDAFs are located at different premises or at local (e.g., private) networks and are not allowed to share raw datasets in between the NWDAFs.
[0093] In operation 1, main NWDAF 100 at a core network generates a data identifier (e.g., a key) so that this identifier can be used for data correlation, such as sample alignment purposes, across all participants that each are co-located with separate NWDAFs.
[0094] In operations 2-4, the data identifier (e.g., a key) is sent by main NWDAF 100 to all participants including NWDAF / AMF, NWDAF / SMF, and NWDAF / gNB.
[0095] In operations 5-7, the head participants (e.g., NWDAF / AMF, NWDAF / SMF, NWDAF / gNB) perform forward propagation on the locally available input data and send the activations to the main NWDAF 100 together with the corresponding data key.
[0096] In operation 8, concatenation of activations received from participants NWDAF / AMF, NWDAF / SMF, NWDAF / gNB is performed at the main NWDAF 100.
[0097] In operations 9 and 10, main NWDAF 100 performs a forward-pass and sends the activations to tail node 104, which includes AF1, and tail node 106, which includes AF2, in the application domain together with the corresponding key. The application domain has one NN at tail node 104 for latency prediction and another NN at tail node 106 for jitter prediction. Alternatively, each of prediction models can be located at the same NWDAF, but each having different NN models.
[0098] In operations 11 and 12, the NN models at the application domain respectively compute a loss as they have ground-truth labels.
[0099] In operation 13, the application domain estimates that it does not have enough compute resources to perform training (in other words, backward-propagation) and makes a decision to offload.
[0100] In operations 14 and 15, the application domain sends a model layer offloading request to the main MWDAF 100 in the core network along with the model layers to be offloaded, which is the first layer of the ML model of tail nodes 104 and 106, respectively, in this example.
[0101] In operation 16, main NWDAF 100 computes a similarity metric between the layers and the historical trajectory of gradients obtained from the tail nodes 104, 106 located at the application domain.
[0102] In a first alternative, in operations 17 and 18, an aggregation decision is given at main NWDAF 100 to aggregate, e.g., average, the ML model layers as-is, or not to do aggregation based on the cosine similarity score and threshold value.
[0103] In a second alternative, in operations 19 and 20, if the aggregation decision is given, the first layers of NN models that are received from tail nodes 104, 106 in the application domain are averaged, and appended at the last layer of the generalization NN located at the main NWDAF 100.
[0104] As shown in operation 21, if the aggregation decision is not given, due to a low cosine similarity score for example, two alternatives are included in operations 22-27.
[0105] In a first alternative in operation 22, the received first layers are concatenated. This may have a disadvantage of increasing memory requirements and computation overhead at the NWADF 100 in the core network, however, since the ML model size is now doubled at the core network, and each NN model specialized for the two use cases will function simultaneously.
[0106] In a second alternative, in operations 23-27, assistance with training at the application domain is provided by regularizing the loss functions with the similarity of the offloaded NN weights. This in turn may enable a smoother ML model layer offloading since the ML model in parallel learns to increase the similarity of the first layers of the NNs at the application domain while at the same time aiming to reduce the error of the actual predictions.
[0107] In operations 28-29, main NWDAF 100 requests the gradients from the tail nodes 104, 106 in the application domain to continue the training.
[0108] In operations 30-31, the tail nodes 104, 106 in the application domains send gradients to the main NWDAF 100.
[0109] In operations 32-34, main NWDAF 100 sends gradients to input nodes 1100 including NWDAF / AMF, NWDAF / SMF, and NWDAF / gNB. This completes a first round of training.
[0110] The example of Figures 11 and 12 also can be implemented in an open radio access network (ORAN) 1302. As shown in the example in Figure 13, in that case, rApps, shown as respective ML model trainers 1304, 1308, 1310 for the respective uses cases in a non-real time (non-RT) radio access network (RAN) intelligent controller (RIC), train a collaborative split learning with the ORAN 1302. In this example, the input attributes for a use case are in a service management and orchestration (SMO) 1300, but some attributes may be sensitive, for example, and cannot be shared between the ORAN 1302 and SMO 1300.Pl l l l l lWOOl
[0111] As shown, this example includes model trainers 1304, 1308, 1310 deployed in SMO 1300 and O-RAN 1302. ML Model trainer 1304 at the SMO 1300 is a head node where input features are located, and the ORAN 1302 is a tail node where output labels are located. As shown, two separate tail ML model trainers 1308, 1310 are located at ORAN 1302, which train for two different use cases. In this example, the ORAN 1302 does not have enough compute power at some point in time and requests to offload ML model layers from the ORAN 1302 to SMO 1300. SMO 1300 then checks for resource availability and decides whether or not to offload layers. If yes, the remaining operations are similar to operations 14-34 of Figure 12.
[0112] In operation 1, ML trainer 1302 at SMO 1300 generates a data identifier (e.g., a key) so that this identifier can be used for data correlation, such as sample alignment purposes, across all participants ML model trainer 1308 and ML model trainer 1310 that each are located at ORAN 1302.
[0113] In operations 2-4, the data identifier (e.g., a key) is sent by ML trainer 1304 to all participants including ML model trainer 1308 and ML model trainer 1310.
[0114] In operations 5-8, ML model trainer 1308 and ML model trainer 1310 perform forward propagation respectively compute a prediction loss.
[0115] In operations 9 and 10, ML model trainer 1308 and ML model trainer 1310 send a model layer offloading request to ML model trainer 1304 along with the model layers to be offloaded.
[0116] In operations 11 and 12, ML model trainer 1304 sends a resource query to resource controller 1306, and receives a response that includes resource information.
[0117] In operation 13, ML model trainer 1304 determines that there are not enough compute resources to perform training (in other words, backward-propagation) and makes a decision to offload.
[0118] In operations 14 and 15, ML model trainer 1304 sends a ML model layer offload response to ML model trainer 1308 an 1310. In this example, the response includes an acknowledgement that ML model trainers 1308, 1310 can offload a layer, which is a respective first layer in this example.
[0119] In operations 16 and 17, ML model trainers 1308, 1310 offload their respective first layers to ML model trainer 1304.
[0120] In operation 18, ML model trainer 1304 computes a similarity metric between the layers and the historical trajectory of gradients obtained from the ML model trainers 1308, 1310.
[0121] In a first alternative, in operations 19 and 20, an aggregation decision is given at ML model trainer 1304 to aggregate, e.g., average, the ML model layers as-is, or not to do aggregation based on the cosine similarity score and a threshold value.
[0122] In a second alternative, in operations 21 and 22, if the aggregation decision is given, the first layers of NN models that are received from ML model trainers 1308, 1310 are averaged, and appended at the last layer of the generalization NN located at ML model trainer 1304.
[0123] As shown in operation 23, if the aggregation decision is not given, due to a low cosine similarity score for example, two alternatives are included in operations 24-29.
[0124] In a first alternative in operation 24, the received first layers are concatenated. This may have a disadvantage of increasing memory requirements and computation overhead at the ML model trainer 1304, however, since the ML model size is now doubled at ML model trainer 1304, and each NN specialized model at ML model trainers 1308, 1310 for the two use cases will function simultaneously.
[0125] In a second alternative, in operations 25-29, assistance with training at ML model trainers 1308, 1310 is provided by regularizing the loss functions with the similarity of the offloaded NN weights. This in turn may enable a smoother ML model layer offloading since the ML model in parallel learns to increase the similarity of the first layers of the NNs at ML model trainers 1308, 1310 while at the same time aiming to reduce the error of the actual predictions.
[0126] In operations 30-31, ML model trainer 1304 requests the gradients from the ML model trainers 1308, 1310 to continue the training.
[0127] In operations 32-35, ML model trainers 1308, 1310 perform backward propagation and send gradients to ML trainer 1304.
[0128] In operations 36, ML model trainer 1304 performs backward propagation.
[0129] Figure 14 is a flow chart illustrating operations of a computing device according to some embodiments. As shown, some embodiments are directed to a computer-implemented method for determining whether to merge offloaded distributed ML model layers in a split learning environment. In block 1406, the method includes obtaining a similarity metric including a comparison between a ML model parameter of (i) a layer from a first distributed computing device to be offloaded to a third distributed computing device and (ii) a layer from a second distributed computing device to be offloaded to the third distributed computing device. In block 1408, the method further includes determining at least one of (i) when the similarity metric is greater than a threshold value, merge the layer from the first distributed computing device and the layer from the second distributed computing device in the third distributed computing device, or (ii) when the similarity metric is equal to or less than the threshold value, offload the layer from the firstdistributed computing device and the layer from the second distributed computing device and keep them as separate layers in the third distributed computing device.
[0130] The ML model parameter can include at least one of a weight and a gradient.
[0131] In some embodiments, the merge includes to merge a weight from the first distributed computing device and a weight from the second distributed computing device in the third distributed computing device; the offload includes offload the weight from the first distributed computing device and the weight from the second distributed computing device; and keep includes the offloaded weights from first and second distributed computing devices are kept as separate weights in the third distributed computing device.
[0132] In other embodiments, the merge includes to merge a gradient from the first distributed computing device and a gradient from the second distributed computing device in the third distributed computing device; and keep includes keeping the gradient from the first distributed computing device and the gradient from the second distributed computing device as separate gradients in the third distributed computing device.
[0133] Obtaining (1406) the similarity metric can include receiving the similarity metric from one of the first distributed computing device and the second distributed computing device.
[0134] In some embodiments, the method optionally includes receiving (block 1400) at least one request to offload the layer from the first distributed computing device and the layer from the second distributed computing device.
[0135] In other embodiments, the receiving of block 1400 includes receiving the at least one request to offload from the first distributed computing device and the second distributed computing device; and the method optionally includes sending (block 1402) a response to the first distributed computing device and the second distributed computing device. The response includes an acknowledgement to the at least one request to offload.
[0136] In still other embodiments, the at least one request to offload is from a fourth distributed computing device that has access to monitoring information and is responsible for coordination of training related to offloading a portion of the ML model in the split learning environment; and the method optionally includes sending (block 1404) a response to the fourth distributed computing device. The response includes an acknowledgement to the at least one request to offload.
[0137] The obtaining (block 1406) the similarity metric can include calculating the similarity metric between the layer from the first distributed computing device and the layer from the second distributed computing device.
[0138] The similarity metric can include at least one of a cosine similarity score, an LI norm, and an L2 norm.
[0139] The merge can include to aggregate the layer from the first distributed computing device and the layer from the second distributed computing device.
[0140] The layer from the first distributed computing device and the layer from the second distributed computing device can include a first layer of a first ML model from the first distributed computing device and a first layer of a second ML model from the second distributed computing device; and the aggregated first layers can be appended at a last layer of the ML model in the third distributed computing device.
[0141] In some embodiments, the method optionally includes, when the similarity metric is equal to or less than the threshold value, directing (block 1410) the first distributed computing device and the second distributed computing device to apply a regularizing action on the layer of the first distributed computing device and the layer of the second distributed computing device.
[0142] The regularizing action can include regularizing a loss function of the first and the second distributed computing devices with the similarity metric, and sending the regularized loss function to the first distributed computing device and the second distributed computing device.
[0143] In some embodiments, the regularizing action includes training the ML model jointly to maximize an accuracy of an estimation of tasks at the first and second distributed computing device, and the similarity of the ML model layer weights that will be offloaded.
[0144] In some embodiments, the regularizing action increases the similarity between the layer of the first distributed computing device and the layer of the second distributed computing device.
[0145] The first distributed computing device can include a first tail computing device, which also may be referred to as an active party; the second distributed computing device can include a second tail computing device; and the third computing device can include a generalization computing device.
[0146] The generalization computing device can include a subset of the ML model that is connected to at least the first tail computing device and the second tail computing device, and the first tail computing device and the second tail computing device respectively can include at least one specialized layer.
[0147] The third distributed computing device can include a first NWDAF in a core network of a telecommunications network; the first distributed computing device can include a first ML model located with a second NWDAF of the telecommunications network; and the seconddistributed computing device can include a second ML model located with the second NWDAF of the telecommunications network.
[0148] In some embodiments, the third distributed computing device includes an rApp in a non-RT RAN RIC; and the first distributed computing device includes a first ML model trainer for a first use case in an ORAN and the second distributed computing device includes a second ML model trainer for a second use case in the ORAN.
[0149] Figure 15 is a flow chart illustrating operations of a computing device according to some embodiments. As shown, some embodiments are directed to a computer-implemented method for training related to offloading a portion of a ML model in a split learning environment for a telecommunications network. In block 1500, the method includes sharing, with a receiving computing device, a weight of a layer of a first ML model at a first distributed computing device to be offloaded and a weight of a second ML model at a second distributed computing device to be offloaded. In block 1502, the method further includes performing, at the receiving computing device, a regularizing action on the layer of the first ML model and the layer of the second ML model.
[0150] The regularizing action can include regularizing a loss function of the first and the second distributed computing devices with ae similarity metric, and sending the regularized loss function to the first distributed computing device and the second distributed computing device.
[0151] The similarity metric can include at least one of a cosine similarity score, an LI norm, and an L2 norm.
[0152] In some embodiments, the regularizing action includes training the ML model jointly to maximize an accuracy of an estimation of tasks at the first and second distributed computing device, and the similarity of the ML model layer weights that will be offloaded.
[0153] The regularizing action can increase a similarity metric between the layer of the first distributed computing device and the layer of the second distributed computing device.
[0154] The receiving computing device can include (i) at least one of the first distributed and the second distributed computing device and (ii) a third distributed computing device.
[0155] The first distributed computing device can include a first tail computing device, the second distributed computing device can include a second tail computing device, and the third computing device can include a generalization computing device.
[0156] The generalization computing device can include a subset of the ML model that is connected to at least the first tail computing device and the second tail computing device, and the first tail computing device and the second tail computing device respectively can include at least one specialized layer.
[0157] The third distributed computing device can include a first NWDAF in a core network of a telecommunications network; the first distributed computing device can include a first ML model located with a second NWDAF of the telecommunications network; and the second distributed computing device can include a second ML model located with the second NWDAF of the telecommunications network.
[0158] In some embodiments, the third distributed computing device includes an rApp in a non-RT RAN RIC; the first distributed computing device includes a first ML model trainer for a first use case in an ORAN; and the second distributed computing device includes a second ML model trainer for a second use case in the ORAN.
[0159] Operations of a computing device can be performed by the computing device 1700 of Figure 17. Operations of the computing device (implemented using the structure of Figure 17) have been discussed with reference to the flow charts of Figures 14 and 15 according to some embodiments of the present disclosure. Operations 1400, 1402, 1404, and / or 1410 of Figure 14 may be optional with respect to some embodiments of computing devices and related methods. Modules may be stored in memory 1705 of Figure 17, for example, and these modules may provide instructions so that when the instructions of a module are executed by respective computing device processor 1703 (also referred to herein as processing circuitry), computing device 1700 performs respective operations of the flow charts of Figures 14 and 15.
[0160] As shown in Figure 17, the computing device 1700 includes processor 1703 that is operatively coupled to memory 1705, network interface 1707, and / or any other component, or any combination thereof. Certain computing devices may utilize all or a subset of the components shown in Figure 17. The level of integration between the components may vary from one computing device to another computing device. Further, certain computing devices may contain multiple instances of a component, such as multiple processors, memories, etc.
[0161] The processor 1703 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 1705. The processor 1703 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field- programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processor 1703 may include multiple central processing units (CPUs).
[0162] In the example, the network interface 1707 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a display, a monitor, a printer, another output device, or any combination thereof. An input device may allow a user to capture information into the computing device 1700. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, a force sensor, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.
[0163] The memory 1705 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 1705 includes one or more application programs, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data. The memory 1705 may store, for use by the computing device 1700, any of a variety of various operating systems or combinations of operating systems.
[0164] The memory 1705 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUICC), integrated UICC (iUICC) or a removable UICC commonly known as ‘SIM card.’ The memory 1705 may allow the computing device 1700 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 1705 which may be or comprise a device-readable storage medium.
[0165] The processor 1703 may be configured to communicate with a network using the network interface 1707. The network interface 1707 may comprise one or more communication subsystems. The network interface 1707 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another computing device, local computing device, edge node, cloud node, etc.). Each transceiver may include a transmitter and / or a receiver appropriate to provide network communications (e.g., optical, electrical, and so forth).
[0166] In the illustrated embodiment, communication functions of the network interface 1707 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol / internet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.
[0167] Although the computing device described herein may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the computing device, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processor and the network interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.
[0168] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer- readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and / or by end users and a wireless network generally.
[0169] In certain embodiments, a computing device (1700) is provided. The computing device (1700) includes at least one processor (1703); and at least one memory (1705) connected to the at least one processor (1703) and storing program code that is executed by the at least one processor to perform operations. The operations include to perform some or all of the functionality described herein.
[0170] In certain embodiments, a computer program product is provided including a non- transitory storage medium (1705) including program code (1709) to be executed by at least one processor (1703) of a computing device (1700). Execution of the program code causes the computing device to perform operations. The operations include to perform some or all of the functionality described herein.
[0171] Figure 16 shows an example of a communication system 1600 in accordance with some embodiments.
[0172] In the example, the communication system 1600 includes a telecommunication network 1602 that includes an access network 1604, such as a RAN, and a core network 1606, which includes one or more core network nodes 1608. The access network 1604 includes one or more access network nodes, such as network nodes 1610a and 1610b (one or more of which may be generally referred to as network nodes 1610), or any other similar 3 GPP access node or non- 3 GPP access point. The network nodes 1610 facilitate direct or indirect connection of user equipment (UE) (also referred to herein as “user device” or a “communication device”), such as by connecting UEs 1612a, 1612b, 1612c, and 1612d (one or more of which may be generally referred to as UEs 1612) to the core network 1606 over one or more wireless connections. Acomputing device (e.g., computing device 1700) can be a network node 1610 or another node comprising a computing device 1700 in communication system 1600.
[0173] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 1600 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system 1300 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.
[0174] The UEs 1612 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes 1610 and other communication devices. Similarly, the network nodes 1610 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 1612 and / or with other network nodes or equipment in the telecommunication network 1602 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network 1602.
[0175] In the depicted example, the core network 1606 connects the network nodes 1610 to one or more hosts, such as host 1616. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network 1606 includes one more core network nodes (e.g., core network node 1608) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 1608. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), AMF, SMF, Authentication Server Function (AUSF), Subscription Identifier Deconcealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), NEF, and / or a UPF.
[0176] The host 1616 may be under the ownership or control of a service provider other than an operator or provider of the access network 1604 and / or the telecommunication network 1602, and may be operated by the service provider or on behalf of the service provider. The host 1616 may host a variety of applications to provide one or more service. Examples of such applicationsinclude live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.
[0177] As a whole, the communication system 1600 of Figure 16 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.
[0178] In some examples, the telecommunication network 1602 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 1602 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 1602. For example, the telecommunications network 1602 may provide URLLC services to some UEs, while providing eMBB services to other UEs, and / or mMTC / Massive loT services to yet further UEs.
[0179] In some examples, the UEs 1612 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 1604 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 1604. Additionally, a UE may be configured for operating in single- or multi -RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio - Dual Connectivity (EN-DC).
[0180] In the example, the hub 1614 communicates with the access network 1604 to facilitate indirect communication between one or more UEs (e.g., UE 1612c and / or 1612d) and network nodes (e.g., network node 1610b). In some examples, the hub 1614 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 1614 may be a broadband router enabling access to the corenetwork 1606 for the UEs. As another example, the hub 1614 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 1610, or by executable code, script, process, or other instructions in the hub 1614. As another example, the hub 1614 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 1614 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 1614 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 1614 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 1614 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy loT devices.
[0181] The hub 1614 may have a constant / persistent or intermittent connection to the network node 1610b. The hub 1614 may also allow for a different communication scheme and / or schedule between the hub 1614 and UEs (e.g., UE 1612c and / or 1612d), and between the hub 1614 and the core network 1606. In other examples, the hub 1614 is connected to the core network 1606 and / or one or more UEs via a wired connection. Moreover, the hub 1614 may be configured to connect to an M2M service provider over the access network 1604 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 1610 while still connected via the hub 1614 via a wired or wireless connection. In some embodiments, the hub 1614 may be a dedicated hub - that is, a hub whose primary function is to route communications to / from the UEs from / to the network node 1610b. In other embodiments, the hub 1614 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node 1610b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.
[0182] Further definitions and embodiments are discussed below.
[0183] In the above-description of certain embodiments of the present disclosure, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present disclosure. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which concepts of the present disclosure belong. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in thecontext of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
[0184] When an element is referred to as being “connected”, “coupled”, “responsive”, or variants thereof to another element, it can be directly connected, coupled, or responsive to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected”, “directly coupled”, “directly responsive”, or variants thereof to another element, there are no intervening elements present. Like numbers refer to like elements throughout. Furthermore, “coupled”, “connected”, “responsive”, or variants thereof as used herein may include wirelessly coupled, connected, or responsive. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Well-known functions or constructions may not be described in detail for brevity and / or clarity. The term “and / or” (abbreviated “ / ”) includes any and all combinations of one or more of the associated listed items.
[0185] It will be understood that although the terms first, second, third, etc. may be used herein to describe various elements / operations, these elements / operations should not be limited by these terms. These terms are only used to distinguish one element / operation from another element / operation. Thus a first element / operation in some embodiments could be termed a second element / operation in other embodiments without departing from the teachings of concepts of the present disclosure. The same reference numerals or the same reference designators denote the same or similar elements throughout the specification.
[0186] As used herein, the terms “comprise”, “comprising”, “comprises”, “include”, “including”, “includes”, “have”, “has”, “having”, or variants thereof are open-ended, and include one or more stated features, integers, elements, steps, components, or functions but does not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions, or groups thereof. Furthermore, as used herein, the common abbreviation “e.g ”, which derives from the Latin phrase “exempli gratia,” may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item. The common abbreviation “i.e ”, which derives from the Latin phrase “id est,” may be used to specify a particular item from a more general recitation.
[0187] Example embodiments are described herein with reference to block diagrams and / or flowchart illustrations of computer-implemented methods, apparatus (systems and / or devices) and / or computer program products. It is understood that a block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be implemented by computer program instructions that are performed by one ormore computer circuits. These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and / or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and / or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions / acts specified in the block diagrams and / or flowchart block or blocks, and thereby create means (functionality) and / or structure for implementing the functions / acts specified in the block diagrams and / or flowchart block(s).
[0188] These computer program instructions may also be stored in a tangible computer- readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions / acts specified in the block diagrams and / or flowchart block or blocks. Accordingly, embodiments of the present disclosure may be embodied in hardware and / or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as “circuitry,” “a module” or variants thereof.
[0189] It should also be noted that in some alternate implementations, the functions / acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality / acts involved. Moreover, the functionality of a given block of the flowcharts and / or block diagrams may be separated into multiple blocks and / or the functionality of two or more blocks of the flowcharts and / or block diagrams may be at least partially integrated. Finally, other blocks may be added / inserted between the blocks that are illustrated, and / or blocks / operations may be omitted without departing from the scope of the present disclosure. Moreover, although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
[0190] Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present disclosure. All such variations and modifications are intended to be included herein within the scope of present disclosure. Accordingly, the above disclosed subject matter is to be considered illustrative, and not restrictive, and the examples of embodiments are intended to cover all such modifications, enhancements, and other embodiments, which fall within the spirit and scope of the present disclosure. Thus, to the maximum extent allowed by law, the scope of the present disclosure is to be determined by thebroadest permissible interpretation of the present disclosure including the examples of embodiments and their equivalents, and shall not be restricted or limited by the foregoing detailed description.
Claims
Claims:
1. A computer-implemented method for determining whether to merge offloaded distributed machine learning, ML, model layers in a split learning environment, the method comprising: obtaining (1406) a similarity metric comprising a comparison between a ML model parameter of (i) a layer from a first distributed computing device to be offloaded to a third distributed computing device and (ii) a layer from a second distributed computing device to be offloaded to the third distributed computing device; and determining (1408) at least one of (i) when the similarity metric is greater than a threshold value, merge the layer from the first distributed computing device and the layer from the second distributed computing device in the third distributed computing device, or (ii) when the similarity metric is equal to or less than the threshold value, offload the layer from the first distributed computing device and the layer from the second distributed computing device and keep them as separate layers in the third distributed computing device.
2. The computer-implemented method of Claim 1, wherein the ML model parameter comprises at least one of a weight and a gradient.
3. The computer-implemented method of any one of Claims 1 to 2, wherein the merge comprises merge a weight from the first distributed computing device and a weight from the second distributed computing device in the third distributed computing device, and wherein the offload comprises offload the weight from the first distributed computing device and the weight from the second distributed computing device, wherein keep comprises the offloaded weights from first and second distributed computing devices are kept as separate weights in the third distributed computing device.
4. The computer-implemented method of any one of Claims 1 to 3, wherein the merge comprises merge a gradient from the first distributed computing device and a gradient from the second distributed computing device in the third distributed computing device, and wherein the keep comprises keeping the gradient from the first distributed computing device and the gradient from the second distributed computing device as separate gradients in the third distributed computing device.
5. The computer-implemented method of any one of Claims 1 to 4, wherein obtaining (1406) the similarity metric comprises receiving the similarity metric from one of the first distributed computing device and the second distributed computing device.
6. The computer-implemented method of any one of Claims 1 to 5, further comprising: receiving (1400) at least one request to offload the layer from the first distributed computing device and the layer from the second distributed computing device.
7. The computer-implemented method of Claim 6, wherein the receiving (1400) comprises receiving the at least one request to offload from the first distributed computing device and the second distributed computing device, the method further comprising: sending (1402) a response to the first distributed computing device and the second distributed computing device, the response comprising an acknowledgement to the at least one request to offload.
8. The computer-implemented method of any one of Claims 6 to 7, wherein the at least one request to offload is from a fourth distributed computing device that has access to monitoring information and is responsible for coordination of training related to offloading a portion of the ML model in the split learning environment, the method further comprising: sending (1404) a response to the fourth distributed computing device, the response comprising an acknowledgement to the at least one request to offload.
9. The computer-implemented method of any one of Claims 1 to 8, wherein obtaining (1406) the similarity metric comprises calculating the similarity metric between the layer from the first distributed computing device and the layer from the second distributed computing device.
10. The computer-implemented method of any one of Claims 1 to 9, wherein the similarity metric comprises at least one of a cosine similarity score, an LI norm, and an L2 norm.
11. The computer-implemented method of any one of Claims 1 to 10, wherein the merge comprises to aggregate the layer from the first distributed computing device and the layer from the second distributed computing device.
12. The computer-implemented method of Claim 11, wherein the layer from the first distributed computing device and the layer from the second distributed computing device comprise a first layer of a first ML model from the first distributed computing device and a first layer of a second ML model from the second distributed computing device, and the aggregated first layers are appended at a last layer of the ML model in the third distributed computing device.
13. The computer-implemented method of any one of Claims 1 to 12, further comprising: when the similarity metric is equal to or less than the threshold value, directing (1410) the first distributed computing device and the second distributed computing device to apply a regularizing action on the layer of the first distributed computing device and the layer of the second distributed computing device.
14. The computer-implemented method of Claim 13, wherein the regularizing action comprises regularizing a loss function of the first and the second distributed computing devices with the similarity metric, and sending the regularized loss function to the first distributed computing device and the second distributed computing device.
15. The computer-implemented method of Claim 13, wherein the regularizing action comprises training the ML model jointly to maximize an accuracy of an estimation of tasks at the first and second distributed computing device, and the similarity of the ML model layer weights that will be offloaded16. The computer-implemented method of any one of Claims 13 to 15, wherein the regularizing action increases the similarity between the layer of the first distributed computing device and the layer of the second distributed computing device.
17. The computer-implemented method of any one of Claims 1 to 16, wherein the first distributed computing device comprises a first tail computing device, the second distributed computing device comprise a second tail computing device, and the third computing device comprises a generalization computing device.
18. The computer-implemented method of Claim 17, wherein the generalization computing device comprises a subset of the ML model that is connected to at least the first tail computing device and the second tail computing device, and the first tail computing device and the second tail computing device respectively comprise at least one specialized layer.
19. The computer-implemented method of any one of Claims 1 to 18, wherein the third distributed computing device comprises a first network data analytics function, NWDAF, in a core network of a telecommunications network, and wherein the first distributed computing device comprises a first ML model located with a second NWDAF of the telecommunications network, and the second distributed computing device comprise a second ML model located with the second NWDAF of the telecommunications network.
20. The computer-implemented method of any one of Claims 1 to 18, wherein the third distributed computing device comprises an rApp in a non-real time (non-RT) radio access network (RAN) intelligent controller (RIC), and wherein the first distributed computing device comprises a first ML model trainer for a first use case in an open radio access network (ORAN) and the second distributed computing device comprises a second ML model trainer for a second use case in the ORAN.
21. A computer-implemented method for training related to offloading a portion of a machine learning, ML, model in a split learning environment for a telecommunications network, the method comprising: sharing (1500), with a receiving computing device, a weight of a layer of a first ML model at a first distributed computing device to be offloaded and a weight of a second ML model at a second distributed computing device to be offloaded; and performing (1502), at the receiving computing device, a regularizing action on the layer of the first ML model and the layer of the second ML model.
22. The computer-implemented method of Claim 21, wherein the regularizing action comprises regularizing a loss function of the first and the second distributed computing devices with ae similarity metric, and sending the regularized loss function to the first distributed computing device and the second distributed computing device.
23. The computer-implemented method of Claim 22, wherein the similarity metric comprises at least one of a cosine similarity score, an LI norm, and an L2 norm.
24. The computer-implemented method of Claim 19, wherein the regularizing action comprises training the ML model jointly to maximize an accuracy of an estimation of tasks at the first and second distributed computing device, and the similarity of the ML model layer weights that will be offloaded.
25. The computer-implemented method of any one of Claims 21 to 24, wherein the regularizing action increases a similarity metric between the layer of the first distributed computing device and the layer of the second distributed computing device.
26. The computer-implemented method of any one of Claims 21 to 25, wherein the receiving computing device comprises (i) at least one of the first distributed and the second distributed computing device and (ii) a third distributed computing device.
27. The computer-implemented method of Claim 26, wherein the first distributed computing device comprises a first tail computing device, the second distributed computing device comprise a second tail computing device, and the third computing device comprises a generalization computing device.
28. The computer-implemented method of Claim 27, wherein the generalization computing device comprises a subset of the ML model that is connected to at least the first tail computing device and the second tail computing device, and the first tail computing device and the second tail computing device respectively comprise at least one specialized layer.
29. The computer-implemented method of any one of Claims 26 to 28, wherein the third distributed computing device comprises a first network data analytics function, NWDAF, in a core network of a telecommunications network, and wherein the first distributed computing device comprises a first ML model located with a second NWDAF of the telecommunications network, and the second distributed computing device comprise a second ML model located with the second NWDAF of the telecommunications network.
30. The computer-implemented method of any one of Claims 26 to 28, wherein the third distributed computing device comprises an rApp in a non-real time (non-RT) radio access network (RAN) intelligent controller (RIC), and wherein the first distributed computing device comprises a first ML model trainer for a first use case in an open radio access network (ORAN) and the second distributed computing device comprises a second ML model trainer for a second use case in the ORAN.
31. A computing device (100, 104, 106, 1700) configured to determine whether to merge offloaded distributed machine learning, ML, model layers in a split learning environment, the computing device comprising: at least one processor (1703); at least one memory (1705) connected to the at least one processor (1703) and storing program code (1709) that is executed by the at least one processor to perform operations comprising: obtain a similarity metric comprising a comparison between a ML model parameter of (i) a layer from a first distributed computing device to be offloaded to a third distributed computing device and (ii) a layer from a second distributed computing device to be offloaded to the third distributed computing device; and determine at least one of (i) when the similarity metric is greater than a threshold value, merge the layer from the first distributed computing device and the layer from the second distributed computing device in the third distributed computing device, or (ii) when the similarity metric is equal to or less than the threshold value, offload the layer from the first distributed computing device and the layer from the second distributed computing device as separate layers in the third distributed computing device.
32. The computing device of Claim 31, wherein the at least one memory (1705) is connected to the at least one processor (1703) and stores program code that is executed by the at least one processor to perform operations according to any one of Claims 2 to 20.
33. A computer program product comprising a non-transitory storage medium (1705) including program code (1709) to be executed by at least one processor (1703) of a computing device (100, 104, 106, 1700) configured to determine whether to merge offloaded distributed machine learning, ML, model layers in a split learning environment, whereby execution of the program code causes the computing device to perform operations comprising:obtain a similarity metric comprising a comparison between a ML model parameter of (i) a layer from a first distributed computing device to be offloaded to a third distributed computing device and (ii) a layer from a second distributed computing device to be offloaded to the third distributed computing device; and determine at least one of (i) when the similarity metric is greater than a threshold value, merge the layer from the first distributed computing device and the layer from the second distributed computing device in the third distributed computing device, or (ii) when the similarity metric is equal to or less than the threshold value, offload the layer from the first distributed computing device and the layer from the second distributed computing device as separate layers in the third distributed computing device.
34. The computer program product of Claim 33, whereby execution of the program code causes the computing device to perform operations according to any one of Claims 2 to 20.
35. A computing device (100, 104, 106, 1700) configured to determine whether to train related to offloading a portion of a ML model in a split learning environment for a telecommunications network, the computing device comprising: at least one processor (1703); at least one memory (1705) connected to the at least one processor (1703) and storing program code (1709) that is executed by the at least one processor to perform operations comprising: share, with a receiving computing device, a weight of a layer of a first ML model at a first distributed computing device to be offloaded and a weight of a second ML model at a second distributed computing device to be offloaded; and perform, at the receiving computing device, a regularizing action on the layer of the first ML model and the layer of the second ML model.
36. The computing device of Claim 35, wherein the at least one memory (1705) is connected to the at least one processor (1703) and stores program code that is executed by the at least one processor to perform operations according to any one of Claims 22 to 30.
37. A computer program product comprising a non-transitory storage medium (1705) including program code (1709) to be executed by at least one processor (1703) of a computing device (100, 104, 106, 1700) configured to determine whether to train related to offloading aportion of a ML model in a split learning environment for a telecommunications network, whereby execution of the program code causes the computing device to perform operations comprising: share, with a receiving computing device, a weight of a layer of a first ML model at a first distributed computing device to be offloaded and a weight of a second ML model at a second distributed computing device to be offloaded; and perform, at the receiving computing device, a regularizing action on the layer of the first ML model and the layer of the second ML model.
38. The computer program product of Claim 37, whereby execution of the program code causes the computing device to perform operations according to any one of Claims 22 to 30.