A computer-implemented method, comprising: running a machine learning model for predicting one or more network metrics in a network which includes a centralized controller device interconnected with a plurality of edge devices; hosting, at the centralized controller device, a batch version of the machine learning model that operates in batch mode; operating edge devices in a pass-through mode during a configured non-zero time period, wherein incoming data at the edge devices is forwarded to the centralized controller device, the data comprising data indicating the state of the network; training the batch version of the machine learning model using the forwarded data; pushing an incremental version of the machine learning model that operates in incremental mode to an edge device of the plurality of edge devices, such that the incremental version of the machine learning model is hosted at the edge device; and initiating the incremental version of the machine learning model at the edge device based on the trained batch version of the machine learning model, wherein, after the configured time period, the edge devices are configured to forward incoming data periodically to the centralized controller device at a reduced rate, with the batch version and the incremental version of the machine learning model running in parallel with one another, the batch version running in the centralized controller device being trained at discrete time intervals based on partial data forwarded from the edge devices, and the incremental version running at the edge devices being trained continuously using the incoming data at the edge devices. running a machine learning model for predicting one or more network metrics in a network which includes a centralized controller device interconnected with a plurality of edge devices; hosting, at the centralized controller device, a batch version of the machine learning model that operates in batch mode; operating edge devices in a pass-through mode during a configured non-zero time period, wherein incoming data at the edge devices is forwarded to the centralized controller device, the data comprising data indicating the state of the network; training the batch version of the machine learning model using the forwarded data; pushing an incremental version of the machine learning model that operates in incremental mode to an edge device of the plurality of edge devices, such that the incremental version of the machine learning model is hosted at the edge device; and initiating the incremental version of the machine learning model at the edge device based on the trained batch version of the machine learning model, wherein, after the configured time period, the edge devices are configured to forward incoming data periodically to the centralized controller device at a reduced rate, with the batch version and the incremental version of the machine learning model running in parallel with one another, the batch version running in the centralized controller device being trained at discrete time intervals based on partial data forwarded from the edge devices, and the incremental version running at the edge devices being trained continuously using the incoming data at the edge devices.