Learn Blog, Software as a service Mark Nanning 13 January 2023

SageMaker & Deeploy: A non-technical introduction

SageMaker & Deeploy:

A non-technical introduction

A non-technical introduction to AWS SageMaker and our product Deeploy. The aim is that you will, after reading, have a basic understanding of what both products do, what the advantages are, and how you can integrate SageMaker with Deeploy.

What is SageMaker?

SageMaker is a fully-managed service by AWS that covers the entire machine learning workflow, including the training and deployment of models. There are several other platforms available in the industry that do something similar, e.g. Vertex AI and Azure Machine Learning Studio. The goal of these products is to help software developers and data scientists develop and deploy machine learning models in no time.

What is Deeploy?

Our product focuses on responsible and explainable Machine Learning Operations (MLOps). It focuses on creating a safe and responsible MLOps environment where anyone, even those without a technical background, can explain, understand and improve AI decisions. Our product also helps you trace back how certain decisions are made, something that is essential for modern companies, e.g. fintech and healthcare companies.

Benefits of using AWS SageMaker with Deeploy

As mentioned above, SageMaker will help you with the machine learning workflow (e.g. development and deployment of models), but Deeploy can really help you get to the next level. After you’ve made your deployment with SageMaker, Deeploy will help you get the most out of it. You can now deploy your models using the Deeploy workflow drictly on Sagemaker and access your models through our interface, which is focussed on governing your models in production. The Sagemaker integration is particularly interesting, mainly those that:

  • are AWS or Sagemaker native customers – as they can easily use the integration with Deeploy and get access to all the extra features (e.g. explanation of models, human interaction, etc.)
  • are (new) Deeploy users that are looking for a managed deployment backend (less infrastructure maintenance needed).

How to integrate SageMaker in Deeploy?

1. Connect SageMaker through Deeploy’s Integrations page

After logging on to Deeploy, the SageMaker can be added via the Integrations page:

At this page, you can see all the Integrations that we currently have. Simply click on ‘Connect’ and enter your:

  • AWS IAM access key ID & secret access key, that Deeploy uses to connect to your AWS account
  • Default AWS region
  • SageMaker IAM execution role ARN

After clicking on ‘Save’ the SageMaker is connected with Deeploy.

2. Make SageMaker your default Deployment backend

Once integrated with Deeploy, it’s time to set SageMaker as the default deployment backend. There are 2 ways you can do this in Deeploy:

  • Via the Workspace level
  • While creating a Deployment

Via the Workspace level

In the Workspace settings, the admin can set the Deployment backend. When the default deployment backend is set to SageMaker in the Workspace settings, all Deployments will automatically follow the default settings, unless specified otherwise when creating a deployment.

While creating a SageMaker Deployment

These settings can be edited when creating a Deployment. This means you can create a Deployment using SageMaker when the default Deployment backend is set to KServe (and vice versa). To change the backend to SageMaker for a single Deployment, untoggle the ‘Use default backend settings’ toggle in the second step of the create flow (‘Deployment’), and select SageMaker from the dropdown (see image above).

3. Add a repository, and select a version (branch, commit)

Once you have followed the steps above to set up SageMaker, you can start to manage a deployment. For this example, we assume a repository has already been added. When selecting the existing repository option, Deeploy will show you the list of currently linked repositories in a dropdown. Select the repository you want to use for your deployment. The unique thing about SageMaker is that both a blob URL and docker reference can be included in a Deployment, as described in our documentation.

4. Define the inference type

For SageMaker deployments, currently only the Custom Docker model deployment is supported. This will allow you to deploy build-in or custom Sagemaker images (see here for more information). Therefore, the Custom Docker option has been preselected and the dropdown disabled. The path to your custom image is automatically taken from the reference.json file in your repository. The instance type selection gives you the flexibility to choose the appropriate mix of resources for your model.

5. Selecting the explainer

After defining the inference type, it’s time to select the explainer. For SageMaker Deployments, the supported options are ‘No explainer’ and ‘Custom Docker’. As for the model, if you choose the Custom Docker, the explainer image is automatically taken from the reference.json file in your repository.

6. Deploy your model!

It really is this simple to integrate your SageMaker with Deeploy! ☺️

Want to stay updated?

Please fill in your e-mail and we update you when we have new content!