Register a Model

This section describes how to register a model within ModelOp Center using the ModelOp Jupyter plugin or the ModelOp CLI.

Table of Contents

 

Introduction

ModelOp Center is flexible on how Use Cases and Models are registered so that data scientists can leverage their preferred environments for model creation.

  • ModelOp Center is agnostic to the toolkit used to create the model.

  • You can register the model using ModelOp UI, API, CLI, or the ModelOp Center Jupyter Plugin

  • Each organization has unique requirements on the information, metadata, assets, and documentation that is required, and thus ModelOp Center is flexible in what input the user needs to provide. Generally, most organizations require the following information to be added to the model record:

    • Model Information: Model Name, Description, Organization, Methodology, Model Risk

    • Model Source: git repository for all source code assets

    • Documentation: the documentation for the model

    • Schema: the description of the data that is used for the model

  • For more information on the core elements that compose a model see Standard Model Definition.

  • For more information on the functions for the Model Source, see Creating Production-Ready Models.

Register a Use Case or Vendor Model

From a governance perspective, organizations often require that all Use Cases are catalogued in an enterprise-wide Governance Inventory before any model code is written. Typically, an organization requires approvals such as business reviews and model risk tiering reviews before a data scientist can begin building a model. Therefore, ModelOp Center supports the creation and management of Use Cases. A use case may be implemented using one or more model implementations (i.e. the actual model code to deliver on the use case), which can be associated back to the use case in ModelOp Center for traceability. In addition to models developed internally, ModelOp Center is able to onboard and manage models offered by vendors that do not typically have any technical assets to manage.

To register a Use Case or Vendor Model in the ModelOp Center UI:

  • From the main menu, click on Business Models

  • Click the Add Business Model button in the upper right-hand corner

 

  • Select the “Generic” option from the Import screen:

  • Add the Use Case Name, Description, and other pertinent fields. If there is a document that describes the use case, it can be uploaded from the user’s local computer

  • Upon creation, the user is redirected to the newly created Use Case record:

 

Register a Model Using Git Import

From the ModelOp Center UI:

  • From the main menu, click on Business Models

  • Click the Add Business Model button in the upper right-hand corner

 

  • Select the “Git” option from the Import type screen:

 

 

  • Input the Model Name, Model Description, Git Repository URL and Branch, and other pertinent information. For Oauth2 secured environments, choose the specific group under which the model should be authorized.

  • Click “Import Model”

  • The user will be taken to the newly created model record

Register a Model Using a Jupyter Plugin

These instructions assume the following:

  • The Jupyter plugin is installed within your Jupyter environment.

  • The Jupyter plugin is enabled. To verify, go to the Nbextensions tab in Jupyter:

    • Select “ModelOp Center Services” if it is not already selected.

    • Enable the ModelOp Center Services. Click the “Enable” button at the bottom of the screen. It is enabled when the “Disable” button is highlighted in blue.

To register a model

Register a Model Using the ModelOp Center CLI

Pre-Requisites

This procedure assumes the following:

  • You have installed the ModelOp Center command-line interface (CLI). For more details, see ModelOp CLI Reference.

  • You have an existing model, minimally in the form of a source code file (e.g. mymodel.py file)

Optional

When you register a model using the CLI, you have the following options:

  • You can add model attachments, such as a trained model artifact that results from model training.

  • You can include an input schema and/or an output schema with the model. These schemas enable the ModelOp Center to verify that the incoming and outgoing data adhere to the original model design intent. If preferred, you can disable schema checking by default, even if you upload input and/or output schemas.

To register a model from the CLI:

  1. Create a model with a primary source code file.

  2. At the command prompt, type:

moc model add <model name> <path to source code file>

a. (Optional) To include a schema associated with the model, use one or both of the following commands:

  • schema-in=<path for input schema>

  • schema-out=<path for output schema>

b.  (Optional) When you include a schema with a model, schema checking is enabled by default. To override schema checking, use one of the following commands:

  • input-check-off — disables input schema checking for the model

  • output-check-off — disables output schema checking for the model

  • schema-check-off — disables both input and output schema checking for the model

Example: moc model add sample_model /path/to/model/model.py --schema-in=inputSchema.avsc --schema-out=outputSchema.avsc --schema-check-off

  1. When the command in Step 2 is executed with all the options, a successful response looks like this:

Model added, ID:  1fbc8cc8-d5b2-40d1-913e-d30c4a71c16a

Note: if your source code file contains ModelOp Center “smart tag comments” for the primary functions of your model (see: Creating Production-Ready Models for more details), the CLI registration process automatically stores those function references for the newly registered model.

  1. Once a model has successfully been registered, you may add model attachments. Type:

moc asset add <model name or UUID> <path to attachment>

Alternatively, an attachment can be added directly from an S3 bucket:

moc asset add <model name or UUID> [http/s3/S3n/S3a]://accessKey:secretKey@Domain/PATH/<filename> --region=us-east-1

Additional Options:

  • To override the file name, add the --name=<string> option.

  • The MOC CLI determines whether to store the attachments in model-manage or external storage based on file size. Files larger than 10 MB are automatically stored in external storage, for efficiency. To control how the file is stored, use the following options:

  • force

: stores the file in model-manage if file size is less than 10 MB, or in external storage otherwise

  • external

: stores the attachment as external storage. If the file already exists in an external storage location (e.g. an AWS S3 bucket), provide a link to the asset in the following format:

[protocol]://ResourceAccessKey: ResourceSecretKey@ResourceDomain/PATH TO FILE/FILENAME.EXTENTION.

  • -region

— Add to URL to tell CLI the region for the external storage.  

  • Additional Examples:

moc asset add model_name attachment.zip -- external

moc asset add model_name http://$AKEY:$SKEY@modelop:9000/akash/output.json --region=default-region

 

Register a SageMaker Model

ModelOp Center is able to onboard and manage models developed in AWS SageMaker. This includes collecting all details of the SageMaker model, including training and transform jobs, endpoint configurations, and endpoints, as available.

To register a SageMaker model:

From the ModelOp Center UI:

  • From the main menu, click on Business Models

  • Click the Add Business Model button in the upper right-hand corner

  • Select the “AWS SageMaker” option from the Import type screen:

 

 

  • Input the Model Name, Model Description, Model Organization, and AWS SageMaker access credentials. For Oauth2 secured environments, choose the specific group under which the model should be authorized.

  • Click “Import Model”

 

See the Integrate with SageMaker page for details of the integration

Related Articles

Next Article: Model Schemas >