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)

Azure Machine Learning CLI och Python SDK v2 ger stöd för ett Kubernetes-beräkningsmål. Du kan aktivera ett befintligt AkS-kluster (Azure Kubernetes Service) eller Ett Azure Arc-aktiverat Kubernetes-kluster (Arc Kubernetes) som kubernetes-beräkningsmål. Använd beräkningen i Machine Learning för att träna eller distribuera modeller.

Diagram som illustrerar hur Azure Machine Learning ansluter till Kubernetes.

Den här artikeln beskriver hur du kan använda Kubernetes-beräkningsmålet i Machine Learning, inklusive användningsscenarier, rekommenderade metodtips och en jämförelse av och KubernetesCompute äldre AksCompute mål.

Så här fungerar Kubernetes-beräkningsmålet

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

Compute Plats beskrivning
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 maskininlärningsarbetsbelastning.
Arc Kubernetes-kluster Utanför Azure Med Arc Kubernetes-kluster kan du träna eller distribuera modeller i valfri lokal infrastruktur eller flera molninfrastrukturer eller gränsen.

Med en enkel klustertilläggsdistribution i AKS- eller Arc Kubernetes-kluster stöds Kubernetes-klustret sömlöst i 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 Machine Learning-arbetsbelastning med följande process:

Här är de primära ansvarsområdena i den här processen:

  • IT-driftsteamet ansvarar för steg 1, 2 och 3. Det här teamet förbereder ett AKS- eller Arc Kubernetes-kluster, distribuerar Machine Learning-klustertillägget och kopplar Kubernetes-klustret till Machine Learning-arbetsytan. Förutom dessa viktiga konfigurationssteg för beräkning använder IT-driftteamet även välbekanta verktyg, till exempel Azure CLI eller kubectl, för att utföra följande uppgifter för datavetenskapsteamet:

    • Konfigurera nätverks- och säkerhetsalternativ, till exempel utgående proxyserveranslutning eller Azure-brandvägg, installation av inferensrouter (azureml-fe), SSL/TLS-avslutning och konfiguration av virtuella nätverk.

    • Skapa och hantera instanstyper för olika scenarier för maskininlärningsarbetsbelastningar och få effektiv användning av beräkningsresurser.

    • Felsöka arbetsbelastningsproblem som rör Kubernetes-kluster.

  • Datavetenskapsteamet börjar sina uppgifter när IT-driftsteamet har slutfört beräkningskonfigurationen och skapandet av beräkningsmålen. Det här teamet identifierar en lista över tillgängliga beräkningsmål och instanstyper på Machine Learning-arbetsytan. Beräkningsresurserna kan användas för tränings- eller slutsatsdragningsarbetsbelastning. Data science-teamet anger namnet på beräkningsmål och instanstyp med hjälp av de verktyg eller API:er som de föredrar. De kan använda Azure Machine Learning CLI v2, Python SDK v2 eller Machine Learning Studio-användargränssnittet.

Användningsscenarier för Kubernetes

Med Arc Kubernetes-kluster kan du skapa, träna och distribuera modeller i valfri lokal infrastruktur och multimolninfrastruktur med hjälp av Kubernetes. Den här strategin öppnar några nya användningsmönster som tidigare inte var möjliga i en molnmiljö. Följande tabell innehåller en sammanfattning av de nya användningsmönster som är aktiverade när du arbetar med Azure Machine Learning Kubernetes-beräkning:

Användningsmönster Plats för data Mål och krav Scenariokonfiguration
Träna modell i molnet, distribuera modell lokalt Moln Använd molnbaserad beräkning för att stödja elastiska beräkningsbehov eller särskild maskinvara, till exempel en GPU.

Modelldistributionen måste vara lokal för krav på säkerhet, efterlevnad eller svarstid.
– Azure-hanterad beräkning i molnet
– Kundhanterad Lokal Kubernetes
– Fullständigt automatiserade maskininlärningsåtgärder i hybridläge, inklusive utbildnings- och modelldistributionssteg som sömlöst övergår mellan molnet och lokalt
– Repeterbar, alla tillgångar spåras korrekt, modellen tränas om efter behov, distributionen uppdateras automatiskt efter omträning
Träna modellen lokalt och i molnet, distribuera till både molnet och lokalt Moln Kombinera lokala investeringar med skalbarhet i molnet.

Ta med molnbaserad och lokal beräkning under en enda fönsterruta.

Få åtkomst till en enda sanningskälla för data i molnet och replikera lokalt (latt om användning eller proaktivt).

Aktivera primär användning av molnberäkning när lokala resurser inte är tillgängliga (används eller under underhåll) eller inte uppfyller specifika maskinvarukrav (GPU).
– Azure-hanterad beräkning i molnet.
Kundhanterad Lokal Kubernetes
– Fullständigt automatiserade maskininlärningsåtgärder i hybridläge, inklusive utbildnings- och modelldistributionssteg som sömlöst övergår mellan molnet och lokalt
– Repeterbar, alla tillgångar spåras korrekt, modellen tränas om efter behov, distributionen uppdateras automatiskt efter omträning
Träna modell lokalt, distribuera modell i molnet Lokal Lagra data lokalt för att uppfylla kraven på datahemvist.

Distribuera modellen i molnet för global tjänståtkomst eller för att aktivera beräkningselasticitet för skalning och dataflöde.
– Azure-hanterad beräkning i molnet
– Kundhanterad Lokal Kubernetes
– Fullständigt automatiserade maskininlärningsåtgärder i hybridläge, inklusive utbildnings- och modelldistributionssteg som sömlöst övergår mellan molnet och lokalt
– Repeterbar, alla tillgångar spåras korrekt, modellen tränas om efter behov, distributionen uppdateras automatiskt efter omträning
Ta med din egen AKS i Azure Moln Få mer säkerhet och kontroller.

Upprätta all privat IP-maskininlärning för att förhindra dataexfiltrering.
– AKS-kluster bakom ett virtuellt Azure-nätverk
– Privata slutpunkter i samma virtuella nätverk för Azure Machine Learning-arbetsytan och associerade resurser
Helt automatiserade maskininlärningsåtgärder
Fullständig livscykel för maskininlärning lokalt Lokal Skydda känsliga data eller upphovsrättsskyddade IP-adresser, till exempel maskininlärningsmodeller, kod och skript. – Lokal anslutning till utgående proxyserver
– Privat Azure ExpressRoute- och Azure Arc-länk till Azure-resurser
– Kundhanterad Lokal Kubernetes
– Helt automatiserade maskininlärningsåtgärder

Begränsningar för Kubernetes-beräkningsmål

Ett KubernetesCompute mål 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.
  • Modeller (inklusive den grundläggande modellen) från modellkatalogen och registret stöds inte på Kubernetes onlineslutpunkter.

I det här avsnittet sammanfattas rekommenderade metodtips för att arbeta med en Kubernetes-beräkning.

Ansvarsfördelning mellan IT-driftsteamet och datavetenskapsteamet. Som vi beskrev tidigare är det en komplex uppgift att hantera din egen beräkning och infrastruktur för maskininlärningsarbetsbelastningar. Det bästa sättet är att låta IT-driftsteamet hantera uppgiften, så att datavetenskapsteamet kan fokusera på maskininlärningsmodeller för organisationens effektivitet.

Skapa och hantera instanstyper för olika scenarier för maskininlärningsarbetsbelastningar. Varje maskininlärningsarbetsbelastning använder olika mängder beräkningsresurser, till exempel CPU/GPU och minne. Azure Machine Learning implementerar instanstypen som en anpassad Kubernetes-resursdefinition (CRD) med egenskaperna nodeSelector och resource request/limit. Med en noggrant utvärderad lista över instanstyper kan IT-åtgärder rikta in sig på maskininlärningsarbetsbelastningar på specifika noder och hantera beräkningsresursanvändning effektivt.

Flera Azure Machine Learning-arbetsytor delar samma Kubernetes-kluster. Du kan koppla ett Kubernetes-kluster flera gånger till samma Machine Learning-arbetsyta eller olika arbetsytor. Den här processen skapar flera beräkningsmål på en enda arbetsyta eller flera arbetsytor. Eftersom många kunder organiserar datavetenskapsprojekt runt Machine Learning-arbetsytan kan flera datavetenskapsprojekt nu dela samma Kubernetes-kluster. Den här metoden minskar kostnaderna för hantering av maskininlärningsinfrastruktur avsevärt och förbättrar besparingen av IT-kostnader.

Isolering av team-/projektarbetsbelastning med kubernetes-namnrymd. När du kopplar ett Kubernetes-kluster till en Machine Learning-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.

Jämförelse av KubernetesCompute och äldre AksCompute-mål

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

Kapacitet AksCompute (äldre) KubernetesCompute
Använda CLI/SDK v1 Ja Nej
Använda CLI/SDK v2 Nej Ja
Konfigurera utbildning Nej Ja
Tillämpa slutsatsdragning i realtid Ja Ja
Tillämpa batchinferens Nej Ja
Få åtkomst till nya funktioner för slutsatsdragning i realtid Ingen utveckling av nya funktioner Aktiv översikt tillgänglig

Med hänsyn till dessa skillnader och den övergripande Machine Learning-utvecklingen för att använda CLI/SDK v2 rekommenderar vi att du använder Kubernetes beräkningsmål (KubernetesCompute) för AKS-modelldistribution.

Mer information finns i följande artiklar:

Exempel på maskininlärning

Maskininlärningsexempel är tillgängliga på lagringsplatsen Azure Machine Learning (azureml-examples) på GitHub. I alla exempel ersätter du beräkningsmålnamnet med ditt Kubernetes-beräkningsmål och kör exemplet.

Här är flera alternativ: