Overview

Cumulocity IoT Machine Learning simplifies the complexity of the data science process across the entire machine learning lifecycle from model training to deployment. Cumulocity IoT Machine Learning is composed of two applications: Machine Learning Workbench, which focuses on model training, and Machine Learning Engine, which focuses on model deployment.

The handover of the models from training environment to deployment environment is done via open-standards representation: PMML and ONNX. Open-standards based representation of machine learning models ensures interoperability between heterogeneous model development and deployment environments.

Machine Learning Workbench

Machine Learning Workbench enables data scientists and machine learning engineers to build, train and evaluate high-quality machine learning models using an intuitive, easy to use, no-code Graphical User Interface and a programmer-friendly Jupyter Notebook based environment. Machine Learning Workbench provides seamless access to data residing in Cumulocity IoT operational store or any cloud data lakes with visual tools to ingest and transform the data.

Machine Learning Workbench is composed of the following components:

Name Application type Description
machine-learning-workbench WebApp Graphical User Interface for Machine Learning Workbench
mlw Microservice Microservice backend for Machine Learning Workbench

Roles and permissions

Starting with 10.13.0 release, Machine Learning Workbench mandates users to have certain permissions to be able to access the Machine Learning Workbench application as well as to be able to invoke the REST APIs. For ease of use and convenience, Machine Learning Workbench provides the following pre-defined and pre-configured global roles which embed the necessary permissions already.

Machine Learning Admin

Users with the global role “Machine Learning Admin” have unlimited access to Machine Learning Workbench and can carry out all the operations that it provides. The table below shows the permissions for users with this role.

Type READ CREATE UPDATE ADMIN
Machine learning yes yes yes yes

Machine Learning Manager

Users with the global role “Machine Learning Manager” have limited access to Machine Learning Workbench and can carry out all its operations except privileged operations.

The privileged operations are: executing Python scripts, running Python commands using Jupyter notebook, training workflows, training neural network models and all delete operations. The table below shows the permissions for users with this role.

Type READ CREATE UPDATE ADMIN
Machine learning yes* yes* yes* no
(*) limited access

Machine Learning User

Users with the global role “Machine Learning User” have limited access to Machine Learning Workbench and can only view the projects, associated files, tasks, assets and so on. The table below shows the permissions for users with this role.

Type READ CREATE UPDATE ADMIN
Machine learning yes no no no

These predefined and preconfigured Machine Learning specific roles show up under Global roles in the Roles page of the Administration application once the MLW microservice is subscribed to version 10.13.0 or higher.

To be able to leverage Machine Learning Workbench, users can have one of the above mentioned global roles assigned. Alternately, users can also update their existing global roles to include the permissions related to Machine Learning Workbench or add new roles, which should then include the necessary permissions. See Managing permissions for details on the management of global roles.

If users do not have the permissions mentioned above, they will get an Access denied. error while trying to access the Machine Learning Workbench application. Consumers of the REST APIs will see a 403 - Forbidden too.

Machine Learning Engine

Machine Learning Engine enables machine learning/IT operators to manage and operationalize production-ready models for generating predictions on data gathered from connected devices. These capabilities can be leveraged either from a web browser via an easy to use graphical user interface or programmatically via REST API. Machine Learning Engine provides a high-performance inference platform with deployed models exposed as endpoints that can be leveraged from Streaming Analytics and other applications for real-time inference.

Machine Learning Engine is composed of the following components:

Name Application type Description
machine-learning WebApp Graphical User Interface for Machine Learning Engine
zementis Microservice Microservice backend for PMML model management and serving
onnx Microservice Microservice backend for ONNX model management and serving
nyoka Microservice Microservice backend for Time Series and Clustering models

Roles and permissions

Starting with 10.11.0 release, Machine Learning Engine mandates users to have certain permissions to be able to access the Machine Learning application as well as to be able to invoke the REST APIs. For ease of use and convenience, Machine Learning Engine provides the following pre-defined and pre-configured Global roles which embed the necessary permissions already.

Machine Learning Admin

Users with the global role “Machine Learning Admin” have unlimited access to Machine Learning Engine and can carry out all the operations that it provides. The table below shows the permissions for users with this role.

Type READ ADMIN
Machine learning yes yes

Machine Learning User

Users with the global role “Machine Learning User” have limited access to Machine Learning Engine. Users with this role can perform the following operations:

This means that users who have the Machine Learning User global role assigned can use the artifacts uploaded/created by the admin user(s). However, they cannot change the state of those artifacts.

Type READ ADMIN
Machine learning yes no

These pre-defined and pre-configured Machine Learning specific roles show up under Global roles in the Roles page of the Administration application once the Zementis microservice is subscribed to version 10.11.0 or higher. If the roles already exist, they will not be created.

To be able to leverage Machine Learning Engine, users can have one of the above mentioned global roles assigned. Alternately, users can also update their existing global roles to include the permissions related to Machine Learning Engine or add new roles which should then include the necessary permissions. See Managing permissions for details on the management of global roles.

If users do not have the permissions mentioned above, they will get an Access is denied error while trying to access the Machine Learning application. Consumers of the REST APIs will see a 403 - Forbidden too.

Use cases

To get a better understanding of how to leverage Machine Learning capabilities on Cumulocity IoT, we have provided detailed examples as part of this documentation. Each example covers a use case and walks you through the entire machine learning lifecycle from data ingestion, model training/evaluation to model deployment and inferencing.

Use case Description
Demand Forecasting Forecast the peak/non-peak hours of water consumption using a Time Series model
Activity Recognition Predict human activities - sitting, running or jumping - based on sensor data from a mobile device
Anomaly Detection Detect anomalous events through the sensor data of a mobile device
Casting Defect Detection Identify defects in metal casting process by leveraging deep learning algorithms
Welding Defect Detection Identify defects in industrial welding by leveraging deep learning algorithms
Remaining Useful Life Estimates Identify remaining useful life of equipment by leveraging deep learning algorithms