0.0. Course
What will this course teach you?
Welcome to the MLOps Coding Course designed to bring your AI/ML programming level from basic notebooks to production-grade codebase. Throughout this journey, you will learn:
- How to build and deploy production ready software artifacts.
- Transitioning from prototyping in notebooks to structured Python packages.
- Enhancing code reliability and maintainability through linting and testing.
- Streamlining repetitive tasks using automation, locally and through CI/CD pipelines.
- Adopting best practices to develop versatile and resilient AI/ML codebases.
Why enroll in this course?
The intersection of AI and ML with software applications is becoming increasingly complex, requiring management of models, datasets, and code. This course aims to bridge the knowledge gap between software engineers and data scientists, empowering you to efficiently navigate and manage AI/ML projects.
A key focus is the shift from using notebooks for production, which often lack rigorous software development practices, to a structured codebase. This transition is crucial for tackling production challenges, encouraging better collaboration, and advancing your MLOps capabilities.
Is there a fee for this course?
We offer this course at no cost, under the Creative Commons Attribution 4.0 International license. This means you can adapt, share, and even use the content for commercial purposes, provided you attribute the original authors.
Additionally, for those seeking a deeper understanding, we provide extra support options, including personal mentoring sessions and access to online assistance.
What should you know before starting?
To get the most out of this course, you should have:
- A good understanding of Python including loops, conditionals, functions, and classes.
- Familiarity with terminal commands for software installation, following README guides, and launching applications.
- Basic knowledge in data science, including data exploration, feature engineering, model training and tuning, and performance evaluation.
What skills will you acquire?
The course is divided into six in-depth chapters, each focusing on different facets of coding and project management skills:
- Initializing: Go through the necessary tools and platforms for your development environment.
- Prototyping: Start with notebooks to dive into data science projects and pinpoint viable solutions.
- Productionizing: Transform your prototype into a neatly organized Python package, complete with scripts, configurations, and documentation.
- Validating: Adopt practices like typing, linting, testing, and logging to refine code quality.
- Refining: Leverage advanced software development techniques and tools to polish your project.
- Sharing: Foster a productive team environment for effective contributions and communication.
- Observability: Implement tools and practices for monitoring your data, models, and infrastructure.
What's beyond the scope of this course?
While this course provides a solid basis in managing AI/ML code bases, it does not enter into the specificity of the different MLOps platforms like SageMaker, Vertex AI, Azure ML, or Databricks. Vendor courses already cover these end-to-end platforms in length. Instead, this course focuses on core principles and practices that are universally applicable, whether you're working on-premise, cloud-based, or in a hybrid setting.
How much time do you need to complete this course?
The time required to complete this course varies based on your prior experience and familiarity with the covered tools and practices. If you're already comfortable with tools like Git or VS Code, you may progress faster. The course philosophy encourages incremental improvement following the "make it done, make it right, make it fast" mantra, encouraging you to begin with a functional project version and steadily refine it for better quality and efficiency.