0Pricing
Learn AI with Python · Lección

Pipelines de ML escalables con Airflow

Pipelines basados en DAG, dependencias entre tareas y flujo de ingesta de datos → entrenamiento → evaluación → despliegue.

Pipelines de ML escalables con Airflow es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

Por qué usar la orquestación

Un flujo de trabajo de ML tiene muchos pasos: ingerir datos, crear features, entrenar, evaluar y desplegar. Ejecutarlos manualmente es frágil. Apache Airflow los orquesta como código e incorpora programación, reintentos, dependencias y monitorización.

El DAG

Airflow modela una canalización como un DAG (grafo dirigido acíclico) de tareas. Acíclico significa que ninguna tarea puede depender de sí misma en un bucle, por lo que la ejecución siempre tiene un orden bien definido de principio a fin.

Definición de un DAG

Declare un DAG con un id, una programación y una fecha de inicio. La programación controla con qué frecuencia se ejecuta, por ejemplo, para reentrenar el modelo a diario.

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:
    ...

Los operadores son tareas

Cada nodo del DAG es una tarea creada a partir de un operador. Los distintos operadores ejecutan diferentes tipos de trabajo: funciones de Python, comandos de bash, consultas SQL y mucho más.

PythonOperator para el entrenamiento

El PythonOperator ejecuta una función invocable de Python. Es perfecto para un paso de entrenamiento que llama a su función de entrenamiento.

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 para la evaluación

El BashOperator ejecuta un comando de shell, lo que resulta práctico para invocar un script de evaluación o una herramienta de CLI.

from airflow.operators.bash import BashOperator

evaluate = BashOperator(
    task_id="evaluate",
    bash_command="python /opt/ml/evaluate.py --model latest",
)

Definición de dependencias

El operador >> establece el orden de las tareas: a >> b significa que b se ejecuta después de que a termine correctamente. Así se configura el DAG para que la evaluación solo comience cuando finalice el entrenamiento.

train >> evaluate
# train must succeed before evaluate runs

Cadenas de dependencias más largas

Puede encadenar muchas tareas para expresar el orden completo de la canalización. Airflow ejecuta en paralelo las ramas independientes y respeta todas las dependencias que declare.

ingest >> features >> train >> evaluate >> deploy

Transferencia de datos con XCom

Las tareas se ejecutan de forma aislada, así que ¿cómo se pasa un resultado a la siguiente? XCom (comunicación entre tareas) permite que una tarea publique un valor pequeño, como la ruta de un modelo o una métrica, que una tarea posterior puede recuperar.

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 path

XCom es para datos pequeños

XCom está pensado para metadatos pequeños (rutas, identificadores y métricas), no para conjuntos de datos grandes. Los artefactos grandes deben almacenarse en un almacenamiento de objetos (S3), pasando por XCom únicamente su ubicación. Utilizar XCom en exceso para cargas grandes sobrecarga la base de datos de metadatos.

Programación y reintentos

Airflow aporta robustez para producción sin esfuerzo adicional: la programación activa las ejecuciones automáticamente, las tareas fallidas se reintentan con un retraso progresivo y la interfaz muestra el estado de cada tarea y ejecución, con alertas en caso de fallo.

Comprobación rápida

Ponga a prueba sus conocimientos sobre Airflow.

Resumen

Ha aprendido a crear canalizaciones de ML escalables con Airflow:

  • Un DAG con una programación define la canalización
  • PythonOperator ejecuta el entrenamiento; BashOperator ejecuta la evaluación
  • El operador >> establece las dependencias entre tareas
  • XCom transfiere artefactos pequeños entre tareas; los datos grandes se almacenan en un almacenamiento de objetos

Preguntas frecuentes

¿La lección «Pipelines de ML escalables con Airflow» es gratis?

Sí — el texto completo de «Pipelines de ML escalables con Airflow» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Pipelines de ML escalables con Airflow»?

Pipelines basados en DAG, dependencias entre tareas y flujo de ingesta de datos → entrenamiento → evaluación → despliegue. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Pipelines de ML escalables con Airflow»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Patrones de arquitectura de sistemas de IA
  2. Pipelines de ML escalables con Airflow
  3. Almacenes de características: Feast y Tecton
  4. Observabilidad y supervisión de sistemas de IA
← Volver a Learn AI with Python