Building your machine learning skill set for today’s rising demand
This blog is ideal for those new to ML who want to understand the foundational skills needed for ML and how to acquire them, as well as those who want to deepen their ML knowledge and expertise. For each, there are AWS Training, resources, and documentation to help you build your knowledge and comfortably participate in real-world ML discussions and projects.
In my previous blog, I shared how I utilized many free trainings and resources from AWS Training and Certification to learn the skills and expertise required to become a solutions architect at AWS. In the process, I also earned the AWS Certified Solutions Architect – Associate and Professional certifications. As I was building my skills, I also identified machine learning (ML) as another top skill I was interested in. Since that time, I’ve been working to build a strong foundation of ML skills and knowledge, which has helped me work on real artificial intelligence (AI)/ML use cases with customers.
ML is an application of AI, which acts as the foundation of modern software applications to offer several advanced capabilities, including value prediction, smart recommendations, smart detection (e.g., objects, anomalies, and fraud), sentiment analysis, translation, and many others. ML is a field of study that’s growing rapidly and will continue to grow in the coming years. If you’re thinking about adding a new skillset to your current role—particularly something that makes it more future proof—put ML at the top of your list.
ML in today’s IT careers
ML is becoming embedded into today’s IT roles. If you work in the networking field, modern networking services provide behavior-predictive analytics that help fix common and uncommon issues in a proactive manner, powered by ML capabilities.
If you work in cybersecurity, ML capabilities in modern security software provide advanced and dynamic security detection and prevention capabilities. For instance, cybersecurity software can analyze traffic patterns and learn from them to help prevent attacks, as well as dynamically respond to changing behaviors.
If you’re a developer, ML is pervasive and limitless today. In addition to the common use cases, there are always new innovations and new ideas. New applications for ML are emerging every day in all fields and industries. So, if you’re new to ML or want to advance your skills, where do you begin?
Building a foundation in ML
If you research the above question, you’ll learn that you must have a strong foundation in linear algebra, probability, and statistics. Some may advise that you need a PhD in computer science. Although this advice has merit, in this era of on-demand cloud resources and readily accessible high-level programming languages and APIs, you can build and deploy production-ready ML models using a few lines of code.
That being said, you don’t want to be an API user who only copies code from the internet to build an ML model. At the same time, you don’t need to have a PhD—but you could, especially in the research and academic fields—to become a data scientist, ML practitioner, or ML engineer. Therefore, a balance is required here.
To keep it simple, let’s look at the must-have knowledge and experience from a 30,000-foot view. In today’s world, to be an ML engineer, at a minimum, you need:
- Knowledge of data engineering to design and build reliable data pipelines for ML projects.
- A solid understanding of data preparation (also known as pre-processing) techniques to clean and transform the obtained data further for ML algorithms.
- A basic understanding of the math underpinning key ML and deep learning (DL) algorithms to help you understand how each algorithm functions.
- A solid understanding of the different ML and DL algorithms and how/when each should be used (e.g., classification, regression, clustering, etc.).
- A solid understanding of the common mechanisms that can be adopted to optimize ML and DL models.
As a note, data scientist, ML practitioner, and ML engineer personas are not identical. However, they have a lot of similarities and overlap in the skillset and tasks for ML projects. In small companies, you may find the same person performing all of these roles.
Where to start if you’re new to ML
If you’re totally new to ML, this may sound overwhelming. To help you build your ML knowledge, there are 65+ ML trainings from AWS Training and Certification, from foundational to advanced. I recommend taking advantage of the following free, self-paced, digital courses, videos, and documentation. I found these hugely helpful in my ramp up:
- Demystifying AI/ML/DL
- ML Building Blocks: Services and Terminology
- Machine Learning for Business Challenges
- Process Model: CRISP-DM on the AWS Stack
- Building a Machine Learning Application
- Amazon Machine Learning Key Concepts
- Getting Started with AWS Machine Learning
- Math for Machine Learning
Advancing your ML skills
After you feel comfortable with foundational ML concepts, you may find yourself wanting to dive deeper into more advanced ML topics. You can start by focusing on three primary disciplines: computer vision, natural language processing, and chat bots. The digital course, Types of Machine Learning Solutions, explains each discipline and practical applications, and it lays out the AWS services used in each track so you can choose the learning path that best fits your needs.
As discussed in my previous blog, when I set a skills-related goal, I like to use a learning path to help me get there. One of the best ML learning paths to follow is the common ML lifecycle shown in Figure 1. This diagram provides a practical and structured approach to learn and then apply it to real-world scenarios.
I’ll provide an overview of each stage and my suggestions for additional resources you can consider (in particular, free digital training courses) to acquire the necessary knowledge and ultimately, build the desired skillset and expertise in the ML field.
Stage 0: Business question for ML model to solve
As illustrated in the diagram above, before starting with the ML lifecycle stages as part of an ML project, you’ll need to understand the business question the ML model is trying to answer (i.e., qualification). This drives your decision regarding the type of algorithm(s) to use, which is also referred to as framing the ML problem (i.e., classification, regression etc.). The subsequent stages will be framed around this.
Common qualifying ML-related business questions include but are not limited to:
- Can we identify damaged items in the production line? Detection ML problem.
- Can we identify spam emails? Classification ML problem.
- What is the anticipated sales quantity of item X next quarter? Forecast ML problem.
- How do we provide more personalized ads on an e-commerce website? Recommendation ML problem.
In contrast, if the question is about something that happened in the past (e.g., how many of item X did we sell in the last quarter, or how did increasing ads impact purchasing behavior in the last year), you won’t not need ML. These business intelligence questions can be answered with historical data analysis. Therefore, before you start with an ML project, it’s essential that you qualify and frame a business problem as an ML problem.
Stage 1: Data Engineering
Data engineering is essential in any ML project. As a seasoned ML engineer, you need to be fully aware of how data engineering is critical to the entire ML lifecycle (or pipeline), and how it can directly influence the ML model’s accuracy. Your ML solution is only as good as the data that drives it. Therefore, if there’s no mechanism to ingest, store, and transform data into the required format (i.e., building a data pipeline), there won’t be a reliable ML project.
The type of data pipeline varies depending on the use case. You may have a batch or real-time pipeline. Also, the type of data (i.e., structured or unstructured), scale, and the type of pipeline might influence the structure of the data pipeline itself, such as extract, transform, and load (ETL) versus extract, load, and transform (ELT).
Most importantly, the role of a reliable data lake is at the heart of today’s data engineering for ML projects. Some may argue that in some organizations, there’s a team responsible for the data engineering part. For example, data scientists focus mainly on the data analysis, building, and optimizing of ML models. That’s true. However, in some organizations—mostly, smaller companies or startups—you may need to lead a complete project end to end or participate in a certain parts of data engineering as per the project and organizational teams’ structure.
Therefore, to distinguish yourself in the era of data and AI/ML (ideally, but not a must) you’ll want to be comfortable with:
- The different types of data stores and the associated use case(s) of each, such as relational databases, NoSQL databases, and data warehousing.
- How to query the different types of data from different sources.
- Designing and building data lake repositories for ML.
- Designing and building data ingestion and transformation solutions.
Recommended data engineering learning resources
If you’re new to data engineering and analytics, the digital course, Getting Started with Data Analytics on AWS, is strongly recommended. You may also consider the study resources for the AWS Certified Data Analytics – Specialty exam. Although this certification goes beyond what an ML engineer typically needs to focus on, to build your knowledge of data engineering, these courses can help you elevate your expertise as an ML engineer or data scientist. And, you may decide to earn the AWS Certified Data Analytics – Specialty certification, too!
Stage 2: Data analysis and pre-processing
Now, you might be wondering, what about data analysis (also known as exploratory data analysis)? In this stage, you’re working with the data that was ingested and stored—and possibly transformed—from the data engineering pipeline. Think of it as the link between data engineering and ML modeling. In this stage, you’ll analyze and prepare the data for the modeling stage of the ML lifecycle. Again, this must be based on the identified business question and framed ML problem the ML model is trying to answer so you can do the appropriate features engineering and scaling as needed. A common example is when you have columns (called “features” in ML terms) in your dataset that have no predictive value or no influence on other values, such as a person’s phone number; these features need to be removed from the dataset as it can negatively impact the model accuracy.
At this stage, you’ll need to dive deeper into the obtained data and look at it through the lens of the targeted use case and the selected candidate ML algorithm to perform further data cleaning and preparation tasks. For instance, if the training data has several errors, outliers, or noise, it will impact the ML model’s ability to detect a valid underlying pattern in the data, in turn leading to low model accuracy. Similarly, model accuracy can be easily influenced by imbalanced data where the dataset has more negative values than positive values or more images of a specific type than other types, for instance. That’s why data scientists generally spend a fair amount of time analyzing and preparing the data before feeding it to the ML algorithm.
From the required skills point of view, you should be able to:
- Select and deploy data pre-processing capabilities for ML based on the use case, including data exploration and analysis, data cleaning, transformation, feature engineering, and data visualization.
Recommended learning resources to strengthen your skills in data analysis:
- The Elements of Data Science
- Data Transformations for Machine Learning
- Machine Learning Data Readiness
- Data Science Capstone: Real World ML Decisions
Stage 3: ML modeling (select, build, train and evaluate models)
Typically, after selecting a candidate ML algorithm, it will be fed with example or training data with the goal to build a generalized ML solution. This is referred to as the ML model, which must be selected, built, and trained to address the business question you’re trying to answer.
After the model is created, it can be fed with actual “new” data to answer the same business question. In more technical terms, ML algorithms discover patterns in data and construct mathematical models using these discoveries. Then, these models can be used to make predictions on future data.
Therefore, the modeling stage is the core of the ML lifecycle. And it starts with the basic and most important aspect: what problem are you trying to solve, or what business question are you trying to answer with ML/DL? From this, you can determine which ML algorithm (and in case of DL, add to it: which neural network type?) is the most optimal to help answer? Although this may seem like an easy task, it’s not. Today, there are several ML algorithms and selecting the right one is crucial to the success of the ML project. To do so, you’ll need to have a good understanding of the different ML and DL algorithms to determine the best outcome for specific use cases.
Note that although in the previous stage, the candidate algorithm(s) was known, the final selection decision is performed at this stage. Therefore, you may need to perform further data pre-processing based on the decision and outcomes of this stage. Similarly, after deploying the model, you may need to perform further optimizations or make changes to the model as illustrated in Figure 1.
As part of the modeling stage, you’ll also need to deeply understand how you, as an ML engineer or data scientist, should train, optimize, and evaluate the selected algorithm as part of the model training to build an ML model and increase its accuracy.
In addition, you’ll need to have a solid understanding of how model parameters and hyperparameters can influence its accuracy. For this stage, ensure you can:
- Select the appropriate ML algorithm(s) for a given ML problem.
- Train ML models.
- Perform hyperparameter optimization.
- Evaluate ML models based on pre-defined metrics to measure the success from a business-expectation point of view.
Recommended learning resources to strengthen your skills in ML modeling:
- The Elements of Data Science
- Training ML Models
- Evaluating ML Models
- Data Science Capstone: Real World ML Decisions
- Deep Learning on AWS (technical guide)
In addition, Amazon scientists authored a popular DL book called Dive into Deep Learning that combines detailed instruction and math with hands-on examples and code. This can be a great resource if you want to learn more about DL.
Stage 4: ML deployments and operations
The final area of focus explores the implementation and operational aspects of the ML model and the solution in general (as a complete lifecycle or pipeline). In this stage, you need to have the knowledge to deploy ML solutions by looking at the bigger picture of the solution in terms of its performance, reliability, elasticity, scale, and security.
Amazon SageMaker is a big enabler for these practices and approaches; therefore, having a strong knowledge of this service and its capabilities is key to take advantage of AWS ML innovations to build production-ready solutions. In fact, SageMaker offers the ability to help you architect and build the full ML lifecycle. This means SageMaker’s capabilities are applicable to all of the aforementioned stages of the ML lifecycle and not limited to the model deployment.
In addition, there are several AWS AI services that address use cases across different verticals. Having a good understand of AWS AI services, how to implement them, and their recommended use case(s) is highly recommended. For this stage, you’ll want to be comfortable with:
- Building ML solutions for performance, availability, scalability, resiliency, and fault tolerance.
- Recommending and implementing the appropriate ML services and features for a given problem.
- Applying basic AWS security practices to ML solutions.
- Deploying and operationalizing ML solutions.
Recommended learning resources:
- Amazon SageMaker Technical Deep Dive Series
- Amazon SageMaker Getting Started
- Developing Machine Learning Applications
- Amazon SageMaker: Build an Object Detection Model Using Images Labeled with Ground Truth
- Apache Spark with Amazon SageMaker
- Amazon SageMaker: Simplifying Machine Learning Application Development
- The Machine Learning Pipeline on AWS
- Deep Learning on AWS
- Communicating with Chat Bots
- Speaking of: Machine Translation and NLP
- Seeing Clearly: Computer Vision Theory
- Build a Secure Enterprise Machine Learning Platform on AWS
Bonus: ML Operations
As you may have noticed in Figure 1, ML Operations (MLOps) applies to all stages of the ML lifecycle. MLOps refers to the approach of applying DevOps practices to the ML lifecycle. With MLOps, you can apply several techniques of DevOps to your ML project, such as ML CI/CD (i.e., ML pipeline automation capabilities) and quality assurance, which ultimately help to continually improve the data used by an ML model, speed up the delivery time, reduce defects, and make ML engineers or data scientists more productive. For more information, refer to AWS MLOps Framework.
Think of each stage as a building block that complements the next and not as isolated stages or tasks. When you build a data pipeline at the data-engineering stage, it will impact the final outcomes of the ML model in terms of accuracy, reliably at scale, and security. If my blog has intrigued you to start your ML learning journey, or you’ve already made a decision to deepen your ML and/or DL expertise, you’ve made a wise choice to invest in your professional growth.
As you know, I came from a networking background. I set a goal to skill myself and become a solutions architect at AWS, which I did, and then I took my learning further by acquiring ML knowledge that goes beyond the basics. If I can do it, I know without a doubt that you can, too. All you need is the desire and passion, because you’ll need to invest a fair amount of time and effort learning and getting hands-on practice. The good news is the training resources are ample! Happy learning, and good luck building your futuristic ML skillset.