Data Science en Machine Learning met Azure Databricks

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

Oplossingsideeën

Dit artikel is een oplossingsidee. Als u wilt dat we de inhoud uitbreiden met meer informatie, zoals mogelijke use cases, alternatieve services, implementatieoverwegingen of prijsrichtlijnen, laat het ons dan weten door GitHub-feedback te geven.

Deze architectuur laat zien hoe u bewerkingen kunt verbeteren met behulp van Azure Databricks, Delta Lake en MLflow voor gegevenswetenschap en machine learning. U kunt uw algehele efficiëntie en de klantervaring verbeteren door machine learning-modellen te ontwikkelen, te trainen en te implementeren.

Architectuur

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

Het diagram bevat drie grijze rechthoeken: één gelabeld Proces, één gelabelde Serve en één gelabelde Store. De rechthoeken Proces en Serve staan naast elkaar in het bovenste gedeelte van het diagram. De rechthoek Serve bevat een wit vak met pictogrammen voor Machine Learning en Azure Kubernetes Service. Een ander wit vak zit tussen de rechthoeken Proces en Server. Het bevat pictogrammen voor Azure Databricks en MLflow. Een pijl wijst van dat vak naar het witte vak in de rechthoek Server. Onder de rechthoek Proces bevindt zich de rechthoek Store. Het bevat een wit vak met pictogrammen voor Data Lake Storage, Delta Lake en drie databasetabellen met het label Bronze, Silver en Gold. Drie regels verbinden de rechthoeken Proces en Opslaan, met pijlen aan elk uiteinde van elke regel.

Een Visio-bestand van deze architectuur downloaden.

In de oplossing worden gegevens opgeslagen, verwerkt en verwerkt:

Gegevensstroom

Opslaan

Data Lake Storage slaat de gegevens op in delta lake-indeling. Delta Lake vormt de gecureerde laag van de data lake. De gegevens worden ingedeeld in drie lagen:

  • Bronstabellen bevatten onbewerkte gegevens.
  • Zilveren tabellen bevatten opgeschoonde, gefilterde gegevens.
  • In gouden tabellen worden geaggregeerde gegevens opgeslagen die gereed zijn voor analyse en rapportage.

Proces

  • Code uit verschillende talen, frameworks en bibliotheken bereidt, verfijnt en schoont de onbewerkte gegevens (1) voor. Coderingsmogelijkheden zijn onder andere Python, R, SQL, Spark, Pandas en Koalas.

  • Azure Databricks voert data science-workloads uit. Dit platform bouwt en traint ook machine learning-modellen (2). Azure Databricks maakt gebruik van vooraf geïnstalleerde, geoptimaliseerde bibliotheken. Voorbeelden zijn scikit-learn, TensorFlow, PyTorch en XGBoost.

  • Met MLflow-tracering worden de machine learning-experimenten, modeluitvoeringen en resultaten vastgelegd (3). Wanneer het beste model gereed is voor productie, implementeert Azure Databricks dat model in de MLflow-modelopslagplaats. In dit gecentraliseerde register worden gegevens opgeslagen over productiemodellen. Het register maakt modellen ook beschikbaar voor andere onderdelen:

    • Spark- en Python-pijplijnen kunnen modellen opnemen. Deze pijplijnen verwerken batchworkloads of streaming ETL-processen.
    • REST API's bieden toegang tot modellen voor veel doeleinden. Voorbeelden hiervan zijn testen en interactief scoren in mobiele en webtoepassingen.

Serve

Azure Databricks kan modellen implementeren in andere services, zoals Machine Learning en AKS (4).

Onderdeel

  • Azure Databricks is een platform voor gegevensanalyse. De volledig beheerde Spark-clusters voeren data science-workloads uit. Azure Databricks maakt ook gebruik van vooraf geïnstalleerde, geoptimaliseerde bibliotheken voor het bouwen en trainen van machine learning-modellen. MLflow-integratie met Azure Databricks biedt een manier om experimenten bij te houden, modellen op te slaan in opslagplaatsen en modellen beschikbaar te maken voor andere services. Azure Databricks biedt schaalbaarheid:

    • Rekenclusters met één knooppunt verwerken kleine gegevenssets en uitvoeringen met één model.
    • Voor grote gegevenssets zijn rekenclusters met meerdere knooppunten of GPU-clusters (Graphics Processing Unit) beschikbaar. Deze clusters gebruiken bibliotheken en frameworks zoals HorovodRunner en Hyperopt voor parallelle uitvoeringen.
  • Data Lake Storage is een schaalbare en veilige Data Lake voor high-performance analyseworkloads. Deze service beheert meerdere petabytes aan informatie terwijl honderden gigabits aan doorvoer worden ondersteund. De gegevens kunnen de volgende kenmerken hebben:

    • Gestructureerd, semi-gestructureerd of ongestructureerd zijn.
    • Afkomstig zijn van meerdere heterogene bronnen, zoals logboeken, bestanden en media.
    • Statisch zijn, van batches of streaming.
  • Delta Lake is een opslaglaag die gebruikmaakt van een geopende bestandsindeling. Deze laag wordt uitgevoerd boven op cloudopslag, zoals Data Lake Storage. Delta Lake is geoptimaliseerd voor het transformeren en opschonen van batch- en streaminggegevens. Dit platform ondersteunt deze functies en functionaliteit:

    • Gegevensversiebeheer en terugdraaien.
    • Atomische, consistentie-, isolatie- en duurzaamheidstransacties (ACID) voor betrouwbaarheid.
    • Een consistente standaard voor het voorbereiden van gegevens, het trainen van modellen en het leveren van modellen.
    • Tijdreizen voor consistente momentopnamen van brongegevens. Gegevenswetenschappers kunnen modellen trainen op de momentopnamen in plaats van afzonderlijke kopieën te maken.
  • MLflow is een opensource-platform voor de levenscyclus van machine learning. MLflow-onderdelen bewaken machine learning-modellen tijdens de training en uitvoering. Opgeslagen informatie omvat code, gegevens, configuratie-informatie en resultaten. MLflow slaat ook modellen op en laadt ze in productie. Omdat MLflow gebruikmaakt van open frameworks, kunnen verschillende services, toepassingen, frameworks en hulpprogramma's de modellen gebruiken.

  • Machine Learning is een cloudomgeving waarmee u predictive analytics-oplossingen kunt bouwen, implementeren en beheren. Met deze modellen kunt u gedrag, resultaten en trends voorspellen.

  • AKS is een maximaal beschikbare, veilige en volledig beheerde Kubernetes-service. Met AKS kunt u eenvoudig containertoepassingen implementeren en beheren.

Scenariodetails

Naarmate uw organisatie de kracht van data science en machine learning herkent, kunt u de efficiëntie verbeteren, klantervaringen verbeteren en wijzigingen voorspellen. Als u deze doelen wilt bereiken in bedrijfskritieke use cases, hebt u een consistent en betrouwbaar patroon nodig voor:

  • Experimenten bijhouden.
  • Resultaten reproduceren.
  • Machine Learning-modellen implementeren in productie.

In dit artikel wordt een oplossing beschreven voor een consistent, betrouwbaar machine learning-framework. Azure Databricks vormt de kern van de architectuur. De opslaglaag Delta Lake en het Machine Learning-platform MLflow spelen ook belangrijke rollen. Deze onderdelen kunnen naadloos worden geïntegreerd met andere services, zoals Azure Data Lake Storage, Azure Machine Learning en Azure Kubernetes Service (AKS).

Samen bieden deze services een oplossing voor data science en machine learning:

  • Eenvoudig: Een open data lake vereenvoudigt de architectuur. De data lake bevat een gecureerde laag, Delta Lake. Deze laag biedt toegang tot de gegevens in een opensource-indeling.

  • Open: De oplossing ondersteunt opensource-code, open standaarden en open frameworks. Deze aanpak minimaliseert de noodzaak van toekomstige updates. Azure Databricks en Machine Learning bieden systeemeigen ondersteuning voor MLflow en Delta Lake. Samen bieden deze onderdelen toonaangevende machine learning-bewerkingen (MLOps) of DevOps voor machine learning. Een breed scala aan implementatiehulpprogramma's kan worden geïntegreerd met de gestandaardiseerde modelindeling van de oplossing.

  • Samenwerking: Data science- en MLOps-teams werken samen met deze oplossing. Deze teams gebruiken MLflow-tracering om experimenten vast te leggen en op te vragen. De teams implementeren ook modellen in het centrale MLflow-modelregister. Data engineers gebruiken vervolgens geïmplementeerde modellen in gegevensopname, ETL-processen (extract-transform-load) en streamingpijplijnen.

Potentiële gebruikscases

Een platform dat AGL heeft gebouwd voor energieprognoses, inspireerde deze oplossing. Dat platform biedt snel en rendabel training, implementatie en levenscyclusbeheer voor duizenden parallelle modellen.

Naast energieleveranciers kan deze oplossing profiteren van elke organisatie die:

  • Maakt gebruik van data science.
  • Machine Learning-modellen bouwen en trainen.
  • Voert machine learning-modellen uit in productie.

Voorbeelden zijn organisaties in:

  • Detailhandel en e-commerce.
  • Bankwezen en financiën.
  • Gezondheidszorg en levenswetenschappen.
  • Automobielindustrie en productie.

Volgende stappen

  • AGL Energy bouwt een gestandaardiseerd platform voor duizenden parallelle modellen. Het platform biedt snel en rendabel training, implementatie en levenscyclusbeheer voor de modellen.
  • Open Grid Europe (OGE) maakt gebruik van modellen voor kunstmatige intelligentie om gaspijplijnen te bewaken. OGE maakt gebruik van Azure Databricks en MLflow om de modellen te ontwikkelen.
  • Scandinavische Airlines (SAS) maakt gebruik van Azure Databricks tijdens een onderzoeksfase voor samenwerking. De luchtvaartmaatschappij maakt ook gebruik van Machine Learning om voorspellende modellen te ontwikkelen. Door patronen in de gegevens van het bedrijf te identificeren, verbeteren de modellen dagelijkse activiteiten.