Machine Learning in the Cloud
Exploring Machine Learning in the AWS Cloud
Welcome to a technology-driven discussion about the transformative potential of machine learning in the Amazon Web Services (AWS) cloud! Guided by Keisha Williams, a seasoned software engineer and AWS Machine Learning Hero, we will delve into this fascinating topic.
About Keisha Williams & Background
With over two decades of experience in the software engineering space, Williams brings a wealth of practical knowledge to the table. Her areas of expertise cover various roles in the technology sector, such as web developer, analyst, software engineering manager, and technical lead. Currently, she serves as a principal training architect at a leading tech company, Cloud Guru.
Williams's passion for technology expanded seven years ago when she was introduced to AWS and the cloud. She discovered machine learning three years later and has since been sharing her insights within the tech community. Adding another accolade to her growth, she is also recognized as an Alexa Champion.
Today's Discussion Points
To kick us off, let’s discuss:
- An overview of machine learning
- Applications of machine learning in real-world scenarios
- Benefits of the cloud for machine learning
- How AWS facilitates machine learning
- A deep-dive into Amazon SageMaker services.
Williams emphasizes that today's interaction aims to provide a platform for learning and inspire you to explore machine learning. Whether you're taking baby steps as a beginner or making strides as an advanced practitioner, there are always nuggets of wisdom to pick up.
Demystifying Machine Learning
Traditional software development vs Machine Learning
In the traditional software development cycle, engineers explicitly program computers to accomplish specific tasks. We use various programming languages such as Java, C#, Python, and JavaScript to instruct the computer.
In contrast, machine learning enables a computer to produce output without being explicitly programmed. Instead, a machine learning algorithm studies data, finding trends and patterns during a process known as "training." The program then stores these learned patterns in a mathematical model which can be used to make informed decisions or "educated guesses".
Applications and Examples of Machine Learning
We can train machines to answer various questions based on the data fed to them. For instance, they can effectively discern between spam and non-spam emails, predict the likelihood of a person defaulting on a loan or even determine whether a particular person would make a good employee.
It's also possible to integrate machine learning models into other applications for enhanced decision-making capabilities. The end goal is to have software with predictive power, providing new insights and possibly, removing human biases from decision-making processes.
Leveraging the Power of the Cloud for Machine Learning
Despite the apparent complexity of machine learning, cloud platforms like AWS have managed to democratize access to it, making it accessible to everyday developers. AWS offers a range of AI and machine learning services that meet developers at their level, with affordable technology, free trials, powerful servers, and sophisticated data-prep tools.
The AWS cloud platform supports three levels of adoption:
- Artificial intelligence services - These enables existing applications to add intelligence via simple API calls. Services here include Amazon Rekognition for image analysis and Amazon LEX for chatbot creation.
- Creating custom models - Developers use services like SageMaker to develop their own custom models.
- Writing custom training code - For more granular control, developers can write their own custom training code using popular frameworks like TensorFlow and MXNet.
Amazon SageMaker: A Deep Dive
Amazon SageMaker is AWS's flagship service for machine learning, providing an end-to-end machine learning service. SageMaker simplifies the process by keeping all the steps in the machine learning life cycle in one system. It offers powerful servers for training, and a neat feature allows for hosting models, placing a URL in front of them so any application can call them for predictions.
Furthermore, SageMaker gives budding data scientists access to Jupyter notebooks, an open-source web application that allows them to create and share documents that contain live code, equations, visualizations, and narrative text.
Williams herself used SageMaker and other AWS services, like the higher-tiered Recognition Service and the AWS Lambda python serverless compute service, to create a cloud architecture for a public safety application designed to predict crime.
Starting Your Machine Learning Journey
For anyone looking to dip their toes into the world of machine learning, Williams recommends starting with the free web series, "Train it Again, Maestro." Available on the Cloud Guru platform, the series provides a deeper look into machine learning concepts, including generative AI, deep learning, and neural networks.
The series also covers AWS's machine learning-enabled keyboard, DeepComposer, providing a fun and practical way of learning how to leverage AWS's AI and machine learning services.
In conclusion, machine learning promises to revolutionize various aspects of our lives and industries. With free resources and intuitive platforms like AWS, getting started on your machine learning journey has never been easier.
Finding Free Data Sets and More Resources
To further develop your machine learning skills, Williams recommends leveraging the tons of free data sets available on the AWS marketplace and other platforms. Other organizations also make their data publicly available, offering real-world examples for you to learn from.
Finally, remember the journey of machine learning is one of continuous learning. There's always more to learn, more to explore, so keep feeding your curiosity, and never stop building!
Video Transcription
Well, I am so excited to be here with you today. We're going to talk about machine learning in the cloud and specifically in the Aws Amazon Web services cloud. My name is Keisha Williams.So just to quickly tell you a little bit about myself and my background, I've been in it for 26 years now um in the software engineering space. So I've built the bulk of my career as a Java software engineer and I've held several different positions throughout the years, web developer analyst, software engineer, technical lead software engineering manager. I currently serve as a principal training architect with a company called a cloud guru.
About seven years ago, I was introduced to Aws in the cloud. And about three years ago, I was introduced to machine learning and I haven't looked back since I'm currently recognized as an Aws machine learning hero. That just simply means you'll see me a lot in the community sharing about my lessons learned in Aws and machine learning. And I'm also recognized as an Alexa champion. Now I was able to transition my skill set from software engineering to machine learning using some of the cloud services I'm going to talk to you about today. So, what exactly are we covering today? First? I'll start with an overview of machine learning and then we'll look out, look at ways that machine learning can be applied in the real world. And then if you're just getting started with machine learning, I'll tell you why the cloud can actually give you a jumpstart. And then we'll talk about machine learning on Aws. We'll look at some of the services and then we'll deep dive on my favorite service, Amazon Sage Maker. And it's simply an end to end machine learning service that meets you where you are on your machine learning journey. And then we'll wrap up with discussing next steps for you in ways that you can continue to explore machine learning. So first, what is machine learning before I tell you about machine learning, let's take a step back and look at the traditional software development life cycle.
So as developers and engineers, we are used to telling the computer what to do and we use languages like Java and C# and javascript and Python to tell the computer what to do. And I'm sure you, you recognize most of these computer programming languages. So we use those to tell the machine what to do. Now with machine learning, the machine or the computer can actually produce output without us explicitly programming it. And when you think about this, it can either be really cool or very scary. It just depends on your personality.
For me, it's just really cool. So how does machine learning work? Well, first, you have a machine learning algorithm that studies data. So you essentially have data that you feed to this algorithm. And then the algorithm finds trends and patterns in that data and that's done during a process called training. So you may hear the term training. This is essentially where we're teaching the machine by giving it data and then the trends and patterns that it finds it stores in what's called a model. So there's a mathematical model that holds those trends and patterns. So whenever you hear data, scientists talking about the model, that's what they're referring to a collection of trends and patterns found in data. OK. So now once you have this model and you have the trends and patterns stored, you can actually use this model to make informed decisions or recommendations. I like to compare it to an educated guess. And that process when you consult or query, the model is called inference. Now, depending on the type of data that you fed to the model, it really determines the answer that you get back or the types of questions that you can actually ask the machine.
So there are questions like is this email spam or not a computer can actually answer that question. And it does that by studying thousands and thousands of emails that are spam and thousands and thousands of emails that are not spam computers can also answer questions like would this person make a good employee or questions like will this person default on this loan or even questions?
Like will this person be a repeat offender? Now, typically, once you have this model, you take it and you integrate it into another application. So an application that needs to make a decision or do something different based on an output. Um And so that's how you use the model, you integrate it into another application that needs some form of intelligence. So let's look at a real world example, let's say we want a model to identify animals. And so we feed this machine learning model, millions and millions of pictures of cats, dogs and birds. And now the machine learning algorithm produces this model and now we can give the model this new picture and we'll ask the model, what is it? And based on studying all of the prior data points, the model will say it's a dog. So an educated guess that's essentially how machine learning works. Now, just like there is a software development life cycle, there is a machine learning development, life cycle that is a repeatable process that you use to produce these models. The first step is to find data data is the most important part when you're thinking about a machine learning um system or program. So you find that data, typically your organization may have data or you may have to find it from a third party organization.
Now, once you have this data, you have to go through a data prep stage. So this is where you're cleaning and transforming the data and actually getting it ready for a machine to learn from it. So for example, let's say you had a date field where you have to clean that or transform that and break that out into day, month, year because it's much easier to find trends for certain months or trends for days of the week when that date is separated out. So that's just an example of data prep. Now, once you have your data prepared, you actually feed it to the model and you train and produce this model. Now, once you have this model, you have to go through this evaluation process. How well is the model performing and then you deploy it to production and you're ready for a system to actually use it. Now, there are several machine learning techniques and a technique is essentially a way that a machine learns. You may have heard of supervised learning. And this is where machines learn from data that it already has the answer to and it's pretty common. So this serves the spam detection example, crime prediction, image classification. That was the cat dog bird example I gave you and even it can do things like emotion detection is somebody happy, sad or angry. Now, the second way machines learn is through what's called reinforcement learning. And we see this a lot in robotics.
This is where the machine is given positive or negative feedback based on a decision that it's made. And it basically learns like that. If you have seen Aws D Racer, it's this little car, robotic car that learns how to drive around the track. It learns by reinforcement learning.
If it stays on the track, it gets a positive reward. If it goes off the track, it receives a negative reward. So it eventually learns to do what it needs to do in order to get the positive rewards. So that's reinforcement learning. The third way is unsupervised learning. And this is where the machine learns from data that has not been labeled already. And this one really provides the most excitement and buzz in the industry because the machine kind of has to go in and figure out things on its own. And clustering can do things like movie recommendations, population segmentation. So this is where you're trying to group customers to find out more about them. So those are the three ways machines learn. Now. Why all the hype about machine learning? When I think about machine learning, there are things that really make me excited. The first is machine learning has the promise to remove human bias from a situation. So machine learning is used in bank lending, it's used in the courthouse. It's used in policing and all of those decisions we need to be unbiased. So that's the promise of machine learning, machine learning can actually give you new insights. It can make you consider things that you never even considered before. Looking at things from a different angle.
For example, when COVID first hit, last year, I developed a model that found correlation between kidney function and COVID-19. So that's something that probably wasn't considered in the early days. So machine learning can actually give you new insights into data that you already have.
And lastly, it just allows software to be able to make predictions. So it gives our software predictive power. And to me, that is just really cool now that we understand how machine learning works. Let's talk about the benefits of machine learning in the cloud. Now learning machine learning or just transitioning your skill set from machine learning or from software engineering to machine learning can be challenging. But Aws Amazon web services does a great job of democratizing machine learning and I say put it putting it in the hands of everyday developers.
So Aws offers a multitude of A I and ML services that meet you where you are, they have affordable technology. They offer free trials on a lot of the services they offer powerful servers. So you can spin up a GP U server in a matter of seconds. For your machine learning training, there are tools that help you prepare your data. So remember I told you about the data prep step where you clean and transform your data that is the most time intensive piece of any machine learning project. And Aws has tools to help you do that. And their tools actually help drive A I adoption and it allows you to easily experiment. Now let's talk about Aws and the different levels of services. So at the very highest level, they have artificial intelligence services where your existing applications can make a simple API call to add intelligence. So there's this recognition service that does image analysis, there's LEX that allows you to build chatbots, there's comprehend that works with natural language processing.
And then there's a level two adoption and this is where you use services like sage maker to create your own custom models. And then level three, this is really deep in the in the weeds. This is where you write your own custom training code code using popular frameworks like tensorflow and MX net. Now let's deep dive on my favorite service, Sage maker and it's my favorite because it meets you where you are in your machine learning journey. So with stage maker, it allows you to keep all of the steps in that machine learning life cycle in one system. So think of stage maker as machine learning as a service. And I mentioned to you that there are powerful training servers and one neat feature you're able to do model hosting. So once you have a model, you can put a URL in front of it and then any application can call out to that model to receive a prediction and it gives you access to cheaper notebooks. Now let's look at the cloud architecture for my public safety application. And so this uses machine learning. I basically trained a machine learning model that predicts crime. And so how it works.
First, there's an image that comes from a camera and that image is uploaded to a directory in the cloud um Amazon S3 bucket and then the the drop on that bucket triggers some Python code that I authored in AWS LAMBDA. And that code is responsible for taking the image and sending it to the Amazon recognition service. That's one of the higher level services and then the attributes returned from that service go on to this Amazon Sage maker model that I created and then the model makes a determination on whether or not crime is likely and then an alert is sent using the Amazon simple notification service.
So that is just a quick look at a sample architecture. So I know I've covered a lot in just a few minutes. But when you think about your machine learning journey and what's next for you? You may have the question, how do I get started? And there are plenty of ways to get started. And I would recommend that you start with this free web series that I developed on the a cloud guru platform that teaches you about Aws Deepcomposer. Now, I showed you that little car, um, deep racer that learns how to drive around a track. There's all so a machine learning enabled keyboard that helps you produce music called deepcomposer. And so in the free web series, I'll go much deeper on machine learning and all of the different concepts. We'll dive deep on generative A I, which is a form of machine learning that produces something new. We'll talk about deep learning and neural networks and then we'll have fun with music and it's like I said, it's free and the series wraps up with a head to head musical battle. So you definitely don't want to miss it and that's it. Thank you so much for your time today. I really enjoyed sharing with you about machine learning and how the cloud can help jumpstart your journey. Thank you so much.
Great job Keisha. Thank you so much for being here. Oh, see your sand dune again. That's perfect. Start to end. I'm just kidding. I'm begging you. Um And you know what? There's lots of questions I can see coming through in our chat here. People are asking if there's data sets that we can use to learn machine learning.
Yes. So there are a ton of data sets out there. Um On the Aws marketplace, there are a lot of free data sets and then also there are a lot of just organizations out there that may make their data publicly available. So for example, when I trained the crime prediction model, it did take me a while to find like a police department that actually made their data public. But I was able to find um in the UK, they publish their stop and search records. And so I I use that. But yeah, you can start with the market aws marketplace. They offer a lot of free data sets.
OK? That's perfect because yeah, a lot of people asking about models and data sets and where you get them and kind of making sure that they have that. So thank you, Keisha. Another question too while I have you for a couple more seconds is that someone just wanted you to please mention the web course again that you have.
Oh, it's the Aws deepcomposer. So it's called train it again, Maestro, but it's, it's an easy search. It's on the just search for that in my name and it it will come up on the a cloud guru platform. Perfect.
OK. So lots of people who are wanting to check that out, finding different series from you. So thank you so much, Kisha. Clearly, you hit on something that many people are trying to learn more about.
My pleasure. It was fun being here today. Bye for now. OK, bye.