Create a Deployment
A Deployment represents an instantiation of a machine learning model that is hosted on physical hardware. It serves as a reference to the actual deployment taking place on the underlying infrastructure. Deployments always include a model, and can optionally also host an explainer, transformer, or both. Each Deployment is equipped with an endpoint, enabling communication with the model to retrieve predictions and explanations. Every Deployment has an owner, who assumes responsibility for its management. Initially, the user creating the deployment automatically becomes its owner.
Creating Deployments is a straightforward process that can be completed in a few simple steps, using the Deployment API, Python Client, or UI.
To create a Deployment using the UI, head to Deployments. The default deployment flow uses KServe as a deployment backend. If you want to use AWS Sagemaker as a deployment backend you can learn more in this in this article.
For large Repositories, we suggest creating Deployments using the Python Client to speed up the process.
Prerequisites
- You added a Repository that adheres to the requirements
- You added any required credentials
1. Repository
Choose to use an existing Repository. Deeploy will list currently linked Repositories in a dropdown. Select the repository you want to use for your Deployment.
After selecting a repository, Deeploy will list the branches and commits. Select the branch and commit that you want to deploy.
2. Deployment
Name your Deployment. Optionally, add a short description. If you have added metadata using the metadata.json file in the Repository, you can retrieve and review the metadata.
You can also choose to switch the Deployment backend for the Deployment. To switch from your default backend to another one, untoggle Use default Deployment backend, and select the backend you want to use. You can change the default backend on the Workspace settings page.
3. Model
Select the model framework that you have used to train the model. Supported frameworks, versions, and examples can be found in Supported Framework Versions for KServe.
Alternatively, deploy a Custom Docker Image, this article guides you through the steps of deploying your Custom Docker Image. The only additional requirement is to use a webserver to expose an endpoint.
For more information on the advanced model options, see advanced Deployment options.
4. Explainer
Select the explainer framework that you have used to train the explainer. Supported frameworks, versions, and examples can be found in Supported framework versions for KServe.
For more information on the advanced explainer options, see advanced Deployment options.
5. Transformer
Select the transformer framework that you have used to train the transformer. Supported frameworks, versions, and examples can be found in Supported framework versions for KServe.
For more information on the advanced transformer options, see advanced Deployment options.
6. Compliance
Fill in the compliance insights to comply to responsible AI standards. Filling in the compliance insights is completely optional, but advisable when dealing with high risk applications.
7. Deploy
Click Deploy, Deeploy will now initiate the automated deployment process. You will be directed to the Events tab where you can monitor the progress of the deployment steps.
Update a Deployment
Navigate to the Details tab. The name, owner, and description of a Deployment can be saved separately without triggering a new Deployment. For other details, expand the different sections to make changes to your Deployment and click the Update button. Review the changes in the summary and click Deploy to initiate the automated deployment process. You will be directed to the Events tab where you can monitor the progress of the deployment steps.
In case you need to restart the containers without making changes to the Deployment details, simply click Update and initiate a new Deployment process without changes.