Műszaki ÚTMUTATÓ

Apache Airflow ML munkafolyamatokhoz

Az Apache Airflow egy nyílt forráskódú platform a munkafolyamatok kódként történő létrehozásához, ütemezéséhez és figyeléséhez.

2 perc olvasásUtoljára frissítve

Áttekintés

In machine learning it acts as the conductor that triggers data pipelines, retraining jobs, and batch predictions on a reliable schedule.

Mély merülés

Az Airflow-t 2014-ben hozták létre az Airbnb-nél, és ma Apache projekt. Központi absztrakciója a DAG: a Pythonban definiált feladatok irányított aciklikus gráfja, ahol az élek a végrehajtási sorrendet és a függőségeket állítják be. Az ütemező elemzi ezeket a DAG-okat, eldönti, hogy mely feladatok állnak készen, és elküldi azokat a végrehajtóknak és a dolgozóknak; a webes felhasználói felület megjeleníti a futási előzményeket, a naplókat és a feladatok állapotát. Az ML esetében az Airflow-t széles körben használják hangszerelőként, nem pedig számítási motorként: nem maga képezi ki a modelleket, hanem olyan lépéseket indít el, mint az adatok kinyerése, érvényesítése, a Sparkon vagy a Kubernetes podokon végzett képzési munka elindítása és az eredmény telepítése. Az operátorok és az érzékelők lehetővé teszik, hogy a feladatok külső rendszereket hívjanak meg, várjanak a fájlokra, vagy tárolókat fussanak. Erőssége a megbízható ütemezés, az újrapróbálkozások, a háttérkitöltések és az összetett, időalapú folyamatok egyértelmű áttekinthetősége.

Technikai betekintés

Az Airflow DAG csak Python-kód, így a függőségek programozottan fejeződnek ki, bitshift szintaxis vagy feladat API-k által láncolt operátorokkal. Az ütemező folyamatosan értékeli az egyes DAG-ok ütemezési intervallumait és feladatfüggőségeit, és csak azokat a feladatokat állítja sorba, amelyeknek az upstream függőségei sikeresek voltak. Az olyan végrehajtók, mint a Celery vagy a Kubernetes, elosztott dolgozókon hajtják végre ezeket a feladatokat. Minden egyes feladatfutást állapot, naplók és újrapróbálkozási logika követ, és a metaadatok egy háttéradatbázisban tárolódnak a teljes auditálhatóság érdekében.

Stratégiai hatás

Költség és költségvetés

Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket.

Tisztább döntések

A technikai oktatás segít a csapatoknak a megfelelő verem kiválasztásában, nem csak a legújabb készletben.

Minőségellenőrzés

A jobb mérnöki döntések csökkentik a termelés megbízhatósági incidenseit.

Az Apache Airflow jövője az ML munkafolyamatokhoz

Az Airflow 2.x és 3.x kiemeli a gyorsabb ütemezőt, a TaskFlow API-t a tisztább Python-folyamatokhoz, és az adattudatos ütemezést, ahol a DAG-ok az adatkészlet-frissítéseket aktiválják, nem pedig a rögzített órákat. Az ML esetében szorosabb kapcsolódásra számítson a szolgáltatástárakkal és az eseményvezérelt átképzéssel. Az Airflow egyre inkább olyan hangszerelési rétegként pozicionálja magát, amely olyan speciális eszközöket koordinál, mint a dbt, a Spark és a Kubeflow, ahelyett, hogy versenyezne velük, megerősítve szerepét a modern adatok és ML-veremek ütemezési gerinceként.

Valós megvalósítás

Egy médiacég napi Airflow DAG-t futtat, amely lekéri a felhasználói elköteleződési naplókat, áttanul egy ajánlási modellt, és frissíti a kiszolgálási gyorsítótárat.

Egy e-kereskedelmi csapat érzékelők segítségével várja meg, amíg a szállító adatfájlja a felhőtárolóban landol, mielőtt elindítaná az előrejelzési feladatot.

Egy fintech cég óránként kötegelt pontozási munkákat ütemez, ahol az Airflow elindít egy konténeres modellt a gyanús tranzakciók megjelölésére.

Egy adatcsapat az Airflow háttérkitöltéseket használja a több hónapos előzményadatok újrafeldolgozására egy új funkciótervezési folyamaton keresztül egy logikai változás után.

Kockázatok és védőkorlátok

Egy benchmark optimalizálása elrejtheti a rendszer általános hiányosságait.

Az infrastrukturális és karbantartási költségeket gyakran alábecsülik.

A biztonsági és megfigyelhetőségi hiányosságok a rendszerek bonyolultabbá válásával nőhetnek.

Végrehajtási ütemterv

1

Határozza meg a késleltetési, minőségi és költségcélokat a megvalósítás előtt.

2

Benchmark reális terhelési és adatviszonyok mellett.

3

Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából.

4

A méretezés előtt készítse elő a visszagörgetési és az incidensre adott válaszútvonalakat.

Folytassa a felfedezést

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Apache Airflow for ML Workflows quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Kezdő kvíz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Következő útmutató

Kubernetes ML munkaterhelésekhez

Gyakran ismételt kérdések

What is Apache Airflow for ML Workflows?

Az Apache Airflow egy nyílt forráskódú platform a munkafolyamatok kódként történő létrehozásához, ütemezéséhez és figyeléséhez. A gépi tanulás során olyan vezetőként működik, amely megbízható ütemezés szerint indítja el az adatfolyamokat, az átképzési feladatokat és a kötegelt előrejelzéseket.

Az Apache Airflow-ban mi a munkafolyamat meghatározásához használt alapvető absztrakció?

Az Airflow munkafolyamatokat DAG-ként határozzák meg a Pythonban, ahol a feladatok csomópontok, az élek pedig a végrehajtási sorrendet határozzák meg.

Milyen szerepet játszik az Airflow leggyakrabban egy ML-csővezetékben?

Az Airflow irányító: olyan lépéseket indít el és koordinál, mint az adatkinyerés és a betanítási feladatok, ahelyett, hogy maga végezné el a nehéz számításokat.

Melyik Airflow konstrukció várja a külső feltételt, például a tárolóba érkező fájlt?

Az érzékelők speciális operátorok, amelyek szüneteltetnek egy munkafolyamatot, amíg egy feltétel teljesül, például egy fájl landolása vagy egy partíció megjelenése.

Mit tesz lehetővé az Airflow „visszatöltés”?

A háttérkitöltés egy DAG-t hajt végre a múltbeli időközökben, ami hasznos az előzmények újrafeldolgozásához a folyamat logikájának megváltoztatása után.

Melyik komponens értékeli folyamatosan a DAG-okat és dönti el, hogy mely feladatok állnak készen a futtatásra?

Az ütemező elemzi a DAG-okat, ellenőrzi az ütemezési időközöket és a függőségeket, és sorba állítja azokat a feladatokat, amelyeknek az upstream lépései sikerültek.