Inleiding tot Kubernetes-rekendoel in AzureML

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidig)Python SDK azure-ai-ml v2 (preview)

Met AzureML CLI/Python SDK v2 heeft AzureML een nieuw rekendoel geïntroduceerd: Kubernetes-rekendoel. U kunt eenvoudig een bestaand AKS-cluster (Azure Kubernetes Service) of Een Kubernetes-cluster met Azure Arc (Arc Kubernetes) inschakelen om een Kubenetes-rekendoel te worden in AzureML en deze gebruiken om modellen te trainen of te implementeren.

Diagram waarin wordt geïllustreerd hoe Azure ML verbinding maakt met Kubernetes.

In dit artikel vindt u meer informatie over:

  • Uitleg
  • Gebruiksscenario's
  • Aanbevolen procedures
  • KubernetesCompute en verouderde AksCompute

Uitleg

AzureML Kubernetes Compute ondersteunt twee soorten Kubernetes-cluster:

  • AKS-cluster in Azure. Met uw zelfbeheerde AKS-cluster in Azure kunt u beveiliging en controles verkrijgen om te voldoen aan de nalevingsvereisten en flexibiliteit om de ML-workload van teams te beheren.
  • Arc Kubernetes-cluster buiten Azure. Met het Arc Kubernetes-cluster kunt u modellen trainen of implementeren in een on-premises infrastructuur, in meerdere clouds of aan de rand.

Met een eenvoudige implementatie van clusteruitbreidingen op AKS- of Arc Kubernetes-cluster wordt Kubernetes-cluster naadloos ondersteund in AzureML om trainings- of deductieworkloads uit te voeren. U kunt eenvoudig een bestaand Kubernetes-cluster inschakelen en gebruiken voor azureML-workload met de volgende eenvoudige stappen:

  1. Bereid een Azure Kubernetes Service-cluster of Arc Kubernetes-cluster voor.
  2. Implementeer de AzureML-extensie.
  3. Koppel kubernetes-cluster aan uw Azure ML-werkruimte.
  4. Gebruik het Kubernetes-rekendoel van CLI v2, SDK v2 en de gebruikersinterface van Studio.

IT-operation-team. Het IT-bewerkingsteam is verantwoordelijk voor de eerste drie bovenstaande stappen: een AKS- of Arc Kubernetes-cluster voorbereiden, Azure ML-clusterextensie implementeren en Kubernetes-cluster koppelen aan Azure ML-werkruimte. Naast deze essentiële stappen voor het instellen van rekenprocessen gebruikt het IT-bewerkingsteam ook vertrouwde hulpprogramma's zoals Azure CLI of kubectl om de volgende taken voor het data science-team uit te voeren:

  • Netwerk- en beveiligingsconfiguraties, zoals uitgaande proxyserververbinding of Azure Firewall-configuratie, deductierouter (azureml-fe), SSL/TLS-beëindiging en VNET-configuratie.
  • Maak en beheer exemplaartypen voor verschillende ML-workloadscenario's en krijg efficiënt rekenresourcegebruik.
  • Problemen met het oplossen van workloadproblemen met betrekking tot Kubernetes-cluster.

Data science-team. Zodra het IT-operations-team klaar is met het instellen en maken van rekendoelen, kan het data science-team een lijst met beschikbare rekendoelen en instantietypen in de AzureML-werkruimte detecteren. Deze rekenresources kunnen worden gebruikt voor trainings- of deductieworkload. Data science specificeert de naam van het rekendoel en de naam van het exemplaartype met behulp van hun favoriete hulpprogramma's of API's, zoals AzureML CLI v2, Python SDK v2 (preview) of de gebruikersinterface van Studio.

Kubernetes-gebruiksscenario's

Met een Arc Kubernetes-cluster kunt u modellen bouwen, trainen en implementeren in on-premises infrastructuur en in meerdere clouds met behulp van Kubernetes. Hiermee worden enkele nieuwe gebruikspatronen geopend die eerder niet mogelijk waren in de omgeving van de cloudinstelling. De volgende tabel bevat een overzicht van de nieuwe gebruikspatronen die zijn ingeschakeld door AzureML Kubernetes Compute:

Gebruikspatroon Locatie van gegevens Motivatie Infra setup & Azure ML-implementatie
Model trainen in de cloud, model on-premises implementeren Cloud Maak gebruik van cloud-rekenkracht. Vanwege elastische rekenbehoeften of speciale hardware zoals een GPU.
Het model moet on-premises worden geïmplementeerd vanwege vereisten voor beveiliging, naleving of latentie
1. Door Azure beheerde rekenkracht in de cloud.
2. Klant beheerde Kubernetes on-premises.
3. Volledig geautomatiseerde MLOps in de hybride modus, waaronder stappen voor training en modelimplementatie die naadloos van cloud naar on-premises en vice versa worden overgestapt.
4. Herhaalbaar, waarbij alle assets correct zijn bijgehouden. Het model wordt zo nodig opnieuw getraind en de modelimplementatie wordt automatisch bijgewerkt na het opnieuw trainen.
Model on-premises trainen, model implementeren in de cloud On-premises Gegevens moeten on-premises blijven vanwege vereisten voor gegevenslocatie.
Implementeer een model in de cloud voor wereldwijde servicetoegang of voor rekenelasticiteit voor schaal en doorvoer.
1. Door Azure beheerde rekenkracht in de cloud.
2. Klant beheerde Kubernetes on-premises.
3. Volledig geautomatiseerde MLOps in de hybride modus, waaronder stappen voor training en modelimplementatie die naadloos van cloud naar on-premises en vice versa worden overgestapt.
4. Herhaalbaar, waarbij alle assets correct zijn bijgehouden. Het model wordt zo nodig opnieuw getraind en de modelimplementatie wordt automatisch bijgewerkt na het opnieuw trainen.
Uw eigen AKS meenemen in Azure Cloud Meer beveiliging en controles.
Alle persoonlijke IP-machine learning om gegevensexfiltratie te voorkomen.
1. AKS-cluster achter een Azure-VNet.
2. Maak privé-eindpunten in hetzelfde VNet voor AzureML-werkruimte en de bijbehorende resources.
3. Volledig geautomatiseerde MLOps.
Volledige ML-levenscyclus on-premises On-premises Beveilig gevoelige gegevens of eigen IP-adressen, zoals ML-modellen en code/scripts. 1. Uitgaande proxyserververbinding on-premises.
2. Privékoppeling van Azure ExpressRoute en Azure Arc naar Azure-resources.
3. Klant beheerde Kubernetes on-premises.
4. Volledig geautomatiseerde MLOps.

Scheiding van verantwoordelijkheden tussen het IT-operations-team en het data science-team. Zoals hierboven vermeld, is het beheren van uw eigen reken- en infrastructuur voor ML-werkbelasting een ingewikkelde taak en het is het beste te doen door het IT-operations-team, zodat het data science-team zich kan richten op ML-modellen voor de efficiëntie van de organisatie.

Instantietypen maken en beheren voor verschillende ML-workloadscenario's. Elke ML-workload maakt gebruik van verschillende hoeveelheden rekenresources, zoals CPU/GPU en geheugen. AzureML implementeert het exemplaartype als aangepaste resourcedefinitie van Kubernetes (CRD) met eigenschappen van nodeSelector en resourceaanvraag/limiet. Met een zorgvuldig samengestelde lijst met exemplaartypen kunnen IT-bewerkingen ML-workload op specifieke knooppunten richten en het gebruik van rekenresources efficiënt beheren.

Meerdere AzureML-werkruimten delen hetzelfde Kubernetes-cluster. U kunt Kubernetes-cluster meerdere keren koppelen aan dezelfde AzureML-werkruimte of verschillende AzureML-werkruimten, waarbij u meerdere rekendoelen maakt in één werkruimte of meerdere werkruimten. Omdat veel klanten data science-projecten organiseren rond AzureML-werkruimte, kunnen meerdere data science-projecten nu hetzelfde Kubernetes-cluster delen. Dit vermindert aanzienlijk de overhead van ML-infrastructuurbeheer en it-kostenbesparing.

Isolatie van team-/projectworkloads met behulp van Kubernetes-naamruimte. Wanneer u een Kubernetes-cluster koppelt aan azureML-werkruimte, kunt u een Kubernetes-naamruimte opgeven voor het rekendoel. Alle workloads die door het rekendoel worden uitgevoerd, worden onder de opgegeven naamruimte geplaatst.

KubernetesCompute en verouderde AksCompute

Met AzureML CLI/Python SDK v1 kunt u modellen implementeren op AKS met behulp van het AksCompute-doel. Zowel het KubernetesCompute-doel als het AksCompute-doel ondersteunen AKS-integratie, maar ze ondersteunen het op een andere manier. In de volgende tabel ziet u belangrijke verschillen.

Functies AKS-integratie met AksCompute (verouderd) AKS-integratie met KubernetesCompute
CLI/SDK v1 Ja Nee
CLI/SDK v2 Nee Ja
Training Nee Ja
Realtime deductie Ja Ja
Batchdeductie Nee Ja
Realtime deductie van nieuwe functies Geen nieuwe functies ontwikkelen Actieve roadmap

Met deze belangrijke verschillen en in het algemeen ontwikkelt AzureML zich om SDK/CLI v2 te gebruiken, raadt AzureML u aan om Kubernetes-rekendoel te gebruiken om modellen te implementeren als u besluit AKS te gebruiken voor modelimplementatie.

Volgende stappen

Meer informatie

Voorbeelden

Alle AzureML-voorbeelden vindt u in https://github.com/Azure/azureml-examples.git.

Voor elk AzureML-voorbeeld hoeft u alleen de naam van het rekendoel bij te werken naar uw Kubernetes-rekendoel. Daarna bent u klaar.