मुख्य सामग्री पर जाएँ

Becoming a Kaggle Grandmaster

Jean-Francois Puget is a Distinguished Engineer at NVIDIA and a 3x Kaggle Grandmaster. We talk competitive machine learning and computing on GPUs.
· 50 मि॰ पढ़ें
Jean-Francois Puget PhD

अतिथि

Jean-Francois Puget PhD

Jean-Francois got a PhD in machine learning in the previous millennium. Given the AI winter at the time he worked for a while on mathematical optimization software as dev manager for CPLEX in a startup. He came back to Machine Learning when IBM acquired the startup. Since then he discovered Kaggle and became one of the best Kagglers in the world. He joined NVIDIA 3 years ago and leads the NVIDIA Kaggle Grandmaster team there. He's speaking at the NVIDIA GTC Conference.

Adel Nehme

होस्ट

Adel Nehme

Adel is a Data Science educator, speaker, and VP of Media at DataCamp. Adel has released various courses and live training on data analysis, machine learning, and data engineering. He is passionate about spreading data skills and data literacy throughout organizations and the intersection of technology and society. He has an MSc in Data Science and Business Analytics. In his free time, you can find him hanging out with his cat Louis.

Key Quotes

I strongly believe ML is science. It's an experimental science, like parts of physics. So I approach a Kaggle competition with a scientific approach, and everything is an experiment. So for instance, if I have an idea for a new data processing process, a new feature or new model architecture, I must have a baseline, something I know I can trust. From there I can run an experiment with the new data processing or new model architecture change. 

I run my experiment, and then I look at the results. Is it better or worse? Sometimes I dig a bit in the output to figure out where it is better, where it is worse, and from there I move. I accept the change and it becomes the new baseline etc. 
For this you need to have what we call a good cross validation, so the bread and butter of practical ML is cross validation. The point is, you split your training data, you keep some of it to validate your model, you train on the rest, and when it is trained, you predict on the validation, and you compare with the ground truth, with the target. 

You should never evaluate your model on the training data, that’s one of the most common errors I see. It’s surprisingly common. 

The real point is, evaluate your assumptions, evaluate your modifications. You have to be consistent with running experiments.

Someone I know did a customer churn problem for a subscription company. The model was predicting which customers were most likely to not renew their subscription. So what did they do? So then they say okay, let's run the model on the customer base, and we'll have the calls from the support team, to the people most at risk to propose to them a rebate. The problem is many calls went like this: 

“Hello Customer. I'm from company X” 
“Great, I wanted to cancel my subscription.” 

So in fact, they accelerated the subscription churn because they targeted the right people, but not with the right answer. So this is an extreme, but it really highlights why focussing on how you use your model is as important as getting accurate results. Assume your data is good. How do you use it effectively to improve the business?

Key Takeaways

  1. Approach machine learning problems with scientific rigor, understand your baselines and ground truths, and test your hypothesis’ one by one to clearly understand what effect your experiment has on your result

  2. Kaggle competitions are useful for approaching problems in a way that might be different from how you would approach them in a work setting, it breeds innovation through freedom

  3. Always keep the business problem top of mind when creating and iterating on your machine learning work, ask yourself “If my predictions are 100% accurate, what effect will they have on the business problem?”

प्रतिलेख

Richie Cotton: 
Welcome to Data Framed. This is Richie. Today's guest is Jean Francois Pujet PhD, a distinguished engineer at NVIDIA. In this episode, we've got two topics to cover. That means we'll be talking about doing data science with the NVIDIA stack, meaning computing with GPU's, but we'll also get into the software that acc.
Jean-Francois' claim to fame is that he's been in the top 10 of the Kaggle machine learning competition leaderboard for the last few years. So we'll delve into the world of competitive machine learning to see how to become a grand master. 
Hi, Jean Francois. Thank you for joining me today. Just to begin with, can you tell the audience a little bit about what you do and what it means to be a distinguished engineer?

Jean-Francois Puget: 
People believe that to get more influence, better compensation, whatever you need to move to management. While in some tech companies, including NVIDIA, was true at IBM, my previous employer they let people grow as individual contributors.
So distinguished engineer means I'm a good individual contributor. I manage a small team of individual contributors, but it does not take me a real time. So what I do, mostly machine learning models. Be it as part of machine learning competitions and Kaggle, for instance, to showcase NVIDIA Stack and NVIDIA as a brand maybe but also for internal projects or NVIDIA partners.
But my job is to build good, possibly good machine learning models.

Richie Cotton: 
And can you give some examples of different projects

विषय

संबंधित

ब्लॉग

An Interview with François Chollet

पॉडकास्ट

Kaggle and the Future of Data Science

पॉडकास्ट

Deep Learning at NVIDIA