A method comprising: receiving, at data processing hardware, from a control plane, a request for a user plane instance in a packet core network, the user plane instance configured to perform packet processing for a user equipment during a communication session; identifying, by the data processing hardware, a plurality of user plane instance candidates associated with a base station in communication with the user equipment, the plurality of user plane instance candidates configurable by the control plane; for each user plane instance candidate, determining, by the data processing hardware, one or more selection parameters corresponding to a subset of key performance indicators for the base station in communication with the user equipment; and selecting, by the data processing hardware, using a machine learning selection model, one of the plurality of user plane instance candidates to fulfil the request for the user plane instance from the control plane based on the one or more selection parameters determined for each of the plurality of user plane instance candidates, wherein the machine learning selection model is configured to receive the one or more selection parameters determined for each of the plurality of user plane instance candidates and selection criteria; and characterized in that the machine learning selection model is trained on a plurality of training groups, each training group comprising a plurality of training user plane instances, each training user plane instance in the corresponding training group associated with one or more corresponding selection parameters and a selection criteria label, the selection criteria label indicating whether or not the corresponding training user plane instances satisfy the selection criteria, wherein the selection criteria include compound selection criteria comprising network performance-based criteria, network device-based criteria, and criteria based on conditions of network devices during the request, and wherein the machine learning model uses the compound selection criteria in an increasing order of granularity. receiving, at data processing hardware, from a control plane, a request for a user plane instance in a packet core network, the user plane instance configured to perform packet processing for a user equipment during a communication session; identifying, by the data processing hardware, a plurality of user plane instance candidates associated with a base station in communication with the user equipment, the plurality of user plane instance candidates configurable by the control plane; for each user plane instance candidate, determining, by the data processing hardware, one or more selection parameters corresponding to a subset of key performance indicators for the base station in communication with the user equipment; and selecting, by the data processing hardware, using a machine learning selection model, one of the plurality of user plane instance candidates to fulfil the request for the user plane instance from the control plane based on the one or more selection parameters determined for each of the plurality of user plane instance candidates, wherein the machine learning selection model is configured to receive the one or more selection parameters determined for each of the plurality of user plane instance candidates and selection criteria; and characterized in that the machine learning selection model is trained on a plurality of training groups, each training group comprising a plurality of training user plane instances, each training user plane instance in the corresponding training group associated with one or more corresponding selection parameters and a selection criteria label, the selection criteria label indicating whether or not the corresponding training user plane instances satisfy the selection criteria, wherein the selection criteria include compound selection criteria comprising network performance-based criteria, network device-based criteria, and criteria based on conditions of network devices during the request, and wherein the machine learning model uses the compound selection criteria in an increasing order of granularity. configured to receive the one or more selection parameters determined for each of the plurality of user plane instance candidates and selection criteria; and characterized in that the machine learning selection model is trained on a plurality of training groups, each training group comprising a plurality of training user plane instances, each training user plane instance in the corresponding training group associated with one or more corresponding selection parameters and a selection criteria label, the selection criteria label indicating whether or not the corresponding training user plane instances satisfy the selection criteria, wherein the selection criteria include compound selection criteria comprising network performance-based criteria, network device-based criteria, and criteria based on conditions of network devices during the request, and wherein the machine learning model uses the compound selection criteria in an increasing order of granularity.