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 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.
Voor wie is Azure Machine Learning?
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 te 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 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.
Productiviteit voor iedereen in het team
Machine learning-projecten vereisen vaak een team met gevarieerde vaardigheden 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, serverloze rekenkracht (preview), gegevens en omgevingen
Modellen ontwikkelen voor eerlijkheid en uitlegbaarheid, tracering en controleerbaarheid om te voldoen aan de vereisten voor herkomst en controle
ML-modellen snel en eenvoudig op schaal implementeren en efficiënt 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 zijn of haar favoriete hulpprogramma's gebruiken om de klus te klaren. Of u nu snelle experimenten uitvoert, hyperparameterafstemming uitvoert, 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 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 op beheerde Jupyter Notebook servers die rechtstreeks zijn geïntegreerd in de studio.
Metrische uitvoeringsgegevens visualiseren: analyseer en optimaliseer uw experimenten met visualisatie.
Azure Machine Learning-ontwerpfunctie: gebruik de ontwerpfunctie om machine learning-modellen te trainen en te implementeren zonder code te schrijven. Sleep gegevenssets en onderdelen om ML-pijplijnen te maken.
Geautomatiseerde machine learning-gebruikersinterface: informatie over het maken van geautomatiseerde ML-experimenten met een gebruiksvriendelijke interface.
Gegevenslabels: gebruik Azure Machine Learning-gegevenslabeling 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 apps met ML kunt implementeren en beheren
- Met Microsoft Purview kunt u gegevensassets in uw organisatie detecteren en catalogiseren
Belangrijk
Azure Machine Learning slaat uw gegevens niet op of verwerkt deze niet buiten de regio waar u implementeert.
Machine learning-projectwerkstroom
Modellen worden doorgaans ontwikkeld als onderdeel van een project met een doelstelling en doelstellingen. Bij projecten zijn vaak meer dan één persoon 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:
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 operationeel gebruik, kan het werk van gebruikers worden geautomatiseerd in een machine learning-pijplijn en worden geactiveerd volgens een schema 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 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.
Geautomatiseerde featurization en algoritmeselectie (AutoML)
In een terugkerend, 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. Geautomatiseerde ML (AutoML) versnelt dit proces en kan worden gebruikt via de gebruikersinterface van Studio of de Python SDK.
Zie Wat is geautomatiseerde machine learning?
Hyperparameteroptimalisatie
Hyperparameteroptimalisatie, of afstemming van hyperparameters, kan een tijdrovende taak zijn. Azure 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.
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 en serverloze rekenkracht (preview) bieden de nieuwste GPU-opties.
Ondersteund via Azure Machine Learning Kubernetes, Azure Machine Learning-rekenclusters en serverloze rekenkracht (preview):
- 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).
Belangrijk
Het gebruik van Apache Spark via Azure Synapse Analytics Spark-clusters is in openbare preview. De preview-versie wordt aangeboden zonder Service Level Agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Supplemental Terms of Use for Microsoft Azure Previews (Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews) voor meer informatie.
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 kan worden getraind voor veel winkels.
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 gesplitst over meerdere implementaties, waardoor nieuwe modelversies kunnen worden getest door in eerste instantie enige hoeveelheid verkeer om te leiden en te vergroten 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
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: