Lär Er AI med Python · Lektion

Skalbara ML-pipelines med Airflow

DAG-baserade pipelines, uppgiftsberoenden, dataimport → träning → utvärdering → distribution.

Lektion 2 av 413 steg

Skalbara ML-pipelines med Airflow är en gratis lektion i Lär Er AI med Python på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lär Er AI med Python, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lär Er AI med Python innehåller totalt 4 lektioner.

Varför orkestrering

Ett ML-arbetsflöde har många steg: hämta in data, skapa features, träna, utvärdera och driftsätta. Att köra dessa steg manuellt är bräckligt. Apache Airflow orkestrerar dem som kod och har inbyggt stöd för schemaläggning, nya försök, beroenden och övervakning.

DAG:en

Airflow modellerar en pipeline som en DAG (riktad acyklisk graf) av tasks. Acyklisk betyder att ingen task kan bero på sig själv i en loop, så körningen har alltid en tydligt definierad ordning från början till slut.

Definiera en DAG

Ni deklarerar en DAG med ett id, en schedule och ett startdatum. Schemat styr hur ofta den körs, till exempel för daglig omträning.

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

Operators är tasks

Varje nod i DAG:en är en task som skapas från en operator. Olika operators kör olika typer av arbete: Python-funktioner, bash-kommandon, SQL-frågor med mera.

PythonOperator för träning

PythonOperator kör en anropbar Python-funktion. Den passar perfekt för ett träningssteg som anropar er träningsfunktion.

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 för utvärdering

BashOperator kör ett shellkommando och är praktisk för att anropa ett utvärderingsskript eller ett CLI-verktyg.

from airflow.operators.bash import BashOperator

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

Definiera beroenden

Operatorn >> anger ordningen mellan tasks: a >> b betyder att b körs efter att a har lyckats. På så sätt kopplas DAG:en ihop så att utvärderingen börjar först när träningen är klar.

train >> evaluate
# train must succeed before evaluate runs

Längre beroendekedjor

Ni kan kedja många tasks för att uttrycka ordningen för hela pipelinen. Airflow kör oberoende grenar parallellt och respekterar alla beroenden ni deklarerar.

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

Skicka data med XCom

Tasks körs isolerat, så hur skickar en task ett resultat till nästa? XCom (kommunikation mellan tasks) låter en task lägga undan ett litet värde, till exempel en modellsökväg eller ett mätvärde, som en efterföljande task kan hämta.

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 är för små datamängder

XCom är avsett för små metadata (sökvägar, id:n och mätvärden), inte stora dataset. Stora artefakter bör lagras i objektlagring (S3), och endast deras plats bör skickas via XCom. Om XCom används för stora nyttolaster belastas metadatadatabasen onödigt mycket.

Schemaläggning och nya försök

Airflow ger robusthet för produktion utan extra arbete: schemat utlöser körningar automatiskt, misslyckade tasks gör nya försök med ökande väntetid, och användargränssnittet visar status för varje task och körning samt skickar aviseringar vid fel.

Snabbtest

Testa era kunskaper om Airflow.

Sammanfattning

Ni har lärt er skalbara ML-pipelines med Airflow:

  • En DAG med en schedule definierar pipelinen
  • PythonOperator kör träningen och BashOperator kör utvärderingen
  • Operatorn >> anger task-beroenden
  • XCom skickar små artefakter mellan tasks; stora datamängder går till objektlagring
Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
53
Lektioner
225

Vanliga frågor

Är lektionen ”Skalbara ML-pipelines med Airflow” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lär Er AI med Python, inklusive ”Skalbara ML-pipelines med Airflow”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lär Er AI med Python innehåller totalt 4 lektioner.

Vad lär jag mig i ”Skalbara ML-pipelines med Airflow”?

DAG-baserade pipelines, uppgiftsberoenden, dataimport → träning → utvärdering → distribution. Ni övar på Lär Er AI med Python med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Lär Er AI med Python?

Du behöver inga förkunskaper. Utbildningen i Lär Er AI med Python på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Skalbara ML-pipelines med Airflow”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Lär Er AI med Python-lektionen?

Ja. Varje Lär Er AI med Python-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Arkitekturmönster för AI-system
  2. Skalbara ML-pipelines med Airflow
  3. Feature stores: Feast och Tecton
  4. Observerbarhet och övervakning av AI-system
← Tillbaka till Lär Er AI med Python