🚀 Putting ML in Production

A guide and code-driven case study on MLOps for software engineers, data scientists and product managers. We will be developing and deploying Made With ML's first ML service, from Product → ML → Production, with open source tools.

What is it?

Ironically, Made With ML isn’t made with any ML yet (always go manual before ML) but now we have the data (3K quality projects) to apply ML and automate the tedious bits. 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.
Curriculum

Click on each lesson to see the topics that will be covered or click to toggle all lessons.

    • Objective
    • Solutions (UX, technical)
    • Constraints (performance, compute)
    • Evaluation
    • Iteration
    • Reassessment
    • Collection
    • Annotation
    • Exploratory data analysis
    • Splitting
    • Preprocessing
    • Augmentation
    • Versioning
    • Privacy
    • Bias
    • Baselines
    • Experiment tracking
    • Evaluation
    • Constraints
    • Inspection
    • Optimization
    • Inference
    • OOPs
    • Environments
    • Debugger
    • Logging
    • Testing
    • Styling
    • Makefile
    • Precommit
    • Git
    • FastAPI
    • Databases
    • Authentication
    • Docker
    • Documentation
    • Serving
    • Environments
    • Monitoring (performance, drift)
    • CI/CD (GitHub actions)
    • Active learning
    • Scaling
Structure
  • Lessons will be released weekly and will entail a YouTube video and an article.
  • Every lesson will include:
    • Intuition: high level overview of the concepts that will be covered and how it all fits together.
    • 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 for difference situations.
What makes this course unique?
  • 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. Unfortunately, you don’t see a lot of the inner workings of running production ML because of scale, proprietary content & expensive tools. However, Made With ML is free, open and live which makes it a perfect learning opportunity for the community.
  • 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.
  • 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.
  • 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. 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.
  • Open source tools: We will be using only open source tools for this project, with the exception of Google Cloud Platform for storage and compute (free credit will be plenty). The reason we're constraining to open source tools is because:
    1. We can focus on the fundamentals, everyone can do it and you will have much better understanding when you do 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.

📚 Lessons

First lesson (product) releases next week on YouTube! And subsequent lessons will follow a weekly cadence. Be sure to follow on Twitter or LinkedIn for updates, discussions and feedback because I'll be creating the course content dynamically using the community's feedback.

👤 Author

Qualifications
  • 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.
  • I created Made With ML 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 15K monthly active users.
  • You can learn more at my personal website or LinkedIn.

❓ FAQ

Why is this free?
  • Personal reason: Everything has been free at Made With ML so far. Every day, over 5K unique visitors explore the amazing work from the community to learn from and eventually contribute themselves. To stay consistent with this spirit, I'm releasing this free course to pass on the lessons I've learned from my mentors and experiences.
  • Societal reason: This is especially targeted for people who don't have as much opportunity around the world. 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 machine learning algorithms. While we will be experimenting with complex model architectures, you can easily apply the lessons to any class of ML models.

How do I stay updated for new lessons?

Stay updated by following me on Twitter or LinkedIn because I'll be sharing new releases there but also we'll be having discussions about content.

Table of Contents
Authors
AI Research @apple. Author @oreillymedia. ML Lead @Ciitizen. Alum @hopkinsmedicine and @gatech
Share