From 1c6ad31fb330f88e6e685075b20ab10a75bb32bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9d=C3=A9ric=20Hurier=20=28Fmind=29?= Date: Sat, 23 Mar 2024 10:49:45 +0100 Subject: [PATCH] 0.0 done --- docs/0. Overview/0.0. Course.md | 48 ++++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/docs/0. Overview/0.0. Course.md b/docs/0. Overview/0.0. Course.md index d41ee47..a0b0cdf 100644 --- a/docs/0. Overview/0.0. Course.md +++ b/docs/0. Overview/0.0. Course.md @@ -2,12 +2,54 @@ ## What is this course about? +This course tackles the challenge of creating robust Python code base to industrialize AI/ML projects: +- Building and delivering software artifacts for production environments. +- Transitioning from prototyping in notebooks to structured Python packages. +- Enhancing code quality through linting and testing tools. +- Automating routine tasks, either locally or via CI/CD pipelines. +- Implementing best practices to establish a flexible yet sturdy AI/ML codebase. + ## How much does this course cost? -## Why should I pursue this course? +This course is offered free of charge and is licensed under the Creative Commons Attribution 4.0 International license. This allows you to modify, distribute, and even use the course for commercial purposes, provided you credit the original authors. + +Additionally, we offer supplementary services to aid in your course completion, including [personal or group mentoring sessions](0.4. Mentoring.md) and [online assistants](0.5. Assistants.md). + +## Why should I enroll in this course? + +As Machine Learning (ML) and Artificial Intelligence (AI) become increasingly integral to software applications, the complexity of managing these projects escalates. Developers must navigate the challenges of dealing with AI/ML models, managing large datasets, and organizing sophisticated code bases. + +There's a noticeable divide in the industry between software developers with limited data science expertise and data scientists with minimal software development experience. This course aims to bridge this gap, empowering you to excel as a Machine Learning Engineer capable of efficiently delivering AI/ML projects into production. + +A critical aspect of this is coding. The prevalent use of notebooks in production is far from ideal, lacking in robust software practices and integration capabilities. Learning to organize AI/ML code bases properly can help you avoid production issues, ease contributor collaboration, and enhance your MLOps maturity. + +## What are the course's prerequisites? + +To fully benefit from this course, you should have: -## What are the course prerequisites? +1. A foundational understanding of Python, including loops, conditions, functions, and classes. +1. Basic familiarity with terminal operations, such as installing software, following README instructions, and launching applications. +1. An introductory knowledge of data science, covering data exploration, feature engineering, hyperparameter tuning, model training, and evaluation. ## What will I learn with this course? -## How much time does this course take to complete? \ No newline at end of file +The course unfolds across six comprehensive chapters, each designed to progressively refine your coding and project management skills: + +1. [Initializing](../1. Initializing/): Set up your development environment with Python, pyenv, Poetry, git, GitHub, and VS Code. +1. [Prototyping](../2. Prototyping/): Begin with a notebook to explore your data science project and identify viable solutions. +1. [Refactoring](../3. Refactoring/): Transform your prototype notebook into a structured Python package, complete with scripts, configurations, and documentation. +1. [Validating](../4. Validating/): Integrate typing, linting, testing, logging, and other practices to bolster your code's robustness. +1. [Refining](../5. Refining/): Employ advanced software techniques, including design patterns, task automation, containers, and model registries. +1. [Collaborating](../6. Collaborating/): Establish collaboration frameworks to facilitate contributions and communicate changes effectively. + +## What will I NOT learn with this course? + +This course focuses on the foundational aspects of organizing AI/ML projects without delving into specific MLOps platforms such as SageMaker, Vertex AI, Azure ML, or Databricks. + +It provides a solid base for your MLOps processes, adaptable to any platform, whether it be on-premises, cloud-based, or a hybrid model. + +## How much time does this course take to complete? + +The time required to complete this course varies based on your initial skill level. Familiarity with tools like git or VS Code may influence your learning curve. To optimize your experience, we advise focusing on new content and bypassing familiar topics. + +The course philosophy—"make it done, make it right, make it fast"—encourages a stepwise approach: start with a basic, functional version of your project, then iteratively apply best practices to enhance code quality. \ No newline at end of file