Data science och maskininlärning med Azure Databricks

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

Lösningsidéer

Den här artikeln är en lösningsidé. Om du vill att vi ska utöka innehållet med mer information, till exempel potentiella användningsfall, alternativa tjänster, implementeringsöverväganden eller prisvägledning, kan du meddela oss genom att ge GitHub-feedback.

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

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

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. Serve-rektangeln innehåller en vit ruta med ikoner för Machine Learning 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.

Bearbeta

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

Tjäna

Azure Databricks kan distribuera modeller till andra tjänster, till exempel Machine Learning 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.

  • Machine Learning ä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 Machine Learning 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 Machine Learning 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å Machine Learning för att utveckla förutsägelsemodeller. Genom att identifiera mönster i företagets data förbättrar modellerna den dagliga driften.