🔥 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

I have always emphasized on the importance of mathematics in machine learning.

Here is a compilation of resources (books, videos & papers) to get you going.

(Note: It's not an exhaustive list but I have carefully curated it based on my experience and observations)

📘 Mathematics for Machine Learning

by Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong

https://t.co/zSpp67kJSg

Note: this is probably the place you want to start. Start slowly and work on some examples. Pay close attention to the notation and get comfortable with it.


📘 Pattern Recognition and Machine Learning

by Christopher Bishop

Note: Prior to the book above, this is the book that I used to recommend to get familiar with math-related concepts used in machine learning. A very solid book in my view and it's heavily referenced in academia.


📘 The Elements of Statistical Learning

by Jerome H. Friedman, Robert Tibshirani, and Trevor Hastie

Mote: machine learning deals with data and in turn uncertainty which is what statistics teach. Get comfortable with topics like estimators, statistical significance,...


📘 Probability Theory: The Logic of Science

by E. T. Jaynes

Note: In machine learning, we are interested in building probabilistic models and thus you will come across concepts from probability theory like conditional probability and different probability distributions.
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

“We don’t negotiate salaries” is a negotiation tactic.

Always. No, your company is not an exception.

A tactic I don’t appreciate at all because of how unfairly it penalizes low-leverage, junior employees, and those loyal enough not to question it, but that’s negotiation for you after all. Weaponized information asymmetry.

Listen to Aditya


And by the way, you should never be worried that an offer would be withdrawn if you politely negotiate.

I have seen this happen *extremely* rarely, mostly to women, and anyway is a giant red flag. It suggests you probably didn’t want to work there.

You wish there was no negotiating so it would all be more fair? I feel you, but it’s not happening.

Instead, negotiate hard, use your privilege, and then go and share numbers with your underrepresented and underpaid colleagues. […]