Model Deployment

Model Deployment


Deploying machine learning models is the process of putting models into production and sending them to other business systems. Model deployment allows other systems to send in data to receive predictions.  These predictions are then returned to the company systems. Through deployment, you and your business can take full advantage of the model you built. Successful model training delivers a hosted model that is used for predictions.

To deploy your model:

  1. Select “Model Deployment” under Machine Learning. Your list of successfully trained models will appear


  2. Click on ‘Deploy’ button under ‘Deployment’ tab


Configure your model according to your requirements.

Parameter Comment
model_definition_id The architecture id of the model which is dependent upon the kind of ML problem you are trying to solve. Allowed values are image_classification_sc_cnn, image_classification_sc_cnn_resnet, text_extraction_lstm_crf_tfhub, text_classification_sc_usel
auto_batch_size The number of training examples utilized in one iteration.
no_of_epochs An epoch is a full iteration over the training data.
learning_rate Learning rate controls how quickly or slowly a model learns a problem. It is a very small number, usually something like 0.001, that we multiply the gradients by to scale them.
layers.size A layer is a container that usually receives weighted input, transforms it with a set of functions and then passes these values as output to the next layer.
layers.activation_function An activation function takes in weighted data (matrix multiplication between input data and weights) and outputs a non-linear transformation of the data.
optimizer Optimizers shape and mould your model into its most accurate possible form by futzing with the weights.
loss_function It’s a method of evaluating how well your algorithm models your dataset. A smaller value generally indicates a successful model which understands your data well.
metrics Evaluating criteria to define your model’s success like accuracy, loss etc.


Model Training

Model Training


ML model training matches an ML algorithm with selected featureset training data in order to learn. The process of learning involves finding patterns in the training data that map the input data attributes to the target, or, the value that you want to predict.  A successfully trained ML model captures these patterns. Once it does, it can be deployed to perform predictions.

To start your model training:

  1. Select “Training” under Machine Learning


  2. You will be directed to a list of all your completed and ongoing training jobs


  3. On the top right corner, select “Train a New Model”


  4. Fill in the name and description of your ML model


  5. Select the appropriate featureset from the drop-down menu


Configure your model according to your requirements.

Parameter Comment
model_definition_id The architecture id of the model which is dependent upon the kind of ML problem you are trying to solve. Allowed values are image_classification_sc_cnn, image_classification_sc_cnn_resnet, text_extraction_lstm_crf_tfhub, text_classification_sc_usel
auto_batch_size The number of training examples utilized in one iteration.
no_of_epochs An epoch is a full iteration over the training data.
learning_rate Learning rate controls how quickly or slowly a model learns a problem. It is a very small number, usually something like 0.001, that we multiply the gradients by to scale them.
layers.size A layer is a container that usually receives weighted input, transforms it with a set of functions and then passes these values as output to the next layer.
layers.activation_function An activation function takes in weighted data (matrix multiplication between input data and weights) and outputs a non-linear transformation of the data.
optimizer Optimizers shape and mould your model into its most accurate possible form by futzing with the weights.
loss_function It’s a method of evaluating how well your algorithm models your dataset. A smaller value generally indicates a successful model which understands your data well.
metrics Evaluating criteria to define your model’s success like accuracy, loss etc.


Featureset

Featureset


A featureset is either a collection of data or a subset of the dataset.  The featureset is the set of data which eventually becomes the input for your model training. Feature Selection is an important step in the machine learning pipeline because it has the most impact on your prediction variable or output.

To create a featureset in Skyl:

  1. Select Machine Learning from the left menu


  2. Click on “Feature Set” to be directed to all previously created featuresets


  3. On the top right corner, select “Add Featureset”


  4. Fill in the name and description of the dataset


  5. From the drop-down menu, select the dataset from which the featureset will be selected


  6. On the bottom tab labeled “Feature Selection”, select the policy that will train the dataset. A policy can either extract explicitly from the dataset or split the dataset.


  7. Select the input and output features from the listed columns to configure the featureset according to your requirements


Please note that the output features are the value(s) which you want to predict using your model.

A policy defines how to select your featureset from the dataset.  You can either extract explicitly from the dataset or split the dataset.