Dela via


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 Mašinsko učenje CLI/Python SDK v2 introducerade Azure Mašinsko učenje 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 Mašinsko učenje och använda det för att träna eller distribuera modeller.

Diagram som illustrerar hur Azure Mašinsko učenje ansluter till Kubernetes.

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

  • Hur det fungerar
  • Användningsscenarier
  • Rekommenderade metodtips
  • KubernetesCompute och äldre AksCompute

Hur det fungerar

Azure Mašinsko učenje 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 Mašinsko učenje för att köra tränings- eller slutsatsdragningsarbetsbelastningar. Det är enkelt att aktivera och använda ett befintligt Kubernetes-kluster för Azure Mašinsko učenje arbetsbelastning med följande enkla steg:

  1. Förbereda ett Azure Kubernetes Service-kluster eller Arc Kubernetes-kluster.
  2. Distribuera Azure Mašinsko učenje-tillägget.
  3. Koppla Kubernetes-klustret till din Azure Mašinsko učenje-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 Mašinsko učenje klustertillägg och koppla Kubernetes-klustret till Azure Mašinsko učenje arbetsyta. 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 Mašinsko učenje arbetsyta. 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 Mašinsko učenje 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 Mašinsko učenje Kubernetes-beräkning:

Användningsmönster Plats för data Motivation Infrainstallation och Azure Mašinsko učenje-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 Mašinsko učenje arbetsyta 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

KubernetesComputemålet i Azure Mašinsko učenje arbetsbelastningar (träning och modellinferens) har följande begränsningar:

  • Tillgängligheten för förhandsversionsfunktioner i Azure Mašinsko učenje är inte garanterad.
    • Identifierad begränsning: Modeller (inklusive den grundläggande modellen) från modellkatalogen och 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 Mašinsko učenje 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-Mašinsko učenje-arbetsytor delar samma Kubernetes-kluster. Du kan koppla Kubernetes-klustret flera gånger till samma Azure-Mašinsko učenje-arbetsyta eller olika Azure-Mašinsko učenje-arbetsytor, vilket skapar flera beräkningsmål på en arbetsyta eller flera arbetsytor. Eftersom många kunder organiserar datavetenskapsprojekt i Azure Mašinsko učenje arbetsyta 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 Mašinsko učenje arbetsyta 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 Mašinsko učenje CLI/Python SDK v1 kan du distribuera modeller på AKS med 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 Mašinsko učenje utveckling för att använda SDK/CLI v2 rekommenderar Azure Mašinsko učenje 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 Mašinsko učenje-exempel finns i https://github.com/Azure/azureml-examples.git.

För alla Azure-Mašinsko učenje exempel behöver du bara uppdatera beräkningsmålnamnet till ditt Kubernetes-beräkningsmål. Då är du klar.

Nästa steg