diff --git a/img/mlflow-model-registry.png b/img/mlflow-model-registry.png new file mode 100644 index 0000000..4739f38 Binary files /dev/null and b/img/mlflow-model-registry.png differ diff --git a/img/mlflow-models.png b/img/mlflow-models.png new file mode 100644 index 0000000..449c424 Binary files /dev/null and b/img/mlflow-models.png differ diff --git a/img/mlflow-overview.png b/img/mlflow-overview.png new file mode 100644 index 0000000..802dfac Binary files /dev/null and b/img/mlflow-overview.png differ diff --git a/img/mlflow-tracking.png b/img/mlflow-tracking.png new file mode 100644 index 0000000..91e0878 Binary files /dev/null and b/img/mlflow-tracking.png differ diff --git a/img/mlops.png b/img/mlops.png new file mode 100644 index 0000000..e3dec08 Binary files /dev/null and b/img/mlops.png differ diff --git a/index.qmd b/index.qmd index 19981a4..647a223 100644 --- a/index.qmd +++ b/index.qmd @@ -910,3 +910,90 @@ Source : [k21academy.com](https://k21academy.com/docker-kubernetes/docker-and-ku # MLOps +## Motivation + +- Intégrer : + - les [**principes DevOps**]{.orange} + - les [**spécificités**]{.orange} des projets de ML + +. . . + +![](img/mlops.png){fig-align="center" height=400} + +## MLOps : principes + +- [**Reproductibilité**]{.orange} + +- [**Contrôle de version**]{.orange} + +- [**Automatisation**]{.orange} + +- [**Collaboration**]{.orange} + +- [***Monitoring***]{.orange} + +## MLOps : implémentation + +- De nombreux [**frameworks**]{.orange} implémentent les principes du MLOps + - Catalogue du `SSP Cloud` : [MLFlow](https://mlflow.org/) + +- Avantages de `MLflow` : + - [**Open-source**]{.blue2} + - Couvre l'entièreté du [**cycle de vie**]{.blue2} d'un modèle ML + - [**Agnostique**]{.blue2} au package ML utilisé + - Intégration avec `Kubernetes` + +## `MLFlow` : vue d'ensemble + +![](img/mlflow-overview.png){fig-align="center" height=350} + +[Source](https://dzlab.github.io/ml/2020/07/12/ml-ci-mlflow/) + +## `MLFlow` : Tracking server + +- "Une [**API**]{.orange} et une [**interface utilisateur**]{.orange} pour [**enregistrer**]{.orange} les paramètres, les versions du code, les métriques et les artefacts" + +. . . + +![](img/mlflow-tracking.png){fig-align="center" height=400} + +## `MLFlow` : Models + +- "Une convention pour [**'packager'**]{.orange} des [**modèles**]{.orange} de *machine learning* sous plusieurs [**formes**]{.orange}" + +. . . + +![](img/mlflow-models.png){fig-align="center" height=400} + +## `MLFlow` : Model registry + +- "Un [**entrepôt centralisé de modèles**]{.orange}, un ensemble d'API et une interface utilisateur pour gérer [**collaborativement**]{.orange} le cycle de vie complet d'un modèle MLflow" + +. . . + +![](img/mlflow-model-registry.png){fig-align="center" height=400} + +## Servir le modèle (sans `MLFlow`) + +## Servir le modèle (avec `MLFlow`) + + + + + + +# Application + +## MLOps + +- Consignes sur le [site du cours](https://ensae-reproductibilite.github.io/website/chapters/application.html) + - Partie X : application des principes MLOps avec `MLFlow` + + + + + + +# Conclusion + +Vision essentiellement technique dans ce cours mais changements plus larges (organisationnels, etc..)