Techniques for customizing a machine learning model for the source data and needs of a specific user
In example embodiments, techniques are provided for customizing a ML model for a specific user absent user-coding. The techniques may provide a “black box” service to the user where the intricacies of ML model training are abstracted, and the user simply provides source data and makes high level selections. The techniques may be used with a variety of types of ML model architectures and ML Pipelines.
1 . A method for customizing a machine learning (ML) model to detect a type of defect in infrastructure relevant to a specific user, comprising:
creating a DataSet, by a ML platform executing on one or more computing devices, for the specific user at least in part by
building, by the ML platform, a BaseDataSet that includes at least an image, point cloud, a video, or a model of the infrastructure,
determining, by the ML platform, one or more Task Definitions that are compatible with the BaseDataSet, wherein each Task Definition is a predefined description of a task related to infrastructure defect detection that an ML model may accomplish that specifies an input data type and an output data type, and one or more Task Definitions are considered compatible with the BaseDataSet based on a comparison by the ML platform of the input data type with a data type of the BaseDataSet,
generating, by the ML Platform, a child Task Definition from the determined compatible Task Definitions, wherein the generating the child Task Definition includes adding or removing one or more classes from a ClassSet associated with a Task Definition based on input in the user interface;
selecting, by the ML platform, the child Task Definition based on input in the user interface, and
creating, by the ML platform, a LabelSet for the BaseDataSet;
selecting, by the ML platform, a Training Pipeline from among a plurality of provided Training Pipelines that each perform a different type of training that is compatible with the Task Definition, wherein the selected Training Pipeline is a computing-device executable workflow for a type of training;
executing the selected Training Pipeline on the DataSet to train the ML model to detect the type of defect in infrastructure relevant to the specific user; and
providing, by the ML Platform, the trained ML model for use by the specific user in detecting the type of defect in infrastructure.
2 . The method of claim 1 , further comprising:
comparing an evaluation metric of the trained ML model to an existing ML model, wherein the providing the trained ML model is in response to the evaluation metric of the trained ML model being greater than an evaluation metric of the existing ML model.
3 . The method of claim 1 , wherein the executing the selected Training Pipeline trains the ML model from scratch.
4 . The method of claim 3 , wherein the executing the selected Training Pipeline further comprises:
providing the Training Pipeline and the DataSet to a ML Operations (MLOps) process;
executing, by the MLOps process, training epochs until a stopping condition is met;
performing, by the MLOps process, final training to calculate an evaluation metric; and
returning the ML model and the evaluation metric to the ML Platform.
5 . The method of claim 1 , wherein the executing the selected Training Pipeline comprises retraining an existing base ML model to specialize the base ML model.
6 . The method of claim 5 , wherein the retraining the base ML model comprises continuing training by performing additional training epochs on the base ML model using the DataSet.
7 . The method of claim 5 , wherein the retraining the base ML model comprises joint dataset training using a joint dataset that includes the DataSet as well as a generic reference Dataset used to train the base ML model.
8 . The method of claim 5 , wherein the executing the selected Training Pipeline further comprises:
providing the Training Pipeline, the DataSet, the base ML model and/or a reference Dataset to a ML Operations (MLOps) process;
executing, by the MLOps process, training epochs until a stopping condition is met, the training epochs using at least initially weights from the base ML model or a joint dataset that includes a mix of data from the DataSet and the reference training DataSet;
performing, by the MLOps process, final training to calculate an evaluation metric; and
returning the ML model and the evaluation metric to the ML Platform.
9 . The method of claim 1 , wherein the executing the selected Training Pipeline performs transfer learning using a base ML model.
10 . The method of claim 9 , wherein the executing the selected Training Pipeline further comprises:
providing the Training Pipeline, the DataSet, and the base ML model to a ML Operations (MLOps) process;
executing, by the MLOps process, training epochs until a stopping condition is met, the training epochs using at least initially weights from the base ML model;
performing, by the MLOps process, final training to calculate an evaluation metric; and
returning the ML model and the evaluation metric to the ML Platform.
11 . A method for customizing a machine learning (ML) model to detect a type of defect in infrastructure relevant to for a specific user, comprising:
creating data usable to train a ML model for the specific user by a ML platform executing on one or more computing devices, at least in part by
building, by the ML Platform, a data structure that maintains a collection of source data of the user that includes at least an image, point cloud, a video, or a model of the infrastructure,
determining, by the ML Platform, one or more descriptions of a ML task related to infrastructure defect detection that a ML model is to accomplish that are compatible with the collection of source data, wherein each description describes a task an ML model may accomplish and specifies an input data type and an output data type, wherein one or more descriptions are considered compatible with the collection of source data based on a comparison by the ML platform of the input data type with a data type of the collection of source data,
selecting, by the ML platform, a description from the determined compatible descriptions, and
creating, by the ML platform, a structure that maintains a collection of labels for source data that provides ground truth that is compatible with the description;
selecting, by the ML platform, an executable workflow whose execution produces a trained ML model from among a plurality of provided executable workflows that each perform a different type of training that are compatible with the description;
executing the selected executable workflow on the source data to train the ML model to detect the type of defect in infrastructure relevant to the specific user; and
providing, by the ML Platform, the trained ML model for use by the specific user in detecting the type of defect in infrastructure,
wherein the creating, executing, and providing are performed without user-coding to customize the ML model.
12 . The method of claim 11 , further comprising:
comparing an evaluation metric of the trained ML model to an existing ML model, wherein the providing the trained ML model is in response to the evaluation metric of the trained ML model being greater than an evaluation metric of the existing ML model.
13 . The method of claim 11 , wherein the executing the selected executable workflow trains the ML model from scratch.
14 . The method of claim 11 , wherein the executing the selected executable workflow comprises retraining an existing base ML model to specialize the base ML model.
15 . The method of claim 14 , wherein the retraining the base ML model comprises continuing training by performing additional training epochs on the base ML model using the data for the specific user.
16 . The method of claim 14 , wherein the retraining the base ML model comprises joint dataset training using a joint dataset that includes the data for the specific user as well as generic reference data used to train the base ML model.
17 . The method of claim 11 , wherein the executing the selected Training Pipeline performs transfer learning using a base ML model.
18 . A non-transitory computing device readable medium having instructions stored thereon, the instructions when executed by one or more computing devices operable to:
create a DataSet for a specific user at least in part by
building a BaseDataSet that includes at least an image, point cloud, a video, or a model of the infrastructure,
determining one or more Task Definitions that are compatible with the BaseDataSet, wherein each Task Definition is a predefined description of a task related to infrastructure defect detection that an ML model may accomplish that specifies an input data type and an output data type, and one or more Task Definitions are considered compatible with the BaseDataSet based on a comparison by the ML platform of the input data type with a data type of the BaseDataSet,
generating a child Task Definition from the determined compatible Task Definitions, wherein the generating the child Task Definition includes adding or removing one or more classes from a ClassSet associated with a Task Definition based on input in the user interface;
selecting the child Task Definition based on input in the user interface, and
creating a LabelSet for the BaseDataSet;
select a Training Pipeline from among a plurality of provided Training Pipelines that each perform a different type of training that is compatible with the Task Definition, wherein the selected Training Pipeline is a computing-device executable workflow for a type of training;
execute the selected Training Pipeline on the DataSet to train the ML model to detect a type of defect in infrastructure relevant to the specific user; and
provide the trained ML model for use by the specific user in detecting the type of defect in infrastructure.
19 . The non-transitory electronic-device readable medium of claim 18 , wherein the instructions that when executed are operable to execute the selected Training Pipeline comprises instructions that when executed are operable to retrain an existing base ML model to specialize the base ML model.
20 . The non-transitory electronic-device readable medium of claim 18 , wherein the instructions that when executed are operable to execute the selected Training Pipeline comprises instructions that when executed are operable to perform transfer learning using a base ML model.