Amazon SageMaker is not only a Jupyter notebook
An important thing to keep in mind when you're at the beginning of your SageMaker journey.
A common misconception about SageMaker is that it is necessary to use Jupyter in order to use SageMaker. This is absolutely not the case.
Amazon SageMaker (in general) is a remote, ML-aware toolkit that you command:
preprocess this dataset using this script
train this algorithm
tune hyperparameters using this set of params
deploy this model on a cluster of that many machines
set up a monitoring job to be run every x hours
and so on.
You may think of it even as a separate sub-cloud within AWS!
Now, you can invoke these commands on your own laptop, in your CI/CD, using the SageMaker GUI, by scheduling bash scripts, orchestrating Lambdas, using SageMaker Pipelines...
OR, for your convenience, you can run these commands via SDK from a remote Jupyter notebook...
...which so happens to be SageMaker Studio Notebooks, one of many (25+) SageMaker services.
It looks more or less like this:
This is just one of many options available. It is also the simplest option - no need to set up AWS credentials, most required libraries are preinstalled and AWS has a plethora of ready to use examples (https://github.com/aws/amazon-sagemaker-examples - awesome resource) that are created within Jupyter notebooks. It is a convenience for most - you can just upload these files to SageMaker Studio and immediately run a given example.
However, nothing stops you from moving the interior of .ipynb
files to the regular .py
files or somewhere else AND invoking it wherever you please.
These commands could be invoked from a local computer and a local Jupyter too, as long as you have proper access to AWS configured.
Or shell scripts and CI/CD pipelines:
Not to mention regular .py
files.
SageMaker is not only a Jupyter. Jupyter (SageMaker Notebooks or SageMaker Studio Notebooks) are two of 25+ SageMaker Services!