Patent Description:
The state-of-the-art typical approaches applied for predicting Key Performance Indicators (KPIs) for base stations require collecting a lot of data in a centralized data repository. This is needed since a lot of information is used to create reliable models that can properly predict when a KPI is going to deteriorate. Examples of KPIs in this case include (but are not limited to) latency (response time between base station and user equipment, UE) and throughput. Predicting KPIs is usually accompanied with an approach to "actuation", a way of sending some command to the base station in order to be able to react to the problematic situation (the KPI degrading) and alleviate the root cause of the problem. In the case of latency, actuation may include changing the uplink/downlink transmission power to minimize interference between the cells causing the issue.

There currently exist certain challenge(s). One limitation with this approach is that it requires a lot of information to be transferred in the cloud which in some cases may not be possible for two reasons: (<NUM>) Links between the base stations and the cloud may not have the bandwidth to carry the amount of information that is needed; and (<NUM>) Data geo-fencing regulations may not permit for any data to leave the country where it was generated.

These limitations (when present) effectively rule out the possibility of developing any solution that can leverage historical information for predicting KPI degradations. Local data centers (if they exist) can be used to develop such approaches within the geographical region that suffers from these limitations. However, such approaches become difficult to maintain over time and cannot benefit from any other information collected in other regions or other base stations.

Federated Learning allows for treating these limitations. However, one problem with some approaches to Federated Learning is that the approaches cannot be applied directly to KPI degradation. This is because they assume that all sites will always receive a random distribution of events, meaning they can always benefit from the input received by any other site. In practice, this may not be the case since sites are very much bound to their surroundings and can only benefit from information coming from other very similar sites. <CIT> discloses communication techniques for transmission of model updates within a machine learning framework. <CIT> discloses automatic determination of a root cause of an issue with a wireless carrier network. <CIT> discloses distributed deep machine learning on a cluster.

Some embodiments herein demonstrate a more disciplined approach towards Federated Learning which can be applied to non-random distributions of data and achieve on-par accuracy as the same models trained using completely centralized sets of data. In particular, some embodiments train the sites in a federated manner such that the individual sites train on their own dataset and only share weights with the centralized node that averages all the weights received from multiple nodes. In some embodiments, each site aims to maximize the prediction accuracy via one or more methods, including (a) by monitoring the accuracy of an individual site model and stop training and stop sharing weights when a saturation on a node is reached; and/or (b) by running the averaging on the edge, such as by broadcasting back the weights to the edge so that the edge can use the weights that yield the best combination. However, (b) may be computationally intensive (e.g., with a grid search), and might bring additional overload to the edges. Accordingly, methods and apparatuses to overcome the computation overhead are defined in the appended claims.

In some particular implementations, base stations learn and improve the machine learning models without committing or sending any raw data; instead each base station or a communication node trains a machine learning model and the models evolve only by sharing the trained/learned model weights. This helps to reduce the raw data transfer costs, protecting privacy by transmitting rather low volume model weights. Some embodiments also propose various mechanisms to customize the models at each node to maximize model accuracy.

Certain embodiments may provide one or more of the following technical advantage(s). One advantage is lower latency. Trained models can learn from other sites but models (inference) take place as close as possible to where the data is generated. Contrary to a centralized deployment where inference would have taken place in a data center, this significantly improves performance for actuation since potential issues can be detected locally and thus immediately trigger any resolution needed.

Another advantage concerns security/privacy aspects. Data never really leaves the site - training is copied in the form of some abstract model, i.e. set of weights obtained when the model is retrained.

Yet another advantage is reduced data transfer cost. It is often that the data size to run network performance related use cases is massive, thus the proposed solution prevents high data transfer costs.

A further advantage is speed of data transfer. It is often that uploads are slower than downloads. Thus, reducing the upload volume will drastically reduce the upload bandwidth requirements.

Some embodiments also have minimum impact of data transfer on the uplink. Since the data upload size is reduced significantly by not sending a large volume of data from the edge, the impact of the data upload on the traffic utilization on the network itself is minimized, thus the bandwidth can be utilized by the base station.

There are also further improvements in model accuracy via smart updating of the edge models via various approaches. When nodes converge in accuracy, the nodes notify the central node in order not to receive updated weights anymore. This way, the redundant signalling is reduced. Moreover, the central node collects all updates from every node and broadcasts all weights back to the edge. Every node in the edge runs weighted averaging maximizing the accuracy, i.e. via grid search. The nodes can choose the weights that would benefit the edge accuracy.

<FIG> shows multiple edge nodes <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N (e.g., base stations) in one or more edge communication networks (e.g., radio access network(s)). The edge nodes <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N (generally referred to hereinafter as edge nodes <NUM>) are configured to predict the network communication performance at each edge node. The network communication performance may for instance be represented in terms of certain key performance indicators, KPIs, such as processing delay of downlink packets, number of radio bearers with poor quality of service (Qos), number of abnormal radio bearer releases, etc. Regardless, if the performance is predicted to decrease at an edge node, remedial or preventative measures may be taken as needed to account for (e.g., mitigate or prevent) the predicted performance decrease. These measures may include for example transmission power adjustments to minimize interference between edge nodes <NUM>.

In order to predict network communication performance, each edge node <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N stores its own respective local model <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N of network communication performance at the edge node, as well as its own respective local training dataset <NUM>-<NUM>, <NUM>-<NUM>,. Each edge node <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N trains its respective local model <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N over one or more rounds of training at the edge node. The training of each edge node's local model <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N is based on the local training dataset <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N at that edge node, respectively. The edge nodes <NUM> thereby exploit local training datasets to locally perform model training at the edge.

Rather than training their local models in isolation, though, the edge nodes <NUM> collaborate with one another, directly in a peer-to-peer fashion and/or indirectly via server <NUM>, so as to engage in federated learning, e.g., in order that an edge node benefits from the training performed at one or more other edge nodes. Each edge node may therefore train its local model based not only on its local training dataset but also on so-called multi-node training information that the edge node receives in each round of training. In some embodiments, this multi-node training information comprises information about local models at multiple edge nodes as trained based on local training datasets at those edge nodes.

For example, in some embodiments as shown in <FIG>, each edge node <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N, after or as part of each round of training, transmits information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N to the server <NUM> about its local model <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N as trained (based on its local training dataset) through that round of training. The information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N may for instance take the form of a local update to the local model of the edge node, e.g., indicating how the local model has been updated in that round of training. Where, for example, the local models are neural network models, the information may constitute weights of the model or updates to such weights. Regardless, the server <NUM> generates multi-node training information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N based on the information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N received from the edge nodes and transmits that multi-node training information towards the edge nodes.

In some embodiments, the multi-node training information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N is a combination of (e.g., average of) the information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N received from multiple ones of the edge nodes. Where the information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N takes the form of weights, for instance, the multi-node training information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N may take the form of averaged weights. In any event, the multi-node training information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N in some embodiments is a combination of the information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N received from all of the edge nodes. In this case, the multi-node training information transmitted to any given edge node may be the same as the multi-node training information transmitted to any other edge node, i.e., information <NUM>-<NUM> is the same as information <NUM>-<NUM> and <NUM>-N. In other embodiments, though, the multi-node training information <NUM>-n transmitted to a certain edge node <NUM>-n is a combination of the information <NUM>-n received from a subset or portion of the edge nodes. This subset or portion of edges nodes may for instance include edge nodes that are grouped into the same one of multiple different clusters formed from the edge nodes, e.g., based on those edge nodes having characteristics that are most similar to one another. In this case, then, the multi-node training information transmitted to different respective clusters may be cluster-specific.

In yet other embodiments, the multi-node training information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N is simply the information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N received from multiple ones of the edge nodes, e.g., as relayed by the server <NUM>. Where the information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N takes the form of weights, for instance, the multi-node training information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N may take the form of those same weights (i.e., not averaged weights). In any event, the multi-node training information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N in some embodiments is the information <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N received from all of the edge nodes. In this case, the multi-node training information transmitted to any given edge node may be the same as the multi-node training information transmitted to any other edge node, i.e., information <NUM>-<NUM> is the same as information <NUM>-<NUM> and <NUM>-N. In other embodiments, though, the multi-node training information <NUM>-n transmitted to a certain edge node <NUM>-n is the information <NUM>-n received from a subset or portion of the edge nodes. This subset or portion of edges nodes may for instance include edge nodes that are grouped into the same one of multiple different clusters formed from the edge nodes, e.g., based on those edge nodes having characteristics that are most similar to one another. In this case, then, the multi-node training information transmitted to different respective clusters may be cluster-specific. Any given edge node may accordingly train its local model based on this multi-node training information. In some embodiments, for instance, an edge node (rather than the server <NUM>) decides which information (e.g., which one or more local updates from other edge nodes) to combine with one another, and/or with information (e.g., a local update) determined by the edge node itself, into a combined update, and then updates its local model based on that combined update. In these embodiments, then, the combining (e.g., averaging) takes place at the edge rather than centrally at the server <NUM>, e.g., so as to exploit knowledge at the edge regarding which information (e.g., local updates) best fits and/or maximizes accuracy at the edge (e.g., with respect to a local test dataset at each edge node).

No matter the particular nature of the multi-node training information, though, when the multi-node training information is generated on a cluster by cluster basis, the server <NUM> may group multiple edge nodes into different clusters based on, for each of the edge nodes, one or more characteristics of the edge node and/or of a local training dataset at the edge node. The one or more characteristics of an edge node may include one or more of: a geographic location of the edge node; a deployment type of the edge node; an overall network quality at the edge node; a configuration of the edge node; or a statistical measure of a number of subscribers served by the edge node. The one or more characteristics of the local training dataset at an edge node may include one or more of: a statistical distribution of labels assigned to respective instances of the local training dataset; or a statistical distribution of labels assigned to each instance of the local training dataset. The server <NUM> in some embodiments receives, from each of the multiple edge nodes, control signaling that indicates the one or more characteristics of the edge node and/or of the local training dataset at the edge node. The edge nodes may for instance transmit such control signaling to the server <NUM> prior to or during the first round of training. Regardless, the server <NUM> in some embodiments may group into the same cluster edge nodes whose one or more characteristics indicated by the received control signaling are most similar. Similarity between the one or more characteristics for different edge nodes may for instance be defined according to a distance metric, e.g., a Eucleadean metric or a Manhattan metric.

Alternatively or additionally to the embodiments above, other embodiments herein narrowly tailor the number of rounds of training undertaken to the number of rounds needed to reach a desired model accuracy and/or the number of rounds beyond which model accuracy improves only marginally. This may advantageously avoid needless rounds of training, which may in turn avoid unnecessary control signaling overhead and processing resources.

In some embodiments in this regard, an edge node, after or as part of each round of training, transmits control signaling (e.g., to the server <NUM> or other edge node(s)) that indicates an accuracy of the local model as trained by the edge node through that round of training, that indicates whether another round of training is needed or desired at the edge node, and/or that indicates whether any further multi-node training information is needed or desired at the edge node. Where the control signaling indicates whether another round of training is needed or desired at the edge node, the edge node may for instance, for each of the one or more rounds of training determine, based on at least the accuracy of the local model as trained by the edge node through that round of training, whether one or more conditions are met for stopping training of the local model at the edge node. The conditions may include for instance the accuracy of the local model reaching an accuracy threshold and/or improving by less than a minimum incremental improvement threshold since one or more previous rounds of training. Regardless, the edge node may then generate the control signaling to indicate that another round of training and/or further update information is not, or is, needed or desired at the edge node, depending respectively on whether or not the one or more conditions are met.

In other embodiments where the control signaling indicates the accuracy through a round of training, the server <NUM> may engage in a similar determination as to whether any further round of training is performed. Where no further round of training is performed for training the local model at a certain edge node, the server <NUM> may refrain from transmitting any multi-node training information to that certain edge node and/or the certain edge node may refrain from transmitting any training information to the server <NUM>.

Note that the accuracy of the local model as trained by an edge node may be with respect to a local test dataset at the edge node, as shown in <FIG>.

In some embodiments, the local model at each edge node is a model of a predicted level of degradation in one or more key performance indicators that indicate network communication performance at the edge node. For example, in one embodiment, the local model at each edge node maps the one or more key performance indicators as input to an output in the form of a multiclass label that represents the predicted level of degradation in the one or more key performance indicators. The multiclass label has multiple possible values associated with different predicted levels of degradation in the one or more key performance indicators.

Alternatively or additionally, in some embodiments, the local model at each edge node is a neural network model. In this case, a local update to a neural network model includes an updated weight matrix.

Although some embodiments were illustrated as being accomplished with coordination via server <NUM>, other embodiments herein extend to peer-to-peer cooperation via direct peer-to-peer interaction between edge nodes, e.g., instead of or in addition to interaction with server <NUM>.

In view of the above modifications and variations, <FIG> depicts a method for using federated learning to predict network communication performance at an edge node <NUM>-<NUM> in an edge communication network in accordance with particular embodiments. The method is performed by the edge node <NUM>-<NUM>. In some embodiments, the method includes training a local model <NUM>-<NUM> of network communication performance over one or more rounds of training at the edge node <NUM>-<NUM>, based on a local training dataset <NUM>-<NUM> at the edge node <NUM>-<NUM> and based on multi-node training information <NUM>-<NUM> received in each round of training (Block <NUM>). In some embodiments, the multi-node training information <NUM>-<NUM> comprises information about local models <NUM>-<NUM>. <NUM>-N at other respective edge nodes <NUM>-<NUM>. <NUM>-N as trained based on local training datasets <NUM>-<NUM>. <NUM>-N at the other edge nodes <NUM>-<NUM>. Regardless, the method in some embodiments may also include, after or as part of each round of training, transmitting control signaling that indicates an accuracy of the local model <NUM>-<NUM> as trained by the edge node <NUM>-<NUM> through that round of training, that indicates whether another round of training is needed or desired at the edge node <NUM>-<NUM>, and/or that indicates whether any further multi-node training information <NUM>-<NUM> is needed or desired at the edge node <NUM>-<NUM> (Block <NUM>). In one or more embodiments, the method may further include predicting network communication performance at the edge node <NUM>-<NUM> based on the trained local model <NUM>-<NUM> (Block <NUM>).

In some embodiments, the method may also include performing one or more remedial or preventative measures to account for the network communication performance at the edge node <NUM>-<NUM> being predicted to decrease (Block <NUM>).

In some embodiments, the control signaling indicates whether another round of training is needed or desired at the edge node <NUM>-<NUM> and/or indicates whether any further update information is needed or desired at the edge node <NUM>-<NUM>.

In some embodiments, step <NUM> may more specifically include, for each of the one or more rounds of training, determining, based on at least the accuracy of the local model <NUM>-<NUM> as trained by the edge node <NUM>-<NUM> through that round of training, whether one or more conditions are met for stopping training of the local model <NUM>-<NUM> at the edge node <NUM>-<NUM> (Block 210A). In some embodiments, for example, the one or more conditions include the accuracy of the local model reaching an accuracy threshold and/or improving by less than a minimum incremental improvement threshold since one or more previous rounds of training. Regardless, the step <NUM> may further include generating the control signaling to indicate that another round of training and/or further update information is not, or is, needed or desired at the edge node <NUM>-<NUM>, depending respectively on whether or not the one or more conditions are met (Block 210B). And further include transmitting the generated control signaling (Block 210C).

In some embodiments, the control signaling indicates that the edge node <NUM>-<NUM> does not need or desire another round of training and/or any further update information and further indicates for how long the edge node <NUM>-<NUM> does not need or desire another round of training and/or any further update information.

In some embodiments, the control signaling indicates an accuracy of the local model as trained by the edge node <NUM>-<NUM> through that round of training. In one such embodiment, the control signaling indicates the accuracy of the local model with respect to a local test dataset at the edge node.

In some embodiments, the control signaling may be transmitted to one or more of the other edge nodes <NUM>-<NUM>. Alternatively or additionally, the control signaling may be transmitted to a server <NUM>.

In some embodiments, the multi-node training information <NUM>-<NUM> is received from the other edge nodes <NUM>-<NUM>. Alternatively or additionally, the multi-node training information <NUM>-<NUM> is received from a server <NUM>.

In some embodiments, the multi-node training information <NUM>-<NUM> includes a combination of local updates that the other edge nodes respectively made to local models at the other edge nodes. Alternatively or additionally, the multi-node training information <NUM>-<NUM> includes an average of local updates that the other edge nodes respectively made to local models at the other edge nodes.

In other embodiments, the multi-node training information includes, for each of multiple other edge nodes, a local update that the other edge node made to a local model at the other edge node. In one such embodiment, for instance, for each of the one or more rounds of training, said training further comprises: (i) deciding which one or more of the local updates to combine with one another, and/or with a local update determined by the edge node based on the local training dataset at the edge node, into a combined update, and (ii) updating the local model at the edge node based on the combined update.

In some embodiments, the edge node <NUM>-<NUM> is a base station.

In some embodiments, the local model <NUM>-<NUM> at the edge node <NUM>-<NUM> is a model of a predicted level of degradation in one or more key performance indicators that indicate network communication performance in the edge communication network. For example, the local model <NUM>-<NUM> at the edge node <NUM>-<NUM> may map the one or more key performance indicators as input to an output in the form of a multiclass label that represents the predicted level of degradation in the one or more key performance indicators, wherein the multiclass label has multiple possible values associated with different predicted levels of degradation in the one or more key performance indicators.

In some embodiments, the local model at the edge node and the local models at the other edge nodes are each a neural network model. In this case, a local update to a neural network model includes an updated weight matrix.

In some embodiments, the decision comprises deciding to use one or more of the local updates that, when combined with one another and/or with the local update determined by the edge node, maximizes an accuracy of the local model at the edge node with respect to a local test dataset at the edge node. Alternatively or additionally, the decision is based on reinforcement learning at the edge node. For example, this decision may use a reinforcement learning process in which the local test dataset at the edge node is a state, an accuracy metric indicating an accuracy of the local model is a reward, and a time taken to determine the accuracy metric for a possible local update is a cost. Alternatively or additionally, the decision may be based on a genetic algorithm at the edge node, a grid search, and/or a random search at the edge node.

<FIG> depicts a method for using federated learning to predict network communication performance at an edge node <NUM>-<NUM> in an edge communication network in accordance with other particular embodiments. The method is performed by an edge node <NUM>-<NUM>. In some embodiments, the method includes training a local model <NUM>-<NUM> of network communication performance over one or more rounds of training at the edge node <NUM>-<NUM>, based on a local training dataset <NUM>-<NUM> at the edge node <NUM>-<NUM> and based on multi-node training information <NUM>-<NUM> received in each round of training (Block <NUM>). In one or more embodiments the multi-node training information <NUM>-<NUM> includes, for each of multiple other edge nodes <NUM>-<NUM>. <NUM>-N, a local update that the other edge node made to a local model at the other edge node.

In some embodiments, for example, this training, for each of the rounds, may include deciding which one or more of the local updates to combine with one another, and/or with a local update determined by the edge node <NUM>-<NUM> based on the local training dataset <NUM>-<NUM> at the edge node <NUM>-<NUM>, into a combined update (Block 300A). The training may also include updating the local model <NUM>-<NUM> at the edge node <NUM>-<NUM> based on the combined update (Block 300B).

Regardless, in some embodiments, the method also includes predicting network communication performance at the edge node <NUM>-<NUM> based on the trained local model <NUM>-<NUM> (Block <NUM>). Moreover, in one or more embodiments, the method may include performing one or more remedial or preventative measures to account for the network communication performance at the edge node <NUM>-<NUM> being predicted to decrease (Block <NUM>).

In any event, in some embodiments, the method further comprises, for each of the one or more rounds of training: (i) combining into a combined update one or more of the local updates with one another and/or with a local update determined by the edge node based on a local training dataset at the edge node, and (ii) updating the local model at the edge node based on the combined update. For example, such combining may comprise averaging.

In some embodiments, the multi-node training information is received from one or more of the other edge nodes. Alternatively or additionally, the multi-node training information is received from a server.

In some embodiments, the method may further comprise performing one or more remedial or preventative measures to account for the network communication performance at the edge node being predicted to decrease.

<FIG> depicts a method for using federated learning to predict network communication performance at an edge node <NUM>-<NUM> in an edge communication network in accordance with still other particular embodiments. The method is performed by an edge node <NUM>-<NUM>. In one or more embodiments, the method includes transmitting control signaling that indicates one or more characteristics of the edge node <NUM>-<NUM> and/or of a local training dataset <NUM>-<NUM> at the edge node <NUM>-<NUM> (Block <NUM>).

In some embodiments, for example, the control signaling indicates one or more characteristics of the edge node <NUM>-<NUM>. The characteristic(s) may include one or more of: a geographic location of the edge node; a deployment type of the edge node; an overall network quality at the edge node; a configuration of the edge node; or a statistical measure of a number of subscribers served by the edge node.

Alternatively or additionally, the control signaling may indicate one or more characteristics of the local training dataset at the edge node. In this case, the one or more characteristics of the local training dataset at the edge node may for example include one or more of: a statistical distribution of labels assigned to respective instances of the local training dataset; or a statistical distribution of labels assigned to each instance of the local training dataset.

In some embodiments, the control signaling is transmitted to one or more of the other edge nodes. Alternatively or additionally, the control signaling in some embodiments is transmitted to a server.

Regardless, in some embodiments, the method also includes training a local model <NUM>-<NUM> of network communication performance over one or more rounds of training at the edge node <NUM>-<NUM>, based on a local training dataset <NUM>-<NUM> at the edge node <NUM>-<NUM> and based on multi-node training information <NUM>-<NUM> received in each round of training (Block <NUM>). Such multi-node training information <NUM>-<NUM> may for example be received from one or more of the other edge nodes <NUM>-<NUM>. <NUM>-N and/or from a server <NUM>. Regardless, in some embodiments, the multi-node training information <NUM>-<NUM> comprises information about local models <NUM>-<NUM>. <NUM>-N at other respective edge nodes <NUM>-<NUM>. <NUM>-N as trained based on local training datasets <NUM>-<NUM>. <NUM>-N at the other edge nodes <NUM>-<NUM>. In one embodiment, the multi-node training information <NUM>-<NUM> includes the local updates respectively determined by the other edge nodes <NUM>-<NUM>.

Regardless, the method in some embodiments also includes predicting network communication performance at the edge node <NUM>-<NUM> based on the trained local model <NUM>-<NUM> (Block <NUM>). Moreover, in one or more embodiments, the method may include performing one or more remedial or preventative measures to account for the network communication performance at the edge node <NUM>-<NUM> being predicted to decrease (Block <NUM>).

In some embodiments, for each of the one or more rounds of training, training further comprises: deciding which one or more of the local updates to combine with one another, and/or with a local update determined by the edge node based on the local training dataset at the edge node, into a combined update, and updating the local model at the edge node based on the combined update.

<FIG> depicts a method performed by a server <NUM> for coordinating training of local models <NUM>-<NUM>. <NUM>-N of network communication performance at respective edge nodes <NUM>-<NUM>. The method as shown may comprise the following for each of one or more rounds of training. In particular, the method may comprise transmitting, to one or more of the edge nodes <NUM>-<NUM>. <NUM>-N, multi-node training information <NUM>-<NUM>. 20N, e.g., that comprises information about local models <NUM>-<NUM>. <NUM>-N at respective edge nodes <NUM>-<NUM>. <NUM>-N as trained based on local training datasets <NUM>-<NUM>. 160N at the edge nodes <NUM>-<NUM>. <NUM>-N (Block <NUM>). The method may also comprise receiving, from one or more of the edge nodes <NUM>-<NUM>. <NUM>-N, control signaling that indicates an accuracy of the local model at the edge node as trained through the round of training, that indicates whether another round of training is needed or desired at the edge node, and/or that indicates whether any further multi-node training information is needed or desired at the edge node (Block <NUM>). The method in some embodiments may further include controlling generation of or transmission of multi-node training information <NUM>-<NUM>. <NUM>-N in any next round of training based on the received control signaling (Block <NUM>).

In some embodiments, the control signaling indicates the accuracy of the local model at the edge node as trained through the round of training. In some of these embodiments, controlling in Block <NUM> includes determining, based on at least the accuracy indicated by the control signaling received from an edge node, whether one or more conditions are met for stopping training of the local model at the edge node (Block 520A). In this case, the controlling may involve refraining from transmitting, or transmitting, further multi-node training information to the edge node in a next round of training, depending respectively on whether or not the one or more conditions are met (Block 520B). In one such embodiment, the one or more conditions include the accuracy of the local model reaching an accuracy threshold and/or improving by less than a minimum incremental improvement threshold since one or more previous rounds of training.

In some embodiments, the control signaling indicates whether another round of training is needed or desired at the edge node and/or indicates whether any further update information is needed or desired at the edge node. Alternatively or additionally, the control signaling indicates that the edge node does not need or desire another round of training and/or any further update information and further indicates for how long the edge node does not need or desire another round of training and/or any further update information.

In some embodiments, controlling in step <NUM> comprises transmitting or not transmitting multi-node training information to an edge node in a next round of training, depending respectively on whether or not the control signaling from the edge node indicates that the edge node needs or desires the further multi-node training information or another round of training.

In some embodiments, the multi-node training information includes a combination of local updates that the respective edge nodes respectively made to local models at the edge nodes. Alternatively or additionally, the multi-node training information includes an average of local updates that the respective edge nodes respectively made to local models at the edge nodes. In other embodiments, the multi-node training information includes, for each of the edge nodes, a local update that the edge node made to a local model at the edge node.

In some embodiments, the edge nodes are base stations.

In some embodiments, the local model at each edge node is a model of a predicted level of degradation in one or more key performance indicators that indicate network communication performance in the edge communication network at the edge node. For example, the local model at each edge node may map the one or more key performance indicators as input to an output in the form of a multiclass label that represents the predicted level of degradation in the one or more key performance indicators, wherein the multiclass label has multiple possible values associated with different predicted levels of degradation in the one or more key performance indicators.

In some embodiments, the local model at each edge node is a neural network model. In this case, a local update to a neural network model includes an updated weight matrix.

<FIG> depicts a method performed by a server <NUM> for coordinating training of local models <NUM>-<NUM>. <NUM>-N of network communication performance at respective edge nodes <NUM>-<NUM>. The method as shown may comprise grouping multiple edge nodes into different clusters based on, for each of the edge nodes <NUM>-<NUM>. <NUM>-N, one or more characteristics of the edge node and/or of a local training dataset at the edge node (Block <NUM>). The method may also comprise transmitting, to the edge nodes in each cluster, cluster-specific multi-node training information that comprises information about local models at the edge nodes in the cluster as trained based on local training datasets at the edge nodes (Block <NUM>).

In some embodiments, the method further comprises receiving, from each of the multiple edge nodes, control signaling that indicates the one or more characteristics of the edge node and/or of the local training dataset at the edge node (Block <NUM>).

In some embodiments, the grouping is based on the one or more characteristics of the edge nodes.

In some embodiments, the one or more characteristics of an edge node include one or more of: a geographic location of the edge node; a deployment type of the edge node; an overall network quality at the edge node; a configuration of the edge node; or a statistical measure of a number of subscribers served by the edge node.

In some embodiments, the grouping is based on the one or more characteristics of the local training datasets at the edge nodes.

In some embodiments, the one or more characteristics of the local training dataset at an edge node include one or more of: a statistical distribution of labels assigned to respective instances of the local training dataset; or a statistical distribution of labels assigned to each instance of the local training dataset.

In some embodiments, said grouping comprises grouping into the same cluster edge nodes whose one or more characteristics indicated by the received control signaling are most similar. For example, in some embodiments, similarity between the one or more characteristics for different edge nodes is defined according to a distance metric, e.g., a Eucleadean metric or a Manhattan metric.

In some embodiments, the cluster-specific multi-node training information transmitted to a cluster includes a combination of local updates that the respective edge nodes in the cluster respectively made to local models at the edge nodes.

In some embodiments, the multi-node training information transmitted to a cluster includes an average of local updates that the respective edge nodes in the cluster respectively made to local models at the edge nodes. In other embodiments, the multi-node training information transmitted to a cluster includes, for each of the edge nodes in the cluster, a local update that the edge node made to a local model at the edge node.

<FIG> depicts a method performed by a server <NUM> for coordinating training of local models <NUM>-<NUM>. <NUM>-N of network communication performance at respective edge nodes <NUM>-<NUM>. The method as shown may comprise the following for each of one or more rounds of training. In particular, the method may comprise receiving, from each of multiple edge nodes, a local update that the edge node made to a local model of network communication performance at the edge node (Block <NUM>). The method may also comprise transmitting, to each of one or more of the multiple edge nodes, multi-node training information that includes, for each of the multiple edge nodes, the local update that the edge node made to the local model of network communication performance at the edge node (Block <NUM>).

In some embodiments, the method further comprises grouping the multiple edge nodes into different clusters based on one or more characteristics of the edge nodes and/or of local training datasets at the edge nodes. In this case, said transmitting comprises transmitting, to the edge nodes in each cluster, cluster-specific multi-node training information that includes local updates received from the edge nodes in that cluster. Regardless, in some embodiments, the grouping is based on the one or more characteristics of the edge nodes. In some embodiments, the one or more characteristics of an edge node include one or more of: a geographic location of the edge node; a deployment type of the edge node; an overall network quality at the edge node; a configuration of the edge node; or a statistical measure of a number of subscribers served by the edge node.

Alternatively or additionally, the grouping is based on the one or more characteristics of the local training datasets at the edge nodes.

In some embodiments, the method further comprises receiving, from each of the multiple edge nodes, control signaling that indicates the one or more characteristics of the edge node and/or of the local training dataset at the edge node.

Embodiments herein also include an edge node (e.g., edge node <NUM>-<NUM>) in an edge communication network configured to use federated learning to predict network communication performance at the edge node. The edge node may be configured to perform the method shown in any of <FIG>.

Embodiments herein further include an edge node (e.g., edge node <NUM>-<NUM>) in an edge communication network configured to use federated learning to predict network communication performance at the edge node. The edge node comprises communication circuitry and processing circuitry configured to perform the method shown in any of <FIG>.

Embodiments herein further include an edge node (e.g., edge node <NUM>-<NUM>) in an edge communication network configured to use federated learning to predict network communication performance at the edge node. The edge node comprises one or more processors and a memory, the memory containing instructions executable by the one or more processors whereby the edge node is configured to perform the method shown in any of <FIG>.

Embodiments moreover include a computer program comprising instructions which, when executed by at least one processor of an edge node (e.g., edge node <NUM>-<NUM>) in an edge communication network, causes the edge node to carry out the method shown in any of <FIG>. Embodiments further include a carrier containing the computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or computer readable storage medium.

Embodiments herein also include a server <NUM> for coordinating federated learning to predict network communication performance in an edge communication network, the server configured to perform the method shown in any of <FIG>.

Embodiments further include a server <NUM> for coordinating federated learning to predict network communication performance in an edge communication network, the server comprising: communication circuitry; and processing circuitry configured to perform the method shown in any of <FIG>.

Embodiments also include a server <NUM> for coordinating federated learning to predict network communication performance in an edge communication network, the server comprising one or more processors and a memory, the memory containing instructions executable by the one or more processors whereby the server is configured to perform the method shown in any of <FIG>.

Embodiments moreover include a computer program comprising instructions which, when executed by at least one processor of a server <NUM> in an edge communication network, causes the server to carry out the method shown in any of <FIG>. Embodiments further include a carrier containing the computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or computer readable storage medium.

Note that the apparatuses described above may perform the methods herein and any other processing by implementing any functional means, modules, units, or circuitry. In one embodiment, for example, the apparatuses comprise respective circuits or circuitry configured to perform the steps shown in the method figures. The circuits or circuitry in this regard may comprise circuits dedicated to performing certain functional processing and/or one or more microprocessors in conjunction with memory. For instance, the circuitry may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory may include program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein, in several embodiments. In embodiments that employ memory, the memory stores program code that, when executed by the one or more processors, carries out the techniques described herein.

<FIG> for example illustrates an edge node <NUM> (e.g., edge node <NUM>-<NUM>) as implemented in accordance with one or more embodiments. As shown, the edge node <NUM> includes processing circuitry <NUM> and communication circuitry <NUM>. The communication circuitry <NUM> (e.g., radio circuitry) is configured to transmit and/or receive information to and/or from one or more other nodes, e.g., via any communication technology. Such communication may occur via one or more antennas that are either internal or external to the edge node <NUM>. The processing circuitry <NUM> is configured to perform processing described above, e.g., in <FIG>, such as by executing instructions stored in memory <NUM>. The processing circuitry <NUM> in this regard may implement certain functional means, units, or modules.

<FIG> illustrates a server <NUM> (e.g., server <NUM>) as implemented in accordance with one or more embodiments. As shown, the server <NUM> includes processing circuitry <NUM> and communication circuitry <NUM>. The communication circuitry <NUM> is configured to transmit and/or receive information to and/or from one or more other nodes, e.g., via any communication technology. The processing circuitry <NUM> is configured to perform processing described above, e.g., in <FIG>, such as by executing instructions stored in memory <NUM>. The processing circuitry <NUM> in this regard may implement certain functional means, units, or modules.

A computer program comprises instructions which, when executed on at least one processor of an apparatus, cause the apparatus to carry out any of the respective processing described above. A computer program in this regard may comprise one or more code modules corresponding to the means or units described above.

Additional embodiments will now be described. At least some of these embodiments may be described as applicable in certain contexts and/or wireless network types for illustrative purposes, but the embodiments are similarly applicable in other contexts and/or wireless network types not explicitly described.

In some embodiments, the terms site, client, and edge node are used interchangeably herein. Moreover, the terms central node and server may be used interchangeably herein for referring to similar embodiments.

<FIG> describes how traditional federated learning works.

Consider an example use case for site-based Federated Learning. The data for this use case includes <NUM> samples with <NUM> input KPI features. As an example, below are some of the descriptions of these features (CounterlD / Description ) ->.

The target variable consists of a variable of <NUM> class, [<NUM>, <NUM>, <NUM>] since it is a classification problem. Each class represents the level of the KPI degradation within the next <NUM> hours.

Each island is split into randomly <NUM>% train, <NUM>% test to run <NUM> folds CV (cross validation). <FIG> shows the train and test set size of <NUM> clients.

Machine learning model: The same supervised machine learning classification model is used in all experiments. The model consists of a neural network with <NUM> hidden layer (<NUM> neurons, activation ReLu, BatchNormalization). The final layer consists of <NUM> layers (<NUM> classes) with Softmax activation function.

Methodology: Federated Learning on the KPI degradation use case via deterministically separated clients. In this scenario, clients are separated where each client's data is completely isolated from each other. This way, no data is allowed to leave from any site.

Experiment procedure: <NUM> experiments are run first to draw baselines, and then observe how the model benefits from federated learning.

Experiment <NUM> (Centralized learning): The model is trained in a traditional and centralized manner, where all data is collected. In this baseline experiment, all training data from all nodes are collected to a central node where the machine learning model is trained. Then, the train model is used to inference the KPI degradation on individual nodes separately. This model is trained via <NUM> epochs with a batch size of <NUM>.

Experiment <NUM> (Decentralized learning): In contrast to the centralized learning, the sites train on their own datasets, without sharing any data within each other. They also execute the inference on their own dataset only. The models are trained via <NUM> epochs with batch size of <NUM>.

Experiment <NUM> (Federated Learning): The sites do not share any data but only shares weights. The individual site models are trained via <NUM> epochs with batch size of <NUM>, through maximum <NUM> rounds. The difference as compared to the previous embodiment is that in this one, the sites (clients) do not download an initial model from the central node, and instead each client trains on individual datasets, and shares the weights only after the first round.

Federated learning-based training procedure and algorithm: All nodes train from scratch (<NUM> epochs, max:<NUM> rounds, batch size <NUM>). Note that some sites have only a very few rounds due to the rather low amount of data. Weights are sent to the central node. Training on the nodes continues until all batches on a node is trained. However, the averaged weights on the nodes continue to update until the total number of rounds is reached. This way, the site continues to learn from others until all rounds are complete. <IMG>
<IMG>.

<FIG> is a block diagram showing how the training in the experiments is done.

<FIG> shows the results from experiment <NUM> (centralized training). That is, <FIG> shows the performance of the models presented when the model is trained on all training sets from all nodes, in a centralized manner and then is applied (inferenced) on the individual site data.

<FIG> shows the results from experiment <NUM> (decentralized and isolated training). That is, <FIG> shows the performance of the models presented when each ML model is trained in an isolated manner (seeing only its own dataset) and then is applied on each nodes individual testsets.

<FIG> shows the results from experiment <NUM> (federated learning based training). That is, <FIG> shows the performance of the models presented when each ML model is trained in a federated manner, where each node sends their weights to the centralized after each round (where each round is <NUM> epochs of training).

The federated learning is trained via <NUM> epochs, and the maximum number of batches was <NUM>. In order to reduce the training time, since the accuracy on all sites converge after <NUM> rounds, <NUM> rounds were run on all FL experiments.

Observe that the FL performs well in comparison to the centralized model as given in <FIG>. One reason for this is that the site continues to customize the model on towards its own dataset after receiving the updated averaged weights from the central node.

The learning curves of all <NUM> sites are given in <FIG>. This helps to understand when to stop updating weights which would reduce the necessity of redundant round trips for the aim to minimize the signaling volume in between the nodes. According to <FIG>, after <NUM> rounds, the prediction performance of the sites converges to their maximum, indicating that training and sharing after <NUM> or <NUM> rounds do not help much any further.

One reason for this is that the training is complete in most of the sites after <NUM> batches; in some clients this is earlier and in some clients the training is completed later in time (only after <NUM> round trips) as given in <FIG>.

Based on the results achieved, there is an indication that, given the dataset used in the experiments, there are some sites that do not benefit from being trained via a centralized manner. Some example sites that do not benefit from training involving sites (clients): <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>, which indicates that their data characteristics, which can be very well be depending on their geographical location or other dependencies such as site configuration or average number of subscribers being served, are different. However, in overall it is observed most of the sites benefit from being federated as also concluded from <FIG>.

Some embodiments herein cluster the sites (clients) into different clusters, e.g., based on geographical location or other decencies, as shown for instance in <FIG>.

Some embodiments apply cluster-specific learning, e.g., such that the only sites (clients) that impact learning at other sites (clients) are those that are in the same cluster.

One or more embodiments extend federated learning (FL) such that the nodes will receive updated weights from all nodes and then choose amongst the weights the best combination to apply to receive the maximum accuracy. As a result, the edge sites each apply the model that fits the best to its needs. Towards this aim for further improvement in the accuracy, <FIG> shows the FL flow according to some embodiments.

The best combination of figuring out the proper weights can also be performed in the central node, and not necessarily in the edges.

In the FL flow presented in <FIG>, and assuming that the weight of any node can be any of the values in the set (<NUM> : <NUM> where step size is <NUM>), every node needs to compute a massive number of combinations, where N is the number of clients. In the use case mentioned above, since each side is a separate client, there are N=<NUM> sites, where the combination can get to a massive number. This can be implemented in two different approaches: Reinforcement learning (RL) and genetic algorithm.

As grid search is highly computationally expensive, one approach that can be used is Reinforcement Learning (RL) to find out the best combination of weights in the edges. The aim is to maximize the edge performance with the minimum number of trials. Reinforcement learning proposed here is a continuous learning process that consists of a series of state, reward, and action.

Alternatively or additionally, sites in some embodiments indicate whether they are interested in receiving more updates from other sites, e.g., since in certain cases further updates do not yield meaningful increases in accuracy. The sequence diagram in <FIG> illustrates how the introduction of such a feature affects the process proposed here.

feedbackArray can be as simple as a bitArray where each bit indicates if the recipients want to receive more feedback for the i-th site in the array. In a slightly different implementation, this array to be extended to contain floating point numbers indicating time units where information from i-th should not be communicated.

Genetic algorithm is an algorithm to find out a good and robust solution (combination). In this example, the interest is in finding the best combination of qualifier multiplied by different weights that offers the best accuracy. A genetic algorithm typically solves by trying different combinations of solutions from a population and then incrementally mutating (improving) intermediate solutions towards the most optimal based on its findings.

In some embodiments, the central node is the one transmitting the site-specific weights to each site. In other embodiments, the sites themselves are interconnected to share the weights between themselves without involvement of the central node, e.g., in a peer-to-peer fashion.

Some embodiments exploit site-specific context information associated with the received weights, where for instance the context information indicates characteristics of the site for which a set of weights is received (e.g., deployment environment, number of users, etc.). In this case, then, the central node may selectively consider (or give more weight to) for a given site the sets of weights that come from other sites that have characteristics similar to the site's own characteristics.

In some embodiments, the central node may be implemented in a core network of a wireless communication network. In other embodiments, the central node may be implemented at any node in the cloud, e.g., outside the wireless communication network.

Note that although some embodiments herein have been described in the context of KPI degradation in a telecom network, other embodiments are extendable to other contexts. Generally, then, according to some embodiments herein, the choice of which clients will receive which weights is made in the central node, e.g., with respect to their similarity on the compressed data distribution/signature. For example, a clustering technique is used to compute the similarity of nodes, and the averaging of weights is done based on this similarity. Alternatively, in other embodiments, the choice of which weights to use is done in the edge, where each client receives the weights that each other client computed, and then applies the best weight. Candidate algorithms to compute the best fit combination are reinforcement learning or genetic algorithms, e.g., if grid search or random search is too highly computationally expensive. In both embodiments, the central node may be involved to decrease the complexity, and keep track of the weights and accuracies.

Action on the edges: the clients in some embodiments send feedback to the central node at every round, stating the current accuracy of the models. In this case, the central node may not send anymore updated average weights if the site has already converged to a good accuracy score to reduce the signaling.

Although the subject matter described herein may be implemented in any appropriate type of system using any suitable components, the embodiments disclosed herein are described in relation to a wireless network, such as the example wireless network illustrated in <FIG>. For simplicity, the wireless network of <FIG> only depicts network <NUM>, network nodes <NUM> and 2160b, and WDs <NUM>, 2110b, and 2110c. In practice, a wireless network may further include any additional elements suitable to support communication between wireless devices or between a wireless device and another communication device, such as a landline telephone, a service provider, or any other network node or end device. Of the illustrated components, network node <NUM> and wireless device (WD) <NUM> are depicted with additional detail. The wireless network may provide communication and other types of services to one or more wireless devices to facilitate the wireless devices' access to and/or use of the services provided by, or via, the wireless network. Thus, particular embodiments of the wireless network may implement communication standards, such as Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Long Term Evolution (LTE), Narrowband Internet of Things (NB-loT), and/or other suitable <NUM>, <NUM>, <NUM>, or <NUM> standards; wireless local area network (WLAN) standards, such as the IEEE <NUM> standards; and/or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave and/or ZigBee standards.

In some embodiments, the site, edge node, or client as described herein may be implemented by network node <NUM> or network node 2160b.

As used herein, wireless device (WD) refers to a device capable, configured, arranged and/or operable to communicate wirelessly with network nodes and/or other wireless devices. Unless otherwise noted, the term WD may be used interchangeably herein with user equipment (UE). Communicating wirelessly may involve transmitting and/or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and/or other types of signals suitable for conveying information through air. In some embodiments, a WD may be configured to transmit and/or receive information without direct human interaction. For instance, a WD may be designed to transmit information to a network on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the network. Examples of a WD include, but are not limited to, a smart phone, a mobile phone, a cell phone, a voice over IP (VoIP) phone, a wireless local loop phone, a desktop computer, a personal digital assistant (PDA), a wireless cameras, a gaming console or device, a music storage device, a playback appliance, a wearable terminal device, a wireless endpoint, a mobile station, a tablet, a laptop, a laptop-embedded equipment (LEE), a laptop-mounted equipment (LME), a smart device, a wireless customer-premise equipment (CPE). a vehicle-mounted wireless terminal device, etc.. A WD may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), vehicle-to-everything (V2X) and may in this case be referred to as a D2D communication device. As yet another specific example, in an Internet of Things (IoT) scenario, a WD may represent a machine or other device that performs monitoring and/or measurements, and transmits the results of such monitoring and/or measurements to another WD and/or a network node. The WD may in this case be a machine-to-machine (M2M) device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the WD may be a UE implementing the 3GPP narrow band internet of things (NB-IoT) standard. Particular examples of such machines or devices are sensors, metering devices such as power meters, industrial machinery, or home or personal appliances (e.g. refrigerators, televisions, etc.) personal wearables (e.g., watches, fitness trackers, etc.). In other scenarios, a WD may represent a vehicle or other equipment that is capable of monitoring and/or reporting on its operational status or other functions associated with its operation. A WD as described above may represent the endpoint of a wireless connection, in which case the device may be referred to as a wireless terminal. Furthermore, a WD as described above may be mobile, in which case it may also be referred to as a mobile device or a mobile terminal.

WD <NUM> may include multiple sets of one or more of the illustrated components for different wireless technologies supported by WD <NUM>, such as, for example, GSM, WCDMA, LTE, NR, WiFi, WiMAX, NB-IoT, or Bluetooth wireless technologies, just to mention a few.

UE <NUM> may be any UE identified by the <NUM>rd Generation Partnership Project (3GPP), including a NB-loT UE, a machine type communication (MTC) UE, and/or an enhanced MTC (eMTC) UE.

Network connection interface <NUM> may be configured to provide a communication interface to network 2243a. Network 2243a may encompass wired and/or wireless networks such as a local-area network (LAN), a wide-area network (WAN), a computer network, a wireless network, a telecommunications network, another like network or any combination thereof. For example, network 2243a may comprise a Wi-Fi network.

In <FIG>, processing circuitry <NUM> may be configured to communicate with network 2243b using communication subsystem <NUM>. Network 2243a and network 2243b may be the same network or networks or different network or networks. Communication subsystem <NUM> may be configured to include one or more transceivers used to communicate with network 2243b.

Network 2243b may encompass wired and/or wireless networks such as a local-area network (LAN), a wide-area network (WAN), a computer network, a wireless network, a telecommunications network, another like network or any combination thereof. For example, network 2243b may be a cellular network, a Wi-Fi network, and/or a near-field network.

All references to a/an/the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated Likewise, any advantage of any of the embodiments may apply to any other embodiments, and vice versa. Other objectives, features and advantages of the enclosed embodiments will be apparent from the description.

Claim 1:
A method for using federated learning to predict network communication performance at an edge node (<NUM>-<NUM>) in an edge communication network, the method performed by the edge node (<NUM>-<NUM>) and comprising:
training (<NUM>) a local model (<NUM>-<NUM>) of network communication performance over one or more rounds of training at the edge node (<NUM>-<NUM>), based on a local training dataset (<NUM>-<NUM>) at the edge node (<NUM>-<NUM>) and based on multi-node training information (<NUM>-<NUM>) received in each round of training, wherein the multi-node training information (<NUM>-<NUM>) comprises information about local models (<NUM>-<NUM>,...<NUM>-N) at other respective edge nodes (<NUM>-<NUM>,...<NUM>-N) as trained based on local training datasets at the other edge nodes (<NUM>-<NUM>,...<NUM>-N);
after or as part of each round of training, transmitting (<NUM>), to a server, control signaling that indicates an accuracy of the local model (<NUM>-<NUM>) as trained by the edge node (<NUM>-<NUM>) through that round of training, that indicates whether another round of training is needed or desired at the edge node (<NUM>-<NUM>), and/or that indicates whether any further multi-node training information (<NUM>-<NUM>) is needed or desired at the edge node (<NUM>-<NUM>);
predicting (<NUM>) network communication performance at the edge node (<NUM>-<NUM>) based on the trained local model (<NUM>-<NUM>); and
performing (<NUM>) one or more remedial or preventative measures to account for the network communication performance at the edge node (<NUM>-<NUM>) being predicted to decrease.