Wat is Azure Machine Learning?

Azure Machine Learning is een cloudservice voor het versnellen en beheren van de levenscyclus van machine learning project. Machine learning-professionals, gegevenswetenschappers en technici kunnen dit 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. Met MLOps-hulpprogramma's kunt u modellen bewaken, opnieuw trainen en opnieuw ontwikkelen.

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.

Wie is Azure Machine Learning voor?

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

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

Ondernemingen die in de Microsoft Azure cloud werken, vinden vertrouwde 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.

Samenwerking voor machine learning teams

Voor machine learning-projecten is vaak een team met verschillende vaardighedensets nodig om te bouwen en te onderhouden. Azure Machine Learning hulpprogramma's die samenwerking mogelijk maken, zoals:

  • Gedeelde notebooks, rekenbronnen, gegevens en omgevingen
  • Tracering en controle die laat zien wie wijzigingen heeft aangebracht en wanneer
  • Versiebeheer van asset

Hulpprogramma's voor ontwikkelaars

Ontwikkelaars vinden vertrouwde interfaces in Azure Machine Learning, zoals:

Studio-gebruikersinterface

De Azure Machine Learning Studio is een grafische gebruikersinterface voor een projectwerkruimte. In de studio kunt u het volgende doen:

  • Weergave van runs, metrische gegevens, logboeken, uitvoer, en meer.
  • Notebooks en bestanden maken en bewerken.
  • Algemene assets beheren, zoals
    • Gegevensreferenties
    • Compute
    • Omgevingen
  • Visualiseer metrische gegevens, resultaten en rapporten van de run.
  • Pijplijnen visualiseren die zijn geschreven via ontwikkelaarsinterfaces.
  • AutoML-taken maken.

Bovendien heeft de ontwerpfunctie een interface voor slepen en neerzetten, waarin u modellen kunt trainen en implementeren.

Als u een gebruiker van ML Studio (klassiek) bent, kunt u meer informatie vinden over afschaffing van Studio (klassiek)en het verschil tussen studio en Azure Machine Learning studio.

Enterprise-gereedheid en beveiliging

Azure 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 (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 volledige oplossingen

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

  • Azure Synapse Analytics om gegevens te verwerken en te streamen met Spark
  • Azure Arc, waar u Azure-services kunt uitvoeren in een Kubernetes-omgeving
  • Storage en databaseopties, zoals Azure SQL Database, Azure Storage blobs,
  • Azure App Service het implementeren en beheren van apps ML mogelijk maken

Belangrijk

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

Machine learning-projectwerkstroom

Normaal gesproken worden modellen ontwikkeld als onderdeel van een project met een doelstelling en doelstellingen. Projecten hebben vaak betrekking op meer dan één persoon. Bij het experimenteren met gegevens, algoritmen en modellen is ontwikkeling iteratief.

Project levenscyclus

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

Machine learning project lifecycle diagram

Een werkruimte organiseert een project en biedt veel gebruikers de mogelijkheid om samen te werken aan een gemeenschappelijk doel. Gebruikers in een werkruimte kunnen eenvoudig de resultaten van hun uitvoeringen delen vanuit experimenten in de gebruikersinterface van Studio of gebruikmaken van versie-assets voor taken zoals omgevingen en opslagverwijzingen.

Zie Manage Azure Machine Learning workspaces (Werkruimten Azure Machine Learning beheren) voor meer informatie.

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

Modellen kunnen worden geïmplementeerd in de beheerde deferencing-oplossing, voor zowel realtime implementaties als batchimplementaties, zodat het infrastructuurbeheer dat doorgaans nodig is voor het implementeren van modellen, wordt verwijderd.

Modellen trainen

In Azure Machine Learning kunt u uw trainingsscript uitvoeren in de cloud of een nieuw model bouwen. Klanten brengen vaak modellen mee die ze hebben gebouwd en getraind in opensource-frameworks, zodat ze deze 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, waaronder:

  • R
  • .NET

Zie Opensource-integratie met Azure Machine Learning.

Geautomatiseerde featurization en algoritmeselectie (AutoML)

In een herhalend, tijdrovend proces, in klassieke machine learning gebruiken gegevenswetenschappers eerdere ervaring en gevoel om de juiste gegevens featurization en algoritme te selecteren voor training. Geautomatiseerde ML (AutoML) versnelt dit proces en kan worden gebruikt via de studio-ui of Python SDK.

Zie Wat is geautomatiseerde machine learning?

Hyperparameteroptimalisatie

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

Zie Hyperparameters afstemmen.

Gedistribueerde training met meerdere knooppunt

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

Ondersteund via Azure Arc gekoppelde Kubernetes (preview) en Azure ML compute-clusters:

  • PyTorch
  • TensorFlow
  • MPI

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

Zie Gedistribueerde training met Azure Machine Learning.

Beschamend parallel trainen

Voor het schalen van machine learning project kan het nodig zijn om de schaal van een model op een beschadigbare parallelle schaal aan te brengen. Dit patroon is gebruikelijk voor scenario's zoals het voorspellen van de vraag, waarbij een model kan worden getraind voor veel winkels.

Modellen implementeren

Als u een model in productie wilt brengen, wordt het geïmplementeerd. Azure Machine Learning beheerde eindpunten van de Azure Machine Learning abstractie van de vereiste infrastructuur voor zowel batch- als realtime (online) modelscores (deferencing).

Realtime- en batchscores (deferencing)

Batchscoreof batchdeferencingomvat het aanroepen van een eindpunt met een verwijzing naar gegevens. Het batch-eindpunt voert taken asynchroon uit om gegevens parallel te verwerken in rekenclusters en de gegevens op te slaan voor verdere analyse.

Voor realtime scorenof onlinedeductiemoet u een eindpunt aanroepen met een of meer modelimplementaties en in bijna realtime een antwoord ontvangen via HTTPs. Verkeer kan worden verdeeld over meerdere implementaties, waardoor 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,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, indien niet reproduceerbaar.

ML levenscyclus van het model

Machine learning model lifecycle - 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 tot een specifieke door commit en omgeving controleren.

Enkele belangrijke functies voor het inschakelen van MLOps zijn:

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

Daarnaast bevat Azure Machine Learning functies voor bewaking en controle:

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

Volgende stappen

Begin met het gebruik Azure Machine Learning: