Getting started¶
Installation¶
Install merlin-sdk from artifactory by running this command:
pip install merlin-sdk
Authenticate to gcloud:
gcloud auth application-default login
Now you are ready to deploy your machine learning model. See sample notebook to get you started.
Concept¶
- Project
- Project represent a namespace for a collection of model. In subsequent Merlin release, Project would be the main building block for access control.
- Model
- Model represent machine learning model. A model can have a type which determine how the model can be deployed. Merlin supports both standard model (XGBoost, SKLearn, Tensorflow, and PyTorch) and user-defined model (PyFunc model). Conceptually, model in Merlin is similar to a class in programming language. To instantiate a model you’ll have to create a model version.
- Model Version
- Model version represents a snapshot of particular model iteration. A model version might contain artifacts which is deployable to Merlin. Each of a model version will have a version endpoint. Merlin supports up to 3 model version to be deployed at the same time.
- Version Endpoint
Version endpoint is URL associated with a model version deployment. Version endpoint URL has following template
http://<model_name>-<version>.<project_name>.<merlin_base_url>
For example a model named mymodel within project named myproject will have a version endpoint for version 1 which look as follow:
http://mymodel-1.myproject.models.id.merlin.dev
Version endpoint has several state:
- pending
- Is the initial state of a version endpoint.
- ready
- Once deployed, a version endpoint is in ready state and is accessible.
- serving
- A version endpoint is in serving state if Model Endpoint has traffic rule which uses the particular Version Endpoint. A model version could not be undeployed if its version endpoint is in serving state.
- terminated
- Once undeployed a version endpoint is in terminated state.
- failed
- If error occurred during deployment.
- Model Endpoint
Model Endpoint is a stable URL associated with a model. Model endpoint URL has following template
http://<model_name>.<project_name>.<merlin_base_url>
For example a model named mymodel within project named myproject will have model endpoint which look as follow:
http://mymodel.myproject.models.id.merlin.dev
Model endpoint can have a traffic rule which determine which model version will receive traffic when request is received.