Wat is Azure Machine Learning?

Azure Machine Learning is een cloudservice voor het versnellen en beheren van de levenscyclus van het machine learning-project (ML). ML-professionals, gegevenswetenschappers en technici kunnen deze gebruiken in hun dagelijkse werkstromen om modellen te trainen en te implementeren en machine learning-bewerkingen (MLOps) te beheren.

U kunt een model maken in 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 geen Azure-abonnement hebt, maakt u een gratis account voordat u begint. Probeer vandaag nog 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.

Wie is Azure Machine Learning voor?

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

Gegevenswetenschappers en ML-technici kunnen hulpprogramma's gebruiken om hun dagelijkse werkstromen te versnellen en te automatiseren. Toepassingsontwikkelaars kunnen hulpprogramma's gebruiken voor het integreren van modellen in toepassingen of services. Platformontwikkelaars kunnen gebruikmaken van 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, kunnen vertrouwde beveiliging en op rollen gebaseerd toegangsbeheer voor infrastructuur gebruiken. U kunt een project instellen om de toegang tot beveiligde gegevens te weigeren en bewerkingen te selecteren.

Productiviteit voor iedereen in het team

ML-projecten vereisen vaak een team met een gevarieerde vaardighedenset om te bouwen en te onderhouden. Machine Learning heeft hulpprogramma's waarmee u het volgende kunt doen:

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

  • Modellen ontwikkelen voor redelijkheid en uitleg, tracering en controlebaarheid om te voldoen aan vereisten voor herkomst en controle

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

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

Platformoverschrijdende hulpprogramma's die voldoen aan uw behoeften

Iedereen in een ML-team kan hun favoriete hulpprogramma's gebruiken om de taak uit te voeren. Of u nu snelle experimenten uitvoert, hyperparameterafstemming, pijplijnen bouwt of deducties beheert, u kunt vertrouwde interfaces gebruiken, waaronder:

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

Studio

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 op beheerde Jupyter Notebook-servers die rechtstreeks in de studio zijn geïntegreerd.

  • Metrische gegevens van uitvoering visualiseren: uw experimenten analyseren en optimaliseren met visualisatie.

    Screenshot that shows metrics for a training run.

  • Azure Machine Learning-ontwerpfunctie: gebruik de ontwerpfunctie om ML-modellen te trainen en te implementeren zonder code te schrijven. Sleep gegevenssets en onderdelen om ML-pijplijnen te maken.

  • Geautomatiseerde gebruikersinterface voor machine learning: leer hoe u geautomatiseerde ML-experimenten maakt met een gebruiksvriendelijke interface.

  • Gegevenslabels: Gebruik Machine Learning-gegevenslabels om het labelen van afbeeldingen of tekstlabelprojecten efficiënt te coördineren.

Bedrijfsgereedheid en beveiliging

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

Beveiligingsintegraties zijn onder andere:

  • Azure Virtual Networks met netwerkbeveiligingsgroepen.
  • Azure Key Vault, waar u beveiligingsgeheimen kunt opslaan, zoals toegangsgegevens voor opslagaccounts.
  • Azure Container Registry is ingesteld achter een virtueel netwerk.

Zie Zelfstudie: Een beveiligde werkruimte instellen voor meer informatie.

Azure-integraties voor volledige oplossingen

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

  • Azure Synapse Analytics, dat wordt gebruikt 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 en Azure Blob Storage.
  • Azure-app Service, die u kunt gebruiken voor het implementeren en beheren van door ML aangedreven apps.
  • Microsoft Purview, waarmee u gegevensassets in uw organisatie kunt detecteren en catalogiseren.

Belangrijk

In Azure Machine Learning worden uw gegevens niet opgeslagen of verwerkt buiten de regio waar u implementeert.

Machine learning-projectwerkstroom

Modellen worden doorgaans ontwikkeld als onderdeel van een project met een doelstelling en doelstellingen. Projecten omvatten vaak meer dan één persoon. Wanneer u experimenteert met gegevens, algoritmen en modellen, is de ontwikkeling iteratief.

Projectlevenscyclus

De levenscyclus van het project kan per project variëren, maar het lijkt vaak op dit diagram.

Diagram that shows the machine learning project lifecycle

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 delen vanuit experimenten in de gebruikersinterface van Studio. Ze kunnen ook versiebeheerassets gebruiken voor taken zoals omgevingen en opslagverwijzingen.

Zie Azure Machine Learning-werkruimten beheren voor meer informatie.

Wanneer een project gereed is voor operationalisatie, kan het werk van gebruikers worden geautomatiseerd in een ML-pijplijn en worden geactiveerd volgens een planning of HTTPS-aanvraag.

U kunt modellen implementeren in de beheerde deductieoplossing, voor zowel realtime als batchimplementaties, waarbij u het infrastructuurbeheer dat doorgaans nodig is voor het implementeren van modellen, wegneemt.

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 ze in de cloud kunnen operationeel maken.

Open en interoperabel

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

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

Andere talen en frameworks worden ook ondersteund:

  • R
  • .NET

Zie Opensource-integratie met Azure Machine Learning voor meer informatie.

Geautomatiseerde featurization en algoritmeselectie

In een herhalend, tijdrovend proces, in klassieke ML, gebruiken gegevenswetenschappers eerdere ervaring en intuïtieverheid om de juiste gegevensmetrisatie en het juiste algoritme voor training te selecteren. Geautomatiseerde ML (AutoML) versnelt dit proces. U kunt deze gebruiken via de gebruikersinterface van Machine Learning Studio of de Python SDK.

Zie Wat is geautomatiseerde machine learning? voor meer informatie.

Optimalisatie van Hyperparameter

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

Zie Hyperparameters afstemmen voor meer informatie.

Gedistribueerde training voor meerdere knooppunten

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 en serverloze berekeningen bieden de nieuwste GPU-opties.

Ondersteund via Azure Machine Learning Kubernetes, Azure Machine Learning-rekenclusters en serverloze berekeningen:

  • PyTorch
  • TensorFlow
  • MPI

U kunt MPI-distributie gebruiken voor Horovod of aangepaste multinodelogica. Apache Spark wordt ondersteund via serverloze Spark-rekenkracht en gekoppelde Synapse Spark-pool die gebruikmaakt van Azure Synapse Analytics Spark-clusters.

Zie Gedistribueerde training met Azure Machine Learning voor meer informatie.

Gênant parallelle training

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

Modellen implementeren

Als u een model in productie wilt brengen, implementeert u het model. De beheerde Azure Machine Learning-eindpunten abstraheren de vereiste infrastructuur voor zowel batch- als realtime (online) modelscores (deductie).

Realtime scoren en batchgewijs scoren (deductie)

Batchgewijs scoren of batchdeductie omvat het aanroepen van een eindpunt met een verwijzing naar gegevens. Het batch-eindpunt voert taken asynchroon uit om gegevens parallel op rekenclusters te verwerken 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 bijna realtime ontvangen van een antwoord via HTTPS. Verkeer kan worden gesplitst over meerdere implementaties, waardoor nieuwe modelversies kunnen worden getest door in eerste instantie enige hoeveelheid verkeer af te leiden en toe te nemen nadat het vertrouwen in het nieuwe model tot stand is gebracht.

Zie voor meer informatie:

MLOps: DevOps voor machine learning

DevOps voor ML-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 het niet kan worden gereproduceerd.

Levenscyclus van ML-model

Diagram that shows the machine learning model lifecycle * MLOps.

Meer informatie over MLOps in Azure Machine Learning.

Integraties die MLOPs inschakelen

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

Enkele belangrijke functies die MLOps inschakelen, zijn onder andere:

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

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.

Als u Apache Airflow gebruikt, is het pakket airflow-provider-azure-machinelearning een provider waarmee u werkstromen kunt verzenden naar Azure Machine Learning vanuit Apache AirFlow.

Volgende stappen

Aan de slag met Azure Machine Learning: