Självstudie: Designer – distribuera en maskininlärningsmodell

Använd designern för att distribuera en maskininlärningsmodell för att förutsäga priset på bilar. Självstudien är del två i en serie med två delar.

I del ett av självstudien tränade du en linjär regressionsmodell på bilpriser. I del två distribuerar du modellen för att ge andra en chans att använda den. I den här kursen får du:

  • Skapa en pipeline för slutsatsledning i realtid.
  • Skapa ett inferenskluster.
  • Distribuera realtidsslutpunkten.
  • Testa realtidsslutpunkten.

Krav

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

Viktigt

Om du inte ser några grafiska element som nämns i det här dokumentet, till exempel knappar i Studio eller designer, kanske du inte har rätt behörighets nivå för arbets ytan. Kontakta administratören för Azure-prenumerationen för att kontrol lera att du har beviljats rätt åtkomst nivå. Mer information finns i Hantera användare och roller.

Skapa en pipeline för slutsatsledning i realtid

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

Skapa en pipeline för slutsatsledning i realtid

  1. Ovanför pipelinearbetsytan väljer du Skapa härledningspipeline > Realtids slutsatsledningspipeline.

    Skärmbild som visar var du hittar knappen Skapa pipeline

    Din pipeline bör nu se 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 härledningspipeline 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 (Träna modell) och Split Data (Dela data) tas bort.
    • Den sparade tränade modellen läggs tillbaka till i pipelinen.
    • Komponenterna Web Service Input (Webbtjänstindata) och Web Service Output (Webbtjänstutdata) läggs till. Dessa komponenter visar var användardata kommer in i pipelinen och var data returneras.

    Anteckning

    Som standard förväntar sig webbtjänstindata samma dataschema som komponentens utdata som ansluter till samma underordnade port som den. I det här exemplet ansluter Web Service Input och Automobile price data (Raw) till samma underordnade komponent. Webbtjänstindata förväntar sig därför samma dataschema som kolumnen Automobile price data (Raw) och målvariabeln ingår price i schemat. Men vanligtvis när du poängsätter data känner du inte till målvariabelvärdena. I sådana fall kan du ta bort målvariabelkolumnen i slutsatsledningspipelinen med hjälp av komponenten Välj kolumner i datauppsättning. Se till att utdata för Välj kolumner i datauppsättning som tar bort målvariabelkolumnen är ansluten till samma port som utdata för komponenten Web Service Intput.

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

    Om det här är den första körningen kan det ta upp till 20 minuter innan pipelinen har körts klart. 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 pipelinekörningar 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. Välj Distribuera.

Skapa ett inferenskluster

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

  1. Välj Compute i dialogrutan som visas för att gå till sidan Compute.

  2. I navigeringsfliken väljer du Slutsatsledningskluster > + nytt.

    Skärmbild som visar hur du kommer till det nya fönstret för härledningskluster

  3. Konfigurera en ny Kubernetes Service i fönstret för härledningskluster.

  4. Ange aks-compute som beräkningsnamn.

  5. Välj en region i närheten som är tillgänglig för Regionen.

  6. Välj Skapa.

    Anteckning

    Det tar cirka 15 minuter att skapa en ny AKS-tjänst. Du kan kontrollera etableringstillståndet på sidan Härledningskluster.

Distribuera realtidsslutpunkten

När AKS-tjänsten har slutfört etableringen återgår du till den härledningspipelinen 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 ställer in en ny realtidsslutpunkt

    Du kan också ändra inställningen Avancerat för din realtidsslutpunkt.

    Avancerad inställning Beskrivning
    Aktivera program Insights diagnostik och datainsamling Om du vill Azure Application Insights att samla in data från de distribuerade slutpunkterna.
    Som standard: falskt
    Tidsgräns för bedömning En tidsgräns i millisekunder för att framtvinga för bedömning av anrop till webbtjänsten.
    Som standard: 60000
    Automatisk skalning aktiverad Om du vill aktivera autoskalning för webbtjänsten.
    Som standard: true
    Minsta antal 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 Målanvändningen (i procent av 100) som autoskalningen ska försöka underhålla för den här webbtjänsten.
    Som standard: 70
    Uppdateringsperiod Hur ofta (i sekunder) autoskalningen försöker skala den här webbtjänsten.
    Som standard: 1
    Processorreservkapacitet Antalet processorkärnor som ska allokeras för den här webbtjänsten.
    Som standard: 0.1
    Kapacitet för minnesreserv 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 om att det lyckades ovanför arbetsytan visas när distributionen är klar. Det kan ta några minuter.

Tips

Du kan också distribuera till Azure Container Instance (ACI) om du väljer Azure Container Instance som Beräkningstyp i rutan För realtidsslutpunkt. Azure Container Instance används för testning eller utveckling. Använd ACI för lågskaliga CPU-baserade arbetsbelastningar som kräver mindre än 48 GB RAM-minne.

Testa realtidsslutpunkten

När distributionen är klar kan du visa din realtidsslutpunkt genom att gå till sidan Slutpunkter.

  1. På sidan Slutpunkter väljer du 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 ange 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 utdata för slutpunkten.

Mer information om hur du använder webbtjänsten finns i Använda en modell som distribueras som en webbtjänst

Begränsningar

Uppdateringsledningspipeline

Om du gör några ändringar i din träningspipeline bör du skicka träningspipelinen igen, uppdatera slutsatsledningspipelinen och köra slutsatsledningspipelinen igen.

Observera att endast tränade modeller uppdateras i härledningspipelinen, medan datatransformering inte uppdateras.

Om du vill använda den uppdaterade pipelinen för transformering i slutsatsledning måste du registrera transformeringsutdata för transformeringskomponenten som datauppsättning.

Skärmbild som visar hur du registrerar datauppsättningen för transformering

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

Skärmbild som visar hur du ersätter transformeringskomponenten

Sedan kan du skicka inferenspipelinen med den uppdaterade modellen och omvandlingen och distribuera.

Distribuera realtidsslutpunkt

På grund av åtkomstbegränsningar för datstore tas de bort automatiskt när de distribueras till realtidsslutpunkten om din härledningspipeline innehåller komponenten Importera data eller Exportera data.

Rensa resurser

Viktigt

Du kan använda de resurser som du har skapat 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 resurs gruppen så att du inte debiteras några avgifter.

  1. I Azure Portal väljer du resurs grupper på vänster sida av fönstret.

    Ta bort resursgrupp i Azure-portalen

  2. I listan väljer du den resurs grupp som du skapade.

  3. Välj Ta bort resursgrupp.

Om du tar bort resurs gruppen raderas även alla resurser som du skapade i designern.

Ta bort enskilda till gångar

I designern där du skapade experimentet kan du ta bort enskilda till gångar genom att markera dem och sedan välja knappen ta bort .

Beräknings målet som du skapade här automatiskt skalar automatiskt till noll noder när det inte används. Den här åtgärden vidtas för att minimera kostnaderna. Gör så här om du vill ta bort beräknings målet:

Ta bort till gångar

Du kan avregistrera data uppsättningar från din arbets yta genom att markera varje data uppsättning och välja avregistrera.

Avregistrera data uppsättning

Om du vill ta bort en data uppsättning går du till lagrings kontot genom att använda Azure Portal eller Azure Storage Explorer och manuellt ta bort dessa till gångar.

Nästa steg

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