One year ago, we launched our Nuxeo Insight service and became the first and, at that time, only Content Services Platform to offer a trainable cloud service for machine learning. For those who might not be familiar with this unique service, Nuxeo Insight is an AI offering that enables our clients to use their own data and content to train custom, machine-learning (ML) models. Custom ML models can be used for a variety of business purposes, including enriching content with new metadata, auto-classifying vital records, identifying products and talent, and even automating forms processing. But the critical thing with Nuxeo Insight is that, because these models are trained with each customer’s own data, they are much more accurate, insightful and therefore valuable than the commodity AI services that are available as public cloud offerings. If you are interested in learning more about the distinction between custom and commodity ML models, please refer back to a previous Nuxeo blog posting entitled, “The Difference Between Generic & Contextual AI.”
Today, we are very pleased to announce another first for Nuxeo Insight. We have taken this service a step further and are releasing an entirely new, low-code user interface. Our goal for this new user experience is to address two critical challenges for customers who are looking to employ custom ML models for their assets and content:
- First, it is often difficult to define and train new models. And, in particular, many customers struggle to develop the right training data set to produce the results they want from their models.
- Second, it is also difficult to understand how various models - once they have been deployed - are performing and whether, over time, this performance is actually improving or degrading.
This is why, for most organizations, custom ML models have remained the exclusive domain of data scientists, expert users with extensive experience in working with deep learning models. However, at Nuxeo, we believe that this machine learning should be more mainstream and that, with the right set of tools, we can place the power of Nuxeo Insight into the hands of even new users. As a result, our low-code interface offers a highly intuitive, guided “point-and-click” experience that will enable even casual users to define and train new ML models and then to easily deploy and administer these models in production use cases.
Training New Models
Let’s start at the beginning and look at how we make it easy to develop new ML models. Typically, this process begins with selecting a particular document type and then determining what fields, or labels, that we want the model to predict. With Nuxeo Insight, users can now quickly and easily navigate through the available set of document types and then, with a few clicks, select the various values and data types that we want the new model to populate and even apply different parameters for each prediction.
As I noted earlier, one of the key challenges with custom ML models is knowing whether a particular training data set will produce a model that will deliver the results you want. With Nuxeo Insight, we analyze the available data sets and, as the user navigates through the process of defining a new model, the Insight UI provides a graphical depiction of the ability of the data set to successfully train the model for each of the available fields. Nuxeo Insight will even provide warning messages and visual flags when it determines there is a potential issue with a particular field (or fields) in the new model. Our new UI will also provide potential solutions to any issues it identifies.
Once the user has successfully completed the configuration of the new model, he can then save the new model and initiate the training. From there, the Insight service automatically extracts the appropriate content and data for training, performs any necessary renditions or transformations, and exports the model and corresponding training set to Amazon Sagemaker to conduct the training. The Insight UI provides real-time updates of the training process, tracking the progress of the data export (training set) and the actual model training, and immediately notifying the users if any errors occur.
Operating ML Models
Once the new machine-learning model has been successfully trained, it is now available to be deployed. This is, again, where Nuxeo’s new, low-code user interface adds tremendous value. Nuxeo Insight now offers a comprehensive dashboard that depicts all of the available ML models, including those that are in training and in production. A rich set of filters is available to enable the user to quickly find only the relevant model or models. And, with a single click, a newly trained model can be promoted between your development environment and production.
Perhaps more importantly, this dashboard also provides a clear graphical representation of the performance of each production model over time. If you will recall, Nuxeo Insight employs a continuous learning model and, as new content is processed into the Nuxeo Platform, the model is continuously trained with the goal of constantly improving the performance and accuracy of the model. As each model is retrained, a new version is created, allowing the administrator to roll back to a previous version in the event that a model becomes corrupted or if accuracy declines.
At a simple glance, the user or administrator can quickly determine if a particular model’s performance is improving or degrading. They can also select different models (with the same prediction fields) for comparison to determine which is providing more accurate results or they can even compare results between different versions of the same model.
Of course, Nuxeo also provides a comprehensive set of reports to give administrators a holistic view of all of their ML models and the overall performance of the system.
Taken in its entirety, Nuxeo’s Insight service is much more than a simple integration with Amazon Sagemaker. With our entirely new, low-code interface, we have given customers – even those that are just beginning their journey with AI – the ability to train and manage their own, custom machine-learning models. And, in doing so, have given them access to a powerful new tool to automate and enrich content with data that is much more specific to their business and therefore much more valuable to their processes and their organization.