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:
- View models, resources, model groups, pipelines
- View the properties of all the above mentioned artifacts
- Use these artifacts to carry out predictions on their data
- View the scheduled jobs, their execution history and inferences
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 |