Dela via


Självstudie: Distribuera en maskininlärningsmodell med hjälp av designer

Viktigt!

Den här artikeln innehåller information om hur du använder Azure Machine Learning SDK v1. SDK v1 är inaktuell från och med den 31 mars 2025. Stödet för det upphör den 30 juni 2026. Du kan installera och använda SDK v1 fram till det datumet. Dina befintliga arbetsflöden med SDK v1 fortsätter att fungera efter supportdatumet. De kan dock utsättas för säkerhetsrisker eller förändringar som bryter kompatibiliteten vid arkitektoniska förändringar i produkten.

Vi rekommenderar att du övergår till SDK v2 före den 30 juni 2026. Mer information om SDK v2 finns i Vad är Azure Machine Learning CLI och Python SDK v2? och SDK v2-referensen.

I del ett av den här självstudien tränade du en linjär regressionsmodell som förutsäger bilpriser. I den andra delen använder du Azure Machine Learning-designern för att distribuera modellen så att andra kan använda den.

Kommentar

Designer stöder två typer av komponenter: klassiska fördefinierade komponenter (v1) och anpassade komponenter (v2). Dessa två typer av komponenter är INTE kompatibla.

Klassiska fördefinierade komponenter är främst avsedda för databearbetning och traditionella maskininlärningsuppgifter som regression och klassificering. Den här typen av komponent stöds fortfarande, men inga nya komponenter läggs till.

Med anpassade komponenter kan du omsluta din egen kod som en komponent. Den stöder delning av komponenter mellan arbetsytor och sömlös redigering i Studio-, CLI v2- och SDK v2-gränssnitt.

För nya projekt rekommenderar vi starkt att du använder anpassade komponenter som är kompatibla med Azure Machine Learning V2 och fortsätter att ta emot nya uppdateringar.

Den här artikeln gäller för klassiska fördefinierade komponenter och är inte kompatibel med CLI v2 och SDK v2.

I den här tutorialen lär du dig följande:

  • Skapa en pipeline för slutsatsdragning i realtid.
  • Skapa ett slutsatsdragningskluster.
  • Distribuera realtidsslutpunkten.
  • Testa realtidsslutpunkten.

Förutsättningar

Slutför del ett av självstudien för att lära dig hur du tränar och poängsätt en maskininlärningsmodell i designern.

Viktigt!

Om du inte ser grafiska element som nämns i det här dokumentet, till exempel knappar i studio eller designer, kanske du inte har rätt behörighetsnivå för arbetsytan. Kontakta administratören för Azure-prenumerationen för att kontrollera att du har beviljats rätt åtkomstnivå. Mer information finns i Hantera användare och roller.

Skapa en pipeline för slutsatsdragning i realtid

Om du vill distribuera din pipeline måste du först konvertera träningspipelinen till en pipeline för slutsatsdragning i realtid. Den här processen tar bort träningskomponenter och lägger till webbtjänstindata och -utdata för att hantera begäranden.

Kommentar

Funktionen Skapa slutsatsdragningspipeline stöder träningspipelines som bara innehåller de inbyggda komponenterna i designern och som har en komponent som Train Model som matar ut den tränade modellen.

Skapa en pipeline för slutsatsdragning i realtid

  1. Välj Jobb på sidomenyn och öppna sedan det pipelinejobb som du skapade. På detaljsidan, ovanför pipelinearbetsytan, väljer du ellipserna ... och väljer sedan Skapa slutsatsdragningspipeline> för realtidsinferens.

    Skärmbild av skapa slutsatsdragningspipeline på sidan med information om pipelinejobb.

    Din nya pipeline ser nu ut så här:

    Skärmbild som visar den förväntade konfigurationen av pipelinen när den har förberetts för distribution.

    När du väljer Skapa slutsatsdragningspipeline händer flera saker:

    • Den tränade modellen lagras som en datamängdskomponent i komponentpaletten. Du hittar den under Mina datauppsättningar.
    • Träningskomponenter som Train Model och Split Data tas bort.
    • Den sparade tränade modellen läggs tillbaka till i pipelinen.
    • Komponenter för webbtjänstindata och webbtjänstutdata läggs till. Dessa komponenter visar var användardata kommer in i pipelinen och var data returneras.

    Kommentar

    Webbtjänstindata förväntar sig som standard samma dataschema som komponentens utdata som ansluter till samma underordnade port. I det här exemplet ansluter webbtjänstindata och bilprisdata (Raw) till samma underordnade komponent, så Webbtjänstindata förväntar sig att samma dataschema som Automobile price data (Raw) och målvariabelkolumnen price ingår i schemat. Men när du bedömer data känner du inte till målvariabelvärdena. I så fall kan du ta bort målvariabelkolumnen i slutsatsdragningspipelinen med hjälp av komponenten Välj kolumner i datauppsättning . Kontrollera att utdata från Select Columns in Dataset removing target variable column (Välj kolumner i datauppsättningen ) som tar bort målvariabelkolumnen är anslutna till samma port som utdata från komponenten Webbtjänstindata .

  2. Välj Konfigurera och skicka och använd samma beräkningsmål och experiment som du använde i del ett.

    Om det här är det första jobbet kan det ta upp till 20 minuter innan pipelinen är klar. Standardinställningarna för beräkning har en minsta nodstorlek på 0, vilket innebär att designern måste allokera resurser när den är inaktiv. Upprepade pipelinejobb tar mindre tid eftersom beräkningsresurserna redan har allokerats. Dessutom använder designern cachelagrade resultat för varje komponent för att ytterligare förbättra effektiviteten.

  3. Gå till information om pipelinejobbet för realtidsslutledning genom att välja Jobbinformation i det vänstra fönstret.

  4. Välj Distribuera på sidan med jobbinformation.

    Skärmbild som visar distribution på sidan med jobbinformation.

Skapa ett slutsatsdragningskluster

I dialogrutan som visas kan du välja från alla befintliga AKS-kluster (Azure Kubernetes Service) som du vill distribuera din modell till. Om du inte har något AKS-kluster använder du följande steg för att skapa ett.

  1. Gå till sidan Beräkning genom att välja Beräkning på sidomenyn.

  2. I navigeringsfliksområdet väljer du Kubernetes-kluster. Välj sedan + Ny>AksCompute.

    Skärmbild som visar hur du kommer till det nya fönstret för slutsatsdragningskluster.

  3. I fönstret slutsatsdragningskluster konfigurerar du en ny Kubernetes-tjänst.

  4. Välj en närliggande region som är tillgänglig för regionen.

  5. På nästa skärm anger du aks-compute som beräkningsnamn.

  6. Välj Skapa.

    Kommentar

    Det tar ungefär 15 minuter att skapa en ny AKS-tjänst. Du kan kontrollera etableringstillståndet på sidan Slutsatsdragningskluster .

Distribuera realtidsslutpunkten

När AKS-tjänsten har slutfört etableringen återgår du till pipelinen för slutsatsdragning i realtid för att slutföra distributionen.

  1. Välj Distribuera ovanför arbetsytan.

  2. Välj Distribuera ny realtidsslutpunkt.

  3. Välj det AKS-kluster som du skapade.

    Skärmbild som visar hur du konfigurerar en ny realtidsslutpunkt.

    Du kan också ändra avancerade inställningar för realtidsslutpunkten.

    Avancerad inställning beskrivning
    Aktivera Application Insights-diagnostik och datainsamling Gör att Azure Application Insights kan samla in data från de distribuerade slutpunkterna.
    Som standard: false
    Tidsgräns för bedömning En timeout i millisekunder för att framtvinga för bedömningsanrop till webbtjänsten.
    Som standard: 60000
    Automatisk skalning aktiverat Tillåter automatisk skalning för webbtjänsten.
    Som standard: true
    Minsta repliker Det minsta antalet containrar som ska användas vid automatisk skalning av den här webbtjänsten.
    Som standard: 1
    Maximalt antal repliker Det maximala antalet containrar som ska användas vid automatisk skalning av den här webbtjänsten.
    Som standard: 10
    Målanvändning Den målanvändning (i procent) som autoskalningen ska försöka underhålla för den här webbtjänsten.
    Som standard: 70
    Uppdateringsperiod Hur ofta (i sekunder) autoskalningstjänsten försöker skala den här webbtjänsten.
    Som standard: 1
    Processorreservkapacitet Antalet CPU-kärnor som ska allokeras för den här webbtjänsten.
    Som standard: 0.1
    Minnesreservkapacitet Mängden minne (i GB) som ska allokeras för den här webbtjänsten.
    Som standard: 0,5
  4. Välj distribuera.

    Ett meddelande från meddelandecentret visas när distributionen har slutförts. Det kan ta några minuter.

    Skärmbild som visar distributionsmeddelande.

Dricks

Du kan också distribuera till Azure Container Instance om du väljer Azure Container Instance for Compute-typ i inställningsrutan för slutpunkt i realtid. Azure Container Instance används för testning eller utveckling. Använd Azure Container Instance för lågskalig CPU-baserad arbetsbelastning som kräver mindre än 48 GB RAM-minne.

Testa realtidsslutpunkten

När distributionen är klar kan du visa slutpunkten i realtid genom att gå till sidan Slutpunkter .

  1. Välj Slutpunkter på sidomenyn och välj sedan den slutpunkt som du distribuerade.

    • På fliken Information kan du se mer information, till exempel REST-URI, Swagger-definition, status och taggar.

    • På fliken Förbruka hittar du exempel på förbrukningskod, säkerhetsnycklar och anger autentiseringsmetoder.

    • På fliken Distributionsloggar hittar du detaljerade distributionsloggar för din realtidsslutpunkt.

  2. Om du vill testa slutpunkten går du till fliken Test . Härifrån kan du ange testdata och välja Testa verifiera slutpunktens utdata.

Uppdatera realtidsslutpunkten

Du kan uppdatera onlineslutpunkten med en ny modell som tränats i designern. På informationssidan för onlineslutpunkten hittar du ditt tidigare pipelinejobb för träning och härledningspipelinesjobb.

  1. Du kan hitta och ändra ditt utkast för träningspipeline på designerns startsida.

    Eller så kan du öppna länken för träningspipelinejobbet och sedan klona den till ett nytt pipelineutkast för att fortsätta redigera.

    Skärmbild som visar länken till träningsjobbet på sidan med slutpunktsinformation.

  2. När du har skickat den ändrade träningspipelinen går du till sidan med jobbinformation.

  3. När jobbet är klart högerklickar du på Träna modell och väljer Registrera data.

    Skärmbild som visar registrera tränad modell som datauppsättning.

    Ange ett namn och välj Filtyp .

    Skärmbild av registrera som datatillgång med ny datatillgång vald.

  4. När datauppsättningen har registrerats öppnar du ditt utkast till slutsatsdragningspipeline eller klonar det tidigare pipelinejobbet för slutsatsdragning till ett nytt utkast. I utkastet till slutsatsdragningspipelinen ersätter du den tidigare tränade modellen, som visas som MD-xxxx-nod, som är ansluten till Modellpoängskomponenten med den nyligen registrerade datamängden.

    Skärmbild som visar hur du ändrar slutsatsdragningspipelinen.

  5. Om du behöver uppdatera dataförbearbetningsdelen i träningspipelinen och vill uppdatera den till slutsatsdragningspipelinen liknar bearbetningen föregående steg.

    Du behöver bara registrera transformeringsutdata för transformeringskomponenten som datauppsättning.

    Ersätt sedan TD-xxxx-komponenten manuellt i slutsatsdragningspipelinen med den registrerade datauppsättningen.

    Skärmbild som visar hur du ersätter transformeringskomponenten.

  6. När du har modifierat din slutsatsdragningspipeline med den nyligen tränade modellen eller omvandlingen skickar du den. När jobbet har slutförts distribuerar du det till den befintliga onlineslutpunkten som distribuerades tidigare.

    Skärmbild som visar hur du ersätter befintlig realtidsslutpunkt.

Begränsningar

  • På grund av åtkomstbegränsningen för datalager flyttas de automatiskt när de distribueras till en slutpunkt i realtid om din slutsatsdragningspipeline innehåller komponenterna Importera data eller Exportera data .

  • Om du har datauppsättningar i pipelinen för slutsatsdragning i realtid och vill distribuera till en realtidsslutpunkt stöder det här flödet för närvarande endast datauppsättningar som registrerats från Blob-datalager . Om du vill använda datauppsättningar från andra typer av datalager kan du använda Välj kolumn för att ansluta till din första datauppsättning med inställningar för att välja alla kolumner, registrera utdata från Välj kolumn som fildatauppsättning och sedan ersätta den första datauppsättningen i pipelinen för slutsatsdragning i realtid med den nyligen registrerade datauppsättningen.

  • Om inferensdiagrammet innehåller komponenten Ange data manuellt som inte är ansluten till samma port som komponenten För webbtjänstindata , körs inte komponenten Ange data manuellt under HTTP-anropsbearbetningen. En lösning är att registrera utdata från komponenten Ange data manuellt som en datauppsättning. Ersätt sedan komponenten Ange data manuellt med den registrerade datauppsättningen i utkast till slutsatsdragningspipeline.

    Skärmbild som visar hur du ändrar slutsatsdragningspipelinen som innehåller en komponent för att ange data manuellt.

Rensa resurser

Viktigt!

Du kan använda de resurser som du skapade som förutsättningar för andra Azure Machine Learning-självstudier och instruktionsartiklar.

Ta bort allt

Om du inte planerar att använda något som du har skapat tar du bort hela resursgruppen så att du inte debiteras några avgifter.

  1. I Azure-portalen väljer du Resursgrupper under Azure-tjänster.

  2. Välj den resursgrupp som du skapade.

  3. Välj Ta bort resursgrupp.

    Skärmbild som visar knappen för att ta bort resursgruppen i Azure-portalen.

Om du tar bort resursgruppen tas även alla resurser som du skapade i designern bort.

Ta bort enskilda tillgångar

I designern där du skapade experimentet tar du bort enskilda tillgångar genom att välja dem och sedan välja knappen Ta bort .

Beräkningsmålet som du skapade här skalar automatiskt till noll noder när det inte används. Den här åtgärden vidtas för att minimera avgifterna. Om du vill ta bort beräkningsmålet gör du följande:

Skärmbild som visar hur du tar bort tillgångar.

Om du vill ta bort en datauppsättning går du till lagringskontot med hjälp av Azure Portal eller Azure Storage Explorer och tar bort dessa tillgångar manuellt.

I den här självstudien har du lärt dig hur du skapar, distribuerar och använder en maskininlärningsmodell i designern. Mer information om hur du kan använda designern finns i följande artiklar: