Inleiding tot Kubernetes-rekendoel in Azure Machine Learning
VAN TOEPASSING OP:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)
De Azure Machine Learning CLI en Python SDK v2 bieden ondersteuning voor een Kubernetes-rekendoel. U kunt een bestaand AKS-cluster (Azure Kubernetes Service) of Kubernetes-cluster met Azure Arc (Arc Kubernetes) inschakelen als een Kubernetes-rekendoel. Gebruik de rekenkracht in Machine Learning om modellen te trainen of te implementeren.
In dit artikel wordt beschreven hoe u het Kubernetes-rekendoel in Machine Learning kunt gebruiken, inclusief gebruiksscenario's, aanbevolen aanbevolen procedures en een vergelijking van de KubernetesCompute
en verouderde AksCompute
doelen.
Hoe het Kubernetes-rekendoel werkt
Azure Machine Learning Kubernetes Compute ondersteunt twee soorten Kubernetes-clusters.
Compute | Locatie | Beschrijving |
---|---|---|
AKS-cluster | Binnen Azure | Met uw zelfbeheerde AKS-cluster in Azure kunt u beveiliging en controles verkrijgen om te voldoen aan nalevingsvereisten en flexibiliteit om de machine learning-workload van uw team te beheren. |
Arc Kubernetes-cluster | Buiten Azure | Met een Arc Kubernetes-cluster kunt u modellen trainen of implementeren in een on-premises infrastructuur of in meerdere clouds, of aan de rand. |
Met een eenvoudige implementatie van clusteruitbreidingen in AKS- of Arc Kubernetes-cluster wordt Kubernetes-cluster naadloos ondersteund in Machine Learning om trainings- of deductieworkloads uit te voeren. Het is eenvoudig om een bestaand Kubernetes-cluster in te schakelen en te gebruiken voor machine learning-werkbelasting met het volgende proces:
Stap 1: Een Azure Kubernetes Service-cluster of Arc Kubernetes-cluster voorbereiden.
Stap 2: De Azure Machine Learning-clusterextensie implementeren.
Stap 3: Koppel het Kubernetes-cluster aan uw Azure Machine Learning-werkruimte.
Stap 4: Gebruik het Kubernetes-rekendoel uit de CLI v2, SDK v2 of de gebruikersinterface van Azure Machine Learning-studio.
Dit zijn de belangrijkste verantwoordelijkheden in dit proces:
Het IT-operationele team is verantwoordelijk voor stap 1, 2 en 3. Dit team bereidt een AKS- of Arc Kubernetes-cluster voor, implementeert de Machine Learning-clusterextensie en koppelt het Kubernetes-cluster aan de Machine Learning-werkruimte. Naast deze essentiële stappen voor het instellen van rekenprocessen gebruikt het IT-operation-team ook vertrouwde hulpprogramma's, zoals de Azure CLI of kubectl, om de volgende taken voor het Data science-team uit te voeren:
Configureer netwerk- en beveiligingsopties, zoals uitgaande proxyserververbinding of Azure Firewall, deductierouter (azureml-fe), SSL/TLS-beëindiging en het instellen van virtuele netwerken.
Instantietypen maken en beheren voor verschillende machine learning-workloadscenario's en efficiënt rekenresourcegebruik krijgen.
Problemen met workloads met betrekking tot Kubernetes-cluster oplossen.
Het Data Science-team begint hun taken nadat het IT-operations-team klaar is met het instellen van de rekenprocessen en het maken van de rekendoelen. Dit team detecteert een lijst met beschikbare rekendoelen en exemplaartypen in de Machine Learning-werkruimte. De rekenresources kunnen worden gebruikt voor trainings- of deductieworkload. Het Data Science-team geeft de naam van het rekendoel en de naam van het exemplaartype op met behulp van hun favoriete hulpprogramma's of API's. Ze kunnen gebruikmaken van de Azure Machine Learning CLI v2, Python SDK v2 of de gebruikersinterface van Machine Learning Studio.
Kubernetes-gebruiksscenario's
Met een Arc Kubernetes-cluster kunt u modellen bouwen, trainen en implementeren in elke on-premises en multicloud-infrastructuur met behulp van Kubernetes. Met deze strategie worden enkele nieuwe gebruikspatronen geopend die eerder niet mogelijk waren in een omgeving met cloudinstellingen. De volgende tabel bevat een overzicht van de nieuwe gebruikspatronen die zijn ingeschakeld wanneer u met Azure Machine Learning Kubernetes compute werkt:
Gebruikspatroon | Locatie van gegevens | Doelstellingen en vereisten | Scenarioconfiguratie |
---|---|---|---|
Model trainen in de cloud, on-premises model implementeren | Cloud | Gebruik cloud-compute ter ondersteuning van elastische rekenbehoeften of speciale hardware zoals een GPU. Modelimplementatie moet on-premises zijn voor vereisten voor beveiliging, naleving of latentie. |
- Door Azure beheerde compute in de cloud - Door de klant beheerde Kubernetes on-premises - Volledig geautomatiseerde machine learning-bewerkingen in hybride modus, inclusief stappen voor training en modelimplementatie die naadloos worden overgestapt tussen cloud en on-premises - Herhaalbaar, alle assets correct bijgehouden, model opnieuw getraind indien nodig, implementatie automatisch bijgewerkt na opnieuw trainen |
Model on-premises en cloud trainen, implementeren in zowel de cloud als on-premises | Cloud | Combineer on-premises investeringen met schaalbaarheid in de cloud. Breng cloud- en on-premises berekeningen onder één glasvenster. Toegang krijgen tot één bron van waarheid voor gegevens in de cloud en on-premises repliceren (lui op gebruik of proactief). Schakel primair gebruik van cloudresources in wanneer on-premises resources niet beschikbaar zijn (in gebruik of in onderhoud) of niet voldoen aan specifieke hardwarevereisten (GPU). |
- Door Azure beheerde berekeningen in de cloud. Door de klant beheerde Kubernetes on-premises - Volledig geautomatiseerde machine learning-bewerkingen in hybride modus, inclusief stappen voor training en modelimplementatie die naadloos worden overgestapt tussen cloud en on-premises - Herhaalbaar, alle assets correct bijgehouden, model opnieuw getraind indien nodig, implementatie automatisch bijgewerkt na opnieuw trainen |
Model on-premises trainen, model implementeren in de cloud | On-premises | Sla gegevens on-premises op om te voldoen aan vereisten voor gegevenslocatie. Implementeer het model in de cloud voor toegang tot globale services of om de elasticiteit van rekenkracht voor schaal en doorvoer in te schakelen. |
- Door Azure beheerde compute in de cloud - Door de klant beheerde Kubernetes on-premises - Volledig geautomatiseerde machine learning-bewerkingen in hybride modus, inclusief stappen voor training en modelimplementatie die naadloos worden overgestapt tussen cloud en on-premises - Herhaalbaar, alle assets correct bijgehouden, model opnieuw getraind indien nodig, implementatie automatisch bijgewerkt na opnieuw trainen |
Bring your own AKS in Azure | Cloud | Krijg meer beveiliging en controles. Stel alle persoonlijke IP-machine learning in om gegevensexfiltratie te voorkomen. |
- AKS-cluster achter een virtueel Azure-netwerk - Privé-eindpunten in hetzelfde virtuele netwerk voor Azure Machine Learning-werkruimte en bijbehorende resources Volledig geautomatiseerde machine learning-bewerkingen |
Volledige levenscyclus van machine learning on-premises | On-premises | Beveilig gevoelige gegevens of eigen IP-adressen, zoals machine learning-modellen, code en scripts. | - Uitgaande proxyserververbinding on-premises - Privékoppeling van Azure ExpressRoute en Azure Arc naar Azure-resources - Door de klant beheerde Kubernetes on-premises - Volledig geautomatiseerde machine learning-bewerkingen |
Beperkingen voor Kubernetes-rekendoel
Een KubernetesCompute
doel in Azure Machine Learning-workloads (training en modeldeductie) heeft de volgende beperkingen:
- De beschikbaarheid van preview-functies in Azure Machine Learning is niet gegarandeerd.
- Modellen (inclusief het basismodel) uit de modelcatalogus en het register worden niet ondersteund op Online-eindpunten van Kubernetes.
- Het proces voor het maken van een modeldeductie-implementatie in het cluster heeft een time-outlimiet van 20 minuten. Dit omvat het downloaden van de installatiekopieën, het downloaden van het model en het initialiseren van de gebruikersscripts.
Aanbevolen procedures
In deze sectie vindt u een overzicht van aanbevolen procedures voor het werken met een Kubernetes-rekenproces.
Scheiding van verantwoordelijkheden tussen het IT-operations-team en het data science-team. Zoals eerder beschreven, is het beheren van uw eigen reken- en infrastructuur voor machine learning-werkbelasting een complexe taak. De beste aanpak is om het IT-operations-team de taak te laten afhandelen, zodat het data science-team zich kan richten op machine learning-modellen voor de efficiëntie van de organisatie.
Instantietypen maken en beheren voor verschillende machine learning-workloadscenario's. Elke machine learning-workload maakt gebruik van verschillende hoeveelheden rekenresources, zoals CPU/GPU en geheugen. Azure Machine Learning implementeert het exemplaartype als een aangepaste Kubernetes-resourcedefinitie (CRD) met eigenschappen van nodeSelector
en resource request/limit
. Met een zorgvuldig samengestelde lijst met exemplaartypen kunnen IT-bewerkingen zich richten op machine learning-workload op specifieke knooppunten en het gebruik van rekenresources efficiënt beheren.
Meerdere Azure Machine Learning-werkruimten delen hetzelfde Kubernetes-cluster. U kunt een Kubernetes-cluster meerdere keren koppelen aan dezelfde Machine Learning-werkruimte of verschillende werkruimten. Met dit proces worden meerdere rekendoelen gemaakt in één werkruimte of meerdere werkruimten. Omdat veel klanten data science-projecten organiseren rond de Machine Learning-werkruimte, kunnen meerdere data science-projecten nu hetzelfde Kubernetes-cluster delen. Deze aanpak vermindert de overhead voor machine learning-infrastructuurbeheer aanzienlijk en verbetert de IT-kostenbesparing.
Isolatie van team-/projectworkloads met behulp van Kubernetes-naamruimte. Wanneer u een Kubernetes-cluster koppelt aan een Machine Learning-werkruimte, kunt u een Kubernetes-naamruimte opgeven voor het rekendoel. Alle workloads die door het rekendoel worden uitgevoerd, worden onder de opgegeven naamruimte geplaatst.
Vergelijking van KubernetesCompute- en verouderde AksCompute-doelen
Met de Azure Machine Learning CLI/Python SDK v1 kunt u modellen implementeren op AKS met behulp van het verouderde AksCompute
doel. Zowel de als AksCompute
de KubernetesCompute
doelen ondersteunen AKS-integratie, maar de ondersteuningsbenadering verschilt. De volgende tabel bevat een overzicht van de belangrijkste verschillen:
Mogelijkheid | AksCompute (verouderd) | KubernetesCompute |
---|---|---|
De CLI/SDK v1 gebruiken | Ja | Nr. |
De CLI/SDK v2 gebruiken | Nr. | Ja |
Training instellen | Nr. | Ja |
Realtime deductie toepassen | Ja | Ja |
Batchdeductie toepassen | Nr. | Ja |
Toegang tot nieuwe functies voor realtime deductie | Geen ontwikkeling van nieuwe functies | Actieve roadmap beschikbaar |
In overweging van deze verschillen en de algehele ontwikkeling van Machine Learning voor het gebruik van de CLI/SDK v2, is de aanbevolen benadering om Kubernetes-rekendoel (KubernetesCompute
) te gebruiken voor de implementatie van AKS-modellen.
Bekijk de volgende artikelen voor meer informatie:
- Ondersteunde Kubernetes-versies en -regio's controleren
- Machine Learning-taken verbinden met aangepaste gegevensopslag
Voorbeelden van machine learning
Machine learning-voorbeelden zijn beschikbaar in de opslagplaats azure Machine Learning (azureml-examples) op GitHub. Vervang in elk voorbeeld de naam van het rekendoel door uw Kubernetes-rekendoel en voer het voorbeeld uit.
Hier volgen verschillende opties:
- Voorbeelden van trainingstaken met cli v2
- Voorbeelden van trainingstaken met de SDK v2
- Modelimplementatie met online-eindpuntvoorbeelden en cli v2
- Modelimplementatie met online-eindpuntvoorbeelden en sdk v2
- Batch-eindpuntvoorbeelden met cli v2