Lösningsidé
Om du vill att vi utökar den här artikeln med mer information, till exempel potentiella användningsfall, alternativa tjänster, implementeringsöverväganden eller prisvägledning, kan du berätta för GitHub Feedback!
När din organisation känner igen kraften i datavetenskap och maskininlärning kan du förbättra effektiviteten, förbättra kundupplevelser 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. Lagringslagret Delta Lake och maskininlärningsplattformens MLflow har också betydande 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 utgör 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 curated-lager, Delta Lake. 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 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:Datavetenskaps- och MLOps-teamen arbetar tillsammans med den här lösningen. Dessa team använder MLflow-spårning för att registrera och köra frågor mot experiment. Teamen distribuerar även modeller till det centrala MLflow-modellregistret. Datatekniker använder sedan distribuerade modeller i processer för datainmatning, ETL-processer (extract-transform-load) och strömmande pipelines.
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 vara till nytta för alla organisationer som:
- Använder datavetenskap.
- Skapar och tränar maskininlärningsmodeller.
- Kör maskininlärningsmodeller i produktion.
Exempel är organisationer i:
- Detaljhandel och e-handel.
- Bankväsende och ekonomi.
- Sjukvård och livsvetenskap.
- Fordonsbranscherna och tillverkningsbranschen.
Arkitektur
Diagrammet innehåller tre grå rektanglar: en med etiketten Process, en med etiketten Serve och en med etiketten Store. Rektanglarna Process och Serve finns bredvid varandra i den övre delen av diagrammet. Rektangeln Serve innehåller en vit ruta med ikoner för Machine Learning och Azure Kubernetes Service. En annan vit ruta övervinns process- och serverektanglar. 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 med etiketten 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
Lagringsplats
Data Lake Storage lagrar data i Delta Lake-format. Delta Lake utgör det curated skiktet i datasjön. I en medalj arkitektur ordnas 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). Kodningsmöjligheterna omfattar Python, R, SQL, Spark, Pandas och Koalas.
Azure Databricks kör datavetenskapsarbetsbelastningar. Den här plattformen skapar och tränar även maskininlärningsmodeller (2). Azure Databricks använder förinstallerade, optimerade bibliotek. Några 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 klar för produktion Azure Databricks den modellen till MLflow-modelldatabasen. 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 strömmande ETL-processer.
- REST-API:er ger åtkomst till modeller för många ändamål. Exempel är testning och interaktiv bedömning i mobil- och webbappar.
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 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 databaser 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 enda 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 högpresterande analysarbetsbelastningar. Den här tjänsten hanterar flera petabyte med information samtidigt som dataflödet på hundratals gigabit upprätthålls. Data kan ha följande egenskaper:
- Vara strukturerad, halvstrukturerad eller ostrukturerad
- Komma från flera heterogena källor som loggar, filer och media
- Vara statisk, från batchar eller strömning
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 transformering och rensning av batchdata och strömmande data. Den här plattformen stöder dessa funktioner:
- Dataversionshantering och återställning.
- Acid-transaktioner (atomicitet, konsekvens, isolering och varaktighet) för tillförlitlighet.
- En konsekvent standard för förberedelse av data, modellträning och modell betjänande.
- 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 prediktiva analyslösningar. Med dessa modeller kan du göra prognoser för 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 program i containrar.
Nästa steg
- AGL Energy skapar 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 artificiella intelligensmodeller för att övervaka gaspipelines. OGE använder Azure Databricks och MLflow för att utveckla modellerna.
- Sas (Sas) använder Azure Databricks under en samarbetsfas för forskning. Flygbolagen 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.