AWS Machine Learning Blog
Learn how to select ML instances on the fly in HAQM SageMaker Studio
HAQM Web Services (AWS) is happy to announce the general availability of Notebooks within HAQM SageMaker Studio. HAQM SageMaker Studio supports on-the-fly selection of machine learning (ML) instance types, optimized and pre-packaged HAQM 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 HAQM Elastic File System (HAQM EFS) that is created for your HAQM SageMaker Studio domain. Every user in the domain gets a home directory created on the EFS volume.
Using notebooks in HAQM SageMaker Studio
You can access notebooks via HAQM SageMaker Studio, a fully integrated development environment for a complete ML workflow. Once you have onboarded with HAQM 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 HAQM 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 HAQM 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 HAQM 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.
HAQM SageMaker Studio comes with pre-configured HAQM 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 HAQM 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 HAQM SageMaker Images. The ability to launch notebooks (kernels), shells, and terminals in isolated environments (potentially running on different instances) is a unique innovation for HAQM SageMaker Studio.
HAQM 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 HAQM 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
HAQM SageMaker Studio, the fully integrated development environment for machine learning, adds new powerful functionality for notebook-based developer experience. You can start using HAQM 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 HAQM SageMaker console or to learn more check out the documentation. Please send feedback, either from within HAQM SageMaker Studio using the feedback form in the top right corner, on the AWS forum for HAQM SageMaker, or through your usual AWS Support contacts.
About the authors
David Leen is a Senior Software Engineer on the HAQM SageMaker Studio team. He has contributed to AWS services like HAQM Comprehend, HAQM Translate, and HAQM SageMaker Algorithms. He is passionate about building tooling for Scientists, ML Engineers, and Data Scientists. Before joining HAQM, 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 HAQM SageMaker Studio team. He has been working on HAQM 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.