Lær AI med Python · leksjon

Skalerbare ML-pipelines med Airflow

DAG-baserte pipelines, oppgaveavhengigheter og dataimport → trening → evaluering → utrulling.

Leksjon 2 av 413 trinn

Skalerbare ML-pipelines med Airflow er en gratis leksjon i Lær AI med Python på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Lær AI med Python, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Hvorfor orkestrering

En ML-arbeidsflyt har mange trinn: hente inn data, bygge features, trene, evaluere og distribuere. Det er sårbart å kjøre disse manuelt. Apache Airflow orkestrerer dem som kode, med innebygd planlegging, nye forsøk, avhengigheter og overvåking.

DAG-en

Airflow modellerer en pipeline som en DAG (rettet asyklisk graf) av oppgaver. Asyklisk betyr at ingen oppgave kan avhenge av seg selv i en løkke, slik at kjøringen alltid har en tydelig rekkefølge fra start til slutt.

Definere en DAG

Du deklarerer en DAG med en id, en tidsplan og en startdato. Tidsplanen styrer hvor ofte den kjører, for eksempel ved daglig ny trening.

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

Operatorer er oppgaver

Hver node i DAG-en er en oppgave som opprettes fra en operator. Ulike operatorer kjører ulike typer arbeid: Python-funksjoner, bash-kommandoer, SQL-spørringer og mer.

PythonOperator for trening

PythonOperator kjører en kallbar Python-funksjon. Den passer perfekt til et treningstrinn som kaller treningsfunksjonen din.

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 for evaluering

BashOperator kjører en shell-kommando og er nyttig når du skal starte et evalueringsskript eller et CLI-verktøy.

from airflow.operators.bash import BashOperator

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

Definere avhengigheter

Operatoren >> angir rekkefølgen på oppgavene: a >> b betyr at b kjører etter at a er fullført uten feil. Slik kobles DAG-en sammen, slik at evalueringen først starter når treningen er ferdig.

train >> evaluate
# train must succeed before evaluate runs

Lengre avhengighetskjeder

Du kan lenke sammen mange oppgaver for å uttrykke rekkefølgen i hele pipelinen. Airflow kjører uavhengige grener parallelt og respekterer alle avhengighetene du deklarerer.

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

Sende data med XCom

Oppgaver kjører isolert, så hvordan sender én oppgave et resultat til den neste? XCom (kommunikasjon på tvers) lar en oppgave sende en liten verdi, for eksempel en modellsti eller en metrikk, som en etterfølgende oppgave henter.

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 er for små datamengder

XCom er beregnet på små metadata (stier, ID-er og metrikk), ikke store datasett. Store artefakter bør ligge i objektlagring (S3), og bare plasseringen bør sendes via XCom. Overdreven bruk av XCom for store datamengder belaster metadatabasen.

Planlegging og nye forsøk

Airflow gir robusthet for produksjon uten ekstra arbeid: tidsplanen starter kjøringer automatisk, mislykkede oppgaver prøves på nytt med gradvis lengre ventetid, og brukergrensesnittet viser statusen til hver oppgave og kjøring, med varsling ved feil.

Hurtigsjekk

Test kunnskapene dine om Airflow.

Oppsummering

Du har lært skalerbare ML-pipelines med Airflow:

  • En DAG med en tidsplan definerer pipelinen
  • PythonOperator kjører trening, mens BashOperator kjører evaluering
  • Operatoren >> angir avhengigheter mellom oppgaver
  • XCom sender små artefakter mellom oppgaver, mens store datamengder går til objektlagring
Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
53
Leksjoner
225

Ofte stilte spørsmål

Er leksjonen «Skalerbare ML-pipelines med Airflow» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lær AI med Python, inkludert «Skalerbare ML-pipelines med Airflow», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Hva lærer jeg i «Skalerbare ML-pipelines med Airflow»?

DAG-baserte pipelines, oppgaveavhengigheter og dataimport → trening → evaluering → utrulling. Du øver på Lær AI med Python med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Lær AI med Python?

Ingen tidligere erfaring er nødvendig. Lær AI med Python på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Skalerbare ML-pipelines med Airflow»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Lær AI med Python-leksjonen?

Ja. Alle Lær AI med Python-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Arkitekturmønstre for KI-systemer
  2. Skalerbare ML-pipelines med Airflow
  3. Feature stores: Feast og Tecton
  4. Observerbarhet og overvåking av KI-systemer
← Tilbake til Lær AI med Python