Zelfstudie: Ontwerper - een machine learning implementeren

Gebruik de ontwerpfunctie om een machine learning model te implementeren om de prijs van auto's te voorspellen. Deze zelfstudie is deel 2 van een tweedelige reeks.

In deel één van de zelfstudie hebt u een lineair regressiemodel getraind op autoprijzen. In deel twee implementeert u het model om anderen de kans te geven het te gebruiken. In deze zelfstudie gaat u:

  • Een realtime deductiepijplijn maken.
  • Een deductiecluster maken.
  • Het realtime-eindpunt implementeren.
  • Het realtime-eindpunt testen.

Vereisten

Voltooi deel 1 van de zelfstudie om te leren hoe u een machine learning-model kunt trainen en een score kunt geven in de ontwerpfunctie.

Belangrijk

Als u grafische elementen die in dit document worden vermeld, zoals knoppen in Studio of Designer, niet ziet, hebt u mogelijk niet het juiste machtigingsniveau voor de werkruimte. Neem contact op met de beheerder van uw Azure-abonnement om te controleren of u het juiste toegangsniveau hebt gekregen. Zie Gebruikers en rollen beherenvoor meer informatie.

Een realtime deductiepijplijn maken

Voor het implementeren van uw pijplijn moet u de trainingspijplijn eerst converteren naar een realtime deductiepijplijn. Dit proces verwijdert trainingsonderdelen en voegt webservice-invoer en -uitvoer toe om aanvragen te verwerken.

Een realtime deductiepijplijn maken

  1. Selecteer boven het pijplijncanvas Deductiepijplijn maken > Realtime deductiepijplijn.

    Schermopname waarin wordt weergegeven waar de knop pijplijn maken zich bevindt

    Uw pijplijn ziet er nu als volgt uit:

    Schermopname van de verwachte configuratie van de pijplijn nadat deze is voorbereid voor implementatie

    Wanneer u Deductiepijplijn maken selecteert, gebeuren er verschillende dingen:

    • Het getrainde model wordt opgeslagen als een gegevenssetonderdeel in het onderdeelpalet. U vindt deze onder Mijn gegevenssets.
    • Trainingsonderdelen zoals Train Model en Split Data worden verwijderd.
    • Het opgeslagen getrainde model wordt weer toegevoegd aan de pijplijn.
    • De onderdelen Webservice-invoer en Webservice-uitvoer worden toegevoegd. Deze onderdelen laten zien waar gebruikersgegevens de pijplijn in gaan en waar gegevens worden geretourneerd.

    Notitie

    Standaard verwacht de webservice-invoer hetzelfde gegevensschema als de uitvoergegevens van het onderdeel die verbinding maken met dezelfde downstreampoort als deze. In dit voorbeeld maken webservice-invoer en prijsgegevens voor auto's (Raw) verbinding met hetzelfde downstreamonderdeel. Webservice-invoer verwacht daarom hetzelfde gegevensschema als Automobile price data (Raw) en de kolom met doelvariabelen is opgenomen in het price schema. Meestal weet u echter niet wat de waarden van de doelvariabele zijn wanneer u de gegevens scoret. In dat geval kunt u de kolom met de doelvariabele in de deferentiepijplijn verwijderen met behulp van het onderdeel Select Columns in Dataset. Zorg ervoor dat de uitvoer van de kolom Kolommen in gegevensset selecteren die de doelvariabele verwijdert, is verbonden met dezelfde poort als de uitvoer van het onderdeel Intput van de webservice.

  2. Selecteer Verzenden en gebruik hetzelfde rekendoel en experiment dat u in deel 1 hebt gebruikt.

    Als dit de eerste keer is dat u de pijplijn uitvoert, kan het maximaal 20 minuten duren voor uw pijplijn helemaal is uitgevoerd. De standaardrekeninstellingen hebben een minimale knooppuntgrootte van 0, wat betekent dat de ontwerpfunctie na inactiviteit resources moet toewijzen. Herhaalde pijplijnuitvoeringen kosten minder tijd, omdat de rekenresources al zijn toegewezen. Daarnaast gebruikt de ontwerpfunctie resultaten in de cache voor elk onderdeel om de efficiëntie verder te verbeteren.

  3. Selecteer Implementeren.

Een deductiecluster maken

In het dialoogvenster dat wordt weergegeven kunt u willekeurige Azure Kubernetes Service (AKS)-clusters selecteren om uw model naar te implementeren. Als u geen AKS-cluster hebt, gebruikt u de volgende stappen om er een te maken.

  1. Selecteer Compute in het dialoogvenster dat wordt weergegeven om naar de pagina Compute te gaan.

  2. Selecteer Deductieclusters > + Nieuw op het navigatielint.

    Schermopname waarin wordt weergegeven waar het deelvenster nieuwe deductiecluster zich bevindt

  3. Configureer een nieuwe Kubernetes Service in het deelvenster Deductiecluster.

  4. Geef aks-compute op als Compute-naam.

  5. Selecteer een regio in de buurt die beschikbaar is voor de Regio.

  6. Selecteer Maken.

    Notitie

    Het duurt ongeveer 15 minuten om een AKS-service te maken. U kunt de inrichtingsstatus bekijken op de pagina Deductieclusters.

Het realtime-eindpunt implementeren

Wanneer de inrichting van uw AKS-service is voltooid, gaat u terug naar de realtime deductiepijplijn om de implementatie te voltooien.

  1. Selecteer Implementeren boven het canvas.

  2. Selecteer Nieuw realtime-eindpunt implementeren.

  3. Selecteer de AKS-cluster die u hebt gemaakt.

    Schermopname waarin het instellen van een nieuw realtime-eindpunt wordt weergegeven

    U kunt ook de geavanceerde instelling voor uw realtime-eindpunt wijzigen.

    Geavanceerde instelling Description
    Application Insights diagnostics and data collection inschakelen Of u de Azure-toepassing Insights gegevens van de geïmplementeerde eindpunten wilt verzamelen.
    Standaard: false
    Time-out voor scoren Een time-out in milliseconden om af te dwingen voor scoring-aanroepen naar de webservice.
    Standaard: 60000
    Automatisch schalen ingeschakeld Hiermee wordt aangegeven of automatische schaalaanpassing moet worden ingeschakeld voor de webservice.
    Standaard: true
    Minimum aantal replica's Het minimale aantal containers dat moet worden gebruikt wanneer deze webservice automatisch wordt geschaald.
    Standaard: 1
    Maximum aantal replica's Het maximale aantal containers dat moet worden gebruikt wanneer deze webservice automatisch wordt geschaald.
    Standaard: 10
    Doelgebruik Het doelgebruik (in procenten van 100) dat de automatische schaalaanpassing moet proberen aan te houden voor deze webservice.
    Standaard: 70
    Vernieuwingsperiode Hoe vaak (in seconden) de automatische schaalvergroting deze webservice probeert te schalen.
    Standaard: 1
    Capaciteit van CPU-reserve Het aantal CPU-kernen dat moet worden toegewezen voor deze webservice.
    Standaard: 0.1
    Geheugenreservecapaciteit De hoeveelheid geheugen in GB dat moet worden toegewezen voor deze webservice.
    Standaard: 0,5
  4. Selecteer Implementeren.

    Nadat de implementatie is voltooid, wordt een melding boven het canvas weergegeven. Dit kan enkele minuten duren.

Tip

U kunt ook implementeren naar Azure Container Instance (ACI) als u Azure Container Instance selecteert als Compute-type in het vak realtime-eindpuntinstelling. Azure Container Instance wordt gebruikt voor testen of ontwikkeling. Gebruik ACI voor workloads op basis van een laag cpu-gebruik waarvoor minder dan 48 GB RAM-geheugen is vereist.

Het realtime-eindpunt testen

Nadat de implementatie is voltooid, kunt u uw realtime-eindpunt bekijken door naar de pagina Eindpunten te gaan.

  1. Selecteer op de pagina Eindpunten het eindpunt dat u hebt geïmplementeerd.

    Op het tabblad Details ziet u meer informatie, zoals de REST URI, Swagger-definitie, status en tags.

    Op het tabblad Verbruiken vindt u voorbeeldcode voor verbruik, beveiligingssleutels en verificatiemethoden.

    Op het tabblad Implementatielogboeken vindt u de gedetailleerde implementatielogboeken van uw realtime-eindpunt.

  2. Als u uw eindpunt wilt testen, gaat u naar het tabblad Testen. Hier kunt u testgegevens invoeren en Test de optie Test verify the output of your endpoint selecteren.

Zie Een Azure Machine Learning-model gebruiken dat als een webservice is geïmplementeerd voor meer informatie over het gebruiken van uw webservice

Beperkingen

De deferentiepijplijn bijwerken

Als u enkele wijzigingen aan de trainingspijplijn aan het aanbrengen bent, moet u de trainingspijplijn opnieuw inzenden, de deferentiepijplijn bijwerken en deference-pijplijn opnieuw uitvoeren.

Houd er rekening mee dat alleen getrainde modellen worden bijgewerkt in de deferentiepijplijn, terwijl de gegevenstransformatie niet wordt bijgewerkt.

Als u de bijgewerkte pijplijn voor transformatie-inferentie wilt gebruiken, moet u de transformatie-uitvoer van het transformatieonderdeel registreren als gegevensset.

Schermopname die laat zien hoe u een transformatieset registreert

Vervang vervolgens handmatig de TD-component in de deference pipeline door de geregistreerde gegevensset.

Schermopname die laat zien hoe u een transformatieonderdeel vervangt

Vervolgens kunt u de deferentiepijplijn verzenden met het bijgewerkte model en de transformatie, en implementeren.

Realtime-eindpunt implementeren

Als uw de deferentiepijplijn een importgegevens- of exportgegevensonderdeel bevat, worden deze automatisch verwijderd wanneer u implementeert op een realtime-eindpunt.

Resources opschonen

Belangrijk

U kunt de resources die u hebt gemaakt, gebruiken als vereisten voor andere Azure Machine Learning-zelfstudies en artikelen met procedures.

Alles verwijderen

Als u niets wilt gebruiken dat u hebt gemaakt, kunt u de hele resourcegroep verwijderen zodat er geen kosten voor in rekening worden gebracht.

  1. Selecteer in Azure Portal, aan de linkerkant in het venster, de optie Resourcegroepen.

    Een resourcegroep verwijderen in de Azure-portal

  2. Selecteer de resourcegroep die u hebt gemaakt in de lijst.

  3. Selecteer Resourcegroep verwijderen.

Als u de resource groep verwijdert, worden ook alle resources verwijderd die u in de ontwerpfunctie hebt gemaakt.

Afzonderlijke assets verwijderen

In de ontwerpfunctie waar u uw experiment hebt gemaakt, verwijdert u afzonderlijke assets door ze te selecteren en vervolgens de knop Verwijderen te selecteren.

Het rekendoel dat u hier hebt gemaakt, wordt, wanneer het niet wordt gebruikt, automatisch geschaald naar nul knooppunten. Deze actie wordt uitgevoerd om de kosten te minimaliseren.  Als u het rekendoel wilt verwijderen, voert u de volgende stappen uit:

Assets verwijderen

U kunt de registratie van gegevenssets vanuit uw werkruimte opheffen door alle gegevenssets te selecteren en Registratie opheffen te selecteren.

Registratie van gegevensset ongedaan maken

Als u een gegevensset wilt verwijderen, gaat u naar het opslagaccount via Azure Portal of Azure Storage Explorer en verwijdert u de assets handmatig.

Volgende stappen

In deze zelfstudie hebt u de belangrijkste stappen geleerd voor het maken, implementeren en gebruiken van een machine learning-model in de ontwerpfunctie. Bekijk de volgende koppelingen voor meer informatie over hoe u de ontwerpfunctie kunt gebruiken: