Model Ops

The ModelOps section enables you to schedule, compare, run, and start your experiments, view details of experiments and scheduled experiment runs, and manage them. It also allows you to view the repository of trained and deployed models, deploy new models, and run split or A/B tests.

xpresso.ai supports all popular machine learning frameworks and provides special support through pre-built components in the xpresso Component Library for some of these: XGBoost, Sklearn, Keras, and LightGBM.

This section contains information on how you can work with new experiments and view details related to them.

For more information on these topics, see the following:

Viewing Experiments

You can view and manage details of experiments on this page. You can also schedule, compare and start experiment runs, and perform additional tasks on this page.

  • After you log in to the xpresso.ai Control Center, click on any ‘active solution’. On the page that appears, from the left-hand menu, click Model Ops and then click Experiments. A dashboard appears.

image1

You can view the following details on this page:

  1. Pipeline Name

  2. Pipeline Flavor

  3. Run Name

  4. Status (Running/Completed/Failed)

  5. Started On

  6. Arguments

  7. Time Taken (Seconds)

  8. Started By

  9. Last Updated Date

  10. Commit ID (Output)

  11. Experiment Name

  • This page provides two options to view details – the “Chart” view and the “Table” view.

Changing View

  • You can view the details of Builds using either the “Chart View” or a “Table View”. To change the view, on the right corner, click “Chart View” or “Table View”.

image2

Managing Additional Tasks

You can also view results from a specific page, search for specific experiments, and export your data to an Excel file.

  • To search for a specific experiment, use the search box to search using any field (see below for an example using a run name for the search)

image3

  • To choose the number of experiments that you can view on a single page, click the arrow and choose from 5, 10, 15 or 20 entries.

image4

  • To export your data into an Excel file, click Excel Export.

image5

  • You can skip to a specific page or move to the first or last page of entries by clicking the page number or the arrows, respectively.

image6

  • You can drag any column header to the top of the table to group by the column (see below for an example of data grouped by “Status”)

image7

  • You can click any column name to sort by the column and click again for reverse sort (see below for an example of the list reverse-sorted by date).

image8

  • You can also filter some of the columns such as “Pipeline Name”, “Pipeline Flavour”, “Run Name”, “Status”, “Started By”, and “Experiment Name” that support filtering. Click the filter icon next to these columns to filter by the value(s) specified (see below for an example of filtering by “Pipeline Name”)

image9

Starting a Run

  • To schedule a run, from the Experiments page, click Start Run.

image1

  • A dialog box containing details for a new run appears.

image10

  • In the dialog box, modify the following:

    1. Pipeline Name

    2. Pipeline Version

    Tip

    Based on the “Pipeline Name” you have selected, the pipeline version appears.

    1. Run Name

    2. Run Description

    Tip

    Enter a description that matches the Run Name you’ve provided.

  • Based on your selection for “Pipeline Name” and “Pipeline Version”, additional parameters appear. Modify these additional parameters, as required.

Tip

You can also include these parameters in a JSON file and store it in the shared space (NFS). You can provide the path to that file in the text box “parameters_filename”.

  • Modify the details and click Create Run.

Tip

To clear details that you’ve entered, click Reset.

Comparing Runs

  • To compare runs, select two or more experiments from the list of experiments and then click Compare Runs.

image11

  • The Compare Runs dialog box appears.

image12

  • Verify the runs you’ve selected and click Submit. The Compare Runs report appears for the selected runs. (See below for an example of a report for the runs ‘ETL_EXP1‘ and ‘ETL_EXP2’).

Tip

To clear your selections and go to the “Experiments List” page, click Clear All Runs.

image13

  • You can perform the following actions on this page:

    • You can export the data to a PDF file by clicking Export to PDF.

    • You can go to the “My Solutions” page to view a list of active solutions, and select another solution by clicking Back to Solutions.

    • You can go to the “Workspace” page to view details entered for this solution, and edit them as required by clicking View Solution Details.

    • You can go back to the “Experiment Compare Run” page to edit the runs you want to compare by clicking the icon. The list of experiments is displayed along with your selection, which you can modify.

image14

  1. You can go back to the “Experiments List” page by clicking Back to Experiments.

Managing Runs

  • To perform additional actions on a run, from the Experiments page, select a run and then select Action.

image15

  • From the drop-down that appears, you can select from the following:

    1. View – displays details of a run

    2. Clone – clone a run

    3. Pause – pause a run

    4. Terminate – end a run

image16

Viewing Details of a Run

  • To view details of a run, click View.

image16

  • A page displaying details of a run appears. (See below for an example).

image17

  • On this page, you can perform the following actions by clicking the icons on the top-left.

    • Export to PDF – export details to a PDF file

    • Clone a Run

    • Pause/Restart a Run

    • Terminate a Run

    • Refresh Details

    • View Experiment Details

  • To go back to the “Experiments List” page, click Back to Experiments.

  • To view details of a run, click the “Details” tab to view Metrics, Metrics Data, and Pipelines.

  • To view the experiment logs, click Experiment Logs. This redirects you to the Kubeflow page where you can now view the logs.

Cloning a Run

  • To clone a run, click Clone.

image16

  • A dialog box displaying details of the run you’ve selected appears. (See below for an example).

image18

  • On this page, you can modify the following details:

    • Pipeline Name

    • Pipeline Version

    • Run Name

    • Run Description (in 100 characters)

    • Refresh Details

    • parameters_filename

    • parameters_commit_id

  • Click Create Run. A page confirming details of the cloned run appears. (See below for an example).

image19

Tip

To clear details, click Reset.

Pausing/Restarting a Run

  • To pause a run, click Pause. Or Clik on Restart, when in paused state.

image16

  • A message confirming the paused run appears.

image20

Note

You can restart an experiment, once it is paused. It will resume execution of the pipeline from the last component run. You can also customize the state to be saved before a pause in your code directly.

Terminating a Run

  • To end a run, click Terminate.

image16

  • A message confirming the terminated run appears.

image21

Scheduling a Run

  • To schedule a run, from the Experiments page, click Schedule Run.

image22

  • A dialog box containing details that can be modified before scheduling appears.

image23

You must specify the following:

  • Schedule Name - name for the schedule

  • Schedule Description - description of the schedule

  • Is Recurring? - Select “True” if you want the schedule to recur, or “False” if you want a one-time schedule

  • Scheduling Time - select the time (HH:MM) when you want the experiment to be run

  • Recurring frequency - If you selected “True” for “Is Recurring?”, select the frequency from the available choices (“Daily”, “Weekly”, “Monthly”)

  • If you selected “Weekly” for the Recurring Frequency, you must specify the day of week when the experiment is to be run every week in the “Recurring Day” field

  • If you selected “Monthly” for the Recurring Frequency, you must specify the date of the month when the experiment is to be run every month in the “Recurring Date” field

  • The other fields on this screen should be completed in the same manner as when running an experiment

  • Click “Submit” to submit the schedule.

Managing Scheduled Runs

You can view, modify and delete a scheduled run, and perform additional tasks on this page.

  • After you log in to the xpresso.ai Control Center, click on any ‘active solution’. On the page that appears, from the left-hand menu, click Model Ops and then click Scheduled Runs. A dashboard appears.

image24

  • You can view the following details on this page:

    1. Name - name of schedule

    2. Description - description of schedule

    3. Is Recurring - true if the schedule is recurrent, false if not

    4. Schedule Date - date when schedule was created

    5. Schedule Time - time when schedule was created

    6. Recurring Frequency - recurring frequency of schedule

    7. Status - schedule status

    8. Recurring Day - day of week on which experiment is to be run (for weekly recurrence)

    9. Recurring Date - date of month on which experiment is to be run (for monthly recurrence)

    10. Pipeline Name - name of pipeline to be run

    11. Pipeline Version - version of pipeline to be run

  • After selecting a schedule, from the top-left, click Action.

image25

  • A drop-down appears.

  • To view details, click View. This displays a page with schedule details.

image26

  • To modify schedule details, click Modify. This will open a dialog with the schedule details.

  • You can change these in the same way that you created the schedule earlier. For more information, see Scheduling a Run .

  • To delete the schedule, click Delete. A confirmation dialog appears.

image27

  • To continue deleting a scheduled run, click OK.

Managing Additional Tasks

  • You can also view results from a specific page, search for specific scheduled runs, and export your data to an Excel file.

  • To search for a specific scheduled run, use the search box to search using any field (see below for an example using a run name for the search)

image28

  • To choose the number of schedules that you can view on a single page, click the arrow and choose from 5, 10, 15 or 20 entries.

image29

  • To export your data into an Excel file, click Excel Export.

image30

  • You can skip to a specific page or move to the first or last page of entries by clicking the page number or the arrows, respectively.

image31

  • You can drag any column header to the top of the table to group by the column (see below for an example of data grouped by “Is Recurring”)

image32

  • You can click any column name to sort by the column and click again for reverse sort (see below for an example of the list reverse-sorted by schedule name).

image33

  • You can also filter most of the columns. Click the filter icon next to these columns to filter by the value(s) specified (see below for an example of filtering by “Schedule Name”)

image34

Viewing a list of trained models

xpresso.ai enables developers to maintain versions of models output by pipeline runs. Different versions of models are stored in the model repository. A model repository consists of branches corresponding to experiment runs, with each branch containing commits. Output models are automatically versioned by xpresso.ai when generated as part of training pipelines.

You can view and manage details related to trained models, deploy a new model, and perform additional tasks.

  • After you log in to the xpresso.ai Control Center, click on any ‘active solution’. On the page that appears, from the left-hand menu, click Model Ops and then click Trained Models. A dashboard appears.

image35

  • You can view the left-hand panel that initially displays the solution at the root and the different branches (i.e., experiment runs) under it.

  • You can view the right-hand pane containing details of all branches (i.e., experiment runs) in the solution.

  • You can also view the following details on this page:

    1. Total Models

    2. Last Updated Model

    3. Total Versions

    4. Last Updated At

  • This page provides two options to view details – the “Chart” view and the “Table” view.

Changing View

  • You can view the details of Builds using either the “Chart View” or a “Table View”. To change the view, on the right corner, click “Chart View” or “Table View”.

image36

Managing Additional Tasks

  • You can also view results from a specific page, search for specific branches/experiment runs, and export your data to an Excel file.

    • To search for a branch/experiment run, use the search box to search using any field.

image37

  • To choose the number of branch/experiments runs that you can view on a single page, click the arrow and choose from 5, 10, 15 or 20 entries.

image38

  • To export your data into an Excel file, click Excel Export.

image39

  • You can skip to a specific page or move to the first or last page of entries by clicking the page number or the arrows, respectively.

image40

  • You can click the “Model Name” column to sort the list of model names and click again for reverse sort.

image41

Managing Commit Details

  • To see the commits under the branch, click the commit expander (“>”) next to a branch.

image42

  • To see commit details, click the branch name on either pane.

image43

  • Click the commit ID on either pane to display the model.

  • A model consists of the entire folder, sub-folders and files which were stored at the end of the experiment run.

  • Click the folder icon to see the model.

image44

  • To download a single file/folder, under the column “Action”, click the image45icon.

  • To download all files in the model, click the Download All icon.

image46

Deploying a Model

Deploying a trained model creates a REST API end point for it. This may be used to send requests to the model and get predictions. You can deploy one or more trained models at a time.

Tip

To deploy a trained model, it has to be wrapped within an Inference Service. An Inference Service is a special form of a web service customized to query a trained model and return a prediction from it. One or more trained models can be deployed at a time and each must be coupled with an Inference Service.

  • To deploy one or more trained models, on the “Model Repository” page, click Deploy Models.

image35

The “Deploy Model” page appears.

image47

  • For each model that you want to deploy, you must do the following:

    1. Select the trained model to be deployed.

      Tip

      Since each trained model is the output of a successful experiment run, you are selecting an experiment run in this step.

    2. Select the Version of the model.

    3. Select the Inference Service to be coupled with the trained model from a list of Inference Services available in the solution.

      Tip

      Ensure that the selected Inference Service is compatible with the model selected. An Inference Service is created for a particular model. For example, XGBoost Model must have XGBoost inf svc. If you select the XGBoost model, you need to ensure that the corresponding inf svc is selected from the Inference Service drop-down as well.

    4. Select the Build Version of the Inference Service.

    5. Specify any Advanced Settings by expanding the “Advanced Settings” section.

image48

  • The Advanced settings are the same as those when you deploy a service component.

  • Click Add. The model selected is added to the list of models to be deployed in the table below.

  • To add more models to be deployed, repeat the above steps.

  • To deploy the model(s), click Submit.

Viewing Deployed Models

You can view a list of deployed models, run A/B Tests, and perform additional tasks on this page.

  • After you log in to the xpresso.ai Control Center, click on any ‘active solution’. On the page that appears, from the left-hand menu, click Model Ops and then click Deployed Models. A dashboard appears.

image49

  • You can view the following details on this page:

    1. Model Name - Name of model (i.e., the experiment run which produced the model)

    2. Version ID - Model commit ID

    3. Status - whether the deployment was successful or not

    4. Inference Service - Name of inference service coupled with the model

    5. Deployed On - Date when the model was deployed

    6. Deployed By - User ID of developer who deployed the model

    7. URL - URL of the basic UI that you can use to test your inference service

    8. IP - URL of the REST API end point of the model

Running A/B Tests

A/B Tests enable data scientists to test multiple deployed models simultaneously, in order to check which one works best.

  • To run an A/B Test, on the “Deployed Models” page, select two or more successfully deployed models.

image49

  • From the top-right corner, click Run A/B Test. The “A/B Testing Run” page appears. This page enables you to run an A/B Test on two or more deployed models.

image50

  • You can enter details for the following fields on this page:

    1. A/B Test Name

    2. Weight – You can specify a routing strategy by entering the weights for each model in the test.

Tip

i. The weight of a model indicates the probability of the model being hit by a request.

ii. Weights must add up to 100. This is automatically done by the UI. For example, if there are two models in your test, and their weights are set to 80 and 20, this means that the first model will be hit approximately 80% of the time, and the second will be hit approximately 20% of the time. In other words, out of every 100 requests, approximately 80 will go to the first model, and approximately 20 to the second.

Managing Additional Tasks

  • You can also view results from a specific page and search for specific deployed models.

  • You can skip to a specific page or move to the first or last page of entries by clicking the page number or the arrows, respectively.

image51

Managing A/B Tests

You can view a list of A/B Tests that have been created on a solution, and perform additional tasks on this page.

  • After you log in to the xpresso.ai Control Center, click on any ‘active solution’. On the page that appears, from the left-hand menu, click Model Ops and then click A/B Tests. A list of A/B Tests appears.

image52

  • You can view the following details on this page:

    1. A/B Test name - name of the A/B test

    2. Strategy - the routing strategy defined in terms of weight. Click on the information icon to see the details

    3. Model Name - The names of the model that were used for the A/b test

    4. Version Name & ID - Version of each models used

    5. Deployed On - Date when the A/B Test was deployed

    6. Deployed By - User ID of developer who deployed the A/B Test

    7. URL - URL of the basic UI that you can use to test your A/B Test

    8. IP - URL of the REST API end point of the A/B test

  • You can skip to a specific page or move to the first or last page of entries by clicking the page number or the arrows, respectively.

image53