Ajánlott eljárások a működési kiválósághoz

Ezek az ajánlott eljárások segítenek a Azure Databricks hatékony működtetésében, kezelésében és monitorozásában, az alábbi szakaszokban ismertetett architekturális alapelvek szerint.

1. A buildelési és kiadási folyamatok optimalizálása

Dedikált Databricks-műveleti csapat létrehozása

Gyakori bevált gyakorlat egy platformüzemeltetési csapatot létrehozni, amely lehetővé teszi az adatteamek számára, hogy egy vagy több adatplatformon dolgozzanak. Ez a csapat felelős a tervek és az ajánlott eljárások belső létrehozásáért. Eszközöket biztosítanak - például az infrastruktúra automatizálásához és az önkiszolgáló hozzáféréshez -, és biztosítják a biztonsági és megfelelőségi követelmények teljesülését. Ez a platformadatok központi csapat számára történő biztonságossá tételének terhét teszi lehetővé, így az elosztott csapatok az adatokkal való munkára és az új megállapítások létrehozására összpontosíthatnak.

Vállalati forráskódkezelés (SCM) használata

A forráskódkezelés (SCM) segítségével a fejlesztők hatékonyabban dolgozhatnak, ami gyorsabb kiadási sebességhez és alacsonyabb fejlesztési költségekhez vezethet. A módosítások nyomon követését, a kódintegritást, a hibák észlelését és a korábbi verziókra való visszatérést segítő eszköz a teljes megoldásarchitektúra fontos összetevője.

A Databricks Git-mappák lehetővé teszik a felhasználók számára, hogy jegyzetfüzeteket vagy más fájlokat tároljanak egy Git-adattárban, olyan funkciókat biztosítva, mint az adattár klónozása, a véglegesítés és a leküldés, a lekérés, az ágkezelés és a fájldiffek megtekintése. Használjon Git-mappákat a kód jobb láthatóságához és nyomon követéséhez.

DevOps-folyamatok szabványosítása (CI/CD)

A folyamatos integráció és a folyamatos teljesítés (CI/CD) rövid, gyakori ciklusokban, automatizált folyamatokat használó szoftverek fejlesztésére és üzembe helyezésére utal. Bár ez nem egy új folyamat, amely évtizedek óta jelen van a hagyományos szoftverfejlesztésben, egyre inkább szükséges folyamattá válik az adatmérnöki és adatelemzési csapatok számára. Ahhoz, hogy az adattermékek értékesek legyenek, időben kell kézbesíteni őket. Emellett a fogyasztóknak megbízhatónak kell lenniük az ezen termékeken belüli eredmények érvényességében. A kódkészítési, tesztelési és üzembe helyezési folyamat automatizálásával a fejlesztői csapatok gyakrabban és megbízhatóabban tudják kiadni a kiadásokat, mint a sok adatmérnöki és adatelemzési csapatot uraló manuális folyamatok. Lásd : CI/CD az Azure Databricksben.

A Databricks használatával végzett kódfejlesztés ajánlott eljárásairól további információt a Databricks fejlesztői ajánlott eljárásaiban talál. A Deklaratív Automation-csomagokkal együtt automatikus üzembehelyezési folyamatokat hozhat létre GitHub-műveletekkel, Azure DevOps-folyamatokkal vagy Jenkins-feladatokkal.

MLOps-folyamatok szabványosítása

Az MLOps-folyamatok az ML-folyamatok reprodukálhatóságát biztosítják, így szorosabb együttműködésre van lehetőség az adatcsoportok között, csökkentik a devops és az informatikai rendszerek közötti ütközést, és felgyorsítják a kiadási sebességet. Mivel számos modellt használnak a kulcsfontosságú üzleti döntések meghozatalához, az MLops-folyamatok szabványosítása biztosítja a modellek egységes és megbízható fejlesztését, tesztelését és üzembe helyezését.

Az ML-modellek létrehozása és üzembe helyezése összetett. Ennek eléréséhez számos lehetőség áll rendelkezésre, de a jól definiált szabványokhoz kevés lehetőség áll rendelkezésre. Ennek eredményeképpen az elmúlt néhány évben a gépi tanulási műveletek (MLOps) megjelentek. Az MLOps a modellek, adatok és kódok kezelésére szolgáló folyamatok és automatizálások készlete, amelyek javítják a teljesítménystabilitást és a hosszú távú hatékonyságot az ML-rendszerekben. Ez magában foglalja az adatok előkészítését, a feltáró adatelemzést (EDA), a funkciófejlesztést, a modell betanítását, a modellérvényesítést, az üzembe helyezést és a monitorozást.

MlOps a Databricks platformon segíthet optimalizálni a gépi tanulási (ML) rendszer teljesítményét és hosszú távú hatékonyságát:

  • Mindig tartsa szem előtt az üzleti céljait: Ahogyan az üzleti ml alapvető célja az adatvezérelt döntések és termékek engedélyezése, az MLOps alapvető célja annak biztosítása, hogy ezek az adatvezérelt alkalmazások stabilak maradjanak, naprakészek maradjanak, és továbbra is pozitív hatással legyenek az üzletre. Az MLOps műszaki munkájának rangsorolása során vegye figyelembe az üzleti hatást: Engedélyezi az új üzleti használati eseteket? Javítja az adatcsoportok hatékonyságát? Csökkenti a működési költségeket vagy a kockázatokat?
  • Mi-alkalmazások és gépi tanulási modellek kezelése speciális, de nyitott eszközzel: Az MLflow (az ügynökök, LLM-ek és ML-modellek legnagyobb nyílt forráskód AI-mérnöki platformja) segítségével hibakeresésre, kiértékelésre, monitorozásra és optimalizálására használhatja az AI-alkalmazásokat a költségek szabályozása és a modellekhez és adatokhoz való hozzáférés kezelése mellett. Lásd: MLflow on Databricks.
  • Az MLOps moduláris implementálása: Mint minden szoftveralkalmazás esetében, a kódminőség az ML-alkalmazások esetében is kiemelkedő fontosságú. A modularizált kód lehetővé teszi az egyes összetevők tesztelését, és enyhíti a kód későbbi újrabontásával kapcsolatos nehézségeket. Egyértelmű lépéseket (például betanítást, értékelést vagy üzembe helyezést), szuperlépéseket (például betanítás–üzembe helyezési folyamat) és felelősségeket határozhat meg az ML-alkalmazás moduláris szerkezetének tisztázásához.

Ez részletesen ismertetve van a Databricks ebookban The Big Book of MLOps.

Környezetelkülönítési stratégia meghatározása

Amikor egy szervezet olyan adatplatformot használ, mint a Databricks, gyakran szükség van elkülönítési határokra az adatok tekintetében a környezetek (például a fejlesztési és a termelési környezet) vagy a szervezeti üzemeltetési egységek között.

Az elkülönítési szabványok a szervezetre vonatkozóan eltérőek lehetnek, de általában a következő elvárásokat tartalmazzák:

  • A felhasználók csak meghatározott hozzáférési szabályok alapján férhetnek hozzá az adatokhoz.
  • Az adatokat csak kijelölt személyek vagy csapatok kezelhetik.
  • Az adatok fizikailag elkülönülnek a tárolóban.
  • Az adatok csak a kijelölt környezetekben érhetők el.

A Databricksben a munkaterület az elsődleges adatfeldolgozási környezet, és több olyan eset is van, amikor a különálló munkaterületek javítják az általános beállítást, például:

  • Különítse el az egyes üzleti egységeket saját munkaterületeikkel, hogy elkerülje a munkaterület-rendszergazda megosztását, és biztosítsa, hogy a Databricksben ne kerüljenek véletlenül megosztásra eszközök az üzleti egységek között.
  • ** A szoftverfejlesztési életciklus különböző szakaszai (például fejlesztési, tesztelési és éles környezetek) elkülönítendők. Egy külön álló munkaterület lehetővé teszi az új munkaterület-beállítások tesztelését, mielőtt azokat az éles környezetben alkalmaznák. Vagy az éles környezet szigorúbb munkaterület-beállításokat igényelhet, mint a fejlesztési környezet. Ha fejlesztési, előkészítési és éles környezeteket kell üzembe helyeznie különböző virtuális hálózatokon, akkor a három környezethez is különböző munkaterületekre van szüksége.
  • Munkaterületek felosztása az erőforrás-korlátozások leküzdése érdekében: A felhőbeli fiókok/előfizetések erőforráskorlátokkal rendelkeznek. A munkaterületek különböző előfizetésekre/fiókokra való felosztásával biztosítható, hogy minden munkaterülethez elegendő erőforrás legyen elérhető. Emellett a Databricks-munkaterületek erőforráskorlátokkal is rendelkeznek. A munkaterületek felosztása biztosítja, hogy az egyes munkaterületek számítási feladatai mindig hozzáférhessenek a teljes erőforráskészlethez.

Vannak azonban hátrányai a megosztott munkaterületeknek, amelyeket szintén figyelembe kell venni:

  • A jegyzetfüzetek nem támogatják az együttműködést a munkaterületek között.
  • Több munkaterület esetén a beállításnak és a karbantartásnak teljesen automatizáltnak kell lennie (Terraform, ARM, REST API vagy más módon). Ez különösen fontos a migrálás szempontjából.
  • Ha minden munkaterületet a hálózati rétegen kell védeni (például az adatkiszivárgás elleni védelemhez), a szükséges hálózati infrastruktúra nagyon költséges lehet, különösen nagy számú munkaterület esetén.

Fontos, hogy megtaláljuk az egyensúlyt az elkülönítés és az együttműködés szükségessége és a fenntartásához szükséges erőfeszítések között.

Katalógusstratégia definiálása a vállalat számára

A környezetelkülönítési stratégia mellett a szervezeteknek szükségük van egy stratégiára a metaadatok és adatok strukturálásához és elkülönítéséhez. Az adatok , beleértve a személyazonosításra alkalmas információkat, a fizetési vagy egészségügyi információkat is, nagy kockázatot hordoznak, és az adatsértések egyre növekvő fenyegetése miatt fontos elkülöníteni és védeni a bizalmas adatokat, függetlenül attól, hogy milyen szervezeti stratégiát választ. A bizalmas adatokat logikailag és fizikailag is elkülönítheti a nem bizalmas adatoktól.

A szervezet megkövetelheti bizonyos típusú adatok tárolását a felhőbérlében lévő adott fiókokban vagy gyűjtőkben. A Unity Catalog metaadattára lehetővé teszi a metaadatok strukturálását a háromszintű catalog > schema > tables/views/volumes névtér alapján, a metaadattárban, katalógusban vagy sémaszinten konfigurált tárolási helyekkel, hogy megfeleljenek az ilyen követelményeknek.

A szervezeti és megfelelőségi követelmények gyakran azt diktálják, hogy bizonyos adatokat csak bizonyos környezetekben tároljon. Érdemes lehet elkülöníteni az éles adatokat a fejlesztői környezetektől, vagy gondoskodni arról, hogy bizonyos adathalmazok és tartományok soha ne legyenek egyesítve. A Databricksben a munkaterület az elsődleges számítási környezet, a katalógusok pedig az elsődleges adattartományok. A Unity Catalog metaadattára használatával a rendszergazdák és a katalógustulajdonosok adott munkaterületekhez köthetik a katalógusokat. Ezek a környezettudatos kötések segítenek biztosítani, hogy csak bizonyos katalógusok legyenek elérhetők egy munkaterületen belül, függetlenül a felhasználónak adott adatobjektum-engedélyektől.

A témakörök teljes körű ismertetéséhez lásd a Unity Catalog ajánlott eljárásait

2. Üzembe helyezések és számítási feladatok automatizálása

Infrastruktúra használata kódként (IaC) üzembe helyezéshez és karbantartáshoz

Az infrastruktúra kódként (IaC) lehetővé teszi, hogy a fejlesztők és az üzemeltetési csapatok automatikusan felügyeljék, monitorozzák és kiépíthetik az erőforrásokat a hardvereszközök, operációs rendszerek, alkalmazások és szolgáltatások manuális konfigurálása helyett.

A HashiCorp Terraform egy népszerű nyílt forráskódú eszköz, amellyel biztonságos és kiszámítható felhőinfrastruktúra jön létre több felhőszolgáltató között. A Databricks Terraform-szolgáltató rugalmas, hatékony eszköz használatával kezeli az Azure Databricks-munkaterületeket és a kapcsolódó felhőinfrastruktúra-kezelőt. A Databricks Terraform-szolgáltató célja az összes Azure Databricks REST API támogatása, amely támogatja az adatplatformok üzembe helyezésének és kezelésének legbonyolultabb aspektusainak automatizálását. A Databricks Terraform Provider az ajánlott eszköz a fürtök és feladatok megbízható üzembe helyezéséhez és kezeléséhez, az Azure Databricks-munkaterületek kiépítéséhez és az adathozzáférés konfigurálásához.

Számítási konfigurációk szabványosítása

A számítástechnikai környezetek szabványosítása biztosítja, hogy minden környezetben ugyanazokat a szoftvereket, kódtárakat és konfigurációkat használják. Ez a konzisztencia megkönnyíti az eredmények reprodukálásának, a hibák hibakeresésének és a rendszerek környezetek közötti karbantartásának megkönnyítését. A szabványosított környezetekkel a csapatok időt és erőforrásokat takaríthatnak meg azáltal, hogy szükségtelenné teszi a környezetek konfigurálását és beállítását. Ez csökkenti a manuális beállítás során előforduló hibák és inkonzisztenciák kockázatát is. A szabványosítás lehetővé teszi a konzisztens biztonsági szabályzatok és eljárások alkalmazását minden környezetben. Ez segíthet a szervezeteknek a kockázatok hatékonyabb kezelésében és a jogszabályi követelményeknek való megfelelésben. Végül a szabványosítás segíthet a szervezeteknek a költségek hatékonyabb kezelésében a hulladék csökkentésével és az erőforrás-kihasználtság optimalizálásával.

A szabványosítás kiterjed a környezet beállítására és a folyamatos erőforrás-kezelésre is. A konzisztens beállítás érdekében a Databricks az infrastruktúra kódként való használatát javasolja. Annak érdekében, hogy az idő múlásával indított számítási erőforrások következetesen legyenek konfigurálva, használjon számítási irányelveket. A Databricks-munkaterület rendszergazdái szabályzatszabályok alapján korlátozhatják a felhasználók vagy csoportok számítási létrehozási jogosultságait. Alkalmazhatják a Spark konfigurációs beállításait, és érvényesíthetik a fürt szintű kódtár-telepítéseket. Számítási irányelvek segítségével T-shirt méretű csoportokat (S, M, L) is definiálhat a projektekhez, mint standard munkakörnyezet.

A Unity Catalog által felügyelt táblák használata

A Unity Catalog táblái felügyelt vagykülső táblákként hozhatók létre. Külső táblák létrehozásához meg kell adnia az objektumtároló helyét, és ön felelős a táblák karbantartásáért és optimalizálásáért. Felügyelt táblák esetén a Databricks kezeli a teljes adatéletciklust, a tárolási helyet és a fájlelrendezést, és lehetővé teszi a prediktív optimalizálást. Ez szükségtelenné teszi a manuális karbantartást vagy a karbantartási feladatok beállítását, és biztosítja, hogy a táblák a tényleges lekérdezési minták alapján automatikusan a teljesítményre legyenek optimalizálva.

A Unity Catalog által felügyelt táblák használata ajánlott a Databricksben kezelt összes táblázatos adathoz.

Automatizált munkafolyamatok használata feladatokhoz

Az automatizált munkafolyamatok feladatokhoz való beállítása segíthet csökkenteni a szükségtelen manuális feladatokat, és javítani a hatékonyságot a feladatok létrehozásának és üzembe helyezésének DevOps-folyamatával. Az adatintelligencia-platform kétféleképpen teheti meg ezt:

  • Lakeflow-feladatok:

    A Lakeflow Jobs az adatfeldolgozási, gépi tanulási és elemzési folyamatokat vezényli a Databricks Adatintelligencia-platformon. Ez egy teljes körűen felügyelt vezénylési szolgáltatás, amely a Databricks platformmal integrálva van:

    • A Lakeflow-feladatok segítségével adatfeldolgozó és elemző alkalmazásokat futtathat Databricks-munkaterületen. A feladat lehet egyetlen tevékenység, vagy sok olyan tevékenység, amely összetett függőségekkel rendelkezik. A Databricks felügyeli az összes feladat vezénylését, fürtkezelését, megfigyelését és hibajelentését.
    • A Lakeflow-folyamatok kibővítik az Apache Spark™ Deklaratív folyamatokat (SDP), amely deklaratív keretrendszer a megbízható, karbantartható és tesztelhető adatfeldolgozási folyamatok létrehozásához. Ön határozza meg az adatokon végrehajtani kívánt átalakításokat, és a Lakeflow-folyamatok kezelik a feladat-vezénylést, a fürtkezelést, a monitorozást, az adatminőséget és a hibakezelést.
  • Külső vezénylők:

    Az átfogó Azure Databricks REST API-t külső vezénylők használják a Databricks-objektumok, jegyzetfüzetek és feladatok vezénylésére. Lásd:

Javasoljuk, hogy a Databricks összes tevékenységfüggőségéhez használjunk Lakeflow-feladatokat, és – szükség esetén – integráljuk ezeket a beágyazott munkafolyamatokat a külső vezénylőbe

Automatizált és eseményvezérelt fájlbetöltés használata

Az eseményvezérelt (és az ütemezésalapú) fájlbetöltés számos előnnyel jár, többek között a hatékonyság, az adatok frissessége és a valós idejű adatbetöltés. A feladat futtatása csak esemény bekövetkezésekor biztosítja, hogy ne pazarolja az erőforrásokat, ami pénzt takarít meg.

Az automatikus betöltő növekményesen és hatékonyan dolgozza fel az új adatfájlokat a felhőbeli tárolóba érkezve. Számos fájlformátumot betölthet, például JSON, CSV, PARQUET, AVRO, ORC, TEXT és BINARYFILE. A felhőbeli tároló bemeneti mappájával az Automatikus betöltő automatikusan feldolgozza az új fájlokat érkezéskor.

Egyszeri feltöltések esetén inkább fontolja meg a COPY INTO parancs használatát.

ETL-keretrendszerek használata adatfolyamokhoz

Bár az ETL-feladatok manuálisan is elvégezhetők, számos előnnyel jár a keretrendszer használata. A keretrendszer konzisztenciát és megismételhetőséget biztosít az ETL-folyamathoz. Előre összeállított függvények és eszközök biztosításával a keretrendszer automatizálhatja a gyakori feladatokat, így időt és erőforrásokat takaríthat meg. Az ETL-keretrendszerek nagy mennyiségű adatot képesek kezelni, és igény szerint egyszerűen fel- vagy leskálázhatók. Ez megkönnyíti az erőforrások kezelését és a változó üzleti igényeknek való reagálást. Számos keretrendszer tartalmaz beépített hibakezelési és naplózási képességeket, így könnyebben azonosíthatók és megoldhatók a problémák. Ezek gyakran tartalmaznak adatminőség-ellenőrzéseket és -érvényesítéseket, hogy az adatok megfeleljenek bizonyos szabványoknak, mielőtt betöltené őket az adattárházba vagy a data lake-be.

A Lakeflow-folyamatok kibővítik az Apache Spark™ Deklaratív folyamatokat (SDP), amely deklaratív keretrendszer a megbízható, karbantartható és tesztelhető adatfeldolgozási folyamatok létrehozásához. Ön határozza meg az adatokon végrehajtani kívánt átalakításokat, a Lakeflow-folyamatok pedig a feladat-vezénylést, a fürtkezelést, a monitorozást, az adatminőséget és a hibakezelést kezelik.

A Lakeflow-folyamatokkal végpontok közötti adatfolyamokat határozhat meg SQL-ben vagy Python: Az adatok adatforrásának, átalakítási logikájának és célállapotának megadása. A Lakeflow-folyamatok fenntartják a függőségeket, és automatikusan meghatározzák a feladat futtatásához szükséges infrastruktúrát.

Az adatminőség kezelése érdekében a Lakeflow-folyamatok idővel figyelik az adatminőségi trendeket, és megakadályozzák, hogy a hibás adatok beírjanak a táblákba az előre meghatározott hibaszabályzatokkal végzett ellenőrzési és integritás-ellenőrzésekkel. Lásd: Spark deklaratív adatfeldolgozási folyamatok.

Kövesse az ML-számítási feladatok üzembe helyezési kódjának megközelítését

A kód és a modellek gyakran aszinkron módon haladnak előre a szoftverfejlesztési szakaszokon keresztül. Ennek kétféle módja van:

  • telepítendő kód: Egy ML-projekt kódolt a fejlesztési környezetben, majd ezt a kódot áthelyezi az előkészítési környezetbe, ahol tesztelik. A sikeres tesztelést követően a projektkódot telepítik az éles környezetbe, ahol az végrehajtásra kerül.
  • üzembe helyezési modell: A modell betanítása a fejlesztési környezetben történik. A létrehozott modellösszetevő ezután át lesz helyezve az előkészítési környezetbe a modell érvényesítési ellenőrzése céljából, mielőtt üzembe helyeznénk a modellt az éles környezetben.

Lásd a modell üzembehelyezési mintáit.

A Databricks üzembe helyezési kód megközelítést javasol a használati esetek többségéhez. A modell fő előnyei a következők:

  • Ez illeszkedik a hagyományos szoftvermérnöki munkafolyamatokhoz, olyan ismerős eszközökkel, mint a Git és a CI/CD rendszerek.
  • Támogatja az automatikus újratanítást zárolt környezetben.
  • Csak az élő környezetnek kell olvasási hozzáféréssel rendelkeznie a prod tréning adatokhoz.
  • Teljes körű ellenőrzést biztosít a betanítási környezet felett, ami megkönnyíti a reprodukálhatóságot.
  • Lehetővé teszi, hogy az adatelemzési csapat moduláris kód- és iteratív tesztelést használjon, segítve a nagyobb projektek koordinációját és fejlesztését.

Ez részletesen ismertetve van a Databricks ebookban The Big Book of MLOps.

Kód és modell életciklusának leválasztása modellregisztrációs adatbázis használatával

Mivel a modell életciklusai nem felelnek meg az egy-az-egyhez kód életciklusának, a Unity Catalog lehetővé teszi az ML-modellek teljes életciklusának kezelését az MLflow-modellregisztrációs adatbázis üzemeltetett verziójában. Unity Catalog modellek kiterjesztik a Unity Catalog előnyeit az ML-modellekre, beleértve a központosított hozzáférés-vezérlést, a naplózást, a származást és a modellek felderítését a munkaterületeken. A Unity Catalog modelljei kompatibilisek a nyílt forráskódú MLflow Python-ügyféllel.

Gépi tanulási kísérletek nyomon követésének automatizálása

Az ML-kísérletek nyomon követése az egyes kísérletekhez tartozó metaadatok mentésének és a kísérletek rendszerezésének folyamata. Ez a metaadatok kísérleti bemeneteket/kimeneteket, paramétereket, modelleket és egyéb összetevőket tartalmaznak. A kísérletkövetés célja, hogy reprodukálható eredményeket hozzon létre az ML-modell fejlesztési folyamatának minden szakaszában. A folyamat automatizálása megkönnyíti a kísérletek számának skálázását, és biztosítja az összes kísérletben rögzített metaadatok konzisztenciáját.

A Databricks Autologging egy kód nélküli megoldás, amely kiterjeszti az MLflow automatikus naplózását, hogy automatikus kísérletkövetést biztosítson az Azure Databricks gépi tanulási munkameneteihez. A Databricks Autologging automatikusan rögzíti a modellparamétereket, metrikákat, fájlokat és életútadatokat, amikor a modelleket olyan betanítási futtatásokkal képezi ki, amelyeket MLflow-nyomkövetési futtatásként rögzítenek.

Ugyanazt az infrastruktúrát használja újra az ML-folyamatok kezeléséhez

Az ML-folyamatokhoz használt adatok általában ugyanazokból a forrásokból származnak, mint a többi adatfolyamhoz használt adatok. Az ML és az adatfolyamok abban hasonlítanak, hogy mindkettő előkészíti az adatokat az üzleti felhasználók elemzéséhez vagy a modell betanításához. Mindkettőnek méretezhetőnek, biztonságosnak és megfelelően monitorozhatónak kell lennie. Mindkét esetben a használt infrastruktúrának támogatnia kell ezeket a tevékenységeket.

A Databricks Terraform-szolgáltatóval automatizálhatja az ML-környezetek üzembe helyezését. A gépi tanuláshoz olyan infrastruktúra üzembe helyezésére van szükség, mint a következtetési feladatok, a végpontok kiszolgálása és a featurizációs feladatok. Minden ml-folyamat automatizálható feladatként, és számos adatközpontú ml-folyamat a specializáltabb automatikus betöltőt használhatja a rendszerképek és más adatok és Lakeflow-folyamatok betöltésére a funkciók kiszámításához vagy a metrikák monitorozásához.

Győződjön meg arról, hogy a Modellkiszolgálót az ML-modellek nagyvállalati szintű üzembe helyezéséhez használja.

Deklaratív felügyelet használata összetett adatokhoz és ml-projektekhez

Az MLOps deklaratív keretrendszerei lehetővé teszik a csapatok számára a kívánt eredmények magas szintű meghatározását, és lehetővé teszik, hogy a rendszer kezelje a végrehajtás részleteit, egyszerűsítve az ML-modellek üzembe helyezését és skálázását. Ezek a keretrendszerek támogatják a folyamatos integrációt és üzembe helyezést, automatizálják a tesztelést és az infrastruktúra-kezelést, valamint biztosítják a modellirányítást és a megfelelőséget, ami végső soron felgyorsítja a piacra kelést és a termelékenység növelését az ml-életciklus során.

A Deklaratív Automation-csomagok a Databricks-platform összetett adat-, elemzési és ML-projektjeinek fejlesztésének rafóeszközei. A csomagok megkönnyítik az összetett projektek kezelését az aktív fejlesztés során azáltal, hogy egyetlen, tömör és deklaratív YAML-szintaxissal biztosítják a CI/CD-képességeket a szoftverfejlesztési munkafolyamatban. Ha csomagokkal automatizálja a projekt tesztelését, üzembe helyezését és konfigurációkezelését, csökkentheti a hibákat, miközben sablonalapú projektekként népszerűsítheti a cégen belüli ajánlott szoftveres eljárásokat.

3. Kapacitás és kvóták kezelése

Szolgáltatási korlátok és kvóták kezelése

A szolgáltatáskorlátok és kvóták kezelése fontos a jól működő infrastruktúra fenntartásához és a váratlan költségek megelőzéséhez. A felhőben indított összes szolgáltatásnak figyelembe kell vennie a korlátokat, például a hozzáférési sebességkorlátokat, a példányok számát, a felhasználók számát és a memóriakövetelményeket. A felhőszolgáltatónál ellenőrizze a felhőkorlátokat. A megoldás megtervezése előtt meg kell érteni ezeket a korlátokat.

Pontosabban a Databricks platform esetében különböző típusú korlátok léteznek:

Databricks-platformkorlátok: Ezek az Azure Databricks-erőforrásokra vonatkozó konkrét korlátok. Az általános platform korlátait az erőforráskorlátok dokumentálják.

Unity Catalog korlátai:Unity Catalog-erőforráskvóták

Előfizetési/fiókkvóták: Az Azure Databricks felhőalapú erőforrásokat használ a szolgáltatásához. Az Azure Databricks számítási feladatai például fürtökön futnak, amelyekhez a Databricks-platform elindítja a felhőszolgáltató virtuális gépeit. A felhőszolgáltatók beállítják az alapértelmezett kvótákat, hogy egyszerre hány virtuális gép indítható el. Az igénytől függően előfordulhat, hogy ezeket a kvótákat módosítani kell.

További részletekért lásd: VM-családi vCPU-kvóták növelése.

Hasonló módon a tárolás, a hálózat és más felhőszolgáltatások olyan korlátozásokkal rendelkeznek, amelyeket meg kell érteni és figyelembe kell venni.

Befektetés a kapacitástervezésbe

A kapacitástervezés magában foglalja a felhőbeli erőforrások, például a tárolás, a számítás és a hálózatkezelés kezelését a teljesítmény fenntartása és a költségek optimalizálása érdekében. Tervezze meg a várható terhelés változásait, amelyek számos okból fordulhatnak elő, beleértve a hirtelen üzleti változásokat vagy akár a világeseményeket is. Tesztelje a terhelésvariációkat, beleértve a váratlanokat is, hogy a számítási feladatok méretezhető legyen. Győződjön meg arról, hogy az összes régió megfelelően méretezhető, hogy támogassa a teljes terhelést, ha egy régió meghibásodik. Megfontolandó szempontok:

  • Technológiai és szolgáltatási korlátozások és felhőkorlátok. Lásd: Kapacitás és kvóták kezelése.
  • SLA-k a tervezés során használni kívánt szolgáltatások meghatározásához.
  • Költségelemzés annak meghatározásához, hogy az alkalmazás mennyi javulást ér el, ha a költségek növekednek. Értékelje ki, hogy az ár megéri-e a befektetést.

Fontos a magas prioritású (mennyiségi) események megértése és tervezése. Ha a kiépített felhőerőforrások nem elegendőek, és a számítási feladatok nem méretezhetők, a terhelés ilyen növekedése kiesést okozhat.

4. Figyelés, riasztás és naplózás beállítása

Monitorozási folyamatok létrehozása

Az adatplatform monitorozási folyamatainak létrehozása több okból is kritikus fontosságú. A monitorozási folyamatok lehetővé teszik az olyan problémák korai észlelését, mint az adatminőségi problémák, a teljesítmény szűk keresztmetszetei és a rendszerhibák, amelyek segíthetnek megelőzni az állásidőt és az adatvesztést. Segíthetnek azonosítani az adatplatform hatékonysági hiányosságait, és optimalizálni a költségeket a hulladék csökkentésével és az erőforrás-kihasználtság javításával. Emellett a monitorozási folyamatok segíthetnek biztosítani a jogszabályi követelményeknek való megfelelést, és naplózhatják az adathozzáférést és a használatot.

Natív és külső eszközök használata platformfigyeléshez

A Databricks Adatintelligencia-platform beépített monitorozási megoldásokkal rendelkezik, és integrálja a külső monitorozási rendszereket:

  • Platformfigyelés azure-monitorozási megoldásokkal

    A monitorozás kritikus fontosságú minden éles szintű megoldás számára, és az Azure Databricks robusztus funkciókat kínál az egyéni alkalmazásmetrikák, a streamelési lekérdezési események és az alkalmazásnapló-üzenetek monitorozásához. Az Azure Databricks továbbítani tudja ezeket a monitorozási adatokat a különböző naplózási szolgáltatásoknak.

  • A Databricks adatminőségének monitorozása

    A Databricks adatminőség-monitorozása lehetővé teszi a fiókban lévő összes tábla adatminőségének monitorozását. Automatikusan nyomon követi a releváns metrikákat, észleli az anomáliákat, és a táblafrissítésekkel azonos gyakorisággal fut. Az adatintelligencia-platformra épülő rendszer a szervezet korábbi trendjeiből és metaadataiból tanul, hogy intelligensebb, skálázhatóbb monitorozást és felbontást biztosítson. A rendszer minden eredményt naplóz a rendszertáblákba, így riasztásokat állíthat be az észlelt anomáliák és súlyosságuk alapján az alsóbb rétegbeli réteg használatával. Az intelligens képességek mellett egyéni táblákhoz is konfigurálhatja az adatprofilozást, így nyomon követheti a legfontosabb táblák statisztikai tulajdonságait és adateloszlását.

  • Rendszertáblák monitorozáshoz

    A rendszertáblák lehetővé teszik a betekintést a Databricks-használatba, a teljesítménybe és a költségekbe, átfogó képet nyújtva a fiók során. A rendszertáblák lehetővé teszik az átfogó számlázási, számítási erőforrás-, munkafolyamat- és naplózási adatok elérését a megfigyelés és a költségoptimalizálás érdekében. A rendszertáblák tartalmazzák a számlázási és használati adatokat, a fürt- és raktáreseményeket, a feladat- és feladatfuttatási előzményeket, a folyamateseményeket és a naplózási naplókat. Rendszertáblák lekérdezése egyéni irányítópultok létrehozásához, hibákra vagy költséganomáliákra vonatkozó riasztások beállításához, valamint a leállási és hozzáférési minták elemzéséhez.

    Az üzembe helyezéssel kapcsolatos útmutatásért lásd: Rendszertáblák tervezése stratégia.

  • SQL Warehouse monitorozása

    Az SQL Warehouse monitorozása elengedhetetlen a terhelésprofil időbeli megértéséhez és az SQL Warehouse hatékony kezeléséhez. A SQL raktár monitorozásával megtekintheti az olyan információkat, mint például a raktár által kezelt lekérdezések száma vagy a raktárhoz rendelt fürtök száma.

  • Databricks SQL-figyelmeztetések

    A Databricks SQL-riasztások rendszeresen futtatnak lekérdezéseket, kiértékelik a meghatározott feltételeket, és értesítéseket küldenek, ha teljesül egy feltétel. Riasztásokat állíthat be a vállalat figyelésére és értesítések küldésére, ha a jelentett adatok túllépik a várt korlátokat.

    Emellett létrehozhat egy Databricks SQL-riasztást egy metrika egy figyelőmetrikatáblábólalapján, például értesítést kaphat arról, ha egy statisztika kimozdul egy adott tartományból, vagy ha az adatok az alaptáblához képest sodródtak.

  • Auto Loader felügyelete

    Az Automatikus betöltő egy SQL API-t biztosít a stream állapotának vizsgálatához. Az SQL-függvényekkel metaadatokat találhat az automatikus betöltő stream által felderített fájlokról. Lásd: Automatikus betöltő figyelése.

    Az Apache Spark streamelési lekérdezésfigyelő felületével az automatikus betöltő streamek további monitorozásra is képesek.

  • Feladatfigyelés

    A feladatok monitorozása segít azonosítani és kezelni a Lakeflow-feladatok hibáit, például a hibákat, a késéseket vagy a teljesítmény szűk keresztmetszeteit. A feladatmonitorozás betekintést nyújt a feladatok teljesítményébe, így optimalizálhatja az erőforrás-kihasználtságot, csökkentheti a kihasználtságot, és javíthatja az általános hatékonyságot.

    A feladatriasztások konfigurálásával értesítéseket küldhet a hibákról, késésekről vagy sikeres befejezésről. Webhookok használatával integrálható incidenskezelő rendszerekkel, például PagerDuty vagy Opsgenie. Lekérdezze a system.workflow.job_runs és system.workflow.task_runs rendszertáblákat, hogy elemezze a feladatok teljesítménytrendjeit, azonosítsa az ismétlődő hibákat, és figyelje az SLA-megfelelőséget.

    A feladatmonitorozás konfigurálásának üzembe helyezési útmutatóját lásd : 9. fázis: Megfigyelhetőségi stratégia tervezése.

  • Lakeflow-folyamatok figyelése

    Egy eseménynaplót létrehoznak és karbantartanak minden folyamathoz. Az eseménynapló tartalmazza a folyamattal kapcsolatos összes információt, beleértve az auditnaplókat, az adatminőség-ellenőrzéseket, a folyamat előrehaladását és az adatsorokat. Az eseménynaplóval nyomon követheti, megértheti és figyelheti az adatfolyamok állapotát.

  • Folyamfigyelés

    A streamelés a betöltés és elemzés egyik legfontosabb adatfeldolgozási technikája. A felhasználók és fejlesztők számára alacsony késést és valós idejű adatfeldolgozási képességeket biztosít az elemzéshez és a műveletek aktiválásához. A Databricks Adatintelligencia-platform lehetővé teszi a strukturált streamelési lekérdezések monitorozását.

  • Spark-monitorozás

    Az Apache Spark-feladatok teljesítményének és erőforrás-kihasználtságának monitorozása a szűk keresztmetszetek azonosításához, a lekérdezések végrehajtásának optimalizálásához és a fürt hatékonyságának javításához. A fürtnaplók kézbesítésének engedélyezése lehetővé teszi, hogy a Spark eseménynaplókat felhőtárhelyen megőrizzük előzményelemzés céljából. A Spark felhasználói felületén megvizsgálhatja a feladatok szakaszait, a feladatokat, a tárterületet és a végrehajtókat a feladat végrehajtása során. Elemezze a Spark eseménynaplóit a hosszú ideig futó szakaszok, az adateltérés, a shuffle műveletek és a memóriaterhelés azonosításához. Spark-metrikák konfigurálása külső monitorozási rendszerekbe való exportáláshoz a központosított megfigyelhetőség érdekében.

    A Spark monitorozási beállítására vonatkozó üzembe helyezési útmutatóért lásd : 9. fázis: Megfigyelhetőségi stratégia tervezése.

  • ML- és AI-monitorozás

    A modellek teljesítményének monitorozása az éles munkafolyamatokban az AI és az ML-modell életciklusának fontos eleme. A következtetési táblák leegyszerűsítik a modellek monitorozását és diagnosztikáját azáltal, hogy folyamatosan naplózják a kérésbemeneteket és -válaszokat (előrejelzéseket) a Modellkiszolgáló végpontjaiból, és menti őket egy Delta-táblába a Unity Catalogban. Ezután a Databricks platform összes funkcióját használhatja, például DBSQL-lekérdezéseket, jegyzetfüzeteket és adatprofilozást a modellek monitorozásához, hibakereséséhez és optimalizálásához.

    A modell kiszolgálásának monitorozásáról további információt a modell minőségének és a végpont állapotának monitorozása című témakörben talál.

  • Biztonsági monitorozás

    Lásd: Biztonság, megfelelőség és adatvédelem – Biztonsági monitorozás.

  • Költségfigyelés

    Lásd: Költségoptimalizálás – Költségek figyelése és szabályozása.

További erőforrások

A működési kiválósági gyakorlatok implementálásával kapcsolatos részletes üzembe helyezési útmutatóért lásd: