What is Amazon SageMaker?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello mike here now my aim of this video is to create the best resource that answers the question what is amazon sagemaker now think about this if i was to ask you what is s3 then if you're familiar with aws you'd be able to answer that question it's storage inside of the cloud if i asked you what is ec2 you could answer that question it's virtual machines inside of aws but if i asked you what is sagemaker what's amazon sagemaker then you might have a little bit more of a problem answering that in such a succinct way because sagemaker isn't a service it's an entire collection of things it's got toolkits in there it's got sdks in there it's got apis it's got example code it's got containers it's got entire tools that you can use it's got sample code it's got sample projects it's got documentation that all genuinely make up what i would consider as being amazon sage maker now i'd like to present in this video a way of looking at it that i think will be helpful because it's important to have a kind of mental picture i think of what sagemaker is in order to be able to really get to grips with it and use the service now if you have a look on amazon's web page the sort of brochure page if you like for amazon sagemaker it will tell you that it essentially helps you with the preparation the building the training and the tuning and the deployment and the management of machine learning projects so prepare build train tune manage and deploy and that's true of course but there's so much more to it than just that each of those sections has so many levels that you can dig down into rather than slicing it vertically into these different vertical things that it can do let's also look at it sliced horizontally and i think that we could do that into three layers at the top we're going to look at the different user interfaces into sagemaker in the middle we'll look at the machine interfaces if you like into sagemaker and at the bottom we'll talk about the infrastructure that sagemaker has in place so up the top in terms of the user interface how do we actually interact with sagemaker the first one of course is the aws console you log into the console you can click around with your mouse you can make things happen you can do that with all of the aws services pretty much so yes you can do all of those things preparing data building and training models and deployment you can do it all in the console the next one to talk about is sagemaker notebooks now sagemaker notebooks is a managed jupiter notebook server so you can create with just a couple of clicks a sagemaker notebook server or jupyter notebook server to contain notebooks and those notebooks allow you to interact with anything actually but primarily the use case i suppose is to work with machine learning and data science and at some point link into sagemaker now if you're not familiar with jupiter notebooks then please become familiar with jupyter notebooks because they are really awesome tools i can describe them i do describe them as essentially wiki pages of running code you can have a document which is the notebook itself in there you can have rich text with images and graphs and proper explanation as to the project that you're working on and then you can have sections of code and these code sections are not just sort of syntax highlighted but you can actually execute them you can run them on the server inside of the notebook and the output will be shown just below so they're really useful for sorting out your own thoughts they're really useful for being able to share what you're doing in a data processing space for example with others who have got their own server and you can share your notebooks around so we should probably talk about that in more depth in another video but sagemaker notebooks is a managed server to help you use those inside of the aws environment and that is really an interface into sagemaker there are a number of example notebooks that are made available inside of that environment that will show you how to do various things with sagemaker in data preparation and training and hosting of models and those examples the example notebooks that you have are part of sagemaker they actually contain code which is production quality in many cases and can be taken and adapted to what you want to do the next interface user interface into sagemaker that we need to talk about it's the elephant in the room it's the big one and that's sage maker studio this is where a lot of focus and attention is going in terms of surfacing new capabilities from sagemaker as a whole now sagemaker studio is actually a sort of iteration on top of jupiter notebooks it's actually jupiter labs the open source project which has got extensions and add-ons pre-installed into it that help it to integrate more tightly with sagemaker services so it's again it's a user interface it's very notebook centric we can still work with all of our notebooks in there but we've also got all these add-ons that provide this extra capability and there is a whole world of sagemaker studio that i really want to dive into in fact i was putting together content about sagemaker studio when i realized that actually i needed to take a step back and talk about sagemaker as a whole so we definitely need to dive into that space and that forms the three main ways that from a user interface point of view i suggest that you can interact with amazon sagemaker so you've got the console you've got sagemaker notebooks and you've got sagemaker studio now you could have others there are ways that you could use visual studio there are ways you can use other services like data bricks to integrate with sagemaker but in terms of products which are in the scope of sagemaker itself those are the three that i wanted to focus on here today now going down a level we now have the machine interaction how do we actually interact with the services actually and so you might know that underneath the surface of everything in aws there is the aws api and the api endpoints that we use we connect into to be able to configure all of the services inside of aws and to create rs3 buckets and to create our ec2 instances and of course we can also use that to manage our resources and to create things inside of sagemaker but we don't usually use the api we either use say for example the web console which is using the api under the hood or we use an sdk and we use our favorite uh scripting language or programming language of choice and it's sdk software development kit to interact with the api on our behalf and it sort of it abstracts us away from the a bit of a complexity of dealing with that api and puts us in a more familiar development environment and so the sdk for me for my choice is boto3 because i like to use python but there are sdks available for many other languages and scripting languages as well and so when it comes to sagemaker you can use these sdks to interact with sagemaker and make things happen but in addition to those normal sdks sagemaker has also got its own sdk and actually looking in more depth into this sdk you can actually kind of see the ideas about the way that the custodians of sagemaker sort of think about the way that it works there are a number of high level class objects like the estimator for example and the preprocessor that uh help you to do tasks inside of sagemaker rather than having to deal with the lower level api or even the so-called lower level sdk in boto3 these um sdk objects uh abstract your way add a little bit more business logic in there and help you work with sagemaker so this is actually a really important sdk inside of the whole amazon environment and obviously very important from the point of sage maker so we have a number of different ways that we can interact with the underlying ecosystem of sagemaker and of course these plug into that upper layer that we were talking about the console uses the api you can use boto3 or the sagemaker sdk inside of a notebook in either sagemaker notebooks or sagemaker studio so they absolutely have a linkage there the next layer down is where things get a bit interesting and it's honestly it's one of those layers that you kind of feel like you know it's there but it's kind of you're abstracted away from it quite often that you kind of forget in a way but it's important especially when you're new to sagemaker to realize that this infrastructure level is actually there so what do we got down here we've got containers these containers are not just empty containers necessarily what we've got here are sagemaker containers they're managed by aws to actually integrate into the sagemaker environment and they form this really important part of the way that sagemaker works so we have containers that broadly speaking have not much in them but they do have the running libraries inside there for popular frameworks so tensorflow mxnet pi torch scikit-learn there are others they have the capability inside of these containers to run workloads that you provide so you don't need to deal with containers unless you want to you can just put your code into this container and run and you don't need to actually orchestrate the containers as we'll see in just a moment now the next container along are the fully managed containers that actually have algorithms already on them so there are built-in algorithms into sagemaker which can solve a number of the problems that you might have common machine learning problems straight away so things like image classification there's a convolutional neural network already built into a container you can just pick it up and use it through the sdk there's object detection you can just pick it up and use it xgboost uh principal component analysis pca a number of these algorithms that are already put together and put inside inside a container and optimized to run inside of the aws environment and these are really useful if you just want to run a fairly standard algorithm then it's there just use it and the third part of this underlying infrastructure that i want to highlight is the orchestration side of things now you can run containers in many places inside of aws in fact the list of places you can run containers just seems to grow and grow lambda functions now obviously ecs eks with fargate without fargate you can run it in aws batch you can run it in an ec2 instance you can run containers wherever you like almost but this is another place you can run containers is inside of sagemaker the sagemaker sdks or apis give you the ability to very easily ingest a couple of lines of code spin up infrastructure spin up those running containers and deploy software to them deploy the models essentially to those containers and run them at scale at production quality just with a few lines of code and can you do that elsewhere could you do that yourself absolutely yes you could but the whole idea here standing back looking at everything that we've just looked at there is that sagemaker is an entire ecosystem it's an entire environment for a data scientist or machine learning engineer to spend their entire career in this space this is all they need to use in order to be able to carry out their job and do what they need to do and that's my vision for sagemaker yes we get to prepare our data and we get to build our models and train our models and deploy our models but i also want to look at it from these depths of the technology in the stack the user interface then the machine interface those apis and then the underlying infrastructure which is there specifically for sagemaker i put this together i sort of came up with this and i've been working on this because i've been trying to explain how sagemaker works as part of the course that i'm putting together to help people to get good at machine learning inside of the aws platform and ultimately pass the aws machine learning specialty certification if that's what you're interested in then i've got a course that you might want to take a look at there's going to be a link available below but that's all i've got for this video thank you so much for watching and i will see you in the next video thanks for watching my video all the way through to the end as well um one thing if i can ask you to do one thing for me that's drop a comment below if you want me to go into detail on any of those particular sections i'm definitely wanting to do something on sagemaker studio i'm definitely wanting to do something on the sagemaker sdk as well but anything else that you want to know about sagemaker or anything to do with machine learning inside of aws then drop me a comment and i'll make sure that we get something up on the channel that covers that like and subscribe all of that kind of stuff thank you very much and i'll see you in the next video
Info
Channel: mikegchambers
Views: 63,430
Rating: undefined out of 5
Keywords:
Id: CK_xC4T1blk
Channel Id: undefined
Length: 14min 25sec (865 seconds)
Published: Mon Jun 28 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.