Adatelemzés és gépi tanulás az Azure Databricks használatával

Azure Databricks
Azure Data Lake Storage
Azure Kubernetes Service (AKS)
Azure Machine Learning

Megoldási ötletek

Ez a cikk egy megoldási ötlet. Ha azt szeretné, hogy további információkkal bővítsük a tartalmat, például a lehetséges használati eseteket, alternatív szolgáltatásokat, megvalósítási szempontokat vagy díjszabási útmutatást, a GitHub visszajelzésével tudassa velünk.

Ez az architektúra bemutatja, hogyan javíthatja a műveleteket az Azure Databricks, a Delta Lake és az MLflow használatával az adatelemzéshez és a gépi tanuláshoz. Gépi tanulási modellek fejlesztésével, betanításával és üzembe helyezésével javíthatja az általános hatékonyságot és az ügyfélélményt.

Architektúra

Architecture diagram showing how Azure Databricks works with data storage services to refine and analyze data and make it available for other services.

A diagram három szürke téglalapot tartalmaz: egy feliratos folyamatot, egy kiszolgálót és egy címkével ellátott áruházat. A Folyamat és a Kiszolgálás téglalapok a diagram felső részén egymás mellett találhatók. A Serve téglalap egy fehér dobozt tartalmaz, amelyen a Machine Tanulás és az Azure Kubernetes Service ikonjai láthatók. Egy másik fehér doboz átfésüli a Folyamat és a Tálalás téglalapokat. Az Azure Databricks és az MLflow ikonjait tartalmazza. Egy nyíl a dobozból a Szerválás téglalap fehér mezőjére mutat. A Folyamat téglalap alatt található az Áruház téglalap. Egy fehér dobozt tartalmaz, amelyen a Data Lake Storage, a Delta Lake és három, bronz, ezüst és arany címkével ellátott adatbázistábla ikonjai láthatók. Három vonal köti össze a Folyamat és a Tároló téglalapokat, az egyes sorok végén nyilakkal.

Töltse le az architektúra Visio-fájlját.

A megoldás tárolja, feldolgozza és kiszolgálja az adatokat:

Adatfolyam

Tárolás

A Data Lake Storage Delta Lake formátumban tárolja az adatokat. A Delta Lake alkotja a data lake válogatott rétegét. A medallion architektúra három rétegbe rendezi az adatokat:

  • A bronz táblák nyers adatokat tárolnak.
  • Az ezüst táblák tisztított, szűrt adatokat tartalmaznak.
  • Az aranytáblák olyan összesített adatokat tárolnak, amelyek készen állnak az elemzésre és a jelentéskészítésre.

Folyamat

  • A különböző nyelvekből, keretrendszerekből és kódtárakból származó kód előkészíti, finomítja és megtisztítja a nyers adatokat (1). A kódolási lehetőségek közé tartozik a Python, az R, az SQL, a Spark, a Pandas és a Koalas.

  • Az Azure Databricks adatelemzési számítási feladatokat futtat. Ez a platform gépi tanulási modelleket is fejleszt és fejleszt (2). Az Azure Databricks előre telepített, optimalizált kódtárakat használ. Ilyenek például a scikit-learn, a TensorFlow, a PyTorch és az XGBoost.

  • Az MLflow-nyomkövetés rögzíti a gépi tanulási kísérleteket, a modellfuttatásokat és az eredményeket (3). Amikor a legjobb modell készen áll az éles használatra, az Azure Databricks üzembe helyezi a modellt az MLflow-modell adattárában. Ez a központosított beállításjegyzék az éles modellek adatait tárolja. A beállításjegyzék a modelleket más összetevők számára is elérhetővé teszi:

    • A Spark- és Python-folyamatok betölthetnek modelleket. Ezek a folyamatok kötegelt számítási feladatokat vagy streamelt ETL-folyamatokat kezelnek.
    • A REST API-k számos célra biztosítanak hozzáférést a modellekhez. Ilyen például a mobil- és webalkalmazások tesztelése és interaktív pontozása.

Szolgálja

Az Azure Databricks modelleket helyezhet üzembe más szolgáltatásokban, például a Machine Tanulás és az AKS-ben (4).

Összetevők

  • Az Azure Databricks egy adatelemzési platform. A teljes mértékben felügyelt Spark-fürtök adatelemzési számítási feladatokat futtatnak. Az Azure Databricks előre telepített, optimalizált kódtárakat is használ a gépi tanulási modellek létrehozásához és betanítása érdekében. Az Azure Databricks MLflow-integrációja lehetővé teszi a kísérletek nyomon követését, a modellek adattárakban való tárolását és a modellek más szolgáltatások számára való elérhetővé tétele. Az Azure Databricks méretezhetőséget kínál:

    • Az egycsomópontos számítási fürtök kis adatkészleteket és egymodelles futtatásokat kezelnek.
    • Nagy adathalmazok esetén többcsomópontos számítási fürtök vagy grafikus feldolgozási egységek (GPU-) fürtök érhetők el. Ezek a fürtök olyan kódtárakat és keretrendszereket használnak, mint a HorovodRunner és a Hyperopt párhuzamos modellek futtatásához.
  • A Data Lake Storage egy méretezhető és biztonságos data lake a nagy teljesítményű elemzési számítási feladatokhoz. Ez a szolgáltatás több petabájtnyi információt kezel, miközben több száz gigabites átviteli sebességet tart fenn. Az adatok a következő jellemzőkkel rendelkezhetnek:

    • Legyen strukturált, részben strukturált vagy strukturálatlan.
    • Több heterogén forrásból, például naplókból, fájlokból és adathordozókból származik.
    • Legyen statikus, kötegekből vagy streamelésből.
  • A Delta Lake egy nyílt fájlformátumot használó tárolási réteg. Ez a réteg a felhőbeli tárolókon, például a Data Lake Storage-on fut. A Delta Lake a kötegelt és streamelési adatok átalakítására és tisztítására van optimalizálva. Ez a platform a következő funkciókat és funkciókat támogatja:

    • Adatverzió és visszaállítás.
    • Atomi, konzisztenciát, elkülönítést és tartóssági (ACID) tranzakciókat a megbízhatóság érdekében.
    • Egységes szabvány az adatelőkészítéshez, a modell betanításához és a modell kiszolgálásához.
    • Időutazás a forrásadatok konzisztens pillanatképeihez. Az adattudósok a modelleket a pillanatképeken taníthatják be ahelyett, hogy külön másolatokat hoznak létre.
  • Az MLflow egy nyílt forráskódú platform a gépi tanulási életciklushoz. Az MLflow-összetevők a gépi tanulási modelleket figyelik a betanítás és a futtatás során. A tárolt információk közé tartozik a kód, az adatok, a konfigurációs információk és az eredmények. Az MLflow emellett modelleket is tárol, és éles környezetben tölti be őket. Mivel az MLflow nyílt keretrendszereket használ, különböző szolgáltatások, alkalmazások, keretrendszerek és eszközök használhatják a modelleket.

  • A gépi Tanulás egy felhőalapú környezet, amely segít prediktív elemzési megoldások létrehozásában, üzembe helyezésében és kezelésében. Ezekkel a modellekkel előre jelezheti a viselkedést, az eredményeket és a trendeket.

  • Az AKS egy magas rendelkezésre állású, biztonságos és teljes körűen felügyelt Kubernetes-szolgáltatás. Az AKS megkönnyíti a tárolóalapú alkalmazások üzembe helyezését és kezelését.

Forgatókönyv részletei

Mivel szervezete felismeri az adatelemzés és a gépi tanulás hatékonyságát, javíthatja a hatékonyságot, javíthatja az ügyfélélményt, és előre jelezheti a változásokat. Ezeknek a céloknak az üzleti szempontból kritikus használati esetekben való eléréséhez konzisztens és megbízható mintára van szüksége a következőkhöz:

  • Kísérletek nyomon követése.
  • Eredmények reprodukálása.
  • Gépi tanulási modellek üzembe helyezése éles környezetben.

Ez a cikk egy konzisztens, megbízható gépi tanulási keretrendszer megoldását ismerteti. Az Azure Databricks képezi az architektúra alapját. A Delta Lake tárolási réteg és a gépi tanulási platform MLflow is jelentős szerepet játszik. Ezek az összetevők zökkenőmentesen integrálhatók más szolgáltatásokkal, mint például az Azure Data Lake Storage, az Azure Machine Tanulás és az Azure Kubernetes Service (AKS).

Ezek a szolgáltatások együttesen nyújtanak megoldást az adatelemzéshez és a gépi tanuláshoz, amely a következő:

  • Egyszerű: A nyitott data lake leegyszerűsíti az architektúrát. A data lake egy válogatott réteget tartalmaz, a Delta Lake-t. Ez a réteg hozzáférést biztosít az adatokhoz nyílt forráskódú formátumban.

  • Megnyitás: A megoldás támogatja a nyílt forráskódú kódot, a nyílt szabványokat és a nyílt keretrendszereket. Ez a megközelítés minimálisra csökkenti a jövőbeli frissítések szükségességét. Az Azure Databricks és a Machine Tanulás natív módon támogatja az MLflow-t és a Delta Lake-t. Ezek az összetevők együttesen iparágvezető gépi tanulási műveleteket (MLOps) vagy DevOps-t biztosítanak a gépi tanuláshoz. Az üzembehelyezési eszközök széles köre integrálható a megoldás szabványosított modellformátumával.

  • Együttműködés: Az adatelemzési és AZ MLOps-csapatok együttműködnek ezzel a megoldással. Ezek a csapatok MLflow-nyomkövetést használnak a kísérletek rögzítéséhez és lekérdezéséhez. A csapatok modelleket is üzembe helyeznek a központi MLflow-modellregisztrációs adatbázisban. Az adatmérnökök ezután üzembe helyezett modelleket használnak az adatbetöltésben, a kinyerési-átalakítási-betöltési (ETL-) folyamatokban és a streamelési folyamatokban.

Lehetséges használati esetek

Az AGL által az energia-előrejelzéshez készült platform ihlette ezt a megoldást. Ez a platform több ezer párhuzamos modell gyors és költséghatékony betanítását, üzembe helyezését és életciklus-kezelését biztosítja.

Az energiaszolgáltatókon kívül ez a megoldás minden olyan szervezet számára előnyös lehet, amely:

  • Adatelemzést használ.
  • Gépi tanulási modellek létrehozása és betanítása.
  • Gépi tanulási modelleket futtat éles környezetben.

Ilyenek például a szervezetek:

  • Kiskereskedelem és e-kereskedelem.
  • Banki és pénzügyi.
  • Egészségügy és élettudományok.
  • Autóipar és gyártás.

További lépések

  • Az AGL Energy több ezer párhuzamos modellhez készít szabványosított platformot. A platform gyors és költséghatékony betanítást, üzembe helyezést és életciklus-kezelést biztosít a modellek számára.
  • Az Open Grid Europe (OGE) mesterségesintelligencia-modelleket használ a gázvezetékek monitorozására. Az OGE az Azure Databricks és az MLflow használatával fejleszti a modelleket.
  • A Scandinavian Airlines (SAS) az Azure Databrickset használja egy együttműködésen alapuló kutatási fázisban. A légitársaság a Machine Tanulás használatával is fejleszt prediktív modelleket. A cég adataiban szereplő minták azonosításával a modellek javítják a mindennapi működést.