Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Automatisation du Réentraînement des Modèles | Section
Fondamentaux du MLOps

bookAutomatisation du Réentraînement des Modèles

À mesure que de nouvelles données deviennent disponibles, le réentraînement de vos modèles ML garantit que les prédictions restent précises et pertinentes — une étape clé pour maintenir la performance du modèle dans le temps. Avec Apache Airflow, il est possible de planifier et d'orchestrer ce réentraînement automatiquement, supprimant les étapes manuelles et assurant une reproductibilité totale.

Dans cette configuration, un DAG Airflow définit chaque étape du réentraînement : chargement des données, prétraitement, entraînement, évaluation et journalisation. Airflow gère l'ordre et la planification, de sorte que votre modèle reste à jour avec un effort minimal.

Exemple : DAG de réentraînement automatisé

from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.python import PythonOperator
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
import logging

def load_data():
    iris = load_iris(as_frame=True)
    df = iris.frame
    df.to_csv('/tmp/iris.csv', index=False)

def train_and_evaluate():
    df = pd.read_csv('/tmp/iris.csv')
    X = df.drop('target', axis=1)
    y = df['target']
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    pipeline = Pipeline([
        ('scaler', StandardScaler()),
        ('clf', RandomForestClassifier(n_estimators=50, random_state=42))
    ])
    pipeline.fit(X_train, y_train)
    y_pred = pipeline.predict(X_test)
    acc = accuracy_score(y_test, y_pred)
    logging.info(f"Retrained model accuracy: {acc:.4f}")

default_args = {
    'owner': 'airflow',
    'start_date': datetime(2024, 1, 1),
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
}

dag = DAG(
    'retrain_ml_model',
    default_args=default_args,
    schedule_interval='@daily',
    catchup=False,
    tags=['ml', 'retraining'],
)

load_data_task = PythonOperator(
    task_id='load_data',
    python_callable=load_data,
    dag=dag,
)

train_and_evaluate_task = PythonOperator(
    task_id='train_and_evaluate',
    python_callable=train_and_evaluate,
    dag=dag,
)

load_data_task >> train_and_evaluate_task
Note
Note

L'automatisation du réentraînement permet d'atténuer la dérive du modèle — la diminution progressive des performances lorsque les tendances des données évoluent. Avec Airflow, les pipelines de réentraînement peuvent s'exécuter quotidiennement, hebdomadairement ou après des mises à jour de données, garantissant que votre modèle déployé reste précis et fiable.

question mark

Quel est le principal avantage de l'automatisation du réentraînement des modèles avec Airflow ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 12

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

bookAutomatisation du Réentraînement des Modèles

Glissez pour afficher le menu

À mesure que de nouvelles données deviennent disponibles, le réentraînement de vos modèles ML garantit que les prédictions restent précises et pertinentes — une étape clé pour maintenir la performance du modèle dans le temps. Avec Apache Airflow, il est possible de planifier et d'orchestrer ce réentraînement automatiquement, supprimant les étapes manuelles et assurant une reproductibilité totale.

Dans cette configuration, un DAG Airflow définit chaque étape du réentraînement : chargement des données, prétraitement, entraînement, évaluation et journalisation. Airflow gère l'ordre et la planification, de sorte que votre modèle reste à jour avec un effort minimal.

Exemple : DAG de réentraînement automatisé

from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.python import PythonOperator
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
import logging

def load_data():
    iris = load_iris(as_frame=True)
    df = iris.frame
    df.to_csv('/tmp/iris.csv', index=False)

def train_and_evaluate():
    df = pd.read_csv('/tmp/iris.csv')
    X = df.drop('target', axis=1)
    y = df['target']
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    pipeline = Pipeline([
        ('scaler', StandardScaler()),
        ('clf', RandomForestClassifier(n_estimators=50, random_state=42))
    ])
    pipeline.fit(X_train, y_train)
    y_pred = pipeline.predict(X_test)
    acc = accuracy_score(y_test, y_pred)
    logging.info(f"Retrained model accuracy: {acc:.4f}")

default_args = {
    'owner': 'airflow',
    'start_date': datetime(2024, 1, 1),
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
}

dag = DAG(
    'retrain_ml_model',
    default_args=default_args,
    schedule_interval='@daily',
    catchup=False,
    tags=['ml', 'retraining'],
)

load_data_task = PythonOperator(
    task_id='load_data',
    python_callable=load_data,
    dag=dag,
)

train_and_evaluate_task = PythonOperator(
    task_id='train_and_evaluate',
    python_callable=train_and_evaluate,
    dag=dag,
)

load_data_task >> train_and_evaluate_task
Note
Note

L'automatisation du réentraînement permet d'atténuer la dérive du modèle — la diminution progressive des performances lorsque les tendances des données évoluent. Avec Airflow, les pipelines de réentraînement peuvent s'exécuter quotidiennement, hebdomadairement ou après des mises à jour de données, garantissant que votre modèle déployé reste précis et fiable.

question mark

Quel est le principal avantage de l'automatisation du réentraînement des modèles avec Airflow ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 12
some-alt