Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR:
Azure CLI ml-tillägget v2 (aktuellt)
Python SDK azure–ai-ml v2 (aktuell)
När du har tränat maskininlärningsmodeller eller pipelines, eller hittat lämpliga modeller från modellkatalogen, måste du distribuera dem till produktion så att andra kan använda dem för slutsatsdragning. Slutsatsdragning är processen att tillämpa nya indata på en maskininlärningsmodell eller pipeline för att generera utdata. Även om dessa utdata vanligtvis kallas "förutsägelser" kan slutsatsdragning generera utdata för andra maskininlärningsuppgifter, till exempel klassificering och klustring. I Azure Machine Learning utför du slutsatsdragning med hjälp av slutpunkter.
Slutpunkter och distributioner
En slutpunkt är en stabil och varaktig URL som kan användas för att begära eller anropa en modell. Du anger nödvändiga indata till slutpunkten och tar emot utdata. Azure Machine Learning stöder standarddistributioner, onlineslutpunkter och batchslutpunkter. En slutpunkt innehåller:
- En stabil och hållbar URL (till exempel endpoint-name.region.inference.ml.azure.com)
- En autentiseringsmekanism
- En auktoriseringsmekanism
En distribution är en uppsättning resurser och beräkning som krävs för att vara värd för den modell eller komponent som utför den faktiska slutsatsdragningen. En slutpunkt innehåller en distribution. För online- och batchslutpunkter kan en slutpunkt innehålla flera distributioner. Distributionerna kan vara värdar för oberoende tillgångar och använda olika resurser baserat på tillgångarnas behov. En slutpunkt har också en routningsmekanism som kan dirigera begäranden till någon av dess distributioner.
Vissa typer av slutpunkter i Azure Machine Learning använder dedikerade resurser i sina distributioner. För att dessa slutpunkter ska kunna köras måste du ha beräkningskvot för din Azure-prenumeration. Vissa modeller stöder dock en serverlös distribution, vilket gör att de inte kan använda någon kvot från din prenumeration. För serverlösa distributioner debiteras du baserat på användning.
Intuition
Anta att du arbetar med ett program som förutsäger typ och färg på en bil från ett foto. För det här programmet gör en användare med vissa autentiseringsuppgifter en HTTP-begäran till en URL och ger en bild av en bil som en del av begäran. I gengäld får användaren ett svar som innehåller bilens typ och färg som strängvärden. I det här scenariot fungerar URL:en som en slutpunkt.
Anta nu att en dataexpert, Alice, implementerar programmet. Alice har omfattande TensorFlow-erfarenhet och bestämmer sig för att implementera modellen med hjälp av en sekventiell Keras-klassificerare med en ResNet-arkitektur från TensorFlow Hub. Efter att ha testat modellen är Alice nöjd med sina resultat och bestämmer sig för att använda modellen för att lösa problemet med bilförutsägelse. Modellen är stor och kräver 8 GB minne med 4 kärnor för att köras. I det här scenariot utgör Alices modell och de resurser, till exempel koden och beräkningen, som krävs för att köra modellen en distribution under slutpunkten.
Efter några månader upptäcker organisationen att programmet presterar dåligt på bilder med dåliga ljusförhållanden. Bob, en annan dataexpert, har expertis inom dataförstoringstekniker som hjälper modeller att bygga robusthet för den här faktorn. Bob föredrar dock att använda PyTorch för att implementera modellen och träna en ny modell med PyTorch. Bob vill testa den här modellen i produktion gradvis tills organisationen är redo att dra tillbaka den gamla modellen. Den nya modellen fungerar också bättre när den distribueras till GPU, så distributionen måste innehålla en GPU. I det här scenariot utgör Bobs modell och de resurser, till exempel koden och beräkningen, som krävs för att köra modellen en annan distribution under samma slutpunkt.
Slutpunkter: standarddistribution, online och batch
Azure Machine Learning stöder standarddistributioner, onlineslutpunkter och batchslutpunkter.
Standarddistributioner och onlineslutpunkter är utformade för slutsatsdragning i realtid. När du anropar slutpunkten returneras resultatet i slutpunktens svar. Standarddistributioner förbrukar inte kvoter från din prenumeration. I stället debiteras de med standardfakturering.
Batchslutpunkter är utformade för långvarig batchinferens. När du anropar en batchslutpunkt genererar du ett batchjobb som utför det faktiska arbetet.
När du ska använda standarddistribution, online och batchslutpunkter
Standarddistribution:
Använd standarddistributioner för att använda stora grundläggande modeller för realtidsinferensering utanför hyllan eller för finjustering av sådana modeller. Alla modeller är inte tillgängliga för distribution till standarddistributioner. Vi rekommenderar att du använder det här distributionsläget när:
- Din modell är en grundläggande modell eller en finjusterad version av en grundläggande modell som är tillgänglig för standarddistributioner.
- Du kan dra nytta av en distribution utan kvot.
- Du behöver inte anpassa slutsatsdragningsstacken som används för att köra modellen.
Onlineslutpunkter:
Använd onlineslutpunkter för att operationalisera modeller för realtidsinferens i synkrona begäranden med låg svarstid. Vi rekommenderar att du använder dem när:
- Din modell är en grundläggande modell eller en finjusterad version av en grundläggande modell, men den stöds inte i standarddistributionen.
- Du har krav på låg latens.
- Din modell kan besvara begäran på relativt kort tid.
- Modellens indata får plats i HTTP-nyttolasten för begäran.
- Du måste skala upp när det gäller antalet begäranden.
Batch-slutpunkter:
Använd batchslutpunkter för att operationalisera modeller eller pipelines för långvarig asynkron slutsatsdragning. Vi rekommenderar att du använder dem när:
- Du har dyra modeller eller pipelines som kräver längre tid att köra.
- Du vill operationalisera maskininlärningspipelines och återanvända komponenter.
- Du måste utföra slutsatsdragning för stora mängder data som distribueras i flera filer.
- Du har inte krav på låg svarstid.
- Modellens indata lagras i ett lagringskonto eller i en Azure Machine Learning-datatillgång.
- Du kan dra nytta av parallellisering.
Jämförelse av standarddistribution, online och batchslutpunkter
Alla standarddistributioner, onlineslutpunkter och batchslutpunkter baseras på idén om slutpunkter. Därför kan du enkelt övergå från en till en annan. Online- och batchslutpunkter kan också hantera flera distributioner för samma slutpunkt.
Endpoints
I följande tabell visas en sammanfattning av de olika funktioner som är tillgängliga för standarddistributioner, onlineslutpunkter och batchslutpunkter på slutpunktsnivå.
| Feature | Standarddistributioner | Onlineslutpunkter | Batch-slutpunkter |
|---|---|---|---|
| Stabil anrops-URL | Yes | Yes | Yes |
| Stöd för flera distributioner | No | Yes | Yes |
| Distributionens routning | None | Trafikdelning | Växla till standard |
| Speglingstrafik för säker distribution | No | Yes | No |
| Swagger-stöd | Yes | Yes | No |
| Authentication | Key | Key och Microsoft Entra ID (förhandsversion) | Microsoft Entra ID |
| Stöd för privat nätverk (äldre) | No | Yes | Yes |
| Hanterad nätverksisolering | Yes | Yes | Ja (se nödvändig ytterligare konfiguration) |
| Kundstyrda nycklar | NA | Yes | Yes |
| Kostnadsbas | Per slutpunkt, per minut1 | None | None |
1En liten fraktion debiteras för standarddistribution per minut. Se avsnittet distributioner för de avgifter som är relaterade till förbrukning, som faktureras per token.
Deployments
I följande tabell visas en sammanfattning av de olika funktioner som är tillgängliga för standarddistributioner, onlineslutpunkter och batchslutpunkter på distributionsnivå. De här begreppen gäller för varje distribution under slutpunkten (för online- och batchslutpunkter) och gäller för standarddistributioner (där begreppet distribution är inbyggt i slutpunkten).
| Feature | Standarddistributioner | Onlineslutpunkter | Batch-slutpunkter |
|---|---|---|---|
| Distributionstyper | Models | Models | Modeller och pipelinekomponenter |
| MLflow-modelldistribution | Nej, endast specifika modeller i katalogen | Yes | Yes |
| Distribution av anpassad modell | Nej, endast specifika modeller i katalogen | Ja, med bedömningsskript | Ja, med bedömningsskript |
| Slutsatsdragningsserver 3 | API:et för Azure AI-modellslutsatsdragning | – Azure Machine Learning Inferencing Server -Triton – Anpassad (med BYOC) |
Batch-slutsatsdragning |
| Förbrukad beräkningsresurs | Ingen (serverlös) | Instanser eller detaljerade resurser | Klusterinstanser |
| Typ av beräkning | Ingen (serverlös) | Hanterad beräkning och Kubernetes | Hanterad beräkning och Kubernetes |
| Beräkning med låg prioritet | NA | No | Yes |
| Skala beräkning till noll | Built-in | No | Yes |
| Beräkning av automatisk skalning4 | Built-in | Ja, baserat på resursanvändning | Ja, baserat på antal jobb |
| Hantering av överkapacitet | Throttling | Throttling | Queuing |
| Kostnadsbas5 | Per token | Per distribution: beräkningsinstanser som körs | Per jobb: beräkningsinstanser som förbrukas i jobbet (begränsas till det maximala antalet instanser av klustret) |
| Lokal testning av distributioner | No | Yes | No |
2Slutsatsdragningsservern refererar till den serveringsteknik som tar begäranden, bearbetar dem och skapar svar. Slutsatsdragningsservern avgör också formatet på indata och förväntade utdata.
3Autoskalning är möjligheten att dynamiskt skala upp eller skala ned distributionens allokerade resurser baserat på belastningen. Online- och batchdistributioner använder olika strategier för automatisk skalning. Medan onlinedistributioner skalas upp och ned baserat på resursanvändningen (t.ex. PROCESSOR, minne, begäranden osv.), skalas batchslutpunkter upp eller ned baserat på antalet jobb som skapats.
4 Både online- och batchdistributioner debiteras av de resurser som förbrukas. I onlinedistributioner etableras resurser vid distributionstillfället. I batchdistributioner förbrukas inte resurser vid distributionstillfället, utan vid den tidpunkt då jobbet körs. Därför finns det ingen kostnad som är associerad med själva batchdistributionen. På samma sätt förbrukar inte köade jobb resurser heller.
Utvecklargränssnitt
Slutpunkter är utformade för att hjälpa organisationer att operationalisera arbetsbelastningar på produktionsnivå i Azure Machine Learning. Slutpunkter är robusta och skalbara resurser och de ger de bästa funktionerna för att implementera MLOps-arbetsflöden.
Du kan skapa och hantera batch- och onlineslutpunkter med flera utvecklarverktyg:
- Azure CLI och Python SDK
- Azure Resource Manager/REST API
- Azure Machine Learning-studio webbportal
- Azure Portal (IT/administratör)
- Stöd för CI/CD MLOps-pipelines med hjälp av Azure CLI-gränssnittet och REST/ARM-gränssnitt