Model Lifecycle Management: Overview

This article describes the ModelOp Center’s MLC (Model Life Cycle) Manager and the MLC Process, and how they are used to drive automation and repeatability for a robust ModelOps program.

Table of Contents

Overview

The ModelOp Life Cycle Manager (MLC Manager) automates operations related to the productionization, monitoring, and governance of models so that you can get them into service quickly, keep track of how each model is performing, and have easy access to the entire history of each model. For a large enterprise, there are hundreds or thousands of models, each of which has differing business requirements and different pathways to production. The MLC Manager provides flexibility with how you manage and automate portions of a model’s life cycle to meet the disparate needs across groups -- all in a central, governed location.

There are two core concepts to how ModelOp Center achieves enterprise-scale automation and repeatability: the MLC Manager and the MLC Process. The subsequent sections provide more detail on each, and then dive into several scenarios of how to leverage the MLC Manager and MLC Processes.

MLC Manager

The MLC Manager is a low-code automation framework that executes, monitors, and manages MLC Processes. The MLC Manager is built on top of Camunda: a leading Java-based framework supporting Business Process Model and Notation (BPMN) for workflow and process automation. The MLC Manager is the answer to a number of obstacles faced by teams:

  • Reduces the time it takes to get a model from the model factory into production by defining a consistent methodology within your business to move the model through each required step, and track its progress throughout your organization.

  • Ensures that all models in production are producing optimal results and within compliance rules

  • Scales the functions necessary to manage the hundreds or thousands of models across the enterprise, controlling the most important tasks and processes for a variety different models.

MLC Process

The MLC Process encodes and automates a set of steps in a model’s life cycle, which can range from model registration, to submitting models for full productionization, to continuous production testing, and eventual retirement. The MLC Manager executes and monitors each MLC Process, and automatically captures metadata and information about the model’s journey through the MLC Process.

An MLC Process can apply to an individual model or a set of models, using common criteria such as business unit, model language, or the model framework they employ. Regardless, the MLC Process provides the consistent methodology for managing the various pathways of a model’s journey in an enterprise, across all models and all groups. This could include highly regulated models that require strict regulatory oversight, or rapid deployment internal-use-only models that require a minimal process.

A typical ModelOp Center implementation will have more than one MLC Process. Each MLC Process is defined in any BPMN compliant editor, such as Camunda Modeler, as a BPMN file.

MLC Processes leverage the standard elements of a Camunda BPMN along with custom delegates that interface with ModelOp Center. This allows the flexibility to orchestrate complex operations within ModelOp Center. The common entities within an MLC Process include:

  • Signal events - events that initiate the MLC Process or trigger an action to occur from within an MLC. These can be triggered on events such as when a model is changed or based on a timer.

  • Tasks - there are a variety of tasks within an MLC Process:

    • User tasks - manual tasks for specific users to perform, such as approvals. These pause the progress of the workflow until completed.

    • External service calls - used to integrate and interact with other systems.

    • Script tasks - runs custom code including inline Groovy. Typically, you utilize variables and model metadata to determine parameters for calls to ModelOp Center.

    • ModelOp Center calls - specific calls to ModelOp Center that automate interactions with the model including Batch Jobs (see: Model Batch Jobs and Tests) and Model Deployments.

  • Gateway - decision logic gates that control the flow based on information in the process, such as model metadata, test results, etc.

The automated operations within an MLC Process include collecting key metrics to help calculate Key Performance Indicators (KPI), such as how long it takes to get Models into Business or get changes approved.

For more details on the standard elements of BPMN 2.0, you can see the full documentation of Camunda at https://camunda.com/bpmn/reference/.

Scenarios for MLC Processes

The MLC Manager provides flexibility with how you manage and automate the various life cycles of models across the enterprise. Each model in the enterprise can take a wide variety of paths to production, have different patterns for monitoring, and have various continuous improvement or retirement steps.

MLC Processes are often triggered by external events. Some typical examples of this include:

  • a model is marked ready for productionization

  • a time based event

  • new data arrives in a location

  • a notification is received

  • a manual intervention by a user

In fact, the ModelOp Command Center has several UI features that leverage MLC Processes under the hood, including creating a snapshot which begins the process for productionization or creating a Job from the Jobs page, which handles executing the job. As one can see, there are many ways to automatically do a variety of different tasks with MLC Processes. The following provides more details of these typical processes.

Use Case Registration

When new AI/ML or other use cases are proposed by the business, there are often a number of inputs, reviews, and documentation that are required. An MLC is able to orchestrate these steps to ensure that all of the required information is captured and collected consistently across the enterprise. This allows for enterprise level visibility and reporting into all of the AI/ML initiatives across the company.

Model Governance - Productionization

MLC Processes can orchestrate the key governance steps in the productionization of a model implementation, regardless of whether the path to production is simple or complex. For example, you can use an MLC Process to deploy a newly registered model into your QA runtime, run the model through a series of tests, trigger an automated security scan, generate Review Documentation, and seek appropriate approvals before it is deployed into Production. MLC Processes can be created in a flexible manner to meet the needs of your team. They can be configured to automatically locate an available runtime that is compatible with the current model, or a specific group of runtimes can be targeted by tags. See this article for more details on how this is accomplished. The example in Deploy with Test and Jira includes these deployment pieces.

Model Refresh & Retraining

After the initial deployment, it’s important to have a way to rapidly retrain or trigger the refresh of a model to ensure it is performing optimally. Retraining can be automated within an MLC process to run on a schedule or when new labeled data is available. Using the same MLC process, the new candidate model can be compared against the current deployed model using a Champion/Challenger Model Comparison. Finally, the MLC Process can automate the steps required for Change Management including re-testing and approvals. The example Deploy with Test and Jira demonstrates how you can build these operations into an MLC Process.

Approval & Tasks

Throughout the MLC Process, you can include User Tasks to direct specific team members or roles to review and approve changes to the models. ModelOp Center integrates with existing IT task management systems, such as JIRA, and ticketing systems, such as ServiceNow to incorporate these user based tasks. For each of these externally-created tasks or approvals, the MLC can inject model-specific metadata to provide context for the task or approval approval.

Monitoring Models

You can monitor models using MLC Processes by automatically running Model Batch Jobs and Tests on a model. You can run Batch Jobs on a schedule or based on new labeled or ground truth data becoming available. For example, you can run a Batch Metrics Job using the Run Back Test MLC to calculate the statistical performance and/or determine if the model has started to produce ethically biased predictions, and then use decision criteria to determine which action to take. A common pattern is to generate an alert into ModelOp Center for the ModelOp Support Team to triage.

Create & Deploy a New MLC Process Using Camunda Modeler

  1. Download and install Camunda Modeler on your local machine. Go to https://camunda.com/download/modeler/. (Supported versions 4.8.1+)

  2. Create a new BPMN. Go to https://docs.camunda.org/manual/7.13/modeler/bpmn/ for a quickstart on BPMN modeling.

  3. When the MLC Process is ready, select the Deploy icon to put it in the MLC Manager. Note: while the URL will be highly dependent on your environment’s exact setup, it likely uses a path such as http://<moc-base-url>/mlc-service/rest

3(a). If your target url is behind an oauth2 secured environment the Camunda Modeler will request for an authentication method. Please provide a bearer token by logging into your secured ModelOp Center.

curl --location --request POST 'http://<moc-base-url>/gocli/token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'username=<user>' \ --data-urlencode 'password=<password>'

From the above command replace the <moc-base-url> and provide its respective <user> and <password>.
Retrieve the “access_token” from the response of the command above and paste it in the “Token” field presented.

4. Verify that your new MLC Process is registered with MLC Manager. Go to the Command Center and click the Models icon in the left column.

 

5. For Camunda Modeler version 5.x.x. Please make sure to select Camunda Platform 7 for a new bpmn file.

 

Related Articles

Next Article: >