Introduktion till Kubernetes-beräkningsmål i Azure Machine Learning

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

Med Azure Machine Learning CLI/Python SDK v2 introducerade Azure Machine Learning ett nytt beräkningsmål – Kubernetes-beräkningsmål. Du kan enkelt aktivera ett befintligt AKS-kluster (Azure Kubernetes Service ) eller Ett Azure Arc-aktiverat Kubernetes-kluster (Arc Kubernetes) för att bli ett Kubernetes-beräkningsmål i Azure Machine Learning och använda det för att träna eller distribuera modeller.

Diagram som illustrerar hur Azure Machine Learning ansluter till Kubernetes.

I den här artikeln lär du dig mer om:

  • Så här fungerar det
  • Användningsscenarier
  • Rekommenderade metodtips
  • KubernetesCompute och äldre AksCompute

Så här fungerar det

Azure Machine Learning Kubernetes-beräkning stöder två typer av Kubernetes-kluster:

  • AKS-kluster i Azure. Med ditt självhanterade AKS-kluster i Azure kan du få säkerhet och kontroller för att uppfylla efterlevnadskrav och flexibilitet för att hantera teamets ML-arbetsbelastning.
  • Arc Kubernetes-kluster utanför Azure. Med Arc Kubernetes-kluster kan du träna eller distribuera modeller i valfri infrastruktur lokalt, i flera moln eller på gränsen.

Med en enkel klustertilläggsdistribution i AKS- eller Arc Kubernetes-kluster stöds Kubernetes-klustret sömlöst i Azure Machine Learning för att köra tränings- eller slutsatsdragningsarbetsbelastningar. Det är enkelt att aktivera och använda ett befintligt Kubernetes-kluster för Azure Machine Learning-arbetsbelastning med följande enkla steg:

  1. Förbereda ett Azure Kubernetes Service-kluster eller Arc Kubernetes-kluster.
  2. Distribuera Azure Machine Learning-tillägget.
  3. Koppla Kubernetes-klustret till din Azure Machine Learning-arbetsyta.
  4. Använd Kubernetes-beräkningsmålet från CLI v2, SDK v2 och Studio-användargränssnittet.

IT-driftsteamet. IT-driftsteamet ansvarar för de tre första stegen: förbereda ett AKS- eller Arc Kubernetes-kluster, distribuera Azure Machine Learning-klustertillägget och koppla Kubernetes-klustret till Azure Machine Learning-arbetsytan. Förutom dessa viktiga konfigurationssteg för beräkning använder IT-driftsteamet även välbekanta verktyg som Azure CLI eller kubectl för att ta hand om följande uppgifter för datavetenskapsteamet:

  • Nätverks- och säkerhetskonfigurationer, till exempel utgående proxyserveranslutning eller Azure-brandväggskonfiguration, inferensrouter (azureml-fe) installation, SSL/TLS-avslutning och konfiguration av virtuella nätverk.
  • Skapa och hantera instanstyper för olika ML-arbetsbelastningsscenarier och få effektiv beräkningsresursanvändning.
  • Felsöka arbetsbelastningsproblem som rör Kubernetes-kluster.

Datavetenskapsteam. När IT-driftsteamet har slutfört skapandet av beräkningsmål och beräkningsmål kan datavetenskapsteamet identifiera en lista över tillgängliga beräkningsmål och instanstyper i Azure Machine Learning-arbetsytan. Dessa beräkningsresurser kan användas för tränings- eller slutsatsdragningsarbetsbelastningar. Data science anger namn på beräkningsmål och instanstyp med hjälp av de verktyg eller API:er som de föredrar. Dessa namn kan till exempel vara Azure Machine Learning CLI v2, Python SDK v2 eller Studio UI.

Användningsscenarier för Kubernetes

Med Arc Kubernetes-kluster kan du skapa, träna och distribuera modeller i valfri infrastruktur lokalt och i flera moln med Kubernetes. Detta öppnar några nya användningsmönster som tidigare inte var möjliga i molninställningsmiljön. Följande tabell innehåller en sammanfattning av de nya användningsmönster som aktiveras av Azure Machine Learning Kubernetes-beräkning:

Användningsmönster Plats för data Motivation Infra-konfiguration och Azure Machine Learning-implementering
Träna modell i molnet, distribuera modell lokalt Moln Använd molnberäkning. Antingen på grund av elastiska beräkningsbehov eller särskild maskinvara, till exempel en GPU.
Modellen måste distribueras lokalt på grund av krav på säkerhet, efterlevnad eller svarstid
1. Azure-hanterad beräkning i molnet.
2. Kundhanterade Kubernetes lokalt.
3. Fullständigt automatiserade MLOps i hybridläge, inklusive utbildnings- och modelldistributionssteg som sömlöst övergår från molnet till lokalt och vice versa.
4. Repeterbar, med alla tillgångar korrekt spårade. Modellen tränas om vid behov och modelldistributionen uppdateras automatiskt efter omträning.
Träna modellen lokalt och i molnet, distribuera till både molnet och lokalt Moln Organisationer som vill kombinera lokala investeringar med skalbarhet i molnet. Ta med molnbaserad och lokal beräkning under en enda fönsterruta. En enda sanningskälla för data finns i molnet, kan replikeras till en lokal plats (det vill säga lazily vid användning eller proaktivt). Primär användning av molnberäkning är när lokala resurser inte är tillgängliga (används, underhålls) eller inte har specifika maskinvarukrav (GPU). 1. Azure-hanterad beräkning i molnet.
2. Kundhanterade Kubernetes lokalt.
3. Fullständigt automatiserade MLOps i hybridläge, inklusive utbildnings- och modelldistributionssteg som sömlöst övergår från molnet till lokalt och vice versa.
4. Repeterbar, med alla tillgångar korrekt spårade. Modellen tränas om vid behov och modelldistributionen uppdateras automatiskt efter omträning.
Träna modell lokalt, distribuera modell i molnet Lokal Data måste förbli lokala på grund av krav på datahemvist.
Distribuera modellen i molnet för global tjänståtkomst eller för beräkningselasticitet för skalning och dataflöde.
1. Azure-hanterad beräkning i molnet.
2. Kundhanterade Kubernetes lokalt.
3. Fullständigt automatiserade MLOps i hybridläge, inklusive utbildnings- och modelldistributionssteg som sömlöst övergår från molnet till lokalt och vice versa.
4. Repeterbar, med alla tillgångar korrekt spårade. Modellen tränas om vid behov och modelldistributionen uppdateras automatiskt efter omträning.
Ta med din egen AKS i Azure Moln Mer säkerhet och kontroller.
All privat IP-maskininlärning för att förhindra dataexfiltrering.
1. AKS-kluster bakom ett virtuellt Azure-nätverk.
2. Skapa privata slutpunkter i samma virtuella nätverk för Azure Machine Learning-arbetsytan och dess associerade resurser.
3. Fullständigt automatiserad MLOps.
Fullständig ML-livscykel lokalt Lokal Skydda känsliga data eller upphovsrättsskyddade IP-adresser, till exempel ML-modeller och kod/skript. 1. Utgående proxyserveranslutning lokalt.
2. Privat azure ExpressRoute- och Azure Arc-länk till Azure-resurser.
3. Kundhanterade Kubernetes lokalt.
4. Fullständigt automatiserade MLOps.

Begränsningar

KubernetesCompute målet i Azure Machine Learning-arbetsbelastningar (tränings- och modellinferens) har följande begränsningar:

  • Tillgängligheten för förhandsversionsfunktioner i Azure Machine Learning garanteras inte.
    • Identifierad begränsning: Modeller (inklusive den grundläggande modellen) från modellkatalogenoch registret stöds inte på Kubernetes onlineslutpunkter.

Ansvarsfördelning mellan IT-driftsteamet och datavetenskapsteamet. Som vi nämnde i föregående avsnitt är det en komplex uppgift att hantera din egen beräkning och infrastruktur för ML-arbetsbelastningar. Det är bäst att göra det av IT-driftsteamet så att datavetenskapsteamet kan fokusera på ML-modeller för organisationens effektivitet.

Skapa och hantera instanstyper för olika ML-arbetsbelastningsscenarier. Varje ML-arbetsbelastning använder olika mängder beräkningsresurser, till exempel CPU/GPU och minne. Azure Machine Learning implementerar instanstyp som Kubernetes anpassad resursdefinition (CRD) med egenskaper för nodeSelector och resursbegäran/gräns. Med en noggrant utvärderad lista över instanstyper kan IT-åtgärder rikta ML-arbetsbelastningar på specifika noder och hantera beräkningsresursanvändning effektivt.

Flera Azure Machine Learning-arbetsytor delar samma Kubernetes-kluster. Du kan koppla Kubernetes-klustret flera gånger till samma Azure Machine Learning-arbetsyta eller olika Azure Machine Learning-arbetsytor och skapa flera beräkningsmål på en arbetsyta eller flera arbetsytor. Eftersom många kunder organiserar datavetenskapsprojekt runt Azure Machine Learning-arbetsytan kan flera datavetenskapsprojekt nu dela samma Kubernetes-kluster. Detta minskar kostnaderna för HANTERING av ML-infrastruktur avsevärt och besparingen av IT-kostnader.

Isolering av team-/projektarbetsbelastning med kubernetes-namnrymd. När du kopplar Kubernetes-klustret till Azure Machine Learning-arbetsytan kan du ange en Kubernetes-namnrymd för beräkningsmålet. Alla arbetsbelastningar som körs av beräkningsmålet placeras under det angivna namnområdet.

KubernetesCompute och äldre AksCompute

Med Azure Machine Learning CLI/Python SDK v1 kan du distribuera modeller på AKS med hjälp av AksCompute-målet. Både KubernetesCompute-målet och AksCompute-målet stöder AKS-integrering, men de stöder det på olika sätt. I följande tabell visas de viktigaste skillnaderna:

Funktioner AKS-integrering med AksCompute (äldre) AKS-integrering med KubernetesCompute
CLI/SDK v1 Ja Inga
CLI/SDK v2 Inga Ja
Utbildning Inga Ja
Slutsatsdragning i realtid Ja Ja
Batch-slutsatsdragning Inga Ja
Nya funktioner för slutsatsdragning i realtid Ingen utveckling av nya funktioner Aktiv översikt

Med dessa viktiga skillnader och övergripande Azure Machine Learning-utveckling för att använda SDK/CLI v2 rekommenderar Azure Machine Learning att du använder Kubernetes beräkningsmål för att distribuera modeller om du bestämmer dig för att använda AKS för modelldistribution.

Andra resurser

Exempel

Alla Azure Machine Learning-exempel finns i https://github.com/Azure/azureml-examples.git.

För alla Azure Machine Learning-exempel behöver du bara uppdatera beräkningsmålnamnet till ditt Kubernetes-beräkningsmål, då är du klar.

Nästa steg