AWS Machine Learning Blog

Learn how to select ML instances on the fly in Amazon SageMaker Studio

Amazon Web Services (AWS) is happy to announce the general availability of Notebooks within Amazon SageMaker Studio. Amazon SageMaker Studio supports on-the-fly selection of machine learning (ML) instance types, optimized and pre-packaged Amazon SageMaker Images, and sharing of Jupyter notebooks. You can switch a notebook from using a kernel on one instance type to another, for example from ml.t3.medium to ml.p3.2xlarge, without interrupting your work or managing infrastructure. Moving from one instance to another is seamless, and you can continue working while the instance launches. Your notebooks and data are available instantly on the new instance due to the Amazon Elastic File System (Amazon EFS) that is created for your Amazon SageMaker Studio domain. Every user in the domain gets a home directory created on the EFS volume.

Using notebooks in Amazon SageMaker Studio

You can access notebooks via Amazon SageMaker Studio, a fully integrated development environment for a complete ML workflow. Once you have onboarded with Amazon SageMaker Studio, you can start benefiting from the flexibility of different instance types.

The following screenshot shows two notebooks running side by side.

The notebook on the left is running a Python 3 Jupyter notebook on the Data Science SageMaker Image using an instance with 2 vCPUs and 4 GiB of memory. The notebook on the right is running the PyTorch GPU Optimized SageMaker Image on a GPU instance with 4 vCPUs and 16 GiB of memory. These two notebooks are running on difference instances and each can consume the full resources of that instance without starving the other, which allows you to freely prototype on one notebook while performing an intensive computation on another instance.

When you select an instance in Amazon SageMaker Studio (in the same way you would select a different kernel), the Select Instance pop-up box appears.

This dialogue shows the current notebook using this instance and the current instance type. A list of instances with their vCPU, GPU, and memory is shown by default as the instances that are available for fast launch. This means that these instances are ready to use in less time. Disabling Fast launch only displays a list of all ML instances supported in Amazon SageMaker Studio.

When you choose a new instance type for a notebook, you receive a notification that the process is underway.

You can still edit the current notebook while the instance change is happening, but the cells aren’t available to execute until the instance is running. However, this only applies to that notebook. All other notebooks and other experiences within Amazon SageMaker Studio features continue to function without disruption. In the preceding screenshot, the data scientist is using this time to review some changes to a notebook using the Git plugin in a split panel.

Amazon SageMaker Studio comes with pre-configured Amazon SageMaker Images for TensorFlow, MXNet, PyTorch, TensorFlow 2, Data Science, and Python. These images are based on the optimized and pre-packaged AWS Deep Learning Containers. The Data Science image is optimized for the most common data science workflows and includes the popular Anaconda distribution, the AWS Command Line Interface (AWS CLI), and the Amazon SageMaker Python SDK. The Base Python image provides a minimal Python 3 runtime with no additional dependencies.

The following screenshot shows the Launcher page, which allows you to create notebooks, interactive shells, or terminals with any of the Amazon SageMaker Images. The ability to launch notebooks (kernels), shells, and terminals in isolated environments (potentially running on different instances) is a unique innovation for Amazon SageMaker Studio.

Amazon SageMaker Studio allows you to seamlessly share notebooks with your co-workers. You can generate a shareable link for a notebook within Studio, and a co-worker can use this link to import the notebook into their workspace to review or continue iterating on it.

The following screenshot shows the running panel, which lists the Amazon SageMaker Images that are running. This panel also shows which kernels and terminals are running on which instances.

You can shut down images in the following ways:

  • Shut down all images on a given instance to stop your account from accruing further charges for that instance
  • Shut down all running images to stop all charges
  • Shut down a running image to terminate all terminals and kernels using that image

Shutting down the running terminals and kernels has no impact on the running images.

If you choose File, Shutdown, a Shutdown confirmation pop-up box appears. Choosing Shutdown All is a convenient way to terminate all running images, kernels, terminals, and the Jupyter server. Choosing Shutdown Server shuts down only the Jupyter server. This is a way for you to get the latest updates when you relaunch the server.

Conclusion

Amazon SageMaker Studio, the fully integrated development environment for machine learning, adds new powerful functionality for notebook-based developer experience. You can start using Amazon SageMaker Studio in the following Regions:

  • US East (Ohio)
  • US East (N. Virginia)
  • US West (Oregon)
  • China (Beijing)
  • China (Ningxia)
  • EU (Ireland)

To get stared today visit the Amazon SageMaker console or to learn more check out the documentation. Please send feedback, either from within Amazon SageMaker Studio using the feedback form in the top right corner, on the AWS forum for Amazon SageMaker, or through your usual AWS Support contacts.


About the authors

David Leen is a Senior Software Engineer on the Amazon SageMaker Studio team. He has contributed to AWS services like Amazon Comprehend, Amazon Translate, and Amazon SageMaker Algorithms. He is passionate about building tooling for Scientists, ML Engineers, and Data Scientists. Before joining Amazon, he was studying at the University of Washington for a PhD in computational neuroscience and applied math.

 

 

Jaipreet Singh is a Senior Software Engineer on the Amazon SageMaker Studio team. He has been working on Amazon SageMaker since its inception in 2017 and has contributed to various Project Jupyter open-source projects. In his spare time, he enjoys hiking and skiing in the PNW.