Taking a machine learning model to production from the proof of concept stage is a complex journey. Deploying the model is only the tip of the iceberg when it comes to operationalizing machine learning models. After the initial deployment, maintaining deployed models and continuously improving them requires specialized tools and systems. ML Model monitoring tools keep track of the model availability, and the results provided by the model and watch out for model degradation and errors. In case you are looking for an all-in-one MLOPs solution with model monitoring solutions, check out Qwak. Qwak simplifies the productionization of machine learning models at scale. Qwak’s ML Platform helps data science and ML engineering teams to transition ML models to production at scale.
This article is about the top model monitoring tools that you must consider.
Unlike other IT systems, machine learning systems need constant attention and continuous improvement to deliver business value. Since building a machine learning system is a costly affair, tracking the value derived from it often takes center stage after deployment. Typical operations after model deployment include measuring the accuracy of the model compared to the existing systems or manual effort, detecting any errors, gathering data for future training, etc. This is where model monitoring tools help.
Model monitoring is the operational step in which models deployed in production are continuously evaluated to identify issues that may impact results. Machine Learning monitoring involves storing the details of model performance in production and making it available for analysis. Model monitoring systems provide alerts when they identify issues related to input data, model availability, model inference times, or even model results. ML Monitoring tools also provide intuitive dashboards and visualization based on the captured data. This data and representation is valuable for a developer who is troubleshooting model performance issues.
ML Monitoring is important because it helps organizations realize business value from their model development process.
Unlike other IT systems, machine learning models are not white boxes that provide completely explainable results. The results are based on the training data the model has seen during the training and there is no way to predict how small variations in input data affect the results. Hence it is important to capture the results of models on production data and analyze it offline to ensure that the model performance is in line with expectations. Results monitoring involves assessing accuracy based on production data, calculating error metrics based on ideal output, and alerting in case thresholds are violated.
Choosing the best model from a set of candidates is often a very confusing task while taking machine learning models to production. There are no categorical correct answers and development teams often decide to try multiple models in production to understand which one performs better. Model monitoring tools capture the results and present them in a way such that models can be easily compared.
Machine learning systems work based on the assumption that the distribution of data that the models see in production is identical to the ones they have seen during the training. More often than not, data scientists responsible for model development do not have the full picture of production data and end up spending a considerable amount of time, preparing synthetic data and augmenting available data. This results in models that have been trained on data that is not a clear representation of production data. Such models perform poorly in production. Data distribution issues need not always come immediately after deployment. They can also creep up gradually in a machine-learning system. Drifts are difficult to identify compared to abrupt changes.
Model availability is about having the inference API always ready to accept requests. Models are highly resource-intensive and can go down or become unresponsive. Machine learning monitoring systems continuously keep track of the inference APIs and their heartbeat signals.
Model monitoring systems track much more than model results accuracy. They also track the inference response times and how it varies according to load patterns. In high-traffic scenarios, it is common for machine learning inference APIs to suffer a drop in performance. ML model monitoring tools store metrics like response times, mean latency, etc, and make them available for future analysis.
ML monitoring tools capture rich data about model accuracy, inference API performance, and data issues. The monitoring tools store this data and provide intuitive dashboards to help developers troubleshoot and refine the system. The visualization and analysis features of the ML monitoring tools provide a key role in deriving value out of the captured data.
Machine learning model development is a never-ending process. The models need to be continuously trained to capture new data patterns and avoid drift. ML monitoring tools capture model results on production data and store them for further analysis. Developers can take this data and manually label them or correct it to feed to subsequent training runs. In some cases, the end users themselves may be involved in correcting the model predictions and saving them to a database. Machine learning model monitoring tools manage activities related to continuous training and evaluation. They keep track of the version changes of data and the models that are trained on different versions of data.
Models change very frequently in the case of an actively developed machine learning system. ML Montiroing tools keep track of the deployments and raise alerts in case the deployments fail and the latest version does not reach the production inference module. The monitoring tools can automatically try to fix the deployment issues through standard actions like restarting or removing the asset that causes the issue.
Arize AI is an observability platform for detecting and troubleshooting ML issues in production. It is a great tool to identify the root cause of your model-related issues in production. Arize can help in machine learning performance tracing by diving deep into the data that models were built on or acting upon. Machine learning models often deal with large vector storage systems. Monitoring vectors and identifying emerging patterns and integrity issues is a tedious task. Arize has dedicated features to make this process easier. Arize can also help in identifying data drift and its impact on your while providing enterprise-grade scale and security. Arize does not use your existing feature store or embedding store.
Once you have deployed to machine learning model to production, you may already have a model store, feature store, and a serving platform. Arize tries to provide observability by using an external evaluation or inference store. It supports all the major machine learning frameworks and ML Ops Tools. Arize supports multiple methods to log inference results. Arize can pull inference results from cloud storage where your results are already stored. It supports AWS S3, Azure storage, and Google cloud storage for the pull-type sync. It supports CSV, Parquet, and Avro as the data formats for syncing results. Using this method requires developers to configure a file import job and define the authentication details to the results object-store. The second method is using the SDKs provided by Arize. Developers can use these SDKs in their inference code and push the results to Arize.
Arize can automatically identify when the SDKs sent a text or image embedding. It then monitors the embeddings and continuously compares them to a baseline setup by the user. When deviations go beyond configured thresholds it can alert the person in charge. This embedding drift detection feature is unique to Arize.
Arize offers alerts integration for many kinds of alerting tools and methods. It supports email, slack, OpsGenie, PagerDuty, etc. It can also trigger the automatic retraining of a model using the Airflow retrain module. But this is supported only in the case of AWS.
Why Labs is a Machine learning observability platform that is available as a completely managed service. Why Labs provides privacy preserved Data Ops and Model Ops. It can help capture missing data, null values, schema changes, etc automatically and raise alerts. It can take a training data baseline and continuously monitor to identify training and serving skew. It can also monitor your feature store to alert you about outages or drifts. WhyLabs can monitor the model accuracy and alert about model degradation due to concept drift or other issues. Developers can define any custom metric and configure Whylabs to monitor based on that.
Why labs focus on preserving privacy while providing complete model monitoring ability. It does this by building statistical profiles of the data and comparing it against established baselines. These statistical profiles do not contain any personally identifiable information and are hence safe from all regulatory and complaint issues. The statistical profiles are encrypted while at rest and during transport. The actual raw data never leaves the customer’s virtual private network. That said, Whylabs do not sample the data and creates this statistical profiling by scanning through your complete data, Whylabs can easily integrate with Java and Python using WhyLogs - An open-source logging framework.
WhyLabs primarily focuses on monitoring data quality issues, data drift and concept drift. It does not venture into automated training or model comparison for A/B testing. Whylab’s architecture separates the logging part and the analysis part. It relies on WhyLogs for all data capture and exposes APIs for WhyLogs to upload the statistical profiles created by WhyLogs. WhyLogs segment data at the point of capturing the logs. Segmentation can be done based on one or more features. The dashboard logically separates the captured information based on projects and organizations. WhyLabs platform can integrate with numerous notification mechanisms like email, slack, PagerDuty, etc.
Evidently AI is an open-source machine learning platform that focuses on debugging issues with models. The platform provides tools to evaluate, test, and monitor models. Evidently can evaluate model quality beyond aggregate performance and focus on individual results. It can execute statistical tests to identify data drifts. Evidently can identify concept drift by identifying model behavior and how actual customer behavior changes over time. Evidently can run statistical tests on feature stores to detect data quality issues. Evidently supports all major ML OPs frameworks and runs the test while integrated into the experiments. Evidently reports the results in an intuitive dashboard that enables visual debugging.
Evidently has three main components - Reports, Tests, and Realtime Monitors. They serve different use cases such as visual analysis, automated pipeline testing, and real-time monitoring. Developers should provide the data, select the evaluation metric and configure the output format to get started with Evidently. It provides a set of built-in metrics for developers to choose from. The ‘Tests’ component Evidently compares a user-provided dataset to a reference set. Engineers can manually provide the parameters of the reference set or let Evidently figure it out automatically from the reference set. Engineers can integrate these tests to automatically run whenever they create a new dataset.
The ‘Reports’ component helps ML practitioners to define custom dashboards or choose from the built-in ones. Reports can be used for exploratory data analysis or debugging. Evidently expects the data set for creating reports as a pandas data frame or CSV. Since the reports contain rich visualizations, it is not suitable for a large amount of data. The real-time monitoring component helps to calculate metrics over streaming result data. Evidently outputs the metrics in Prometheus format. Evidently provides predefined Grafana dashboards to visualize them. The monitoring component is still in the beta phase though.
Neptune AI is primarily a metadata store that can track ML experiments, store models in a registry, and keep all the data regarding your machine learning models in one place. It helps in standardizing the processes around model development and improves collaboration. It is available for installation on-premise, in a private cloud, or as a completely managed service. Neptune provides great querying features and an intuitive dashboard to visualize the results of your experiments and production runs.
Neptune AI has two primary components. A client application and a web application. The client application can be integrated with your machine learning code and used to log details about the model runs and data points. The web application accepts log information and provides utilities for processing the log data. The web user interface also provides features for comparing model results and observing the metrics related to model performance. It also facilitates collaboration. Neptune uses workspaces to logically separate work done by different teams. Teams can create projects within workspaces for each ML task. Each project contains metadata that is organized on the basis of each run.
Neptune's monitoring capabilities are more aligned with the training of models even though the logging code is generic enough to be used with production inference tasks as well. Neptune can log data-related metrics, hyperparameters related to the model, error metrics, and system metrics like hardware usage. It can also log complete input data including images, arrays, and tensors. Neptune can integrate with most of the popular machine-learning libraries. It supports automatic metadata and metric capture when used with the supported libraries. Neptune can integrate with data version control systems like DVC as well. In case you are using one of the non-supported libraries, you can still use Neptune by logging information manually through the client library.
Qualdo is a platform for monitoring data quality and model quality. It embraces multi-cloud architecture and can work with databases from all the major cloud providers. Qualdo started as a data quality product and later added machine learning model quality monitoring also. Qualdo is a good tool for data engineers, data scientists, or even DevOps engineers. Qualdo has built-in algorithms to identify data anomalies and provide reports and alerts. Qualdo’s MQX offering is designed for model monitoring and can detect response decays, feature decays, model failure metrics, etc. Qualdo can be used as a completely managed service. The enterprise edition can be installed on your premises.
Qualdo DRX is a zero-code tool that can measure various kinds of data anomalies such as data completeness, data consistency, timeliness, and outliers. Qualdo supports most of the on-premise databases like MySQL, PostgreSQL, and SQLServer. It also works with cloud databases like Snowflake, BigQuery, and Redshift. It is compliant with all the OWASP security guidelines. Qualdo does not store any of your data and hence is from all the GDPR regulatory complications. Qualdo can integrate with many notification frameworks like Slack, Email, etc.
For machine learning model monitoring, Qualdo provides an SDK that engineers can integrate with their training and inference pipelines. It can facilitate automated retuning of the parameters for your model based on the captured data.
Fiddler AI is a model performance management platform that aims to provide continuous visibility to model training and inference tasks. Fiddler AI is not only about monitoring models with metrics, but also about the explainability of models. Fiddler attempts to explain why predictions were made the way they were. It can facilitate A/B testing with challenger and champion models that compete with each other based on metrics and explainability. Fiddler emphasizes low code analysis. It provides a simple SQL interface to facilitate analysis. There are built-in dashboards to provide a bird's eye view of your entire machine-learning lifecycle.
Fiddler's explainable AI component provides context and visibility to model behavior and bias. Explainable AI is generally implemented using well-known statistical metrics like SHAP values, integrated gradients, dependency plots, etc. Fiddler supports all these methods natively. It also contains a proprietary version of SHAP value for better model explanations. Fiddler can provide global and local explanations. Fiddler comes built-in with many surrogate models that can be used to explain model predictions. In can, you want to use your own explainability module, though can use APIs to integrate your custom logic into Fiddler analysis. It supports all major machine learning frameworks and cloud-based tools like Sagemaker, Azure ML, Google Vertex AI, etc.
Fiddler also provides all the typical features for monitoring production model metrics other than explainability. It has separate components for computer vision model monitoring and natural language processing model monitoring. Fiddler uses a unique vector monitoring approach to detect anomalies and drift in your text embeddings. Fiddler's built-in dashboard provides all the information about your ML lifecycle in one place. It represents your ML tasks as projects and divide the activities into Monitor, Analyze, Explain and Evaluate tabs.
Qwak is a fully managed MLOps tool that supports all activities of the machine learning model development lifecycle. It can help one transform and store data, train, deploy and monitor models. Qwak can help to track experiments and promote the best model among the results to production. Qwak has a built in feature store. It also supports automated monitoring.
Model monitoring is an absolute requirement for bringing the full potential of your machine-learning investments to the limelight. Model performance does not stay constant after deployment and suffers from continuous degradation. The reasons can be a drift in input data, customer behavior, or even unintended schema changes. Debugging such issues is a tedious process if you don't have access to the right data to pinpoint the reasons. Model monitoring tools provide complete visibility to your production model operation.
All the tools mentioned above provide basic model monitoring features. Some of them are complete MLOPs tools with monitoring added as an afterthought. Some of them like Arize AI, Fiddler, Evidently, etc are dedicated monitoring tools. In case you are looking for a complete solution that supports your complete model lifecycle, consider Qwak.
Qwak simplifies the productionization of machine learning models at scale. Qwak’s Feature Store and ML Platform empower data science and ML engineering teams to Build, Train and Deploy ML models to production continuously. By abstracting the complexities of model deployment, integration, and optimization, Qwak brings agility and high velocity to all ML initiatives designed to transform business, innovate, and create a competitive advantage.