Wat is Azure Machine Learning?

Azure Machine Learning is een cloudservice voor het versnellen en beheren van de levenscyclus van machine learning-projecten. Machine learning-professionals, gegevenswetenschappers en technici kunnen deze gebruiken in hun dagelijkse werkstromen: Modellen trainen en implementeren en MLOps beheren.

U kunt een model maken in Azure Machine Learning of een model gebruiken dat is gebouwd op basis van een opensource-platform, zoals Pytorch, TensorFlow of scikit-learn. MLOps-hulpprogramma's helpen u modellen te bewaken, opnieuw te trainen en opnieuw te implementeren.

Tip

Gratis proefversie Als u nog geen Azure-abonnement hebt, maakt u een gratis account voordat u begint. Probeer de gratis of betaalde versie van Azure Machine Learning. U ontvangt tegoed wat u kunt uitgeven aan Azure-services. Als uw tegoed op is, kunt u het account behouden en de gratis Azure-services gebruiken. Er worden nooit kosten in rekening gebracht bij uw creditcard tenzij u de instellingen expliciet wijzigt en aangeeft dat u wilt betalen.

Voor wie is Azure Machine Learning bedoeld?

Azure Machine Learning is bedoeld voor personen en teams die MLOps binnen hun organisatie implementeren om machine learning-modellen in productie te brengen in een veilige en controleerbare productieomgeving.

Gegevenswetenschappers en ML-technici vinden hulpprogramma's om hun dagelijkse werkstromen te versnellen en automatiseren. Toepassingsontwikkelaars vinden hulpprogramma's voor het integreren van modellen in toepassingen of services. Platformontwikkelaars vinden een robuuste set hulpprogramma's, ondersteund door duurzame Azure Resource Manager API's, voor het bouwen van geavanceerde ML-hulpprogramma's.

Ondernemingen die in de Microsoft Azure-cloud werken, vinden bekende beveiliging en op rollen gebaseerd toegangsbeheer (RBAC) voor infrastructuur. U kunt een project instellen om de toegang tot beveiligde gegevens te weigeren en bewerkingen te selecteren.

Productiviteit voor iedereen in het team

Voor machine learning-projecten is vaak een team met gevarieerde vaardigheden vereist om te bouwen en te onderhouden. Azure Machine Learning bevat hulpprogramma's waarmee u het volgende kunt doen:

  • Samenwerken met uw team via gedeelde notebooks, rekenresources, gegevens en omgevingen

  • Modellen ontwikkelen voor eerlijkheid en uitlegbaarheid, tracering en controleerbaarheid om te voldoen aan vereisten voor herkomst en controle

  • ML-modellen snel en eenvoudig op schaal implementeren en efficiënt beheren en beheren met MLOps

  • Machine Learning-workloads overal uitvoeren met ingebouwde governance, beveiliging en naleving

Cross-compatibele platformhulpprogramma's die voldoen aan uw behoeften

Iedereen in een ML-team kan de gewenste hulpprogramma's gebruiken om de klus te klaren. Of u nu snelle experimenten uitvoert, hyperparameter-afstemming, pijplijnen bouwt of deducties beheert, u kunt vertrouwde interfaces gebruiken, waaronder:

Terwijl u het model verfijnt en met anderen samenwerkt gedurende de rest van de machine learning-ontwikkelingscyclus, kunt u assets, resources en metrische gegevens voor uw projecten delen en vinden in de gebruikersinterface van Azure Machine Learning-studio.

Studio

De Azure Machine Learning-studio biedt meerdere ontwerpervaringen, afhankelijk van het type project en het niveau van uw eerdere ML-ervaring, zonder dat u iets hoeft te installeren.

  • Notebooks: schrijf en voer uw eigen code uit in beheerde Jupyter Notebook servers die rechtstreeks zijn geïntegreerd in de studio.

  • Metrische uitvoeringsgegevens visualiseren: analyseer en optimaliseer uw experimenten met visualisatie.

    Schermopname van metrische gegevens voor een trainingsuitvoering.

  • Azure Machine Learning-ontwerpfunctie: gebruik de ontwerpfunctie om machine learning-modellen te trainen en implementeren zonder code te schrijven. Gegevenssets en onderdelen slepen en neerzetten om ML-pijplijnen te maken. Probeer de zelfstudie over de ontwerpfunctie.

  • Geautomatiseerde machine learning-gebruikersinterface: informatie over het maken van geautomatiseerde ML-experimenten met een gebruiksvriendelijke interface.

  • Gegevenslabels: gebruik Azure Machine Learning-gegevenslabels om projecten voor het labelen van afbeeldingen of tekstlabels efficiënt te coördineren.

Bedrijfsgereedheid en beveiliging

Azure Machine Learning kan worden geïntegreerd met het Azure-cloudplatform om beveiliging toe te voegen aan ML-projecten.

Beveiligingsintegraties omvatten:

  • Virtuele Azure-netwerken (VNets) met netwerkbeveiligingsgroepen
  • Azure Key Vault waar u beveiligingsgeheimen kunt opslaan, zoals toegangsgegevens voor opslagaccounts
  • Azure Container Registry instellen achter een VNet

Zie Zelfstudie: Een beveiligde werkruimte instellen.

Azure-integraties voor complete oplossingen

Andere integraties met Azure-services ondersteunen een machine learning-project van end-to-end. Deze omvatten:

  • Azure Synapse Analytics voor het verwerken en streamen van gegevens met Spark
  • Azure Arc, waar u Azure-services kunt uitvoeren in een Kubernetes-omgeving
  • Opslag- en databaseopties, zoals Azure SQL Database, Azure Storage-blobs, enzovoort
  • Azure App Service waarmee u door ML aangestuurde apps kunt implementeren en beheren

Belangrijk

Azure Machine Learning slaat uw gegevens niet op of verwerkt deze buiten de regio waarin u implementeert.

Werkstroom voor machine learning-projecten

Modellen worden doorgaans ontwikkeld als onderdeel van een project met een doelstelling en doelstellingen. Bij projecten zijn vaak meerdere personen betrokken. Bij het experimenteren met gegevens, algoritmen en modellen is ontwikkeling iteratief.

Projectlevenscyclus

Hoewel de levenscyclus van het project per project kan variëren, ziet deze er vaak als volgt uit:

Levenscyclusdiagram van machine learning-projecten

Een werkruimte organiseert een project en maakt samenwerking mogelijk voor veel gebruikers die allemaal werken aan een gemeenschappelijk doel. Gebruikers in een werkruimte kunnen eenvoudig de resultaten van hun uitvoeringen van experimenten delen in de gebruikersinterface van Studio of assets met versiebeheer gebruiken voor taken zoals omgevingen en opslagverwijzingen.

Zie Azure Machine Learning-werkruimten beheren voor meer informatie.

Wanneer een project klaar is voor operationalisatie, kan het werk van gebruikers worden geautomatiseerd in een machine learning-pijplijn en worden geactiveerd op basis van een planning of HTTPS-aanvraag.

Modellen kunnen worden geïmplementeerd in de beheerde deductieoplossing, voor zowel realtime- als batchimplementaties, waardoor het infrastructuurbeheer dat doorgaans nodig is voor het implementeren van modellen, wordt weggenomen.

Modellen trainen

In Azure Machine Learning kunt u uw trainingsscript uitvoeren in de cloud of een volledig nieuw model bouwen. Klanten brengen vaak modellen mee die ze hebben gebouwd en getraind in opensource-frameworks, zodat ze deze in de cloud kunnen uitvoeren.

Open en interoperabel

Gegevenswetenschappers kunnen modellen in Azure Machine Learning gebruiken die ze hebben gemaakt in algemene Python-frameworks, zoals:

  • PyTorch
  • TensorFlow
  • scikit-learn
  • XGBoost
  • LightGBM

Andere talen en frameworks worden ook ondersteund, waaronder:

  • R
  • .NET

Zie Opensource-integratie met Azure Machine Learning.

Automatische featurization en algoritmeselectie (AutoML)

In een herhalend, tijdrovend proces gebruiken gegevenswetenschappers in klassieke machine learning eerdere ervaringen en intuïtie om de juiste gegevens featurization en het juiste algoritme voor training te selecteren. Automatische ML (AutoML) versnelt dit proces en kan worden gebruikt via de studio-gebruikersinterface of Python SDK.

Zie Wat is geautomatiseerde machine learning?

Hyperparameteroptimalisatie

Hyperparameteroptimalisatie, of hyperparameterafstemming, kan een tijdrovende taak zijn. Azure Machine Learning kan deze taak automatiseren voor willekeurige geparameteriseerde opdrachten met weinig wijzigingen in uw taakdefinitie. Resultaten worden gevisualiseerd in de studio.

Zie Hyperparameters afstemmen.

Gedistribueerde training voor meerdere knooppunten

De efficiëntie van training voor deep learning en soms klassieke machine learning-trainingstaken kan drastisch worden verbeterd via gedistribueerde training met meerdere knooppunten. Azure Machine Learning-rekenclusters bieden de nieuwste GPU-opties.

Ondersteund via Azure ML Kubernetes en Azure ML-rekenclusters:

  • PyTorch
  • TensorFlow
  • Mpi

De MPI-distributie kan worden gebruikt voor Horovod- of aangepaste multiknooppuntlogica. Daarnaast wordt Apache Spark ondersteund via Azure Synapse Analytics Spark-clusters (preview).

Zie Gedistribueerde training met Azure Machine Learning.

Gênant parallelle training

Voor het schalen van een machine learning-project is mogelijk gênant parallelle modeltraining vereist. Dit patroon is gebruikelijk voor scenario's zoals het voorspellen van de vraag, waarbij een model voor veel winkels kan worden getraind.

Modellen implementeren

Om een model in productie te brengen, wordt het geïmplementeerd. De beheerde eindpunten van Azure Machine Learning abstraheren de vereiste infrastructuur voor zowel batch- als realtime (online) modelscores (deductie).

Realtime en batchgewijs scoren (deductie)

Batchscore, of batchdeductie, omvat het aanroepen van een eindpunt met een verwijzing naar gegevens. Het batch-eindpunt voert taken asynchroon uit om gegevens parallel te verwerken op rekenclusters en de gegevens op te slaan voor verdere analyse.

Realtime scoren, of online deductie, omvat het aanroepen van een eindpunt met een of meer modelimplementaties en het ontvangen van een antwoord in bijna realtime via HTTPs. Verkeer kan worden verdeeld over meerdere implementaties, zodat nieuwe modelversies kunnen worden getest door in eerste instantie enige hoeveelheid verkeer om te leiden en toe te nemen zodra het vertrouwen in het nieuwe model tot stand is gebracht.

Zie:

MLOps: DevOps voor machine learning

DevOps voor machine learning-modellen, ook wel MLOps genoemd, is een proces voor het ontwikkelen van modellen voor productie. De levenscyclus van een model, van training tot implementatie, moet controleerbaar zijn als deze niet kan worden gereproduceerd.

Levenscyclus van ML-model

Levenscyclus van machine learning-model * MLOps

Meer informatie over MLOps in Azure Machine Learning.

Integraties die MLOPs inschakelen

Azure Machine Learning is gebouwd met het oog op de levenscyclus van het model. U kunt de levenscyclus van het model controleren tot een specifieke doorvoer en omgeving.

Enkele belangrijke functies voor het inschakelen van MLOps zijn:

  • git Integratie
  • MLflow-integratie
  • Machine learning-pijplijnplanning
  • Azure Event Grid integratie voor aangepaste triggers
  • Eenvoudig te gebruiken met CI/CD-hulpprogramma's zoals GitHub Actions of Azure DevOps

Azure Machine Learning bevat ook functies voor bewaking en controle:

  • Taakartefacten, zoals momentopnamen van code, logboeken en andere uitvoer
  • Herkomst tussen taken en assets, zoals containers, gegevens en rekenresources

Volgende stappen

Aan de slag met Azure Machine Learning: