Vad är Azure Machine Learning slutpunkter (förhandsversion)?

Viktigt

Den här funktionen är för närvarande i allmänt tillgänglig förhandsversion. Den här förhandsversionen tillhandahålls utan serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Använd Azure Machine Learning slutpunkter (förhandsversion) för att effektivisera modelldistributioner för distributioner av både realtids- och batchslutsatsledning. Slutpunkter tillhandahåller ett enhetligt gränssnitt för att anropa och hantera modelldistributioner mellan beräkningstyper.

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

  • Slutpunkter
  • Distributioner
  • Hanterade onlineslutpunkter
  • Kubernetes-onlineslutpunkter
  • Batch-inferensslutpunkter

Vad är slutpunkter och distributioner (förhandsversion)?

När du har tränat en maskininlärningsmodell måste du distribuera modellen så att andra kan använda den för att göra inferens. I Azure Machine Learning kan du använda slutpunkter (förhandsversion) och distributioner (förhandsversion) för att göra det.

En slutpunkt är en HTTPS-slutpunkt som klienter kan anropa för att ta emot inferensutdata (bedömning) från en tränad modell. Den tillhandahåller:

  • Autentisering med "key & token"-baserad autentisering
  • SSL-avslutning
  • En stabil bedömnings-URI (endpoint-name.region.inference.ml.azure.com)

En distribution är en uppsättning resurser som krävs för att vara värd för modellen som gör den faktiska inferensen.

En enda slutpunkt kan innehålla flera distributioner. Slutpunkter och distributioner är oberoende Azure Resource Manager resurser som visas i Azure Portal.

Azure Machine Learning använder begreppet slutpunkter och distributioner för att implementera olika typer av slutpunkter: onlineslutpunkter och batchslutpunkter.

Flera utvecklargränssnitt

Skapa och hantera batch- och onlineslutpunkter med flera utvecklarverktyg:

  • Azure CLI
  • Azure Resource Manager/REST API
  • Azure Machine Learning Studio-webbportalen
  • Azure Portal (IT/administratör)
  • Stöd för CI/CD MLOps-pipelines med hjälp av Azure CLI-& REST/ARM-gränssnitt

Vad är onlineslutpunkter (förhandsversion)?

Onlineslutpunkter (förhandsversion) är slutpunkter som används för inferens online (realtid). Jämfört med batchslutpunkter innehåller onlineslutpunkter distributioner som är redo att ta emot data från klienter och kan skicka svar tillbaka i realtid.

Följande diagram visar en onlineslutpunkt som har två distributioner, "blå" och "grön". Den blå distributionen använder virtuella datorer med en CPU-SKU och kör v1 av en modell. Den gröna distributionen använder virtuella datorer med en GPU-SKU och använder v2 av modellen. Slutpunkten är konfigurerad för att dirigera 90 % av inkommande trafik till den blå distributionen, medan grönt tar emot återstående 10 %.

Diagram som visar en slutpunkt som delar upp trafik till två distributioner

Krav för slutpunkter online

Om du vill skapa en onlineslutpunkt måste du ange följande element:

  • Modellfiler (eller ange en registrerad modell på din arbetsyta)
  • Bedömningsskript – kod krävs för bedömning/inferens
  • Miljö – en Docker-avbildning med Conda-beroenden eller en dockerfile
  • Skalningsinställningar & beräkningsinstanser

Lär dig hur du distribuerar onlineslutpunkter från CLI och Studio-webbportalen.

Testa och distribuera lokalt för snabbare felsökning

Distribuera lokalt för att testa dina slutpunkter utan att distribuera till molnet. Azure Machine Learning skapar en lokal Docker-avbildning som efterliknar Azure ML avbildningen. Azure Machine Learning skapar och kör distributioner åt dig lokalt och cachelagrar avbildningen för snabba iterationer.

Intern blå/grön distribution

Kom ihåg att en enda slutpunkt kan ha flera distributioner. Onlineslutpunkten kan belastningsutjämning för att ge en procentandel av trafiken till varje distribution.

Trafikallokering kan användas för säker distribution av blå/gröna distributioner genom att balansera begäranden mellan olika instanser.

Tips

En begäran kan kringgå den konfigurerade belastningsutjämning för trafik genom att inkludera ETT HTTP-huvud för azureml-model-deployment . Ange rubrikvärdet till namnet på den distribution som du vill att begäran ska dirigeras till.

Skärmbild som visar skjutreglagegränssnittet för att ange trafikallokering mellan distributioner

Lär dig hur du distribuerar till onlineslutpunkter på ett säkert sätt.

Integrering Insights program

Alla onlineslutpunkter integreras med Application Insights för att övervaka serviceavtal och diagnostisera problem.

Hanterade onlineslutpunkter inkluderar dock även direktintegrering med Azure Logs och Azure Metrics.

Säkerhet

  • Autentisering: Nyckel- och Azure ML-token
  • Hanterad identitet: Användar- och system tilldelad (endast hanterad onlineslutpunkt)
  • SSL som standard för slutpunktsanrop

Automatisk skalning

Autoskalning kör automatiskt rätt mängd resurser för att hantera belastningen på ditt program. Hanterade slutpunkter stöder automatisk skalning genom integrering med funktionen för automatisk skalning i Azure Monitor. Du kan konfigurera måttbaserad skalning (till exempel cpu-användning >70 %), schemabaserad skalning (till exempel skalningsregler för tider med hög belastning) eller en kombination.

Skärmbild som visar att autoskalning flexibelt ger mellan min och max instanser, beroende på regler

Felsökning i Visual Studio Code

Visual Studio Code kan du felsöka slutpunkter interaktivt.

Skärmbild av slutpunktsfelsökning i VSCode.

Hanterade onlineslutpunkter jämfört med Kubernetes onlineslutpunkter (förhandsversion)

Det finns två typer av onlineslutpunkter: hanterade onlineslutpunkter (förhandsversion) och Kubernetes onlineslutpunkter (förhandsversion). Hanterade onlineslutpunkter hjälper dig att distribuera ML-modeller på ett nyckelfärdigt sätt. Hanterade onlineslutpunkter fungerar med kraftfulla CPU- och GPU-datorer i Azure på ett skalbart och fullständigt hanterat sätt. Hanterade onlineslutpunkter tar hand om betjänande, skalning, skydd och övervakning av dina modeller, vilket frigör dig från arbetet med att konfigurera och hantera den underliggande infrastrukturen. Huvudexempel i det här dokumentet använder hanterade onlineslutpunkter för distribution.

I följande tabell visas de viktigaste skillnaderna mellan hanterade onlineslutpunkter och Kubernetes onlineslutpunkter.

Hanterade onlineslutpunkter Kubernetes-onlineslutpunkter
Rekommenderade användare Användare som vill ha en hanterad modelldistribution och förbättrad MLOps-upplevelse Användare som föredrar Kubernetes och kan själv hantera infrastrukturkrav
Infrastrukturhantering Etablering av hanterad beräkning, skalning, uppdateringar av värdoperativsystemavbildningar och säkerhetshärdning Användaransvar
Typ av beräkning Hanterad (AmlCompute) Kubernetes-kluster (Kubernetes)
Out-of-box-övervakning Azure Monitoring
(innehåller viktiga mått som svarstid och dataflöde)
Stöd saknas
Out-of-box-loggning Azure Logs och Log Analytics på slutpunktsnivå Stöds
Application Insights Stöds Stöds
Hanterade identiteter Stöds Stöds
Virtual Network (VNET) Stöds inte ännu (vi arbetar på det) Stöds
Visa kostnader Slutpunkts- och distributionsnivå Klusternivå

Hanterade onlineslutpunkter

Hanterade onlineslutpunkter kan effektivisera distributionsprocessen. Hanterade onlineslutpunkter ger följande fördelar över Kubernetes onlineslutpunkter:

En stegvis självstudiekurs finns i Så här distribuerar du hanterade onlineslutpunkter.

Vad är batchslutpunkter (förhandsversion)?

Batchslutpunkter (förhandsversion) är slutpunkter som används för batch-inferens på stora mängder data under en viss tidsperiod. Batch-slutpunkter tar emot pekare till data och kör jobb asynkront för att bearbeta data parallellt i beräkningskluster. Batch-slutpunkter lagrar utdata till ett datalager för ytterligare analys.

Diagram som visar att en enda batchslutpunkt kan dirigera begäranden till flera distributioner, varav en är standard.

Krav för batchdistribution

Om du vill skapa en batchdistribution måste du ange följande element:

  • Modellfiler (eller ange en modell som är registrerad på din arbetsyta)
  • Compute
  • Bedömningsskript – kod som behövs för att göra bedömning/inferens
  • Miljö – en Docker-avbildning med Conda-beroenden

Om du distribuerar MLFlow-modellerbehöver du inte ange ett bedömningsskript och en körningsmiljö eftersom båda är automatiskt genererade.

Lär dig hur du distribuerar och använder batchslutpunkter med Azure CLI och Studio-webbportalen

Hanterade kostnader med beräkning för automatisk skalning

Anrop av en batchslutpunkt utlöser ett asynkront batchslutsatsjobb. Beräkningsresurser etableras automatiskt när jobbet startar och av allokeras automatiskt när jobbet slutförs. Därför betalar du bara för beräkning när du använder den.

Du kan åsidosätta inställningarna för beräkningsresurser (till exempel instansantal) och avancerade inställningar (t.ex. minibatchstorlek, tröskelvärde för fel osv.) för varje enskilt batch-inferensjobb för att påskynda körningen och minska kostnaderna.

Flexibla datakällor och lagring

Du kan använda följande alternativ för indata när du anropar en batchslutpunkt:

Ange lagringens utdataplats till val annat datalager och sökväg. Som standard lagrar batchslutpunkter sina utdata i arbetsytans standardblobarkiv, ordnat efter jobbnamn (ett systemgenererat GUID).

Säkerhet

  • Autentisering: Azure Active Directory token
  • SSL som standard för slutpunktsanrop

Nästa steg