#34 Machine Learning Engineering for Production (MLOps) Specialization [Course 1, Week 3, Lesson 10]

DeepLearningAI · Intermediate ·📐 ML Fundamentals ·4y ago

Key Takeaways

Covers the capabilities and challenges of machine learning engineering for production using MLOps specialization

Full Transcript

for some applications having and tracking metadata data provenance and data lineage can be a big help what do these words even mean let's look at an example here's a more complex example of a data pipeline building on our previous example of using user records to predict if someone is looking for a job at a given moment in time let's say you start off with a spam data set this may include a list of known spam accounts as well as features such as a list of blacklisted ip addresses that spammers are known to use you might also implement a learning algorithm so piece of machine learning code and train your learning algorithm on the spam data set thus giving you an anti-spam model so these arrows indicate flow of information or flow of computation where training your ml code on the spam data set gives you your anti-spam model you then take your user data and apply the anti-spam model to it to get the dspam user data we're following our usual convention that things with a purple rectangle around it represent pieces of code now taking your dspam user data next you might want to carry out user id merge to do that you might start off with some id merge data so this would be labeled data telling you some pairs of accounts that actually correspond to the same person have a machine learning album implementation train the model on that and this gives you a learned id merge model that tells you when to combine two accounts into a single user id you take your id merge model apply it to the dspam user data this gives you your cleaned up user data then finally based on the clean user data hopefully some of this labels with whether someone's looking for a job you would then have another machine learning model trained on it to give you a model to predict if a given user is looking for a job or not and this is then used to make predictions on other users or maybe across your whole database of users so this level of complexity of a data pipeline is not atypical in large commercial systems and i've seen data pipelines or data cascades that are even far more complicated than this one of the challenges of working with data pipelines like this is what if after running this system for months you discover that oops the ip address blacklist you're using has some mistakes in it in particular what if you discover that there were some ip addresses that were incorrectly blacklisted maybe because the provider from whom you had purchased the blacklisted ip addresses found out that there were some ip addresses that multiple users use right such as if multiple users on a corporate campus or university campus share an ip address for security reasons but the organization creating the blacklist ipi just thought it was spammy because so many people shared an ip address this has happened before so the question is having built up this big complex system if you were to update your spam data set won't that change your spam model and therefore that and therefore that and therefore that and therefore that and how do you go back and fix this problem especially if each of these systems was developed by a different engineer and you have files spread across the laptops of your machine learning engineering development team so to make sure your system is maintainable especially when a piece of data upstream ends up needing to be changed it can be very helpful to keep track of data provenance as well as lineage data provenance refers to where the data came from so who did you purchase the spam ip address from and lineage refers to the sequence of steps needed to get to the end of the pipeline at the very least having a extensive documentation could help you reconstruct data provenance and lineage but to build robust maintainable systems not in the proof of concept stage but in the production stage there are more sophisticated tools to help you keep track of what happened so you can change part of the system and hopefully replicate the rest of the data pipeline without too much unnecessary complexity to be honest the tools for keeping track of data provenance and lineage are still immature in today's machine learning world i find that extensive documentation can help and some formal tools like tensorflow transform can also help but solving this type of problem is still not something that we are great at as a community yet to make life easier both for managing data pipelines as well as for error analysis and driving machine learning development there's one tip i want to share which is to make extensive use of metadata so metadata is data about data for example in manufacturing visual inspection the data would be the pictures of phones and the labels but if you have metadata that tells you at what time was this picture of a phone taken what factory was this picture from what's the line number what were the camera settings such as camera exposure time and camera aperture what's the number of the phone you're inspecting what is the id of the inspector that provided this label these are examples of data about your data set x and y and this type of metadata can turn out to be really useful because if you discover during machine learning development that for some strange reason line number 17 in factory 2 [Music] generates images that produce a lot more errors for some reason then this allows you to go back to see what was funny about line 17 and factory two but if you had not stored the factory and line number of metadata in the first place then it would have been really difficult to discover this during error analysis so i found many times when i happened to maybe get lucky and store the right metadata only to discover a month later that that metadata helped generate a key insight that helped the project move forward so my tip is if you have a framework for storing metadata that will definitely make life easier but even if you don't just like you rarely regret commenting your code i think you will rarely regret storing metadata that could then turn out to be useful later and just like if you don't comment your code in a timely way it's much harder to go back to commenting later in the same way if you don't store the metadata in a timely way it can be much harder to go back to recapture and organize that data one more example for speech recognition if you have audio recorded from different brands of smartphones let's say that in advance or if you have different labelers labeling your speech or if you use a voice activity detection model then let's keep track of what was the version number of the voice activity detection model that you use and all of these means that in case for some reason one version of the vad voice activity detection system results in much larger errors this significantly increases the odds of your discovering that and be able to use that to improve your learning over and performance so to summarize metadata can be very useful for error analysis and spotting unexpected effects or tags or categories of data that have some unusually poor performance or something else to suggest how to improve your system and of course maybe not surprisingly this type of metadata is also very useful for keeping track of where the data came from of data provenance the takeaway from this video is that for large complex machine learning systems that you might need to maintain keeping track of data provenance and lineage can make your life much easier and as part of building out these systems consider keeping track of metadata which can help you with tracking data provenance but also error analysis before we wrap up this section there's just one more tip i hope to share with you which is the importance of balanced train death test splits let's go on to the next video

Original Description

The Machine Learning Engineering for Production (MLOps) Specialization teaches you how to conceptualize, build, and maintain integrated systems that continuously operate in production. In this Specialization, you will become familiar with the capabilities, challenges, and consequences of machine learning engineering in production. By the end, you will be ready to employ your new production-ready skills to participate in the development of leading-edge AI technology and solve real-world problems. This is a video from Course 1, Week 3, Lesson 10 video on "Meta-data, data provenance and lineage ". To learn more about this and other topics and access the full course videos and assignments, enroll in the Specialization here: https://bit.ly/3v8pxwA Check out all our programs: https://bit.ly/3L9rnmQ Subscribe to The Batch, our weekly newsletter: https://bit.ly/3vxv52R Follow us: Twitter: https://twitter.com/deeplearningai_ Facebook: https://www.facebook.com/deeplearningHQ/ Linkedin: https://www.linkedin.com/company/deep...
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from DeepLearningAI · DeepLearningAI · 0 of 60

← Previous Next →
1 Forward and Backward Propagation (C1W4L06)
Forward and Backward Propagation (C1W4L06)
DeepLearningAI
2 deeplearning.ai's Heroes of Deep Learning: Yuanqing Lin
deeplearning.ai's Heroes of Deep Learning: Yuanqing Lin
DeepLearningAI
3 deeplearning.ai's Heroes of Deep Learning: Ruslan Salakhutdinov
deeplearning.ai's Heroes of Deep Learning: Ruslan Salakhutdinov
DeepLearningAI
4 deeplearning.ai's Heroes of Deep Learning: Yoshua Bengio
deeplearning.ai's Heroes of Deep Learning: Yoshua Bengio
DeepLearningAI
5 deeplearning.ai's Heroes of Deep Learning: Pieter Abbeel
deeplearning.ai's Heroes of Deep Learning: Pieter Abbeel
DeepLearningAI
6 deeplearning.ai's Heroes of Deep Learning: Ian Goodfellow
deeplearning.ai's Heroes of Deep Learning: Ian Goodfellow
DeepLearningAI
7 deeplearning.ai's Heroes of Deep Learning: Andrej Karpathy
deeplearning.ai's Heroes of Deep Learning: Andrej Karpathy
DeepLearningAI
8 Using an Appropriate Scale (C2W3L02)
Using an Appropriate Scale (C2W3L02)
DeepLearningAI
9 Gradient Checking (C2W1L13)
Gradient Checking (C2W1L13)
DeepLearningAI
10 Gradient Checking Implementation Notes (C2W1L14)
Gradient Checking Implementation Notes (C2W1L14)
DeepLearningAI
11 Learning Rate Decay (C2W2L09)
Learning Rate Decay (C2W2L09)
DeepLearningAI
12 Understanding Mini-Batch Gradient Dexcent (C2W2L02)
Understanding Mini-Batch Gradient Dexcent (C2W2L02)
DeepLearningAI
13 Mini Batch Gradient Descent (C2W2L01)
Mini Batch Gradient Descent (C2W2L01)
DeepLearningAI
14 The Problem of Local Optima (C2W3L10)
The Problem of Local Optima (C2W3L10)
DeepLearningAI
15 Exponentially Weighted Averages (C2W2L03)
Exponentially Weighted Averages (C2W2L03)
DeepLearningAI
16 Tuning Process (C2W3L01)
Tuning Process (C2W3L01)
DeepLearningAI
17 Understanding Exponentially Weighted Averages (C2W2L04)
Understanding Exponentially Weighted Averages (C2W2L04)
DeepLearningAI
18 Bias Correction of Exponentially Weighted Averages (C2W2L05)
Bias Correction of Exponentially Weighted Averages (C2W2L05)
DeepLearningAI
19 Gradient Descent With Momentum (C2W2L06)
Gradient Descent With Momentum (C2W2L06)
DeepLearningAI
20 Normalizing Activations in a Network (C2W3L04)
Normalizing Activations in a Network (C2W3L04)
DeepLearningAI
21 Hyperparameter Tuning in Practice (C2W3L03)
Hyperparameter Tuning in Practice (C2W3L03)
DeepLearningAI
22 Adam Optimization Algorithm (C2W2L08)
Adam Optimization Algorithm (C2W2L08)
DeepLearningAI
23 RMSProp (C2W2L07)
RMSProp (C2W2L07)
DeepLearningAI
24 Fitting Batch Norm Into Neural Networks (C2W3L05)
Fitting Batch Norm Into Neural Networks (C2W3L05)
DeepLearningAI
25 Why Does Batch Norm Work? (C2W3L06)
Why Does Batch Norm Work? (C2W3L06)
DeepLearningAI
26 Batch Norm At Test Time (C2W3L07)
Batch Norm At Test Time (C2W3L07)
DeepLearningAI
27 Softmax Regression (C2W3L08)
Softmax Regression (C2W3L08)
DeepLearningAI
28 Deep Learning Frameworks (C2W3L10)
Deep Learning Frameworks (C2W3L10)
DeepLearningAI
29 Neural Network Overview (C1W3L01)
Neural Network Overview (C1W3L01)
DeepLearningAI
30 Training Softmax Classifier (C2W3L09)
Training Softmax Classifier (C2W3L09)
DeepLearningAI
31 Why Deep Representations? (C1W4L04)
Why Deep Representations? (C1W4L04)
DeepLearningAI
32 Gradient Descent For Neural Networks (C1W3L09)
Gradient Descent For Neural Networks (C1W3L09)
DeepLearningAI
33 Neural Network Representations (C1W3L02)
Neural Network Representations (C1W3L02)
DeepLearningAI
34 TensorFlow (C2W3L11)
TensorFlow (C2W3L11)
DeepLearningAI
35 Activation Functions (C1W3L06)
Activation Functions (C1W3L06)
DeepLearningAI
36 Explanation For Vectorized Implementation (C1W3L05)
Explanation For Vectorized Implementation (C1W3L05)
DeepLearningAI
37 Getting Matrix Dimensions Right (C1W4L03)
Getting Matrix Dimensions Right (C1W4L03)
DeepLearningAI
38 Understanding Dropout (C2W1L07)
Understanding Dropout (C2W1L07)
DeepLearningAI
39 Building Blocks of a Deep Neural Network (C1W4L05)
Building Blocks of a Deep Neural Network (C1W4L05)
DeepLearningAI
40 Why Non-linear Activation Functions (C1W3L07)
Why Non-linear Activation Functions (C1W3L07)
DeepLearningAI
41 Computing Neural Network Output (C1W3L03)
Computing Neural Network Output (C1W3L03)
DeepLearningAI
42 Backpropagation Intuition (C1W3L10)
Backpropagation Intuition (C1W3L10)
DeepLearningAI
43 Train/Dev/Test Sets (C2W1L01)
Train/Dev/Test Sets (C2W1L01)
DeepLearningAI
44 Deep L-Layer Neural Network (C1W4L01)
Deep L-Layer Neural Network (C1W4L01)
DeepLearningAI
45 Random Initialization (C1W3L11)
Random Initialization (C1W3L11)
DeepLearningAI
46 Other Regularization Methods (C2W1L08)
Other Regularization Methods (C2W1L08)
DeepLearningAI
47 Normalizing Inputs (C2W1L09)
Normalizing Inputs (C2W1L09)
DeepLearningAI
48 Derivatives Of Activation Functions (C1W3L08)
Derivatives Of Activation Functions (C1W3L08)
DeepLearningAI
49 Parameters vs Hyperparameters (C1W4L07)
Parameters vs Hyperparameters (C1W4L07)
DeepLearningAI
50 Vectorizing Across Multiple Examples (C1W3L04)
Vectorizing Across Multiple Examples (C1W3L04)
DeepLearningAI
51 What does this have to do with the brain? (C1W4L08)
What does this have to do with the brain? (C1W4L08)
DeepLearningAI
52 Dropout Regularization (C2W1L06)
Dropout Regularization (C2W1L06)
DeepLearningAI
53 Vanishing/Exploding Gradients (C2W1L10)
Vanishing/Exploding Gradients (C2W1L10)
DeepLearningAI
54 Basic Recipe for Machine Learning (C2W1L03)
Basic Recipe for Machine Learning (C2W1L03)
DeepLearningAI
55 Bias/Variance (C2W1L02)
Bias/Variance (C2W1L02)
DeepLearningAI
56 Forward Propagation in a Deep Network (C1W4L02)
Forward Propagation in a Deep Network (C1W4L02)
DeepLearningAI
57 Weight Initialization in a Deep Network (C2W1L11)
Weight Initialization in a Deep Network (C2W1L11)
DeepLearningAI
58 Numerical Approximations of Gradients (C2W1L12)
Numerical Approximations of Gradients (C2W1L12)
DeepLearningAI
59 Regularization (C2W1L04)
Regularization (C2W1L04)
DeepLearningAI
60 Why Regularization Reduces Overfitting (C2W1L05)
Why Regularization Reduces Overfitting (C2W1L05)
DeepLearningAI

Related Reads

📰
What Is the Mathematical Structure of a Space in .me?
Understand the mathematical structure of a space in .me to apply geometric and topological concepts, crucial for data science and AI applications
Medium · Data Science
📰
LeetCode 713: Subarray Product Less Than K, A Detective Story
Learn to solve LeetCode 713, a problem about finding subarray products less than K, using a detective story approach and Python
Medium · Python
📰
Bayesian Prediction for Nanobody Thermostability
Learn how Bayesian prediction can be applied to predict nanobody thermostability, a crucial aspect of protein engineering, and why this matters for advancing biotechnology
Reddit r/deeplearning
📰
A Stable Adapter for Financial ML Experiments
Learn how to use a stable adapter for financial ML experiments to improve durability and scalability
Medium · Machine Learning
Up next
Build an AI Voice Assistant with Python | Listen, Think & Speak | Tamil | Karthik's Show
Karthik's Show
Watch →