Demo your ML models + learn NLP from the best (Hugging Face 🤗) | Machine Learning Monthly July 2021

Daniel Bourke covers July 2021 ML news: his new TensorFlow course with a free book, Hugging Face's NLP course, and Gradio for building interactive model demos. He also reviews work on speech clarity for cochlear implants and argues against hand-labeling data in favor of programmatic approaches.
Chapters
Do it with me now, come on. Bottom right, bottom left, up, diagonal. Keep those hands spinning. This is gonna come up later in the video, so pay attention. You know we start all of these with a little bit of dancing, all right? So this is called jazz hands. So you just gotta keep your wrist moving. One up in the air, another one up in the air, both at the same time. To the sides, down below. Let's get into it. Welcome back. It is that time of month again, Machine Learning Monthly, this time for July 2023. 2020, the newsletter that covers the latest and greatest, but not always the latest in machine learning, because why not always the latest? There are some great things that have stood the test of time. Without any further ado, if you're new here, this is the video version of the article I write once a month called Machine Learning Monthly. You can see this, the link will be in the description if you don't want to listen to me. There's a bunch of cool things on ML in here. This is July 2021 issue. If you want this delivered to your inbox, you can subscribe there. And as you know, if you've been here before, We do a lot of dancing throughout. So we cover machine learning things and we dance. Alright, so see if you can pick up in the video where this one is from. Okay, but let's get right into it. What you missed in July as a machine learning engineer. So I'm going to take the air for a second. My work, I'm so, so excited that the Zero to Mastery TensorFlow for Deep Learning course has been fully completed. Now I'm pretty sure, correct me if I'm wrong, it is the largest TensorFlow course on the internet. 60 hours of videos. All of the videos have been completed. The most recent materials are the time series. And let's just go to learntensorflow.io, which is the book version of the course. So if you're not aware of the book version of the course, all of the course materials of my TensorFlow for Deep Learning course are published as a free online book. It is beautiful. It is searchable. The major updates is the time series, the Milestone Project 3. Let's open this out. You can run all of these in Colab. All the code will work. It'll go through the difference between a time series classification problem or a forecasting problem. And there is a lot, a lot, a lot of material in here. And also, of course, if you want to take the TensorFlow Developer Certification, about a year ago, I took it. I passed it. This course is based on a lot of the study that I did to pass the TensorFlow Developer Certification. And this is an article or section of the course. There's videos to go along with this, of course. Of course, I'm saying course so many times. Doesn't matter. This is all free. You can get this at learntensorflow.io. My tips on passing the certification, whether you should do it or not. Long story short, certifications are nice to have, not needs to have. You want skills first. But that's enough from me. If you want more from that, you can see it in the article, or you can sign up, or check out the first 14 hours of the course on my YouTube channel. Let's get into it. We have some beautiful, beautiful submissions from the community this time, this month, as we always do, or as we often do. If you'd like to see your work covered in Machine Learning Monthly, the video version, so you could have me dancing around talking about it, or writing about it, either or, please send me an email, daniel@mrdbourke.com with the subject title Machine Learning Mantle. We have a submission here from Skytowner, the team at Skytowner, which is a collection of tutorials and resources, which is, I really love this. I really love, love, love seeing this. So a group of people, where is their blog? They wrote a blog post about this blog. A group of people, a small team. This is what I love about it, right? It's a small team. You don't need to have a large team to do something that you want. They found that programming involves more reading than coding, and most technical resources are bloated. So if you've ever tried to learn to code, you've probably stumbled upon a plethora of resources, right? You'll read the technical documentation and you'll have to read it about 10 to 20 times. I still have to do this. So 3 people, they weren't happy with it. We've got one from Japan, one from— no, I thought that was an Australian flag, but it's a New Zealand flag. We won't talk about that. No, I'm kidding. I'm a global citizen. And I believe that's the Hong Kong flag, so correct me if I'm wrong. So 3 people. This is the beautiful thing about the internet as well. You can collaborate with people all over the world. They wanted to solve the problem of poor technical resources, a lack of concrete and simple examples, and poor UI and UX problems. So how did they do that? Well, they created bite-sized articles, minimal and simple examples, active maintenance, and great UI and great UX. So let's look at this. Let's go numpy.random. Oh my goodness, look at this, SkyTowner. We can go this. So if you want, I believe it covers most of, so look at this, numpy.random, what does it do? Some notes, parameters, examples that you can copy straight out of the box. And there's so many more. I think there's 1,500 or so by now. Yeah, 1,500 docs and recipes. You can go on to Twitter and, Discord and whatnot. Python has Heaps, MySQL, Pandas. So it's focused on the Python data stack. Beautiful Soup, that's for web scraping. Now I'm not sure, you might want to check into it, you might be able to contribute. I'm not 100% sure of this, but thank you so much to the team at Skytowner for submitting your beautiful creation to Machine Learning Monthly. Check that out if you're interested in some beautiful Python, MySQL, Pandas, NumPy, Beautiful Soup, and Matplotlib tutorials. I especially like, I believe I linked it here, the Getting Started with Python section. If you want to, there's never, you can never know enough of the fundamentals. So go check that one out. On to the next one. We have Saeed Hussain, I hope I'm pronouncing that name correctly, Towards Data Science articles. Now, here's a big thing for me is if you want to, I write a lot of things because it helps me understand stuff. So I often get lost in thoughts. But found in words. It's a trite saying, but it works for me. And so I've written a fair few articles for Towards Data Science, one of my favorite medium publications. Saeed has two articles here that he submitted to Machine Learning Monthly. One on machine learning model as a serverless endpoint using Google Cloud Functions. So if you want to start getting into the world of MLOps, as in building the infrastructure around your machine learning models, you're probably going to have to learn some kind of cloud features. So have some resource to take data in, manipulate it with the model that you've built— often the funnest time is training the model— and then serving something back to the person who sent you the data. One of the ways to do it was with Google Cloud Functions, which is using Google Cloud. Google Cloud Functions is basically allows you to run a Python function on Google Cloud. So if you hosted that, I could go on my computer and type in Aye yai yai yai yai, yai yai yai yai yai. Probably not that, but send it to that function. Your code will do something for me running on Google Cloud and then send something back, something beautiful. We'll see maybe a small example of this later on. I don't know if it's using Google Cloud, but we'll see it later on. So beautifully written article. And this now adds to something that you can share and show someone what you've done. So if you're going for a job, Saeed can go, hey, They're looking for someone with experience in using Google Cloud. It's like, well, I've got two articles here. Another one is Machine Learning Model as a Serverless App Using Google App Engine. Not only does being able to write the code do this help you learn how to build such a system, but writing it in a way that you can explain it to someone else further cements your knowledge. That's what I've found. If I want to learn something really well, I, first of all, I try to rebuild it myself. Second of all, I tried to teach other people, which is why I've got a couple of courses out there. So thank you, Saeed, for your submissions. Again, if you'd like to see your own work here, please send me an email, daniel@mrdbourke.com, with the subject Machine Learning Monthly Submission. You might see it up here. Now let's dive into resources around the internet. These are some beautiful latest and greatest, not always the latest things that I found in the world of machine learning. There's a lot going on. So it's not going to cover everything. I've just picked the top 7, because 7 is a great number. I have a dog named Seven. I like the number 7. But this is a beautiful storytime article. Probably one of my favorite ways to read anything or consume any kind of information is in narrative form rather than just a big bucket dump of information. This is from Erik Bernhardsson. Again, I may be pronouncing that wrong with a little bit of a Australian twang, but it's a story about how do you build a data team. You know, with no data there's no machine learning. How do you build a data team at a mid-stage startup? So if you're looking to work for a large company, they may have already been through this. If you're wanting to start your own company, this may be some fabulous advice. Or if you're at a smaller company and you're starting to get into the world of data, maybe you've watched some of my videos on learning how to use machine learning, I'd read this. This is a great story, and plus Eric has plenty of experience in the data world. He spent 6 years at Spotify. Let's just dive into it, have a look. Beautiful, nice and simple blog. I guess I should really call this a parable. Let's just go a little bit about Eric, spotlight on Eric. Lives in New York City. From February 2015, worked at Better.com, a company for home mortgages. But before that, Eric was at Spotify. You might have heard of that company. A lot of our music streaming services come out of there. It's quite a valuable company. I personally use Spotify. And Eric, turns out, built one of the first music recommendations. So most of the source still powering Spotify's music recommendations, such as related artists, radio, Discover Weekly. I've got some experience in the data world, but this parable goes through the narrative of basically a year-long story arc of someone starting at Super Corp. Great, great name. Not really, but no, I'm kidding. A generic name, Super Corp. So your first day at Super Corp, what do you do? And it goes from basically at the start, I'm not going to read you the whole story because you can do that in your own time. Uh, the company has no data. Data-driven processes. The product team has no idea what the data team does, and the data team has no idea what the product team does. And if you're a data person and you want to start doing things with data, i.e., building products, creating machine learning models to help people, well, you're gonna have to create some kind of synergistic system here. And one of my favorite points, if we go here, the journalist, here we go. January 3, so when did it start? This is about 6 months into SuperCorp. You have a bunch of new people in the team that are more excited. Most of them are people who know a bit of software engineering, very valuable in machine learning, a bit of SQL, but most importantly have a deep desire to find interesting insights in the data. Most importantly, let's read that again, but most importantly have a deep desire to find interesting insights in the data. That's what you have to be. You think of them as a data journalist. Why? Because their goal is to find the scoop in the data. So this is what you're looking for in a data team. It's not just people that want to build the latest and greatest machine learning models. Of course, that is a lot of fun and that's what we all want to do. However, you do need that deep insight to go, hmm, why is this the case with the data? And so let's, uh, there's another point that I love here. It's, um, uh, where's the value? Value. There we go. Boom. It's easier for data teams to feel defeatist when these projects stall. Like they were hired to do this cool AI stuff. Aren't we all? But now the executive support went away. In practice, I think it's more common they just didn't take it upon themselves to get the work to a place where it demonstrates value and is reasonably easy to ship. Now, this is gonna tie back in. As I said before, we're gonna tie this all up. This is the beauty of Machine Learning Monthly. Somehow things all tie together, or at least I'm crafting the narrative in that way, is that if you want something to work, bring it to life. Take it upon yourself to put it out into the world. Don't just leave it up in thought space. Go, "Hmm, I wonder how I can demonstrate value to people and ship my ideas." So this is a very, very, very cool narrative to read through. I'd highly recommend it. So thank you, Eric, for writing that. And yeah, if you want to read it, you can read the full story on Eric's blog. Blog. Let's go to the next one. End2EndML School. Now I didn't know how this— I don't know how I didn't know that this existed. Look at this: End-to-End Machine Learning Library. This has got probably one of the largest and most in-depth catalogues of machine learning and the things that lead to machine learning materials on the internet. And the beautiful thing is it comes— the lectures come in video form, they come in code form, they come in math form, they come in text form. Just Basically the whole, whole shebang. So if you're looking to learn more about specific things in machine learning, highly, highly recommend E2E ML School, e2eml.school. I really like it when they have like cool URLs like that. Decision Trees, Python Intro, Timetools. This is, this is a cool little one is that you can, you're building, you're learning Python by building apps. So you build a clock app, you build a timer. And you build a stopwatch, alarm, code timer. Look at this. All right. So some of the materials require an enrollment, but there are other materials. I believe the softmax one, if we go here, softmax activation with math code and words. Yeah, you can read through it. So big shout out to End-to-End ML School. If you like the math behind things, if you like the code behind things, if you like the derivations behind things, go check out the IntentML School. I'm sure you'll learn something new. And let's go to number 3: using machine learning to enhance speech recognition in cochlear implants. Now this one hit really close to home. I'm just going to read this verbatim because I like what I wrote. My nephew was born deaf, so shout out to beautiful young nephew, and had cochlear implant, CI, surgery, a device designed to aid with hearing surgery when he was young. And I made a video of this almost 2 years ago, I think over 2 years, of the first time he heard any sounds. And let's look at this, jump into this. A YouTube clip of— I am your father. Oh, I love that. So let's have a look at this. That's the first time, so prior to that, he'd heard nothing and then had the cochlear implant, which is a device that inserts into the cochlea, which is a small like spiral little thing that's inside your ear. Helps to amplify the sound waves into electrical signals through the ear, which the cochlea, if it was in its working form, would do into electrical signals. That the brain can register as sound. And so this was a beautiful study from the Google AI blog, Google research team. Now this is important, right? Because there's 500 million people in the world who are deaf or hard of hearing. And you may have someone in your family or maybe you who has some sort of hearing loss. And this is when we're using AI for these sort of things, I love it. So this is the results from the Google research team from the CI Hackathon. So cochlear, CI is cochlear implant. Cochlear implant. And the winning teams, so the Google team, Google Ears, came second. I tried to find the research for the top team here, but I couldn't find it online. So if you do find it, please, please send that my way. I'd love to read into it. But let's dive into this blog post. Now what they did was the aim of it was to improve speech listening comfort and intelligibility. So listening comfort was if I listen to something, how how comfortable is that? Is it really screechy? Is it like a lot of background noise? And intelligibility is if I listen to something, so, "Hello, I'm a red fox and I jumped over the fence," how well, if I listen to that, the intelligibility would be if I could transcribe that. So, hear the sentence, "Hello, I'm a red fox, I jumped over the fence," how well could I write that down into words? And so they used a combination of different neural networks So, one was the ConvTASnet. Now, I also believe there was the YAMNet. YAMNet. So, here's, here's the high-level overview. What they did was they took a sound wave, came in, broke it into speech and non-speech sounds, and then tried to amplify the speech sounds. So, to break it into speech and non-speech, they use YAMNet, which is a classification algorithm. If we jump into here, Sound classification with YAMNet. This is a TensorFlow tutorial. Oh, look at that! Predicts 521 audio event classes. We have a look at the classes. We've got sounds like shout, bellow, whoop, yell, screaming, whispering, laughter. Hahaha. And then we go back. And so they use YAMNet to classify it. And then they also used ConvTASNet, which is— what's the full description of this one? We have a Fully Convolutional Time Domain Audio Separation Network, in short, CoV-TASNet. So what it does, as we said before, have the input waveform, analysis transform, Conv1D, extracts features from that, has some sort of masking network, uh, has mask 1, mask 2, feeds those features through into 2 different ConvNets here. So say Synthesis Transform Transposed, uh, Conv1D. And then we have a mixture consistency. I have to read that inside of my head. And then we have, as I said, the separate of the speech estimation and the noise estimation. And listening to the results. Now I'm not going to play through all of these, but you can go on this blog post and have a listen to see how they improved. And as you can see here, as shown below, both listening comfort and intelligibility usually increase, sometimes dramatically, when speech with noise, the lightest bar, was processed with noise suppression. So there's a few different processing techniques here. So if we have a look at this one, so speech with noise is quite low on the listening comfort, but then speech with noise and suppression, we have listening comfort is almost equal. This is for one cochlear implant person. Almost equal with just natural speech. And then it's very similar results across the board. So the speech with noise is, oh, except for this one, that's a bit of anomaly there. I'll let you dive into the results there, but a whole bunch of amazing research going on in that space. So big shout out to the Google research team. And oh, now we're up to number 4. This is learning from the best in the business. Do you now get, this is a Hugging Face NLP course. So do you now make the connection of where the comes from? Look at this fun little emoji. I like this emoji. It's like this face. So we're going to the Hugging Face NLP course. So Hugging Face, possibly my top 2 favorite or yeah, top 2 favorite ML tooling teams. Right? You probably heard of the other one. Welcome to the Hugging Face course. So if you want to learn natural language processing, if you want to learn how to use transformer models, basically the state-of-the-art model that's taking the NLP world and also now vision by storm. Why not learn it from the best in business? So the Hugging Face course is a free resource. We'll teach you all about Transformers or Hugging Face Transformers, which is Hugging Face's library for almost every form of Transformer that you can imagine. Check it out on GitHub. They're so close to 50k stars. That's amazing. We'll also teach you about Hugging Face datasets, which is a whole bunch of open source NLP datasets. I believe the datasets maybe also expanding to other formats other than text. Maybe. I'm not entirely sure. I think that's Hugging Face's where they're heading. Tokenizers, which is a way of getting text. So a machine learning model can't deal with straight human-readable text, it needs to convert it into numbers. That's what a tokenizer does. And Hugging Face Accelerate, which is an amazing package which helps you run your PyTorch models with multi-GPU, TPU, and mixed precision. So Accelerate does what it says. You can run your raw PyTorch training script on any kind of device. Usually with PyTorch, you would have to specify what kind of device you'd like it to run on. I actually really like this package. Maybe that's a future stream. Let me know in the comments if you'd like me to do some PyTorch-related materials. I've covered a lot of TensorFlow with my 14 hours of TensorFlow video and whole course, but it'd be cool to, to dive into this and see, uh, see what we can build with that. Maybe— no, I've got an idea. I've got a good idea. But yeah, leave a comment below. So if you want to learn more from the best in the business, there's 3 parts to this course: the introduction, diving in, advanced. Highly, highly recommend this if you're looking at using some of the most state-of-the-art models from one of the best companies in terms of NLP and machine learning in general. Go and check it out. Next, Oh yeah, by the way, if you want to see some use case of it, if you want to use Hugging Face Transformers to import and instantiate a pre-trained BERT model, which is— BERT is one of the most popular transformer architectures— you can do it in 3 lines of code. Thank you, Hugging Face. Jazz hands, people. Come on, we need to break this video up with a little bit of dancing. Let's go. All right, on to the next one. Demo your ML models with Gradio. I told you everything's going to come back, right? So remember in Eric's story, he said it's very good to be able to demonstrate what you're building with machine learning. It might be amazing, but if someone can't interact with it, it's just— you're just talking words, you know, right? So Gradio is an amazing tool, gradio.app, a Python library. It's free to get started. You can get started in just 5 minutes. I'm going to show you something like all good cooking shows, right? I should make a series, Cooking with Machine Learning. That'd be fun. We could do food as well. Ooh, another idea. Don't get me started on ideas. I've got a lot planned for the rest of the year, so get excited. Uh, demos for your ML models. So let me just show you rather than talk about it. If we come up here, this Colab notebook is completely available. I'll— I've got it linked in the blog post, by the way. Um, so gradio.app, Google Colab, this will link you to this notebook that I've got. Let's see how we can use Gradio to demonstrate a food vision model. So food vision is one of the models that we build in my TensorFlow course, which is to detect what's in an image of food. So we install Gradio here. Oh my goodness, I've run it again. I wasn't meant to click that. That's all right. It should still work. And then Gradio, look how easy it turns your Python functions into an interface. So if I type in my name, Daniel, submit, is this going to work? Oh no, because the cell's not running. That's all right, ignore that. We want to go for the big dog demo anyway. So what I've done here is I've downloaded a dataset of food images. You'll have access to all this code, so I'm not going to step through it. I've loaded them in as data inputs. I've trained a model here, 10 epochs. I've created a function here. So this is the foodvision function to pass to the Gradio interface. So Gradio, you just think what you have to know is you have an interface, you have a function you pass to that interface, you define the inputs, you define the outputs. That's what I've done. So this takes an image, uses a model that we trained to make a prediction on it, and returns the predicted class. And then we can create an interface out of it using Gradio in as simple as import gradio as gr, gr.interface function equals foodvision, inputs equals, we tell Gradio that we want to input an image, outputs a label, and in our case we want this, the output dictionary. So let's see what this looks like. We'll run it. So we get a beautiful little interface here. This is running live in a Colab notebook. Again, you have access to that, you can try it yourself. I'm going to upload this image of my dad eating a delicious pizza and giving two thumbs up. So let's see. What happens here. We'll notice a little, uh, little icon that's moving. Oh, would you look at that! Oh, how cool is that? We've got an interface here. I upload an image and it's got the output here. So now this is running in a Colab notebook, but the beauty of Gradio is that we can share it with a link. Look at this. Right now, things to note is that a link, the share link, will expire in 24 hours. So this link probably won't work by the time you watch this video. However, if you upgrade to Gradio hosted, which is I think something like $7 a month, you can get permanent links. So let's try this. This is just a website that's just loaded up. Submit. Might zoom in. It's running again. This cell is just running in a Colab notebook, and I've just shared this link. So of course, I think there's a little, uh, thing you should know. If the Colab notebook closes, I think this link will also close down. I'll let you read more in the Gradio docs. But as we said, well, as I said before, if you want to get your machine learning models out into the world, they have to be in some sort of shareable demo. I mean, a notebook, a Google Colab notebook is a great place to start, but Gradio is the next best thing. Look at this pizza. All right, two thumbs up for Gradio, two thumbs up for pizza, two thumbs up for shareable machine learning models. So go and check that out. Get your demos live to the world. Beautiful, beautiful, beautiful piece of software there with Gradio. So number 6 is GitHub Copilot, blessing or curse? And this is a blog post by the great and powerful Jeremy Howard, creator and teacher of fast.ai. So long story short, he got access to GitHub Copilot. GitHub Copilot, we saw this in Machine Learning Monthly last month. Basically, a lot of the videos that you might have seen on Google, I mean GitHub Copilot, is that it's gonna replace programmers. And now sure, okay, it can write a fair bit of code, but the beautiful thing about Jeremy's blog post, it kind of argues the other side of it, the, the downfalls of GitHub Copilot. The paper on Codex, the algorithm which powers GitHub Copilot, only gives the correct answer 29% of the time. However, it does allow you to write a lot of code quite quickly. So if we have a look at Python, but if you've ever written a lot of code or if you, you've, you've been in programming for a few years, you know that a lot of your time isn't always spent just writing out code. It's thinking, it's reading, it's looking up documentation, it's trying to find something, a better way of doing things, it's why is it like that. So you're not always just hacking away and typing things in the keyboard. In fact, I would argue when I'm coding, about only 20% of my time I'm actually writing things. The rest is researching, writing, rewriting, And so Jeremy argues that the GitHub Copilot kind of like, it pushes you towards writing more and more code. And as you know, if you've written code for a while, means more code means you have to maintain more code. So Jeremy breaks it down into designing, debugging, and maintaining. And there's also another thing here is that in one example, Jeremy notes that Copilot suggested using regex, so Python regex, for a problem which couldn't be solved with regex. So if you imagine GitHub Copilot has been trained on all of GitHub, so that means as well as really good code that's within GitHub, it also contains examples of average or poor code. So, or in fact, code that can't actually be used for a specific problem. Now I've got it here. Jeremy also brings up— now, yeah, I've stated here explicitly, this is a phenomenal innovation. Not taking any away. However, it does take advantage of our inherent biases. So ours in humans of automatic decisions. So we tend to favor if Co-pilot, I've got so many co words in my head. Co-pilot makes a code decision for us, we're more likely to favor that because it was already made. We didn't have to make that decision. And anchoring, if it writes poor code or something that doesn't work, we kind of want to stick with it instead of changing it. It's like when you write a beautiful blog post, it's harder to delete things than it is not to write them in the first place. So beautiful, beautiful piece. Go and check it out. Oh, and finally, I need to reiterate this line. I'm a big fan of Jeremy's advice for improving at code. The best ways to get better at coding are to read code and to write code. Nice and simple. Go check that out on the fast.ai blog. And to finish off, number 7. I told you it's 7 beautiful resources. 7 is a wonderful number. "Hand Labeling Data Considered Harmful." This is a great piece by Shayan Mohanty and Hugo Brown-Anderson, who are titans in the world of data. But it goes on to describe, we're traveling through the era of Software 2.0. We've seen this a few times in Machine Learning Monthly. This is an article by Andrej Karpathy. Highly, highly recommend reading this article as well. But this goes into saying, What are the issues with hand-labelling data? So of course, when we're creating supervised machine learning datasets, that means you have data and you have labels. The gold standard is to, to have that set up. That's supervised learning in a nutshell. However, to create that data and labels often requires a lot of resources. So for example, ImageNet. ImageNet has a label error rate of 5.8%. So this is another point with this article. ImageNet is a collection of about a million images, but it took, it took something like, oh my gosh, ads. Look at, have you ever been to a news website lately? You just can't even read the article up. That's a rant for another time. I just want text on a page. Is that so hard to give me? The issues with handling Mandela takes a lot of people. And of course, what happens when you have a lot of people, not all of them are going to be on the same page. And then even then, even if they are on the same page, what happens? Well, there's going to be some error rate. ImageNet is probably the, the computer vision benchmark, but it has an error rate of nearly 6%. So that means 6% of the labels, or if it's a million labels, 60,000 of them are wrong. And so now they also go into talk about different techniques which are used currently to improve hand labeling, which is semi-supervised learning, weak supervision, transfer learning, active learning, self-supervised learning. I'm going to throw that in here. Self-supervised learning, whole plethora of resources on that. What is self-supervised learning? Facebook AI. Oh, here we go. This is what we covered in a previous Machine Learning Monthly. I'd go read this article if you want to learn about self-supervised learning, highly recommend. And then they go down to discuss systems, which how hand labels can lead to algorithmic bias, because of course a machine learning model doesn't necessarily look at labels and go, hmm, there's some bias in that label. It just learns the relationship between the data and the label. And so if there's some sort of bias in that, like racism bias, or people who are underrepresented, or something like that, or errors, whatever, what's the model going to do? It's going to amplify them at scale because that's what machine learning models do. They just learn the relationship between data and labels. And so we keep going. This is a great article, but I like the fact that it's Where's the question point? There's a conclusion point in here. Question. Yeah. The key question here with all these new techniques, such as self-supervised learning, weak supervision, active learning, they conclude, should I hand label my training data or should I label it programmatically? Programmatically meaning using an algorithm to help you label the data, such as a self-supervised learning algorithm, like SimCLR. That's a self-supervised learning algorithm. It should instead be, which parts of my data should I hand label and which parts should I label programmatically? And that's— I'm excited. I'm— no secrets, no secrets. I'm not going to say anything, but let's just say I've got a lot of cool things planned for the future. So this is something I'm excited to explore. Go read through this article if you're interested in the— just the way to think about hand labeling, because If you're like me, you've learned a lot about machine learning by writing algorithms on datasets that you haven't created yourself. So it's really important, I feel like, if you want to become a full-stack machine learning engineer, to have— to touch on each of the different points. And so we've covered a lot of that with the labeling data here in this issue, the deploying and demoing your machine learning models. So rather than just building the model, it's now time to— this is where I'm going, right? It's time to go get involved with the data itself, get involved with the model, and get involved with launching it and getting it into the hands of others. So a beautiful issue of Machine Learning Monthly this, uh, this month. Leave a comment below of what was your, what was your favorite. Do a little dance in light of the Hugging Face NLP course. And there is one more bonus: Comic-Con. Here we go. Go and check out this video. They've just built a new piece of hardware, which is the Comma 3, which is— you can retroactively fit— where is it? Am I going to be able to find this? Let's just go to their website, comma.ai. You can retroactively fit, uh, this device to your car, and it will help turn your car, uh, almost whatever model, relatively new model, into or give it, it will give you a bunch of self-driving features. So I really like this team. They're so exciting. They're so inspiring. Uh, George Hotz is there. If you've ever heard of him, was the first person to jailbreak the iPhone, or at least publicly do it. And it's just an amazing team. It's so good to see excited and smart people going, hey, here's what we're building. Come along and enjoy the ride with us if you want. So highly recommend that. That's a little bit of a Sugar on the Porridge for Machine Learning Monthly July 2021. If you'd like to have the next issue delivered to your inbox, you can subscribe. It's free. It'll come in there. The video version will come a little bit after. And if you'd like to see your own work in Machine Learning Monthly, please send me an email to daniel@mrdbourke.com with the subject title Machine Learning Monthly Submission. And hey, you might see yourself on here. All right, but you got to be, you got to be aware I'm going to be throwing out little dance moves and showcasing your work. So thank you for watching, and as always, keep learning, keep creating, keep machine learning, and keep dancing.
More from Daniel

Small Language Models (SLMs) Are the Future: Fine-Tuning AI That Runs on Your iPhone

Introducing Sunny - A MedGemma-Powered Skin Health Tracking App (Kaggle Competition Entry)

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 4 - Comparing the results

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 3 - Running LLMs on the RTX 4090

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 2 - Formalizing the tests

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 1 - Creating a series of tests

Local Multimodal RAG on the NVIDIA DGX Spark | Part 4 - Publishing our demo to Hugging Face

Local Multimodal RAG on the NVIDIA DGX Spark | Part 3 - Putting it all together


