ЁЯФе Putting ML in Production! We're going to publicly develop @madewithml's first ML service. Here is the broad curriculum:

- ЁЯУж Product
- ЁЯФв Data
- ЁЯдЦ Modeling
- ЁЯУЭ Scripting
- ЁЯЫа API
- ЁЯЪА Production

More details (lessons, task, etc.) here: https://t.co/xmMm9XGK9j

Thread ЁЯСЗ

Questions that this thread will answer:

- What is it?
- Who is this course for?
- What is the format?
- What makes this course unique?
- Why constrain to open source tools?
- What are my qualifications?
- Why is this free?
- What are the prerequisites?

https://t.co/xmMm9XGK9j
What is it?

Putting ML in Production: a guide and code-driven case study on MLOps. We will be developing and deploying Made With ML's first ML service, from Product тЖТ ML тЖТ Production, with open source tools.
This ML service will act as a foundation for all future ML features and subsequent iterations. The first feature is tagifai - multilabel classification of tags for a project. We'll discuss the need and utility of this feature in the first lesson.
Who is this course for?

- ML developers looking to become end-to-end ML developers.
- Software engineers looking to learn how to responsibly deploy and monitor ML systems.
- Product managers who want to have a comprehensive understanding of the different stages of ML dev.
What is the format of each lesson?

- Intuition: high level overview of the concepts.
- Code: simple code examples to illustrate the concept.
- Application: applying the concept to our specific task.
- Extensions: brief look at other tools and techniques that will be useful.
What makes this course unique?

1. Hands-on
2. Intuition-first
3. Software engineering
4. Focused yet holistic
5. Open source tools
1. Hands-on:

If you search production ML or MLOps online, you'll find great blog posts and tweets. But in order to really understand these concepts, you need to implement them.
2. Intuition-first:

We will never jump straight to code. In every lesson, we will develop intuition for the concepts and think about it from a product perspective.
3. Software engineering:

This course isn't just about ML. In fact, it's mostly about clean software engineering! We'll cover important concepts like versioning, testing, logging, etc. that really makes this a production-grade product.
4. Focused yet holistic:

For every concept, we'll not only cover what's most important for our specific task (this is the case study aspect) but we'll also cover related methods (this is the guide aspect) which may prove to be useful in other situations.
4. (cont.) For example, when we're serving our application, we'll expose our latest model as an API endpoint. However, there are several other popular ways to serving models and we'll briefly illustrate those and talk about advantages / disadvantages.
5. Open source tools:

We will be using only open source tools for this project, with the exception of @googlecloud for storage and compute (free credit will be plenty).
Why constrain to open source tools?

1. We can focus on the fundamentals, everyone can participate (single player mode as my friend @eugeneyan coined) and you will have much better understanding when you do finally use a paid tool at work (if you want to).
2. Large companies that deploy ML to production have complicated and scaled processes that donтАЩt make sense for the vast majority of companies / individuals.
Note: I will regularly make suggestions for tools (other open source, freemium and paid) as we progress because they each have their unique advantages.
For example, for data versioning and experiment tracking, we'll use @DVCorg + @MLflow but we'll also highlight why you may consider @weights_biases or @Cometml because itтАЩs important to know about them and what they each bring to the table.
My qualifications for teaching this:

1. I've deployed large scale ML systems at @Apple as well as smaller systems with constraints at startups and want to share the common principles I've learned along the way.
2. I created @madewithml so that the community can explore, learn and build ML and I learned how to build it into an end-to-end product that's currently used by over 5K daily active users.
You can learn more at my personal website or LinkedIn.

LinkedIn: https://t.co/xWmPKz53vw
Personal website: https://t.co/NpLSczadPn
Why is this free?

1. Personal reason: Every day, people explore the amazing work on @madewithml to learn from and contribute themselves. To stay consistent with this free spirit, I'm releasing this free course to pass on the lessons I've learned from my mentors and experiences.
2. Societal reason: This is especially targeted for people who don't have as much opportunity around the ЁЯМН. I firmly believe that creativity and intelligence are randomly distributed but opportunity is siloed. I want to enable more people to create and contribute to innovation.
What are the prerequisites?

- You should have some familiarity with Python and basic ML algorithms. While we will be experimenting with deep learning (w.r.t compute/performance tradeoffs), you can easily apply the lessons to any class of ML models.

https://t.co/V35zXocadQ
The course hasn't even begun yet but there's already quite a few friends to thank for helping me thinking through some of this. We'll be referring to their work throughout the course. @josh_tobin_ @jeremyjordan @eugeneyan @nlpguy_ @MLinProduction @FullStackML
First lesson releases next week (ЁЯУж Product) & subsequent lessons will follow a weekly cadence. Be sure to follow me or @madewithml for updates, discussions & feedback because I'll be creating the course content dynamically using the community's feedback.

https://t.co/cmTTeALWz1

More from Data science

To my JVM friends looking to explore Machine Learning techniques - you donтАЩt necessarily have to learn Python to do that. There are libraries you can use from the comfort of your JVM environment. ЁЯз╡ЁЯСЗ

https://t.co/EwwOzgfDca : Deep Learning framework in Java that supports the whole cycle: from data loading and preprocessing to building and tuning a variety deep learning networks.

https://t.co/J4qMzPAZ6u Framework for defining machine learning models, including feature generation and transformations, as directed acyclic graphs (DAGs).

https://t.co/9IgKkSxPCq a machine learning library in Java that provides multi-class classification, regression, clustering, anomaly detection and multi-label classification.

https://t.co/EAqn2YngIE : TensorFlow Java API (experimental)
Wellll... A few weeks back I started working on a tutorial for our lab's Code Club on how to make shitty graphs. It was too dispiriting and I balked. A twitter workshop with figures and code:


Here's the code to generate the data frame. You can get the "raw" data from https://t.co/jcTE5t0uBT


Obligatory stacked bar chart that hides any sense of variation in the data


Obligatory stacked bar chart that shows all the things and yet shows absolutely nothing at the same time


STACKED Donut plot. Who doesn't want a donut? Who wouldn't want a stack of them!?! This took forever to render and looked worse than it should because coord_polar doesn't do scales="free_x".

You May Also Like

рд╢рдорд╢рд╛рди рдореЗрдВ рдЬрдм рдорд╣рд░реНрд╖рд┐ рджрдзреАрдЪрд┐ рдХреЗ рдорд╛рдВрд╕рдкрд┐рдВрдб рдХрд╛ рджрд╛рд╣ рд╕рдВрд╕реНрдХрд╛рд░ рд╣реЛ рд░рд╣рд╛ рдерд╛ рддреЛ рдЙрдирдХреА рдкрддреНрдиреА рдЕрдкрдиреЗ рдкрддрд┐ рдХрд╛ рд╡рд┐рдпреЛрдЧ рд╕рд╣рди рдирд╣реАрдВ рдХрд░ рдкрд╛рдпреА рдФрд░ рдкрд╛рд╕ рдореЗрдВ рд╣реА рд╕реНрдерд┐рдд рд╡рд┐рд╢рд╛рд▓ рдкреАрдкрд▓ рд╡реГрдХреНрд╖ рдХреЗ рдХреЛрдЯрд░ рдореЗрдВ рдЕрдкрдиреЗ рддреАрди рд╡рд░реНрд╖ рдХреЗ рдмрд╛рд▓рдХ рдХреЛ рд░рдЦ рдХреЗ рд╕реНрд╡рдпрдВ рдЪрд┐рддрд╛ рдкреЗ рдмреИрда рдХрд░ рд╕рддреА рд╣реЛ рдЧрдпреА редрдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЛрд╖реА рджрдзреАрдЪрд┐ рдФрд░ рдЙрдирдХреА рдкрддреНрдиреА рдХреА рдореБрдХреНрддрд┐ рд╣реЛ рдЧрдпреАред


рдкрд░рдиреНрддреБ рдкреАрдкрд▓ рдХреЗ рдХреЛрдЯрд░ рдореЗрдВ рд░рдЦрд╛ рдмрд╛рд▓рдХ рднреВрдЦ рдкреНрдпрд╛рд╕ рд╕реЗ рддрдбрд╝рдкрдиреЗ рд▓рдЧрд╛ред рдЬрдм рдХреБрдЫ рдирд╣реАрдВ рдорд┐рд▓рд╛ рддреЛ рд╡реЛ рдХреЛрдЯрд░ рдореЗрдВ рдкрдбрд╝реЗ рдкреАрдкрд▓ рдХреЗ рдЧреЛрджреЛрдВ (рдлрд▓) рдХреЛ рдЦрд╛рдХрд░ рдмрдбрд╝рд╛ рд╣реЛрдиреЗ рд▓рдЧрд╛ред рдХрд╛рд▓рд╛рдиреНрддрд░ рдореЗрдВ рдкреАрдкрд▓ рдХреЗ рдлрд▓реЛрдВ рдФрд░ рдкрддреНрддреЛрдВ рдХреЛ рдЦрд╛рдХрд░ рдмрд╛рд▓рдХ рдХрд╛ рдЬреАрд╡рди рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣рд╛ред

рдПрдХ рджрд┐рди рджреЗрд╡рд░реНрд╖рд┐ рдирд╛рд░рдж рд╡рд╣рд╛рдВ рд╕реЗ рдЧреБрдЬрд░ рд░рд╣реЗ рдереЗ редрдирд╛рд░рдж рдиреЗ рдкреАрдкрд▓ рдХреЗ рдХреЛрдЯрд░ рдореЗрдВ рдмрд╛рд▓рдХ рдХреЛ рджреЗрдЦ рдХрд░ рдЙрд╕рдХрд╛ рдкрд░рд┐рдЪрдп рдорд╛рдВрдЧрд╛ -
рдирд╛рд░рдж рдмреЛрд▓реЗ - рдмрд╛рд▓рдХ рддреБрдо рдХреМрди рд╣реЛ?
рдмрд╛рд▓рдХ - рдпрд╣реА рддреЛ рдореИрдВ рднреА рдЬрд╛рдирдирд╛ рдЪрд╣рддрд╛ рд╣реВрдБ ред
рдирд╛рд░рдж - рддреБрдореНрд╣рд╛рд░реЗ рдЬрдирдХ рдХреМрди рд╣реИрдВ?
рдмрд╛рд▓рдХ - рдпрд╣реА рддреЛ рдореИрдВ рднреА рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ ред

рддрдм рдирд╛рд░рдж рдиреЗ рдЖрдБрдЦреЗрдВ рдмрдиреНрдж рдХрд░ рдзреНрдпрд╛рди рд▓рдЧрд╛рдпрд╛ ред


рддрддреНрдкрд╢реНрдЪрд╛рдд рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛ рдХрд░ рдмрд╛рд▓рдХ рдХреЛ рдмрддрд╛рдпрд╛ рдХрд┐ 'рд╣реЗ рдмрд╛рд▓рдХ! рддреБрдо рдорд╣рд╛рди рджрд╛рдиреА рдорд╣рд░реНрд╖рд┐ рджрдзреАрдЪрд┐ рдХреЗ рдкреБрддреНрд░ рд╣реЛ ред рддреБрдореНрд╣рд╛рд░реЗ рдкрд┐рддрд╛ рдХреА рдЕрд╕реНрдерд┐рдпреЛрдВ рдХрд╛ рд╡рдЬреНрд░рд╛рд╕реНрддреНрд░ рдмрдирд╛рдХрд░ рд╣реА рджреЗрд╡рддрд╛рдУрдВ рдиреЗ рдЕрд╕реБрд░реЛрдВ рдкрд░ рд╡рд┐рдЬрдп рдкрд╛рдпреА рдереАредрддреБрдореНрд╣рд╛рд░реЗ рдкрд┐рддрд╛ рдХреА рдореГрддреНрдпреБ рдорд╛рддреНрд░ 31 рд╡рд░реНрд╖ рдХреА рд╡рдп рдореЗрдВ рд╣реА рд╣реЛ рдЧрдпреА рдереА'ред

рдмрд╛рд▓рдХ - рдореЗрд░реЗ рдкрд┐рддрд╛ рдХреА рдЕрдХрд╛рд▓ рдореГрддреНрдпреБ рдХрд╛ рдХреНрдпрд╛ рдХрд╛рд░рдг рдерд╛?
рдирд╛рд░рдж - рддреБрдореНрд╣рд╛рд░реЗ рдкрд┐рддрд╛ рдкрд░ рд╢рдирд┐рджреЗрд╡ рдХреА рдорд╣рд╛рджрд╢рд╛ рдереАред
рдмрд╛рд▓рдХ - рдореЗрд░реЗ рдЙрдкрд░ рдЖрдпреА рд╡рд┐рдкрддреНрддрд┐ рдХрд╛ рдХрд╛рд░рдг рдХреНрдпрд╛ рдерд╛?
рдирд╛рд░рдж - рд╢рдирд┐рджреЗрд╡ рдХреА рдорд╣рд╛рджрд╢рд╛ред
рдЗрддрдирд╛ рдмрддрд╛рдХрд░ рджреЗрд╡рд░реНрд╖рд┐ рдирд╛рд░рдж рдиреЗ рдкреАрдкрд▓ рдХреЗ рдкрддреНрддреЛрдВ рдФрд░ рдЧреЛрджреЛрдВ рдХреЛ рдЦрд╛рдХрд░ рдмрдбрд╝реЗ рд╣реБрдП рдЙрд╕ рдмрд╛рд▓рдХ рдХрд╛ рдирд╛рдо рдкрд┐рдкреНрдкрд▓рд╛рдж рд░рдЦрд╛ рдФрд░ рдЙрд╕реЗ рджреАрдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ред
IтАЩm torn on how to approach the idea of luck. IтАЩm the first to admit that I am one of the luckiest people on the planet. To be born into a prosperous American family in 1960 with smart parents is to start life on third base. The odds against my very existence are astronomical.


IтАЩve always felt that the luckiest people I know had a talent for recognizing circumstances, not of their own making, that were conducive to a favorable outcome and their ability to quickly take advantage of them.

In other words, dumb luck was just that, it required no awareness on the personтАЩs part, whereas тАЬsmartтАЭ luck involved awareness followed by action before the circumstances changed.

So, was I тАЬluckyтАЭ to be born when I wasтАФnothing I had any control overтАФand that I came of age just as huge databases and computers were advancing to the point where I could use those tools to write тАЬWhat Works on Wall Street?тАЭ Absolutely.

Was I lucky to start my stock market investments near the peak of interest rates which allowed me to spend the majority of my adult life in a falling rate environment? Yup.