Redigera

Dela via


Data science och maskininlärning med Azure Databricks

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

Lösningsidéer

I den här artikeln beskrivs en lösningsidé. Molnarkitekten kan använda den här vägledningen för att visualisera huvudkomponenterna för en typisk implementering av den här arkitekturen. Använd den här artikeln som utgångspunkt för att utforma en välkonstruerad lösning som överensstämmer med arbetsbelastningens specifika krav.

Den här arkitekturen visar hur du kan förbättra driften med hjälp av Azure Databricks, Delta Lake och MLflow för datavetenskap och maskininlärning. Du kan förbättra din övergripande effektivitet och kundupplevelse genom att utveckla, träna och distribuera maskininlärningsmodeller.

Arkitektur

Arkitekturdiagram som visar hur Azure Databricks fungerar med datalagringstjänster för att förfina och analysera data och göra dem tillgängliga för andra tjänster.

Diagrammet innehåller tre grå rektanglar: en märkt Process, en märkt Serve och en märkt Store. Rektanglarna Process och Serve ligger bredvid varandra i den övre delen av diagrammet. Rektangeln Serve innehåller en vit ruta med ikoner för Mašinsko učenje och Azure Kubernetes Service. En annan vit låda sträcker sig över process- och serverektanglarna. Den innehåller ikoner för Azure Databricks och MLflow. En pil pekar från rutan till den vita rutan i rektangeln Serve. Under rektangeln Process finns rektangeln Store. Den innehåller en vit ruta med ikoner för Data Lake Storage, Delta Lake och tre databastabeller märkta Brons, Silver och Guld. Tre rader ansluter rektanglarna Process och Store med pilar i varje ände av varje rad.

Ladda ned en Visio-fil med den här arkitekturen.

Lösningen lagrar, bearbetar och hanterar data:

Dataflöde

Store

Data Lake Storage lagrar data i Delta Lake-format. Delta Lake utgör datasjöns kurerade lager. En medaljongarkitektur organiserar data i tre lager:

  • Bronstabeller innehåller rådata.
  • Silvertabeller innehåller rensade, filtrerade data.
  • Guldtabeller lagrar aggregerade data som är redo för analys och rapportering.

Process

  • Kod från olika språk, ramverk och bibliotek förbereder, förfinar och rensar rådata (1). Bland kodningsmöjligheterna finns Python, R, SQL, Spark, Pandas och Koalas.

  • Azure Databricks kör datavetenskapsarbetsbelastningar. Den här plattformen bygger och tränar även maskininlärningsmodeller (2). Azure Databricks använder förinstallerade, optimerade bibliotek. Exempel är scikit-learn, TensorFlow, PyTorch och XGBoost.

  • MLflow-spårning samlar in maskininlärningsexperiment, modellkörningar och resultat (3). När den bästa modellen är redo för produktion distribuerar Azure Databricks modellen till MLflow-modelllagringsplatsen. Det här centraliserade registret lagrar information om produktionsmodeller. Registret gör även modeller tillgängliga för andra komponenter:

    • Spark- och Python-pipelines kan mata in modeller. Dessa pipelines hanterar batcharbetsbelastningar eller ETL-strömningsprocesser.
    • REST-API:er ger åtkomst till modeller i många syften. Exempel är testning och interaktiv bedömning i mobil- och webbprogram.

Servera

Azure Databricks kan distribuera modeller till andra tjänster, till exempel Mašinsko učenje och AKS (4).

Komponenter

  • Azure Databricks är en plattform för dataanalys. Dess fullständigt hanterade Spark-kluster kör datavetenskapsarbetsbelastningar. Azure Databricks använder också förinstallerade, optimerade bibliotek för att skapa och träna maskininlärningsmodeller. MLflow-integrering med Azure Databricks är ett sätt att spåra experiment, lagra modeller i lagringsplatser och göra modeller tillgängliga för andra tjänster. Azure Databricks erbjuder skalbarhet:

    • Beräkningskluster med en nod hanterar små datauppsättningar och körningar med en modell.
    • För stora datamängder är beräkningskluster med flera noder eller GPU-kluster tillgängliga. Dessa kluster använder bibliotek och ramverk som HorovodRunner och Hyperopt för parallella modellkörningar.
  • Data Lake Storage är en skalbar och säker datasjö för analysarbetsbelastningar med höga prestanda. Den här tjänsten hanterar flera petabyte med information samtidigt som hundratals gigabit dataflöde bibehålls. Data kan ha följande egenskaper:

    • Vara strukturerad, halvstrukturerad eller ostrukturerad.
    • Kommer från flera heterogena källor som loggar, filer och media.
    • Var statisk, från batchar eller direktuppspelning.
  • Delta Lake är ett lagringslager som använder ett öppet filformat. Det här lagret körs ovanpå molnlagring, till exempel Data Lake Storage. Delta Lake är optimerat för att transformera och rensa batch- och strömmande data. Den här plattformen stöder följande funktioner:

    • Versionshantering och återställning av data.
    • Atomicitets-, konsekvens-, isolerings- och hållbarhetstransaktioner (ACID) för tillförlitlighet.
    • En konsekvent standard för dataförberedelse, modellträning och modellhantering.
    • Tidsresor för konsekventa ögonblicksbilder av källdata. Dataexperter kan träna modeller på ögonblicksbilderna i stället för att skapa separata kopior.
  • MLflow är en plattform med öppen källkod för maskininlärningslivscykeln. MLflow-komponenter övervakar maskininlärningsmodeller under träning och körning. Lagrad information omfattar kod, data, konfigurationsinformation och resultat. MLflow lagrar även modeller och läser in dem i produktion. Eftersom MLflow använder öppna ramverk kan olika tjänster, program, ramverk och verktyg använda modellerna.

  • Mašinsko učenje är en molnbaserad miljö som hjälper dig att skapa, distribuera och hantera lösningar för förutsägelseanalys. Med dessa modeller kan du förutsäga beteende, resultat och trender.

  • AKS är en mycket tillgänglig, säker och fullständigt hanterad Kubernetes-tjänst. AKS gör det enkelt att distribuera och hantera containerbaserade program.

Information om scenario

När din organisation känner igen kraften i datavetenskap och maskininlärning kan du förbättra effektiviteten, förbättra kundupplevelsen och förutsäga förändringar. För att uppnå dessa mål i affärskritiska användningsfall behöver du ett konsekvent och tillförlitligt mönster för:

  • Spåra experiment.
  • Återskapa resultat.
  • Distribuera maskininlärningsmodeller till produktion.

Den här artikeln beskriver en lösning för ett konsekvent och tillförlitligt ramverk för maskininlärning. Azure Databricks utgör kärnan i arkitekturen. Lagringsskiktet Delta Lake och maskininlärningsplattformen MLflow spelar också viktiga roller. Dessa komponenter integreras sömlöst med andra tjänster som Azure Data Lake Storage, Azure Mašinsko učenje och Azure Kubernetes Service (AKS).

Tillsammans tillhandahåller dessa tjänster en lösning för datavetenskap och maskininlärning som är:

  • Enkelt: En öppen datasjö förenklar arkitekturen. Datasjön innehåller ett kuraterat lager, Delta Lake. Det lagret ger åtkomst till data i ett format med öppen källkod.

  • Öppen: Lösningen stöder öppen källkod, öppna standarder och öppna ramverk. Den här metoden minimerar behovet av framtida uppdateringar. Azure Databricks och Mašinsko učenje har inbyggt stöd för MLflow och Delta Lake. Tillsammans tillhandahåller dessa komponenter branschledande maskininlärningsåtgärder (MLOps) eller DevOps för maskininlärning. Ett brett utbud av distributionsverktyg integreras med lösningens standardiserade modellformat.

  • Samarbete: Data science- och MLOps-team samarbetar med den här lösningen. Dessa team använder MLflow-spårning för att registrera och fråga experiment. Teamen distribuerar också modeller till det centrala MLflow-modellregistret. Datatekniker använder sedan distribuerade modeller i datainmatning, ETL-processer (extract-transform-load) och strömningspipelines.

Potentiella användningsfall

En plattform som AGL skapade för energiprognoser inspirerade den här lösningen. Plattformen ger snabb och kostnadseffektiv utbildning, distribution och livscykelhantering för tusentals parallella modeller.

Förutom energileverantörer kan den här lösningen gynna alla organisationer som:

  • Använder datavetenskap.
  • Bygger och tränar maskininlärningsmodeller.
  • Kör maskininlärningsmodeller i produktion.

Exempel är organisationer i:

  • Detaljhandel och e-handel.
  • Bank- och finansbranschen.
  • Hälso- och sjukvård och livsvetenskap.
  • Fordonsindustri och tillverkning.

Nästa steg

  • AGL Energy bygger en standardiserad plattform för tusentals parallella modeller. Plattformen ger snabb och kostnadseffektiv utbildning, distribution och livscykelhantering för modellerna.
  • Open Grid Europe (OGE) använder modeller för artificiell intelligens för att övervaka gasledningar. OGE använder Azure Databricks och MLflow för att utveckla modellerna.
  • Scandinavian Airlines (SAS) använder Azure Databricks under en forskningsfas för samarbete. Flygbolaget använder också Mašinsko učenje för att utveckla förutsägelsemodeller. Genom att identifiera mönster i företagets data förbättrar modellerna den dagliga driften.