Data transmission using data priority
By prioritizing the transmission of high-priority feature data sets, the problems of long data transmission time and heavy network burden during machine learning model training and inference are solved, achieving more efficient model training and inference.
Patent Information
- Application Number
- CN202080095316.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-02-07
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2040-02-07
AI Technical Summary
During the training and inference process of machine learning models, remote transmission of large amounts of data takes a long time and places a heavy burden on the network, especially when the network and device processing capabilities are limited, which affects the efficiency of training and inference.
By identifying and prioritizing the transmission of high-priority feature data sets, the amount of transmitted data can be reduced. The feature identifier is used to select feature data sets and subsets are selected for transmission based on priority values, thereby optimizing the data transmission process.
It accelerates the training and inference process of machine learning models, reduces data processing time, and improves the efficiency of model training and inference, especially when network and device capabilities are limited.
Smart Images

Figure CN115039110B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments are disclosed that relate to providing at least one feature dataset to a destination node, where the destination node is configured to use the feature dataset to train a machine learning (ML) model and / or is configured to use a previously trained ML model and the feature dataset to generate an inference. BACKGROUND
[0002] Machine learning (ML) is a method of data analysis that automatically creates ML models (e.g., functions) based on input data (also referred to as “training” data). ML is a branch of artificial intelligence based on the idea that systems can learn from data, recognize patterns, and make decisions with reduced human intervention. By repeatedly training ML models using different training data, the ML models can be improved.
[0003] Over the past decade, there has been a significant increase in demand for artificial intelligence. However, to improve the quality of ML models, a large amount of training data can be required. While some small ML models can be trained using a small amount of data, other (e.g., larger) ML models require a large amount of data. For these ML models that require a large amount of input data, distributing the machine learning workload across multiple machines can be beneficial. SUMMARY
[0004] To create a ML model, an input dataset needs to be provided to a destination node that runs a ML process that uses the input data to create (or “train”) the ML model. Similarly, to run a ML model to produce an inference, an input dataset needs to be provided to a destination node that runs the ML model. When the destination node is remote from a source node that stores the input dataset, the input dataset needs to be sent from the source node to the destination node over a network. In many cases, the input data can be very large. Thus, the transmission of the input dataset over the network can take a long time and, as a result, can slow down the training process or the inference process. Additionally, when the input dataset is large, the transmission of the input dataset over the network can put a large burden on the network.
[0005] According to some embodiments of the present disclosure, instead of sending the complete input dataset to the destination node, a subset of the input dataset is selected and sent to the destination node. The input dataset is composed of a plurality of feature datasets, where each of the plurality of feature datasets is associated with a particular feature. In one embodiment, each feature is assigned a priority value indicative of a priority of the feature, and the subset of the input dataset is selected based on the assigned priority values, such that the subset of the input dataset contains at least the feature dataset associated with the feature having the highest priority. In some embodiments, the priority value of a feature is based at least in part on the importance of the feature with respect to the accuracy of the ML model. Transmitting the most important data first when data needs to be sent to the destination node over a network will speed up the training and / or inference process, especially when the transmission capacity of the network is limited or when the processing capacity of the ML processing device is limited. For example, if some input data (e.g., particular feature datasets) is available at an earlier time, training of the ML model can start earlier, and if less input data (e.g., features) is used, the time for ML model training can be shorter.
[0006] Generally, not all data (e.g., features) are equally important under different conditions. For example, the annual temperature variation in Singapore is small, and thus, for ML model training / inference used in Singapore, the variation is not a very important feature to send over the network. In contrast, the average temperature value and the transmission capacity of the network are more important data (e.g., features).
[0007] Accordingly, in one aspect, there is a method for providing data to a destination node connected to one or more source nodes via one or more networks. The method can be performed by a feature identifier to select at least one feature from a set of features, the set of features including a first feature and a second feature, where each feature included in the set of features is associated with a dataset for the feature, such that the first feature is associated with a first dataset and the second feature is associated with a second dataset. In one embodiment, the method includes obtaining, for each feature included in the set of features, a value indicative of a cost of providing the dataset for the feature from a source node storing the dataset for the feature to a destination node connected to the source node via a network. The method further includes selecting, based on the obtained values, a subset of the set of features. The method further includes initiating, for each selected feature, a transmission of a respective dataset for the respective selected feature from a source node storing the respective dataset for the respective selected feature to the destination node via the network connecting the destination node and the source node storing the respective dataset for the respective selected feature. The destination node can perform a machine learning process operable to use the respective dataset to produce a model. Additionally or alternatively, the destination node can perform a model generated by the machine learning process and the model is operable to use the respective dataset to produce an inference.
[0008] Embodiments provide at least the following advantages.
[0009] As less data is to be processed, the ML model will be available to make inferences in less time. If the device running the ML model is not very fast, and the ML model training or inference requires real-time data, it can be advantageous to run a simpler ML model that requires less data.
[0010] Furthermore, as less data is to be processed, data transformation and / or feature extraction can be performed faster, and the ML model itself can also be able to perform inferences faster.
[0011] ML model training - as less data is to be processed and transferred, the ML model training time can be shortened.
[0012] ML model inference - by first sending high-priority data and running the ML model using only the high-priority data, the speed of performing ML model inference can be improved. When the capacity of the network allows more data to be sent and / or received, additional data can be used for subsequent ML training or inference. BRIEF DESCRIPTION OF DRAWINGS
[0013] The accompanying drawings, which are incorporated herein and constitute part of the specification, illustrate various embodiments.
[0014] Figure 1 A system is shown in accordance with some embodiments.
[0015] Figure 2 A process in accordance with some embodiments.
[0016] Figure 3 A process in accordance with some embodiments.
[0017] Figure 4 A flowchart showing a process in accordance with some embodiments.
[0018] Figure 5 A block diagram showing an apparatus in accordance with some embodiments. DETAILED DESCRIPTION
[0019] According to some embodiments of the present disclosure, optimized data transfer for ML model training and / or inference can be accomplished by first identifying one or more high-priority features and initially transferring only the respective feature dataset corresponding to the highest-priority feature to the destination node, thereby speeding up the ML model training and / or inference process.
[0020] In one embodiment, the priority of a feature can be based on the importance of the feature - e.g., the amount by which the feature dataset for that feature improves the performance of the ML model. For example, in one embodiment, the priority of a feature is based not only on its importance, but also on the size of the feature dataset for that feature. The priority of a feature can also be based on information about the capabilities of the network connecting the source node where the respective feature dataset will be stored to the destination node performing the ML training or ML inference.
[0021] By first creating an ML model using only the highest-priority feature dataset, ML model training can be performed iteratively. Subsequently, lower-priority feature datasets can be used to retrain the ML model or to create more ML models to supplement the simpler models (e.g., ML models that only require high-priority data). The identification of important features can be performed in various ways. For example, important features can be identified by using “feature similarity” - i.e., identifying features that are different and affect the ML model in different ways. This identification can be performed during initial model development, whereby these important features are known when the ML model is retrained.
[0022] The ML model can be one model using some or all of the data (e.g., features), or several different models using some or all of the data.
[0023] Figure 1A system 100 for performing an ML process is shown in accordance with some embodiments. The ML process can be an ML model training process or an ML model inference process. The system 100 includes an orchestration function 102, a feature identifier function 104, a source node 106, a destination node 108, a network 110 that enables the source node 106 to communicate with the destination node 108, and a knowledge function 112.
[0024] The orchestration function 102 has information about the transmission capabilities and / or transmission costs of the network 110. The orchestration function 102 obtains performance information from different nodes or functions in the network 110, and identifies and / or predicts the transmission capabilities and / or transmission costs of the network 110 at runtime based on the obtained information.
[0025] The feature identifier function 104 is a function for selecting at least one feature and / or ML model to use based on the importance of the features, system capabilities (e.g., transmission performance), costs, and / or the size of the respective feature datasets associated with the features.
[0026] There are multiple ways to identify the importance of the features. Experts can know that certain features are not important (e.g., the temperature in Singapore can not be very important when transmitting data over the network for ML model training / inference in Singapore). Otherwise, some tree-based algorithms like XGB or Random Forest can be used to automatically identify the importance of the features.
[0027] The source node 106 is a node that stores an input dataset (or a portion of an input dataset). Table 1 below shows an exemplary input dataset.
[0028] Table 1
[0029]
[0030] In this example, four features (F1, F2, F3, and F4) are defined, and the input dataset is composed of N data records, where each data record contains one value for each of the four defined features. For example, record 3 contains values V1,3; V2,3; V3,3; and V4,3 corresponding to features F1, F2, F3, and F4, respectively. Thus, the input dataset contains four feature datasets, one for each of the four features. More specifically, feature dataset i (i = 1, 2, 3, or 4) contains values Vi,1to Vi,N. For example, the feature dataset for feature F1 contains values V1,1; V1,2; V1,3;...; and V1,N. As used herein, a “value” can be a scalar value (i.e., a single value) or a collection of values (e.g., a multi-dimensional vector).
[0031] Destination nodes 108 are nodes in which ML model training and / or inference occurs.
[0032] Knowledge function 112 is a function that stores all the ML models produced and some supplementary information about the models (e.g., types of features used to train a particular ML model, accuracy of the ML model, etc.).
[0033] ML model training phase
[0034] Step 1 - During model development, the most important features (i.e., features that have the largest positive impact on model performance) are identified. There can be one model or several models (e.g., Model_1, Model_2, …, Model_n), each of which uses different features. For example, Model_1 can be trained with only the most important features, while Model_n can be trained with all the features.
[0035] Step 2 - ML models (e.g., Model_1 and Model_2) are defined in the network. The nodes (destination nodes 108) that train the ML models are far away from the source nodes 106 that store the relevant feature datasets.
[0036] Step 3 - The feature identifier function 104 selects the features to be used for ML model training / inference based on system information (e.g., transmission capabilities / costs) and the impact of using the features on the performance of the ML models (e.g., the features to be used can be prioritized according to feature importance and size of the feature dataset for the feature). For example, the ML training system can start sending and / or receiving the feature dataset for the most important feature (e.g., Feature 1) to and / or from the destination nodes 108. When the feature dataset for the most important feature (e.g., Feature 1) is received at the destination nodes 108, training of Model_1 (which can be trained with only Feature 1) can be started. When the training of Model_1 is complete, Model_1 can be deployed and started to be used for inference.
[0037] Step 4 - After the destination nodes 108 receive the feature dataset corresponding to the most important feature (e.g., Feature 1), if the transmission capabilities of the network 110 allow more feature datasets to be transferred, the ML training system can start sending the feature dataset corresponding to the next highest priority feature (e.g., Feature 2) to the destination nodes 108. In turn, Model_2 can be trained using all the received feature datasets (e.g., the feature datasets for Features 1 and 2). After Model_2 is trained, Model_2 can be deployed and started to be used for inference.
[0038] Step 5 - After the destination node 108 receives the next feature data set (e.g., Feature 2), more features can be prioritized and / or more feature data sets can be transmitted according to the importance of the features if the transmission capacity of the network 110 allows more feature data sets to be transmitted.
[0039] ML model inference phase
[0040] One or more trained ML models can exist and can be stored in the knowledge function 112. Among the stored ML models, the feature identifier function 104 can select a model and / or features for ML model inference based on the capacity of the transmission link, the capability of the model, the priority of the features, and the processing capability of the ML processing component (e.g., the destination node 108). Information about the selected model (e.g., Model_1) and the selected features (e.g., Feature_1) can be provided to the destination node 108 so that inference of the ML model using the selected features can be performed.
[0041] If the transmission capacity of the network 110 increases, more data (e.g., Feature_1 and Feature_2) can be provided to the destination node 108. In turn, inference of the ML model using the more data (e.g., Feature_1 and Feature_2) can be performed.
[0042] The process of selecting a ML model and providing features corresponding to the selected ML model can be performed automatically in an adaptive manner. For example, the transmission throughput capacity of the network 110 can be monitored periodically, based on the monitored transmission throughput capacity, a different ML model can be selected, and different features associated with the different ML model can be provided to the destination node 108.
[0043] Figure 2 An exemplary message flow 200 for optimizing transmission of feature data sets for ML model training is shown. In the message flow 200, the orchestration function 102 can send network information (“NW_Info”) 204 to the feature identifier function 104. An example of the network information 204 is network capacity and / or network transmission cost.
[0044] The network information 204 can be sent to the feature identifier function 104 based on occurrence of an event. For example, the network information 204 can be sent to the feature identifier function 104 as a result of the orchestration function 102 receiving the request 202 for the network information 204 from the feature identifier function 104.
[0045] The feature identifier function 104 sends a request 206 to the source node 106 for information regarding the size of the feature dataset that includes the input dataset ("Feature_Sizes"). In response to the request 206, the source node 106 can send the requested size information 208 to the feature identifier function 104.
[0046] Based on at least one of the received network information 204, the requested size information 208, and the feature importance values, the feature identifier function 104 selects at least one feature for model training (see step s210). For example, for each feature included in the set of features, the feature identifier function 104 can obtain a priority value indicative of a priority of the feature, which can be based on a cost of providing the feature dataset associated with the feature from the source node 106 to the destination node 108 and a feature importance value indicative of an importance of the feature (i.e., the feature importance value indicates an impact of the feature on model performance). That is, the received network information 204, the feature size information 208 (i.e., an amount of data contained in the feature dataset for the feature), and the feature importance value can be used to compute the priority value. For example, the priority value for a particular feature can be proportional to
[0047] or where "Size" is the size of the feature dataset for the feature, and "Feature Importance Value" is a value indicative of an importance of the feature. Based on the obtained priority values, the feature identifier function 104 selects at least the highest priority feature.
[0048] After selecting the features to use, the feature identifier function 104 sends a request 212 to the source node 106 requesting to send the feature dataset associated with the selected feature (e.g., "Feature 1"). In response to receiving the request 212, the source node 106 can send the requested feature dataset 214 to the destination node 108. After receiving the feature dataset 214, the destination node 108 can optionally send an acknowledgment message 216 to the source node 106 acknowledging the receipt. Similarly, the source node 106 can optionally send an acknowledgment message 218 to the feature identifier function 104 acknowledging the receipt of the acknowledgment message 216.
[0049] After receiving the feature dataset 214, the destination node 108 begins training an ML model (“Model 1”) using the feature dataset 214 (e.g., the feature dataset for feature 1) (see step s220). After completing the training of the ML model, the destination node 108 can send information 224 about the trained ML model to the knowledge function 112. In addition, the destination node 108 can send the results 226 of the ML model training to the feature identifier function 104. The results 226 can include information about the importance of the selected feature (e.g., feature 1).
[0050] After receiving the results 226, the feature identifier function 104 can send a request 228 to the source node 106 for another feature dataset (e.g., the feature dataset for feature 2). In response to receiving the request 228, the source node 106 sends the requested feature dataset 230 to the destination node 108. After receiving the feature dataset 230, the destination node 108 can optionally send an acknowledgment message 232 to the source node 106 acknowledging the receipt. Similarly, the source node 106 can optionally send an acknowledgment message 234 to the feature identifier function 104 acknowledging the receipt of the acknowledgment message 232.
[0051] After receiving the feature dataset 230, the destination node 108 begins training an ML model (e.g., Model 2) using the feature dataset 230 or using both the feature dataset 214 and the feature dataset 230 (see step s236). After completing the training of the ML model, the destination node 108 sends information 240 about the trained ML model to the knowledge function 112. In addition, the destination node 108 can send the results 242 of the ML model training to the feature identifier function 104. The results 242 can include information about the importance of feature 2.
[0052] As shown in the message flow 200, first, the feature dataset for the highest priority feature (e.g., feature 1) is provided to the destination node 108 and using the feature dataset to train the corresponding ML model, in turn, the model is deployed so that it can be used to make inferences. In this way, the model training can be faster and more efficient because only a subset of the input datasets (e.g., the feature dataset associated with the highest priority feature) is used to train the ML model.
[0053] Figure 3 An exemplary message flow 300 for optimizing the transmission of data (e.g., features) for ML model inference is shown. In the message flow 300, the orchestration function 102 can send network information (“NW_Info”) 304 to the feature identifier function 104. An example of the network information 304 is network capabilities and / or network transmission costs.
[0054] The network information 304 can be sent to the feature identifier function 104 based on an occurrence of an event. For example, as a result of the orchestration function 102 receiving the request 302 for the network information 304 from the feature identifier function 104, the network information 304 can be sent to the feature identifier function 104.
[0055] The feature identifier function 104 can send a request 306 to the source node 106 for information about the sizes of the feature datasets (“Feature_Sizes”). In response to the request 306, the source node 106 sends the requested size information 308 (“Feature_Sizes”) to the feature identifier function 104.
[0056] Based on at least one of the received network information 304, the received size information 308, and the feature importance values, the feature identifier function 104 selects (see step s310) at least one feature for use in inference. For example, for each feature included in the set of features, the feature identifier function 104 can obtain a priority value indicative of a priority of the feature, which can be based on a cost of providing the feature dataset associated with the feature from the source node 106 to the destination node 108 and a feature importance value indicative of an importance of the feature. That is, the received network information 304, the received size information 308 (i.e., the amount of data included in the feature dataset for the feature), and the feature importance value can be used to calculate the priority value. For example, the priority value for a particular feature can be directly proportional to
[0057] or Based on the obtained priority values, the feature identifier function 104 selects at least one feature (e.g., Feature 1).
[0058] After selecting the features, the feature identifier function 104 sends a request 312 to the knowledge function 112 including information identifying at least one of the features selected in step s310 and requesting the knowledge function 112 to send the destination node 106 an ML model associated with the identified feature (e.g., an ML model created based on a training process that only used the feature dataset for the identified feature). If the destination node 108 does not already have an ML model associated with the selected feature, in response to receiving the request 312, the knowledge function 112 sends information 314 about the requested ML model to the destination node 108.
[0059] The feature identifier function 104 also sends a request 316 to the source node 106 that includes information identifying at least one feature selected in step s310 (e.g., feature 1) and requests that the source node 106 send a feature dataset for the identified feature to the destination node 106. As a result of receiving the request 316, the source node 106 sends the requested feature dataset (e.g., feature 1) to the destination node 108. Figure 3 ). After receiving the data set 318 for the identified feature, the destination node 108 may optionally send an acknowledgment message 320 to the source node 106 acknowledging receipt of the data set 318. Similarly, the source node 106 may optionally send an acknowledgment message 322 to the feature identifier function 104 acknowledging receipt of the acknowledgment message 320.
[0060] In step s324 , the destination node 108 generates inferences using the feature dataset and the corresponding model received from the source node 106 .
[0061] like Figure 3 As shown in FIG, the feature identifier function 104 may receive further network information 328. The further network information 328 may include updated network capabilities and updated network transmission cost information. After receiving the further network information 328, in step s330, the feature identifier function 104 selects at least one feature (e.g., feature 2) that was not selected in step s310. After performing step s330, the feature identifier function 104 sends a request 332 to the knowledge function 112 that includes information identifying at least one of the features selected in step s330 and requests that the knowledge function 112 transmit an ML model associated with the identified feature to the destination node 106. If the destination node 108 does not already have the ML model, then in response to receiving the request 332, the knowledge function 112 sends information 334 about the requested ML model to the destination node 108.
[0062] The feature identifier function 104 also transmits a request 336 to the source node 106 that includes information identifying at least one feature selected in step s330 and requests that the source node 106 send a feature dataset for the identified feature to the destination node 106. As a result of receiving the request 336, the source node 106 sends the requested feature dataset 338 to the destination node 108 (e.g., Figure 3The feature data sets for feature 2 and the feature data set for feature 1 shown in Figure 3). After receiving the data sets 338, the destination node 108 can optionally send an acknowledgement message 340 to the source node 106 acknowledging receipt of the data. Similarly, the source node 106 can optionally send an acknowledgement message 342 to the feature identifier function 104 acknowledging receipt of the acknowledgement message 320.
[0063] In step s344, the destination node 108 generates an inference using the feature data sets 338 received from the source node 106 and a model corresponding to the feature data sets.
[0064] Figure 4 Figure 4 is a flowchart illustrating a process 400 according to some embodiments. The process 400 can be performed by a feature identifier for selecting at least one feature from a set of features comprising a first feature and a second feature. Each feature included in the set of features can be associated with a data set for the feature, such that the first feature is associated with a first data set and the second feature is associated with a second data set. The process 400 can begin in step s402.
[0065] Step s402 comprises obtaining, for each feature included in the set of features, a value indicative of a cost of providing a data set for the feature from a source node storing the data set for the feature to a destination node connected to the source node via a network.
[0066] Step s404 comprises selecting, based on the obtained values, a subset of the set of features.
[0067] Step s406 comprises initiating, for each selected feature, transmission of a respective data set for the respective selected feature from a source node storing the respective data set for the respective selected feature to a destination node via a network connecting the destination node and the source node storing the respective data set for the respective selected feature. The destination node can perform a machine learning process operable to use the respective data set to produce a model. Alternatively or additionally, the destination node can perform a model generated by a machine learning process and the model is operable to use the respective data set to produce an inference.
[0068] In some embodiments, the step of obtaining a value for each feature included in the set of features comprises obtaining a first value for the first feature and the first value is a function of a size of the first data set.
[0069] In some embodiments, the method further comprises obtaining network performance information for a network connecting the destination node and the source node storing the first data set and the first value is also a function of the network performance information.
[0070] In some embodiments, the method further includes obtaining a feature importance value for the first feature, and the first value is also a function of the feature importance value of the first feature.
[0071] In some embodiments, the first value is inversely proportional to the feature importance value (e.g., a higher feature importance value results in a lower value).
[0072] In some embodiments, the subset of features includes the first feature but not the second feature, and the method further includes, after initiating the transmission of the data set for the selected feature, receiving, from the destination node, a model training result related to the training of the model using the first data set; and after receiving the model training result, initiating the transmission of the second data set from a source node storing the second data set to the destination node.
[0073] In some embodiments, the model training result includes a first feature importance value for the first feature, the first feature importance value indicating an impact of the first feature on performance of the model.
[0074] Figure 5 is a block diagram of an apparatus 500 for implementing any of the orchestration function 102, the feature identifier function 104, the source node 106, the destination node 108, and the knowledge function 112, according to some embodiments. As Figure 5As shown in FIG. 5, the apparatus 500 can include: a processing circuit (PC) 502, which can include one or more processors (P) 555 (e.g., general-purpose microprocessors and / or one or more other processing units, such as an application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or the like), which can collectively be situated in a single housing or in a single data center, or which can be geographically distributed (i.e., the apparatus 500 can be a distributed computing apparatus); a network interface 548, which includes a transmitter (Tx) 545 and a receiver (Rx) 547 for enabling the apparatus 500 to transmit data to and receive data from other nodes of a network 110 (e.g., an Internet Protocol (IP) network) to which the network interface 548 is connected (directly or indirectly) (e.g., the network interface 548 can be wirelessly connected to the network 110, in which case the network interface 548 is connected to an antenna arrangement); and a local storage unit (a.k.a., “data storage system”) 508, which can include one or more non-volatile storage devices and / or one or more volatile storage devices. In embodiments in which the PC 502 includes a programmable processor, a computer program product (CPP) 541 can be provided. The CPP 541 includes a computer readable medium (CRM) 542 having computer readable instructions (CRI) 544 embodied therein that, when executed by the PC 502, cause the apparatus 500 to perform steps described herein (e.g., steps described herein with reference to flowcharts). In other embodiments, the apparatus 500 can be configured to perform steps described herein without the need for code. That is, for example, the PC 502 can consist merely of one or more ASICs. Thus, features of embodiments described herein can be implemented in hardware and / or software.
[0075] While various embodiments have been described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present disclosure should not be limited by any of the above described exemplary embodiments, but should be defined in accordance with the following claims and their equivalents.
[0076] Furthermore, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for illustration. Accordingly, it is contemplated that some steps can be added, some steps can be omitted, some steps can be performed in a different order, and some steps can be performed in parallel.
Claims
1. A method for providing data to a destination node connected to one or more source nodes via one or more networks, the method performed by a feature identifier for selecting at least one feature from a set of features, the set of features comprising a first feature and a second feature, wherein, Each feature included in the set of features is associated with a dataset for that feature, such that the first feature is associated with a first dataset and the second feature is associated with a second dataset, the method comprising: obtaining, for each feature included in the set of features, a value indicative of a cost of providing the dataset for the feature from a source node storing the dataset for the feature to the destination node connected to the source node via a network; selecting, based on the obtained values, a subset of the set of features; and for each selected feature, initiating transmission of the respective dataset for the respective selected feature from the source node storing the respective dataset for the respective selected feature to the destination node via the network connecting the destination node and the source node storing the respective dataset for the respective selected feature, wherein the destination node executes a machine learning process operable to use the respective dataset to produce a model, and / or the destination node executes a model generated by a machine learning process and the model is operable to use the respective dataset to produce an inference.
2. The method of claim 1, wherein the step of obtaining the value for each feature included in the set of features comprises obtaining a first value for the first feature, and the first value is a function of a size of the first dataset.
3. The method of claim 2, wherein the method further comprises obtaining network performance information for the network connecting the destination node and a source node storing the first dataset, and the first value is also a function of the network performance information.
4. The method of claim 2 or 3, wherein the method further comprises obtaining a feature importance value for the first feature, and the first value is also a function of the feature importance value for the first feature.
5. The method of claim 4, wherein, the first value is inversely proportional to the feature importance value.
6. The method of claim 1, wherein the subset of the set of features includes the first feature but not the second feature, and the method further comprises: after initiating transmission of the dataset for the selected feature, receiving, from the destination node, a model training result relating to training of a model using the first dataset; and after receiving the model training result, initiating transmission of the second dataset from the source node storing the second dataset to the destination node.
7. The method of claim 6, wherein, the model training result includes a first feature importance value for the first feature, the first feature importance value indicating an impact of the first feature on performance of the model.
8. An apparatus for providing data to a destination node connected to one or more source nodes via one or more networks and for selecting at least one feature from a set of features, the set of features comprising a first feature and a second feature, wherein, Each feature included in the set of features is associated with a dataset for that feature, such that the first feature is associated with a first dataset and the second feature is associated with a second dataset, the apparatus comprising: a memory; and processing circuitry, wherein the apparatus is configured to: for each feature included in the set of features, obtaining a value indicative of a cost of providing a data set for the feature from a source node storing the data set for the feature to the destination node connected to the source node via a network; based on the obtained values, selecting a subset of the set of features; and for each selected feature, initiating a transmission of a respective data set for the respective selected feature from the source node storing the respective data set for the respective selected feature to the destination node via the network connecting the destination node with the source node storing the respective data set for the respective selected feature, wherein the destination node is configured to: execute a machine learning process operable to use the respective data set to produce a model, and / or execute a model generated by a machine learning process and operable to use the respective data set to produce an inference.
9. The apparatus of claim 8, wherein the apparatus is further configured to obtain the value for each feature included in the set of features by executing a process comprising obtaining a first value for the first feature, and the first value is a function of a size of the first data set.
10. The apparatus of claim 9, wherein the apparatus is further configured to obtain network performance information of the network connecting the destination node with the source node storing the first data set, and the first value is also a function of the network performance information.
11. The apparatus of claim 9 or 10, wherein the apparatus is further configured to obtain a feature importance value for the first feature, and the first value is also a function of the feature importance value for the first feature.
12. The apparatus of claim 11, wherein, the first value is inversely proportional to the feature importance value.
13. The apparatus of claim 8, wherein the subset of the set of features includes a first feature but not a second feature, and the apparatus is further configured to: after initiating the transmission of the data set of the selected feature, receive, from the destination node, a model training result related to a training of a model using the first data set; and after receiving the model training result, initiate a transmission of the second data set from the source node storing the second data set to the destination node.
14. The apparatus of claim 13, wherein, the model training result includes a first feature importance value for the first feature, the first feature importance value being indicative of an impact of the first feature on a performance of the model.
15. A computer program product comprising instructions which, when executed by processing circuitry, cause the processing circuitry to perform the method of any one of claims 1-7.
16. A carrier carrying a computer program which, when executed by processing circuitry, causes the processing circuitry to perform the method according to any one of claims 1-7, wherein, the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium.
Citation Information
Patent Citations
Traffic scheduling method for machine learning framework
CN108768876A
Method and system for training model by using training data
US20180365521A1