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 %.
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.
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.
Felsökning i Visual Studio Code
Visual Studio Code kan du felsöka slutpunkter interaktivt.
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:
Hanterad infrastruktur
- Tillser automatiskt beräkningen och är värd för modellen (du behöver bara ange VM-typ och skalningsinställningar)
- Uppdaterar och korrigeringar av den underliggande operativsystemavbildningen för värden automatiskt
- Automatisk nodåterställning vid systemfel
Övervakning och loggar
- Övervaka modellens tillgänglighet, prestanda och serviceavtal med intern integrering med Azure Monitor.
- Felsöka distributioner med hjälp av loggar och intern integrering med Azure Log Analytics.
Hanterad identitet
Visa kostnader
- Med hanterade onlineslutpunkter kan du övervaka kostnaden på slutpunkts- och distributionsnivå
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.
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:
- Azure Machine Learning registrerade datauppsättningar – mer information finns i Skapa Azure Machine Learning datauppsättningar
- Molndata – antingen en offentlig data-URI eller datasökväg i datalager. Mer information finns i Anslut till data med Azure Machine Learning Studio
- Data som lagras lokalt
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
- Så här distribuerar du hanterade onlineslutpunkter med Azure CLI
- Så här distribuerar du batchslutpunkter med Azure CLI
- Så här använder du hanterade onlineslutpunkter med Studio
- Distribuera modeller med REST (förhandsversion)
- Övervaka hanterade onlineslutpunkter
- Så här visar du kostnader för slutpunkter online
- Hantera och öka kvoter för resurser med Azure Machine Learning