Pipelines évolutifs d’apprentissage automatique avec Airflow
Pipelines fondés sur des DAG, dépendances entre tâches, ingestion des données → entraînement → évaluation → déploiement.
Pipelines évolutifs d’apprentissage automatique avec Airflow est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Pourquoi utiliser l'orchestration
Un flux de travail d'apprentissage automatique comporte de nombreuses étapes : ingérer les données, construire les caractéristiques, entraîner, évaluer, mettre en production. Les exécuter manuellement est fragile. Apache Airflow les orchestre sous forme de code, avec la planification, les nouvelles tentatives, les dépendances et la supervision intégrées.
Le DAG
Airflow modélise une chaîne de traitement comme un DAG (graphe orienté acyclique) composé de tâches. Acyclique signifie qu'aucune tâche ne peut dépendre d'elle-même dans une boucle ; l'exécution suit donc toujours un ordre clairement défini du début à la fin.
Définir un DAG
Vous déclarez un DAG avec un identifiant, une planification et une date de début. La planification contrôle sa fréquence d'exécution, par exemple pour un nouvel entraînement quotidien.
from airflow import DAG
import datetime
with DAG(
dag_id="ml_pipeline",
schedule="@daily",
start_date=datetime.datetime(2024, 1, 1),
catchup=False,
) as dag:
...Les opérateurs sont des tâches
Chaque nœud du DAG est une tâche créée à partir d'un opérateur. Différents opérateurs exécutent différents types de travaux : fonctions Python, commandes Bash, requêtes SQL, et bien plus encore.
PythonOperator pour l'entraînement
Le PythonOperator exécute une fonction Python appelable. Il convient parfaitement à une étape d'entraînement qui appelle votre fonction d'entraînement.
from airflow.operators.python import PythonOperator
def train_model():
# load features, fit model, save artifact
...
train = PythonOperator(
task_id="train",
python_callable=train_model,
)BashOperator pour l'évaluation
Le BashOperator exécute une commande d'interpréteur, ce qui est pratique pour appeler un script d'évaluation ou un outil CLI.
from airflow.operators.bash import BashOperator
evaluate = BashOperator(
task_id="evaluate",
bash_command="python /opt/ml/evaluate.py --model latest",
)Définir les dépendances
L'opérateur >> définit l'ordre des tâches : a >> b signifie que b s'exécute une fois que a a réussi. Il relie les tâches du DAG afin que l'évaluation ne commence qu'une fois l'entraînement terminé.
train >> evaluate
# train must succeed before evaluate runsChaînes de dépendances plus longues
Vous pouvez enchaîner de nombreuses tâches pour exprimer l'ordre complet de la chaîne de traitement. Airflow exécute les branches indépendantes en parallèle et respecte chaque dépendance que vous déclarez.
ingest >> features >> train >> evaluate >> deployTransmettre des données avec XCom
Les tâches s'exécutent de manière isolée ; comment l'une d'elles transmet-elle donc un résultat à la suivante ? XCom (communication intertâches) permet à une tâche de transmettre une petite valeur (comme le chemin d'un modèle ou une métrique) qu'une tâche en aval récupère.
def train_model(ti):
path = "/models/run_42.pt"
ti.xcom_push(key="model_path", value=path)
def deploy(ti):
path = ti.xcom_pull(key="model_path", task_ids="train")
# deploy the artifact at pathXCom est destiné aux petites données
XCom est conçu pour de petites métadonnées (chemins, identifiants, métriques), et non pour de grands ensembles de données. Les artefacts volumineux doivent être stockés dans un stockage d'objets (S3), en ne transmettant que leur emplacement via XCom. Utiliser XCom à outrance pour de grandes charges utiles surcharge la base de données de métadonnées.
Planification et nouvelles tentatives
Airflow renforce gratuitement la robustesse en production : la planification déclenche automatiquement les exécutions, les tâches échouées font l'objet de nouvelles tentatives avec une temporisation progressive, et l'interface affiche l'état de chaque tâche et de chaque exécution, avec des alertes en cas d'échec.
Vérification rapide
Vérifiez vos connaissances sur Airflow.
Récapitulatif
Vous avez appris à créer des chaînes de traitement d'apprentissage automatique évolutives avec Airflow :
- Un DAG doté d'une planification définit la chaîne de traitement
- PythonOperator exécute l'entraînement ; BashOperator exécute l'évaluation
- L'opérateur
>>définit les dépendances entre les tâches - XCom transmet de petits artefacts entre les tâches ; les grandes quantités de données vont dans un stockage d'objets
Questions Fréquemment Posées
La leçon « Pipelines évolutifs d’apprentissage automatique avec Airflow » est-elle gratuite ?
Oui — le texte complet de « Pipelines évolutifs d’apprentissage automatique avec Airflow » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Pipelines évolutifs d’apprentissage automatique avec Airflow » ?
Pipelines fondés sur des DAG, dépendances entre tâches, ingestion des données → entraînement → évaluation → déploiement. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Pipelines évolutifs d’apprentissage automatique avec Airflow » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Modèles d’architecture des systèmes d’IA
- Pipelines évolutifs d’apprentissage automatique avec Airflow
- Bases de caractéristiques : Feast et Tecton
- Observabilité et supervision des systèmes d’IA