DETECTING SUITABILITY OF MACHINE LEARNING MODELS FOR DATASETS

Apparatuses, systems, program products, and method are disclosed for detecting suitability of machine learning models for datasets. An apparatus includes a training evaluation module configured to calculate a first statistical data signature for a training data set of a machine learning system using one or more predefined statistical algorithms. An apparatus includes an inference evaluation module configured to calculate a second statistical data signature for an inference data set of a machine learning system using one or more predefined statistical algorithms. An apparatus includes a score module configured to calculate a suitability score describing the suitability of a training data set to an inference data set as a function of a first and a second statistical data signature. An apparatus includes an action module configured to perform an action related to a machine learning system in response to a suitability score satisfying an unsuitability threshold.

FIELD

This invention relates to machine learning and more particularly relates to monitoring the suitability of a machine learning model, trained using a training data set, for an inference data set.

BACKGROUND

Machine learning is being integrated into a wide range of use cases and industries. Unlike other types of applications, machine learning (including deep learning and advanced analytics) has multiple independent running components that must operate cohesively to deliver accurate and relevant results. This inherent complexity makes it difficult to manage or monitor all the interdependent aspects of a machine learning system.

SUMMARY

Apparatuses, systems, program products, and method are disclosed for detecting suitability of machine learning models for datasets. In one embodiment, an apparatus includes a training evaluation module configured to calculate a first statistical data signature for a training data set of a machine learning system using one or more predefined statistical algorithms. The training data set may be used to generate a machine learning model. An apparatus, in certain embodiments, includes an inference evaluation module configured to calculate a second statistical data signature for an inference data set of a machine learning system using one or more predefined statistical algorithms. The inference data set may be analyzed using a machine learning model. An apparatus, in some embodiments, includes a score module configured to calculate a suitability score describing the suitability of a training data set to an inference data set as a function of a first and a second statistical data signature. In one embodiment, an apparatus includes an action module configured to perform an action related to a machine learning system in response to a suitability score satisfying an unsuitability threshold.

A method for detecting suitability of machine learning models for datasets, in one embodiment, includes calculating a first statistical data signature for a training data set of a machine learning system using one or more predefined statistical algorithms. The training data set may be used to generate a machine learning model. A method, in certain embodiments, includes calculating a second statistical data signature for an inference data set of a machine learning system using one or more predefined statistical algorithms. The inference data set may be analyzed using a machine learning model. A method, in some embodiments, includes calculating a suitability score describing the suitability of a training data set to an inference data set as a function of a first and a second statistical data signature. In one embodiment, a method includes performing an action related to a machine learning system in response to a suitability score satisfying an unsuitability threshold.

In one embodiment, an apparatus for detecting suitability of machine learning models for datasets includes means for calculating a first statistical data signature for a training data set of a machine learning system using one or more predefined statistical algorithms. The training data set may be used to generate a machine learning model. An apparatus, in certain embodiments, includes means for calculating a second statistical data signature for an inference data set of a machine learning system using one or more predefined statistical algorithms. The inference data set may be analyzed using a machine learning model. An apparatus, in some embodiments, includes means for calculating a suitability score describing the suitability of a training data set to an inference data set as a function of a first and a second statistical data signature. In one embodiment, an apparatus includes means for performing an action related to a machine learning system in response to a suitability score satisfying an unsuitability threshold.

DETAILED DESCRIPTION

The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.

FIG. 1is a schematic block diagram illustrating one embodiment of a system100for detecting suitability of machine learning models for datasets. In one embodiment, the system100includes one or more information handling devices102, one or more ML management apparatuses104, one or more data networks106, and one or more servers108. In certain embodiments, even though a specific number of information handling devices102, ML management apparatuses104, data networks106, and servers108are depicted inFIG. 1, one of skill in the art will recognize, in light of this disclosure, that any number of information handling devices102, ML management apparatuses104, data networks106, and servers108may be included in the system100.

In one embodiment, the system100includes one or more information handling devices102. The information handling devices102may include one or more of a desktop computer, a laptop computer, a tablet computer, a smart phone, a smart speaker (e.g., Amazon Echo®, Google Home®, Apple HomePod®), a security system, a set-top box, a gaming console, a smart TV, a smart watch, a fitness band or other wearable activity tracking device, an optical head-mounted display (e.g., a virtual reality headset, smart glasses, or the like), a High-Definition Multimedia Interface (“HDMI”) or other electronic display dongle, a personal digital assistant, a digital camera, a video camera, or another computing device comprising a processor (e.g., a central processing unit (“CPU”), a processor core, a field programmable gate array (“FPGA”) or other programmable logic, an application specific integrated circuit (“ASIC”), a controller, a microcontroller, and/or another semiconductor integrated circuit device), a volatile memory, and/or a non-volatile storage medium.

In certain embodiments, the information handling devices102are communicatively coupled to one or more other information handling devices102and/or to one or more servers108over a data network106, described below. The information handling devices102, in a further embodiment, may include processors, processor cores, and/or the like that are configured to execute various programs, program code, applications, instructions, functions, and/or the like. The information handling devices102may include executable code, functions, instructions, operating systems, and/or the like for performing various machine learning operations, as described in more detail below.

In one embodiment, the ML management apparatus104is configured to manage, monitor, maintain, and/or the like the “health” of a machine learning system. As used herein, the “health” of a machine learning system may refer to the suitability of a machine learning model that is trained on a training data set for an inference data set that is processed using the machine learning model based on a statistical analysis of the training data set and the inference data set. As explained in more detail below, a machine learning system may involve various components, pipelines, data sets, and/or the like—such as training pipelines, orchestration/management pipelines, inference pipelines, and/or the like. Furthermore, components may be specially designed or configured to handle specific objectives, problems, and/or the like. In conventional machine learning systems, a user may be required to determine which machine learning components are necessary to analyze a particular problem/objective, and then manually determine the inputs/outputs for each of the components, the limitations of each component, events generated by each component, and/or the like. Furthermore, with conventional machine learning systems, it may be difficult to track down where an error occurred, what caused an error, why the predicted results weren't as accurate as they should be, whether the machine learning model is suitable for a particular inference data set, and/or the like, due to the numerous components and interactions within the system.

In one embodiment, the ML management apparatus104improves upon conventional machine learning systems by calculating a statistical data signature for a training data set and an inference data set of a machine learning system, calculating a health/suitability score as a function of the statistical data signatures, and performing an action related to the machine learning system if the health/suitability score does not satisfy a suitability threshold or satisfies an unsuitability threshold. For instance, if the health/suitability score satisfies an unsuitability threshold, indicating that the training data set, and the machine learning model used to analyze the inference data set, is not suitable for the inference training data, the ML management apparatus104may change the machine learning model, may retrain the machine learning model, may provide recommendations for generating a more accurate machine learning model, and/or the like.

Furthermore, the ML management apparatus104may determine the suitability of a machine learning model trained using a training data set to an inference data set at any point in the machine learning system. For example, if the machine learning system is a deep learning system that includes multiple inference layers, the ML management apparatus104may determine how suitable a training data set and/or the machine learning model is to the inference data set processed at each layer of the deep learning system.

In certain embodiments of machine learning systems200, there is a training phase, for generating the machine learning model, and an inference phase for analyzing an inference data set using the machine learning model. The output from the inference phase may be one or more predictive “labels” determined as a function of one or more features of the inference data set. For example, if the training data set comprises three columns of feature data—Age, Sex, and Height—that are used to train the machine learning model, and the inference data comprises two columns of feature data—Age and Height—the output from an inference pipeline206using the machine learning model may be a “label” describing the predicted Sex (M/F) based on the given inference data.

In such an embodiment, labels may be required to determine the suitability of the machine learning model, e.g., the accuracy or predictive performance of the machine learning model, to an inference data set during the inference phase. The predictive performance is usually evaluated on either the training data set or a separate validation or test set where both the feature and label information is available, which does not allow for determining or estimating the predictive performance of the machine learning model is real-time during or prior to the inference phase. Furthermore, waiting for labels to be generated may delay the analysis, which can cause business loses or other issue when the predictive performance of the machine learning model deviates or drops.

The ML management apparatus104, in one embodiment, however, evaluates the suitability (predictive performance) of an machine learning model, machine learning algorithm, and/or the like in the absence of labels, and is agnostic of the type of problem and algorithm used, the particular language or framework used, and/or the like by extracting statistics from features in the training data set and the inference data set, and using the statistics to evaluate how applicable the training data set is likely to be to the inference data set by generating a suitability score, as explained in more detail below.

The ML management apparatus104, including its various sub-modules, may be located on one or more information handling devices102in the system100, one or more servers108, one or more network devices, and/or the like. The ML management apparatus104is described in more detail below with reference toFIG. 3.

In various embodiments, the ML management apparatus104may be embodied as a hardware appliance that can be installed or deployed on an information handling device102, on a server108, or elsewhere on the data network106. In certain embodiments, the ML management apparatus104may include a hardware device such as a secure hardware dongle or other hardware appliance device (e.g., a set-top box, a network appliance, or the like) that attaches to a device such as a laptop computer, a server108, a tablet computer, a smart phone, a security system, or the like, either by a wired connection (e.g., a universal serial bus (“USB”) connection) or a wireless connection (e.g., Bluetooth®, Wi-Fi, near-field communication (“NFC”), or the like); that attaches to an electronic display device (e.g., a television or monitor using an HDMI port, a DisplayPort port, a Mini DisplayPort port, VGA port, DVI port, or the like); and/or the like. A hardware appliance of the ML management apparatus104may include a power interface, a wired and/or wireless network interface, a graphical interface that attaches to a display, and/or a semiconductor integrated circuit device as described below, configured to perform the functions described herein with regard to the ML management apparatus104.

The ML management apparatus104, in such an embodiment, may include a semiconductor integrated circuit device (e.g., one or more chips, die, or other discrete logic hardware), or the like, such as a field-programmable gate array (“FPGA”) or other programmable logic, firmware for an FPGA or other programmable logic, microcode for execution on a microcontroller, an application-specific integrated circuit (“ASIC”), a processor, a processor core, or the like. In one embodiment, the ML management apparatus104may be mounted on a printed circuit board with one or more electrical lines or connections (e.g., to volatile memory, a non-volatile storage medium, a network interface, a peripheral device, a graphical/display interface, or the like). The hardware appliance may include one or more pins, pads, or other electrical connections configured to send and receive data (e.g., in communication with one or more electrical lines of a printed circuit board or the like), and one or more hardware circuits and/or other electrical circuits configured to perform various functions of the ML management apparatus104.

The semiconductor integrated circuit device or other hardware appliance of the ML management apparatus104, in certain embodiments, includes and/or is communicatively coupled to one or more volatile memory media, which may include but is not limited to random access memory (“RAM”), dynamic RAM (“DRAM”), cache, or the like. In one embodiment, the semiconductor integrated circuit device or other hardware appliance of the ML management apparatus104includes and/or is communicatively coupled to one or more non-volatile memory media, which may include but is not limited to: NAND flash memory, NOR flash memory, nano random access memory (nano RAM or NRAM), nanocrystal wire-based memory, silicon-oxide based sub-10 nanometer process memory, graphene memory, Silicon-Oxide-Nitride-Oxide-Silicon (“SONOS”), resistive RAM (“RRAM”), programmable metallization cell (“PMC”), conductive-bridging RAM (“CBRAM”), magneto-resistive RAM (“MRAM”), dynamic RAM (“DRAM”), phase change RAM (“PRAM” or “PCM”), magnetic storage media (e.g., hard disk, tape), optical storage media, or the like.

The data network106, in one embodiment, includes a digital communication network that transmits digital communications. The data network106may include a wireless network, such as a wireless cellular network, a local wireless network, such as a Wi-Fi network, a Bluetooth® network, a near-field communication (“NFC”) network, an ad hoc network, and/or the like. The data network106may include a wide area network (“WAN”), a storage area network (“SAN”), a local area network (LAN), an optical fiber network, the internet, or other digital communication network. The data network106may include two or more networks. The data network106may include one or more servers, routers, switches, and/or other networking equipment. The data network106may also include one or more computer readable storage media, such as a hard disk drive, an optical drive, non-volatile memory, RAM, or the like.

The wireless connection may be a mobile telephone network. The wireless connection may also employ a Wi-Fi network based on any one of the Institute of Electrical and Electronics Engineers (“IEEE”) 802.11 standards. Alternatively, the wireless connection may be a Bluetooth® connection. In addition, the wireless connection may employ a Radio Frequency Identification (“RFID”) communication including RFID standards established by the International Organization for Standardization (“ISO”), the International Electrotechnical Commission (“IEC”), the American Society for Testing and Materials® (ASTM®), the DASH7™ Alliance, and EPCGlobal™.

Alternatively, the wireless connection may employ a ZigBee® connection based on the IEEE 802 standard. In one embodiment, the wireless connection employs a Z-Wave® connection as designed by Sigma Designs®. Alternatively, the wireless connection may employ an ANT® and/or ANT+® connection as defined by Dynastream® Innovations Inc. of Cochrane, Canada.

The wireless connection may be an infrared connection including connections conforming at least to the Infrared Physical Layer Specification (“IrPHY”) as defined by the Infrared Data Association® (“IrDA”®). Alternatively, the wireless connection may be a cellular telephone network communication. All standards and/or connection types include the latest version and revision of the standard and/or connection type as of the filing date of this application.

The one or more servers108, in one embodiment, may be embodied as blade servers, mainframe servers, tower servers, rack servers, and/or the like. The one or more servers108may be configured as mail servers, web servers, application servers, FTP servers, media servers, data servers, web servers, file servers, virtual servers, and/or the like. The one or more servers108may be communicatively coupled (e.g., networked) over a data network106to one or more information handling devices102. The one or more servers108may store data associated with an information handling device102, such as machine learning data, algorithms, training models, and/or the like.

FIG. 2Ais a schematic block diagram illustrating one embodiment of a machine learning system200for detecting suitability of machine learning models for datasets. In one embodiment, the logical machine learning layer200includes one or more policy/control pipelines202, one or more training pipelines204, one or more inference pipelines206a-c, one or more databases208, input data210, and an ML management apparatus104. Even though a specific number of machine learning pipelines202,204,206a-care depicted inFIG. 2A, one of skill in the art, in light of this disclosure, will recognize that any number of machine learning pipelines202,204,206a-cmay be present in the logical machine learning layer200. Furthermore, as depicted inFIG. 2A, the various pipelines202,204,206a-cmay be located on different nodes embodied as devices203,205,207a-csuch as information handling devices102described above, virtual machines, cloud or other remote devices, and/or the like. In some embodiments, the machine learning system200includes an embodiment of a logical machine learning layer, also known as an intelligence overlay network (“ION”).

As used herein, machine learning pipelines202,204,206a-ccomprise various machine learning features, components, objects, modules, and/or the like to perform various machine learning operations such as algorithm training/inference, feature engineering, validations, scoring, and/or the like. Pipelines202,204,206a-cmay analyze or process data210in batch, e.g., process all the data at once from a static source, streaming, e.g., operate incrementally on live data, or a combination of the foregoing, e.g., a micro-batch.

In certain embodiments, each pipeline202,204,206a-cexecutes on a device203,205,207a-c, e.g., an information handling device102, a virtual machine, and/or the like. In some embodiments, multiple different pipelines202,204,206a-cexecute on the same device. In various embodiments, each pipeline202,204,206a-cexecutes on a distinct or separate device. The devices203,205,207a-cmay all be located at a single location, may be connected to the same network, may be located in the cloud or another remote location, and/or some combination of the foregoing.

In one embodiment, each pipeline202,204,206a-cis associated with an analytic engine and executes on a specific analytic engine type for which the pipeline is202,204,206a-cconfigured. As used herein, an analytic engine comprises the instructions, code, functions, libraries, and/or the like for performing machine learning numeric computation and analysis. Examples of analytic engines may include Spark, Flink, TensorFlow, Caffe, Theano, and PyTorch. Pipelines202,204,206a-cdeveloped for these engines may contain components provided in modules/libraries for the particular analytic engine (e.g., Spark-ML/MLlib for Spark, Flink-ML for Flink, and/or the like). Custom programs may also be included that are developed for each analytic engine using the application programming interface for the analytic engine (e.g., DataSet/DataStream for Flink). Furthermore, each pipeline may be implemented using various different platforms, libraries, programming languages, and/or the like. For instance, an inference pipeline206amay be implemented using Python, while a different inference pipeline206bis implemented using Java.

In one embodiment, the machine learning system200includes physical and/or logical groupings of the machine learning pipelines202,204,206a-cbased on a desired objective, result, problem, and/or the like. For instance, the ML management apparatus104may select a training pipeline204for generating a machine learning model configured for the desired objective and one or more inference pipelines206a-cthat are configured to analyze the desired objective by processing input data210associated with the desired objective using the analytic engines for which the selected inference pipelines206a-care configured for and the machine learning model. Thus, groups may comprise multiple analytic engines, and analytic engines may be part of multiple groups. Groups can be defined to perform different tasks such as analyzing data for an objective, managing the operation of other groups, monitoring the results/performance of other groups, experimenting with different machine learning algorithms/models in a controlled environment, e.g., sandboxing, and/or the like.

For example, a logical grouping of machine learning pipelines202,204,206a-cmay be constructed to analyze the results, performance, operation, health, and/or the like of a different logical grouping of machine learning pipelines202,204,206a-cby processing feedback, results, messages, and/or the like from the monitored logical grouping of machine learning pipelines202,204,206a-cand/or by providing inputs into the monitored logical grouping of machine learning pipelines202,204,206a-cto detect anomalies, errors, and/or the like.

Because the machine learning pipelines202,204,206a-cmay be located on different devices203,205,207a-c, the same devices203,205,207a-c, and/or the like, the ML management apparatus104logically groups machine learning pipelines202,204,206a-cthat are best configured for analyzing the objective. As described in more detail below, the logical grouping may be predefined such that a logical group of machine learning pipelines202,204,206a-cmay be particularly configured for a specific objective.

In certain embodiments, the ML management apparatus104dynamically selects machine learning pipelines202,204,206a-cfor an objective when the objective is determined, received, and/or the like based on the characteristics, settings, and/or the like of the machine learning pipelines202,204,206a-c. In certain embodiments, the multiple different logical groupings of pipelines202,204,206a-cmay share the same physical infrastructure, platforms, devices, virtual machines, and/or the like. Furthermore, the different logical groupings of pipelines202,204,206a-cmay be merged, combined, and/or the like based on the objective being analyzed.

In one embodiment, the policy pipeline202is configured to maintain/manage the operations within the logical machine learning layer200. In certain embodiments, for instance, the policy pipeline202receives machine learning models from the training pipeline204and pushes the machine learning models to the inference pipelines206a-cfor use in analyzing the input data210for the objective. In various embodiments, the policy pipeline202receives user input associated with the logical machine learning layer200, receives event and/or feedback information from the other pipelines204,206a-c, validates machine learning models, facilitates data transmissions between the pipelines202,204,206a-c, and/or the like.

In one embodiment, the policy pipeline202comprises one or more policies that define how pipelines204,206a-cinteract with one another. For example, the training pipeline204may output a machine learning model after a training cycle has completed. Several possible policies may define how the machine learning model is handled. For example, a policy may specify that the machine learning model can be automatically pushed to inference pipelines206a-cwhile another policy may specify that user input is required to approve a machine learning model prior to the policy pipeline202pushing the machine learning model to the inference pipelines206a-c. Policies may further define how machine learning models are updated.

For instance, a policy may specify that a machine learning model be updated automatically based on feedback, e.g., based machine learning results received from an inference pipeline206a-c; a policy may specify whether a user is required to review, verify, and/or validate a machine learning model before it is propagated to inference pipelines206a-c; a policy may specify scheduling information within the logical machine learning layer200such as how often a machine learning model is update (e.g., once a day, once an hour, continuously, and/or the like); and/or the like.

Policies may define how different logical groups of pipelines202,204,206a-cinteract or cooperate to for a cohesive data intelligence workflow. For instance, a policy may specify that the results generated by one logical machine learning layer200be used as input into a different logical machine learning layer200, e.g., as training data. for a machine learning model, as input data210to an inference pipeline206a-c, and/or the like. Policies may define how and when machine learning models are updated, how individual pipelines202,204,206a-ccommunicate and interact, and/or the like.

In one embodiment, the policy pipeline202maintains a mapping of the pipelines204,206a-cthat comprise the logical grouping of pipelines204,206a-c. The policy pipeline may further adjust various settings or features of the pipelines204,206a-cin response to user input, feedback or events generated by the pipelines204,206a-c, and/or the like. For example, if an inference pipeline206agenerates machine learning results that are inaccurate, the policy pipeline202may receive a message from the inference pipeline202that indicates the results are inaccurate, and may direct the training pipeline204to generate a new machine learning model for the inference pipeline206a.

The training pipeline204, in one embodiment, is configured to generate a machine learning model for the objective that is being analyzed based on historical or training data that is associated with the objective. As used herein, a machine learning model is generated by executing a training or learning algorithm on historical or training data associated with a particular objective. The machine learning model is the artifact that is generated by the training process, which captures patterns within the training data that map the input data to the target, e.g., the desired result/prediction. In one embodiment, the training data may be a static data set, data accessible from an online source, a streaming data set, and/or the like.

The inference pipelines206a-c, in one embodiment, use the generated machine learning model and the corresponding analytics engine to generate machine learning results/predictions on input/inference data210that is associated with the objective. The input data may comprise data associated with the objective that is being analyzed, but was not part of the training data, e.g., the patterns/outcomes of the input data are not known. For example, if a user wants to know whether an email is spam, the training pipeline204may generate a machine learning model using a training data set that includes emails that are known to be both spam and not spam. After the machine learning model is generated, the policy pipeline202pushes the machine learning model to the inference pipelines206a-c, where it is used to predict whether one or more emails, e.g., provided as input/inference data210, are spam.

Thus, as depicted inFIG. 2A, a policy pipeline202, a training pipeline204and inference pipelines206a-care depicted in an edge/center graph. In the depicted embodiment, new machine learning models are periodically trained in a batch training pipeline204, which may execute on a large clustered analytic engine in a data center. As the training pipeline204generates new machine learning models, an administrator may be notified. The administrator may review the generated machine learning models, and if the administrator approves, the machine learning models are pushed to the inference pipelines206a-cthat comprise the logical pipeline grouping for the objective, each of which is executing on live data coming from an edge device, e.g., input/inference data210.

FIG. 2Bis a schematic block diagram illustrating another embodiment of a logical machine learning layer225for detecting suitability of machine learning models for datasets. In one embodiment, the logical machine learning layer225ofFIG. 2Bis substantially similar to the logical machine learning layer200depicted inFIG. 2A. In addition to the elements of the logical machine learning layer200depicted inFIG. 2A, the logical machine learning layer225ofFIG. 2Bincludes a plurality of training pipelines204a-b, executing on training devices205a-b.

In the depicted embodiment, the training pipelines204a-bgenerate machine learning models for an objective, based on training data for the objective. The training data may be different for each of the training pipelines204a-b. For instance, the training data for a first training pipeline204amay include historical data for a predefined time period while the training data for a second training pipeline204bmay include historical data for a different predefined time period. Variations in training data may include different types of data, data collected at different time periods, different amounts of data, and/or the like.

In other embodiments, the training pipelines204a-bmay execute different training or learning algorithms on different or the same sets of training data. For instance, the first training pipeline204amay implement a training algorithm TensorFlow using Python, while the second training pipeline204bimplements a different training algorithm in Spark using Java, and/or the like.

In one embodiment, the logical machine learning layer225includes a model selection module212that is configured to receive the machine learning models that the training pipelines204a-bgenerate and determine which of the machine learning models is the best fit for the objective that is being analyzed. The best-fitting machine learning model may be the machine learning model that produced results most similar to the actual results for the training data (e.g., the most accurate machine learning model), the machine learning model that executes the fastest, the machine learning model that requires the least amount of configuration, and/or the like.

In one embodiment, the model selection module212performs a hyper-parameter search to determine which of the generated machine learning models is the best fit for the given objective. As used herein, a hyper-parameter search, optimization, or tuning is the problem of choosing a set of optimal hyper-parameters for a learning algorithm. In certain embodiments, the same kind of machine learning model can require different constraints, weights, or learning rates to generalize different data patterns. These measures may be called hyper-parameters, and may be tuned so that the model can optimally solve the machine learning problem. Hyper-parameter optimization finds a set of hyper-parameters that yields an optimal machine learning model that minimizes a predefined loss function on given independent data. In certain embodiments, the model selection module212combines different features of the different machine learning models to generate a single combined model. In one embodiment, the model selection module212pushes the selected machine learning model to the policy pipeline202for propagation to the inference pipelines206a-c. In various embodiments, the model selection module212is part of, communicatively coupled to, operatively coupled to, and/or the like the ML management apparatus104.

FIG. 2Cis a schematic block diagram illustrating a certain embodiment of a logical machine learning layer250for detecting suitability of machine learning models for datasets. In one embodiment, the logical machine learning layer250ofFIG. 2Cis substantially similar to the logical machine learning layers200,225depicted inFIGS. 2A and 2B, respectively. In further embodiments,FIG. 2Cillustrates a federated learning embodiment of the logical machine learning layer250.

In a federated machine learning system, in one embodiment, the training pipelines204a-care located on the same physical or virtual devices as the corresponding inference pipelines206a-c. In such an embodiment, the training pipelines204a-cgenerate different machine learning models and send the machine learning models to the model selection module212, which determines which machine learning model is the best first for the logical machine learning layer250, as described above, or combines/merges the different machine learning models, and/or the like. The selected machine learning model is pushed to the policy pipeline202, for validation, verification, or the like, which then pushes it back to the inference pipelines206a-c.

FIG. 3is a schematic block diagram illustrating one embodiment of an apparatus300for detecting suitability of machine learning models for datasets. In one embodiment, the apparatus300includes an embodiment of an ML management apparatus104. The ML management apparatus104, in one embodiment, includes one or more of a training evaluation module302, an inference evaluation module304, a score module306, and an action module308, which are described in more detail below.

In one embodiment, the training evaluation module302is configured to calculate a first statistical data signature for a training data set of a machine learning system200using one or more predefined statistical algorithms. As explained above, the training data set may comprise a data set that is used to train a machine learning model for use in analyzing an inference data set at an inference pipeline206. In certain embodiments, the training data set comprises data for one or more features. As used herein, features in machine learning comprise individual measurable properties or characteristics of a phenomenon being observed, and may be numeric, strings, graphs, and/or the like. For example, features within a data set may include age, sex, location, income, or the like. A training data set may include data for one feature or for multiple features.

In one embodiment, as used herein, the statistical data signature for the training data set may comprise a value, score, estimate, rank, or the like that describes the training data set relative to a different data set, e.g., an inference data set. The training evaluation module302may use various statistical algorithms to generate a statistical data signature for the training data set. For instance, as explained in more detail below, the training evaluation module302may use various statistical algorithms to determine the density/probability distribution of the training data set, of the data for a feature of the training data set, and/or the like such as a multinomial distribution algorithm, a Gaussian mixture model algorithm, a non-random forest of trees algorithm, and/or the like.

In one embodiment, the inference evaluation module304is configured to calculate a second statistical data signature for an inference data set of the machine learning system200using one or more predefined statistical algorithms. In certain embodiments, the one or more predefined statistical algorithms that the inference evaluation module304uses to generate the second statistical data signature are the same algorithms that are used to generate the first statistical data signature for the training data set, which allows the first and second data signatures to be compared relative to one another on the same basis.

For instance, if the training evaluation module302uses a Gaussian mixture model algorithm to generate the first statistical data signature for the training data set, the inference evaluation module304may use the Gaussian mixture model generated using the training data to generate the second statistical data signature for the inference data set. In this manner, the first and second statistical data signatures correspond to each other because they are generated based on the same statistical algorithm.

In one embodiment, the score module306is configured to calculate, determine, or the like a suitability score that describes the suitability of the training data set to the inference data set as a function of the first and second statistical data signatures. For instance, the suitability score may comprise a number, value, rank, threshold, unit, probability, estimate, and/or the like that indicates how suitable, e.g., how applicable or accurate a machine learning model trained using the training data set is for the inference data set, the degree with which the inference data set deviates from the training data set, and/or the like.

In one embodiment, the score module306may determine the suitability score as a function of the first and second statistical data signatures. For instance, the score module306may normalize the second statistical data signature as a function of the first statistical data signature so that the first and second statistical data signatures are normalized to a common scale. The score module306may perform various mathematical calculations on the first and second statistical data signatures to determine the suitability score such as average the scores, add/multiple/subtract/divide the scores, and/or other mathematical functions that derive a single value from a combination of two or more values.

In one embodiment, the score module306calculates the suitability score in real-time and on an ongoing basis during machine learning processing to determine the suitability of the training set data to the inference data set at a particular pipeline202-206. For instance, the score module306may calculate the suitability score for an inference data set prior to analyzing the inference data set at an inference pipeline206, during processing of the inference data set at an inference pipeline206, after the inference data set has been processed at an inference pipeline206, prior to the output from one inference pipeline206being input into a subsequent inference pipeline206, and/or the like.

In certain embodiments, the training data set comprises continuous or categorical feature data. Continuous feature data, as used herein, is data that may have an infinite number of values, e.g., real numbers. Categorical feature data, as used herein, is data that may have discrete values, e.g., data that can only be a certain number of values. Different approaches may be used to evaluate the suitability of the training data set and machine learning model for the inference data set based on whether the data comprises continuous or categorical feature data, as explained below.

Univariate Data Deviation

In one embodiment, the score module306determines the suitability score on a per-feature basis using corresponding features of the training data set and the inference data set. In embodiments where the training data set comprises continuous and/or categorical feature values, and the suitability score is determined on a per-feature basis, the training evaluation module302determines a multinomial probability distribution over each feature of the training data set by assigning the values for each feature of the training data set to different bins/groups. The training evaluation module302then determines the probabilities for each of the bins/groups of the training data set, which indicates the likelihood of a values being in the training data set. For continuous feature data, the probabilities are equal to the ratio of number of samples that belong to each bin/group over the total number of samples in the training data set, and for categorical feature data the probabilities are equal to the ratio of the number of times each category appears over the total number of samples in the training data. The training evaluation module302, in some embodiments, then calculates the average training probability score for the training data set as a function of the probabilities for each of the groups for a feature, which may comprise the data signature for the training data set.

In further embodiments, where the inference data set comprises continuous and/or categorical feature values, the inference evaluation module304determines a multinomial probability distribution over each feature of the inference data set by assigning the values for each feature of the inference data set to different bins/groups that correspond to the bins/groups of the training data set. The inference evaluation module302then determines the probabilities for each of the bins/groups of the inference data set, which indicates the likelihood of a values being in the inference data set being in the training data set. For continuous feature data, the probabilities are equal to the ratio of number of samples that belong to each bin/group over the total number of samples in the inference data set, and for categorical feature data the probabilities are equal to the ratio of the number of times each category appears over the total number of samples in the inference data. The inference evaluation module302, in some embodiments, then calculates the average inference probability score for the inference data set as a function of the probabilities for each of the groups for a feature, which may comprise the data signature for the inference data set.

The score module306may then calculate the suitability score by normalizing the average inference probability score as a function of the average training probability score such that the probability scores are comparable on a common scale. A suitability score that satisfies (is equal to or greater than) a suitability threshold indicates that the training data set and the machine learning model trained with the training data set are suitable, accurate, or the like for the inference data set. Otherwise, the training data set may be unsuitable for the inference data set, and the action module308may perform one or more of the actions described below to improve the health or accuracy of the machine learning system200.

Thus, even before the inference pipeline206analyzes the inference data set, and without the use of any labels generated using the inference data set, the ML management apparatus104can determine the suitability of the training data set and/or the machine learning model for the inference data set.

Multivariate Data Deviation—Continuous Feature Data

In one embodiment, the score module306calculates the suitability score across a plurality of features of the training data set and the inference data set. In embodiments where the training data set comprises continuous feature data, the training evaluation module302may generate a Gaussian mixture model as a function of the training data set. As used herein, a mixture model comprises a probabilistic model for representing the presence of subpopulations within an overall population, without requiring that an observed data set should identify the sub-population to which an individual observation belongs. A Gaussian mixture model (also a multivariate Gaussian mixture model, a categorical mixture model, or the like) is one example of a mixture model that assumes all the data points are generated from a mixture of a finite number of Gaussian distributions with unknown parameters, and has the flexibility to model various types of density distributions.

In one embodiment, the training evaluation module302determines the likelihood distribution (e.g., the probability density function) of the training data as a Gaussian mixture model. A Gaussian mixture model, in various embodiments, consists of components, where each component has a Gaussian distribution. The training evaluation module302, in certain embodiments, determines the optimal number of components to model the likelihood distribution using Bayesian Information Criteria (“BIC”).

The likelihood equation for a Gaussian mixture model is given by the following equation:

Where θ=[w, μ, Σ] are the parameters of the Gaussian mixture model. Let the number of components in the model be K, then w=[w1, w2, . . . , wK], μ=[μ1, μ2, . . . , μk] and Σ=[Σ1, Σ2, . . . , ΣK] represent the weights, mean, and covariance values, respectively, that correspond to each component. The subscript represents the components to which these values belong.

In one embodiment, the training evaluation model302determines the parameters of the Gaussian mixture model based on the training data set, or a subset(s) of the training data set. In further embodiments, the training evaluation module302determines a likelihood distribution of the training data set based on the generated Gaussian mixture model, and calculates an average training likelihood score based on the likelihood distribution of the training data set, which may comprise the data signature for the training data set. In certain embodiments, the likelihood calculated with a Gaussian mixture model does not have a fixed range (e.g., the likelihood value comprises a positive value that is not limited to values between 0 and 1), and therefore the average likelihood can be calculated during training.

In one embodiment, the inference data set also comprises continuous feature data, and the inference evaluation module304determines a likelihood distribution of the inference data set based on the Gaussian mixture model that the training evaluation module302generates using the continuous feature data of the training data set. In some embodiments, the inference evaluation module304calculates the likelihood over a batch of samples (e.g., in a batch mode) and/or over a window of samples (e.g., in a data streaming mode). The likelihood can vary over a wide range depending on the nature and dimensionality of the inference data set. Therefore, in certain embodiments, the inference evaluation module304calculates an average inference likelihood score based on the likelihood distribution of the inference data set, which may comprise the data signature for the inference data set.

The score module306may then calculate the suitability score by normalizing the average inference likelihood score as a function of the average training likelihood score such that the likelihood scores are comparable on a common scale, such as a scale from 0 to 1, 0 to 100, or the like. In one embodiment, if the range is set from 0 to 1, the upper limit of 1 may correspond to the average likelihood seen during training. If the lower limit is set to a value close to 0, this may indicate that a drop in likelihood relative to the average value seen during training is tolerable.

A suitability score that satisfies (is equal to or greater than) a suitability threshold indicates that the training data set and the machine learning model trained with the training data set are suitable, accurate, or the like for the inference data set. Otherwise, the training data set may be unsuitable for the inference data set, and the action module308may perform one or more of the actions described below to improve the health or accuracy of the machine learning system200.

Multivariate Data Deviation—Categorical/Binary Feature Data

In one embodiment, the score module306calculates the suitability score across a plurality of features of the training data set and the inference data set. In embodiments where the training data set comprises categorical/binary feature data, the training evaluation module302may determine a multinomial distribution that models a join distribution. For example, the following distribution represents a data set that contains three binary features:

The above data set, in one embodiment, is an example of a multinomial distribution where a probability value is assigned to each possible combination in the data set. In certain embodiments, the probability value is calculated as the ratio that each combination is present in the data set. However, when there are N features and k categories in each feature, the number of combinations is Nk. Note that each of the possible combinations may not be present in the training data set because the training data set itself might be Nk. In one embodiment, a zero probability is not assigned to combinations that are not present in the training data set because a zero probability may imply that a zero probability is assigned to any new sample that is not a subset of the training data set. To prevent this issue, the training evaluation module302approximates the joint distribution of the categorical features as:

Note that the relationship between certain subsets of features is dropped. For the example training data set above, the result would be:

In one embodiment, this is modeled as a forest of trees. As used herein, each tree is a special data structure, where the number of children at each node is equal to the number of categories in a given feature. There are several such trees containing disjoint subsets of the feature set. A collection of these trees is referred to as a forest herein. The number of trees may be equal to the number of independent components, where each component is comprised of one or more features. The number of levels in each tree may be equal to the number of features it explains. The training evaluation module302, in one embodiment, does not know ahead of time how many levels the tree is going to have or how many trees in total it will have. The training evaluation module302may start growing a tree and stop growing it whenever the training evaluation module302encounters a node with zero probability. If a node has zero probability, the training evaluation module302cuts the whole tree at the previous level (this node will not have any siblings). This means that either feature N is a part of the tree, or is not a part of it. All sibling/cousin nodes at a level may all have the exact same number of children.

For example, given the following:

The forest of trees may look like:

In order to determine when to grow and terminate a tree, for example, let there be K features. The training evaluation module302starts with any arbitrary feature, e.g., “5”. Let “5” have C number of categories within it [1, 2, . . . , Z]. The training evaluation module302may start by constructing a tree with Z child nodes, and assign a probability values to each of the child nodes. The probability value assigned to each node may be equal to the fraction of times the category appears in the training data set, looking at only the instant feature while ignoring other features. The training module302may pick another feature, e.g., “10”, and detects the total number of categories in “10” (e.g., Y). The training module302may visit each child node and look at the subset of samples that belong to category [1, 2, . . . , Z] respectively for feature “5”, and model the probability distribution of all the categories (Y) in “10” given that feature “5” has categories “1”, “2”, . . . “Z”, respectively. This results in Y number of child nodes for each node at this level.

In a case where the training evaluation module302is unable to find all the possible categories at a child node, it may imply that the training evaluation module302never saw such a combination in the training data set, and therefore terminates the tree at the previous level. In the above example illustration, if X5has 4 categories, (F,G,H,I), and if P(X5=G|X3=B,X4=E)=0, it may indicate that the training evaluation module302never saw a combination (B,E,G) for the features (3,4,5). Therefore, the training evaluation module302terminates the previous level and the graph ends up looking like the illustrated tree above. The training evaluation module302may then start with a new tree and a new feature, possibly feature X5.

Thus, the training evaluation module302may be configured to generate a non-random forest of trees as a function of the training data set, determine a probability distribution of the training data set based on the generated non-random forest of trees, and calculate an average training probability score (e.g., the statistical data signature for the training data set) based on the probability distribution of the training data set.

In further embodiments, the inference module304is configured to determine a probability distribution of the inference data set based on the non-random forest of trees that is generated using the training data set. For instance, the inference module304may traverse the non-random forest of trees for each feature in the inference data set to determine the probability distribution of the features in the inference data set based on the probability distribution of the training data set. The inference module304may then calculate an average inference probability score (e.g., the statistical data signature for the inference data set) based on the probability distribution of the inference data set.

In certain embodiments, the score module306calculates the suitability score by normalizing the average inference probability score as a function of the average training probability score such that the probability scores are comparable on a common scale. A suitability score that satisfies (is equal to or greater than) a suitability threshold indicates that the training data set and the machine learning model trained with the training data set are suitable, accurate, or the like for the inference data set. Otherwise, the training data set may be unsuitable for the inference data set, and the action module308may perform one or more of the actions described below to improve the health or accuracy of the machine learning system200.

Deep Learning Machine Learning Systems

In one embodiment, the machine learning system200comprises a deep learning machine learning system. As used herein, a deep learning system may be a class of machine learning algorithms that use a cascade of multiple layers of nonlinear processing units for feature extraction and transformation where each successive layer uses the output from the previous layer as input; learn in supervised (e.g., classification) and/or unsupervised (e.g., pattern analysis) manners; and learn multiple levels of representations that correspond to different levels of abstraction where the levels form a hierarchy of concepts. Examples of deep learning systems may include artificial neural networks, deep neural networks, and/or the like.

In certain embodiments, deep learning machine learning systems differ from other machine learning systems in that there are typically a larger number of model parameters and the transformations on features cascade on top of each other creating a complex non-linear transformation. In addition, deep learning deals with high dimensional inputs, such as images and time series data, e.g., text, by creating sparse connections between different layers in the network, which still results in a model with a large number of parameters. Being able to deal with high dimensional data such as images, and generate accurate predictive performance is an advantage of deep learning. However, extraction of a statistical signature from the feature space itself in such cases may be meaningless. One way to circumvent these issues is to compare the internal feature activations during training and inference.

Thus, in one embodiment, the inference data set comprises a data set that is the output from a learning layer of the deep learning system. In one embodiment, the inference data set comprises a data set that is output from a layer of the deep learning system that occurs prior to the final learning layer. For instance, the inference data set may comprise an output data set from the first learning layer of the deep learning system, from one or more intermediate learning layers, from the penultimate learning layer, and/or the like. Using the various statistical algorithms described above, the ML management apparatus104can determine whether the machine learning model being used in the deep learning system is suitable for various outputs generated by the deep learning system, without the use of labels, based on the statistical data signatures of the training data set and the inference data set.

In one embodiment, the action module308is configured to perform an action related to the machine learning system200in response to the suitability score satisfying (is equal to or less than) an unsuitability threshold, or in response to the suitability score not satisfying (e.g., is not equal to or greater than) a suitability threshold, which may be the same value as the unsuitability threshold. For example, the score module306may calculate a suitability score of 0.75 (or 0.25 unsuitability score) on a scale of 0 to 1, and if the unsuitability threshold is 0.3, or if the suitability threshold is 0.7, then the action module308may determine that the training data set, and by extension the machine learning model, is suitable for the particular inference data set.

On the other hand, if the suitability score is 0.6 (or 0.4 unsuitability score), and if the unsuitability threshold is 0.3, or if the suitability threshold is 0.7, then the action module308may determine that the training data set, and by extension the machine learning model, is not suitable for the particular inference data set. In such an embodiment, the action module308performs, triggers performance of, recommends, or the like an action related to the machine learning system200.

For instance, the action module308may change, trigger changing, or recommend changing the machine learning model currently being used by an inference pipeline206to analyze the inference data set to a different machine learning model that was trained using a training data set that may be more suitable for the inference data set than the original training data set used to train the machine learning model.

In further embodiments, the action module308may retrain, trigger retraining, or recommend retraining the machine learning model using a different training data set that may more suitable for the inference data set than the training data set used to train the current machine learning model in response to the suitability score not satisfying a suitability threshold. In various embodiments, the action module308generates one or more labels, described below, as part of the output of the inference pipeline206, which may be checked against the training data set to confirm the accuracy of the machine learning model.

In some embodiments, the action module308sends an alert, message, notification, or the like (e.g., to an administrator or other user) that indicates that the training data set and machine learning model that was trained using the training data set is unsuitable for the inference data set in response to the suitability score not satisfying a suitability threshold. In such an embodiment, the action module308may include additional information in the notification such as the suitability score, the training data set identifier, the inference data set identifier, the inference pipeline206identifier, the machine learning model identifier, one or more recommendations for increasing the suitability score (e.g., retrain the machine learning model with different training data, swap the current machine learning model with a different machine learning model, or the like).

In one embodiment, the action module308generates, triggers generation of, and/or recommends generation of one or more labels for the features of the inference data set in response to the suitability score satisfying the suitability threshold for the training and inference data sets. As described above, the labels may comprise the predictions, recommendations, forecasts, estimates, and/or the like that the machine learning system200outputs.

FIG. 4is a schematic flow chart diagram illustrating one embodiment of a method400for detecting suitability of machine learning models for datasets. In one embodiment, the method400begins, and the training evaluation module302calculates402a first statistical data signature for a training data set of a machine learning system200using one or more predefined statistical algorithms. In some embodiments, the training data set is used to generate a machine learning model for analyzing an inference data set.

In further embodiments, the inference evaluation module304calculates404a second statistical data signature for an inference data set of the machine learning system using the one or more predefined statistical algorithms. In various embodiments, the score module306calculates406a suitability score describing the suitability of the training data set to the inference data set as a function of the first and the second statistical data signatures. In certain embodiments, the action module308performs408an action related to the machine learning system in response to the suitability score satisfying an unsuitability threshold, and the method400ends.

FIG. 5is a schematic flow chart diagram illustrating another embodiment of a method500for detecting suitability of machine learning models for datasets. In one embodiment, the method500begins, and the training evaluation module302determines502a probability distribution of the training data set by assigning the values for a feature of the training data set to different groups, determines504probabilities for each of the groups of the training data set where the probabilities indicate a likelihood of a value being in the training data set, and calculates506an average training probability score for the training data set as a function of the probabilities for the groups.

In certain embodiments, the inference evaluation module304determines508a probability distribution of the inference data set by assigning the values for a feature of the training data set to different groups that correspond to the groups of the training data set, determines510probabilities for each of the groups of the inference data set where the probabilities indicate a likelihood of a value of the inference data set being in the training data set, and calculates512an average inference probability score based on the probability distribution of the inference data set.

In one embodiment, the score module306calculates514the suitability score by normalizing the average inference probability score as a function of the average training probability score. In various embodiments, the action module308performs516an action related to the machine learning system in response to the suitability score satisfying an unsuitability threshold, and the method500ends.

FIG. 6is a schematic flow chart diagram illustrating another embodiment of a method600for detecting suitability of machine learning models for datasets. In one embodiment, the method600begins, and the training evaluation module302generates602a Gaussian mixture model as a function of the training data set, determines604a likelihood distribution of the training data set based on the generated Gaussian mixture model, and calculates606an average training likelihood score based on the likelihood distribution of the training data set.

In further embodiments, the inference evaluation module304determines608a likelihood distribution of the inference data set based on the generated Gaussian mixture model, and calculates610an average inference likelihood score based on the likelihood distribution of the inference data set. In certain embodiments, the score module306calculates612the suitability score by normalizing the average inference likelihood score as a function of the average training likelihood score, and the action module308performs614a machine learning action in response to the suitability score satisfying an unsuitability threshold, and the method600ends.

FIG. 7is a schematic flow chart diagram illustrating another embodiment of a method700for detecting suitability of machine learning models for datasets. In one embodiment, the method700begins, and the training evaluation module302generates702a non-random forest of trees as a function of the training data set, determines704a probability distribution of the training data set based on the generated non-random forest of trees, and calculates706an average training probability score based on the probability distribution of the training data set.

In further embodiments, the inference evaluation module304determines708a probability distribution of the inference data set as a function of the non-random forest of trees generated based on the training data set (e.g., by traversing the non-random forest of trees to determine the probability associated with a given feature in the inference data set), and calculates710an average inference probability score based on the probability distribution of the inference data set. The score module306, in certain embodiments, calculates712the suitability score by normalizing the average inference probability score as a function of the average training probability score, and the action module308performs714a machine learning action in response to the suitability score satisfying an unsuitability threshold, and the method700ends.

Means for calculating a first statistical data signature for a training data set of a machine learning system using one or more predefined statistical algorithms includes, in various embodiments, one or more of a ML management apparatus104, a training evaluation module302, a device driver, a controller executing on a host computing device, a processor, an FPGA, an ASIC, other logic hardware, and/or other executable code stored on a computer-readable storage medium. Other embodiments may include similar or equivalent means for calculating a first statistical data signature for a training data set of a machine learning system using one or more predefined statistical algorithms.

Means for calculating a second statistical data signature for an inference data set of the machine learning system using the one or more predefined statistical algorithms includes, in various embodiments, one or more of a ML management apparatus104, an inference evaluation module304, a device driver, a controller executing on a host computing device, a processor, an FPGA, an ASIC, other logic hardware, and/or other executable code stored on a computer-readable storage medium. Other embodiments may include similar or equivalent means for calculating a second statistical data signature for an inference data set of the machine learning system using the one or more predefined statistical algorithms.

Means for calculating a suitability score describing the suitability of the training data set to the inference data set as a function of the first and the second statistical data signatures includes, in various embodiments, one or more of a ML management apparatus104, a score module306, a device driver, a controller executing on a host computing device, a processor, an FPGA, an ASIC, other logic hardware, and/or other executable code stored on a computer-readable storage medium. Other embodiments may include similar or equivalent means for calculating a suitability score describing the suitability of the training data set to the inference data set as a function of the first and the second statistical data signatures.

Means for performing an action related to the machine learning system in response to the suitability score satisfying an unsuitability threshold includes, in various embodiments, one or more of a ML management apparatus104, an action module308, a device driver, a controller executing on a host computing device, a processor, an FPGA, an ASIC, other logic hardware, and/or other executable code stored on a computer-readable storage medium. Other embodiments may include similar or equivalent means for performing an action related to the machine learning system in response to the suitability score satisfying an unsuitability threshold.