Delen via


Zelfstudie: De ontwerpfunctie gebruiken om een machine learning-model te implementeren

In deel één van deze zelfstudie hebt u een lineair regressiemodel getraind waarmee autoprijzen worden voorspeld. In dit tweede deel gebruikt u de Azure Machine Learning-ontwerpfunctie om het model te implementeren, zodat anderen het kunnen gebruiken.

Notitie

De ontwerpfunctie ondersteunt twee typen onderdelen: klassieke vooraf gebouwde onderdelen (v1) en aangepaste onderdelen (v2). Deze twee typen onderdelen zijn NIET compatibel.

Klassieke vooraf gebouwde onderdelen bieden voornamelijk vooraf gebouwde onderdelen voor gegevensverwerking en traditionele machine learning-taken, zoals regressie en classificatie. Dit type onderdeel wordt nog steeds ondersteund, maar er worden geen nieuwe onderdelen toegevoegd.

Met aangepaste onderdelen kunt u uw eigen code verpakken als onderdeel. Ze bieden ondersteuning voor het delen van onderdelen in werkruimten en naadloze creatie in Machine Learning Studio, CLI v2 en SDK v2-interfaces.

Voor nieuwe projecten raden we u aan aangepaste onderdelen te gebruiken, die compatibel zijn met Azure Machine Learning v2 en nieuwe updates blijven ontvangen.

Dit artikel is van toepassing op klassieke vooraf samengestelde onderdelen en is niet compatibel met CLI v2 en SDK v2.

In deze zelfstudie hebt 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 geen grafische elementen ziet die in dit document worden vermeld, zoals knoppen in studio of ontwerper, 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. Tijdens dit proces worden trainingsonderdelen verwijderd en de invoer en uitvoer van webservices toegevoegd voor het afhandelen van aanvragen.

Notitie

De functie Deductiepijplijn maken ondersteunt trainingspijplijnen die alleen de ingebouwde onderdelen van de ontwerpfunctie bevatten en die een onderdeel hebben, zoals Train Model dat het getrainde model uitvoert.

Een realtime deductiepijplijn maken

  1. Selecteer Pijplijnen in het navigatiedeelvenster aan de zijkant en open vervolgens de pijplijntaak die u hebt gemaakt. Selecteer op de detailpagina, boven het pijplijncanvas, het beletselteken ... en kies vervolgens Deductiepijplijn>in realtime maken.

    Schermopname van de deductiepijplijn maken op de detailpagina van de pijplijntaak.

    Uw nieuwe 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 onderdelenpalet. 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.
    • Onderdelen voor webserviceinvoer en webserviceuitvoer worden toegevoegd. Deze onderdelen laten zien waar gebruikersgegevens de pijplijn invoeren 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. In dit voorbeeld maken webserviceinvoer - en automobileprijsgegevens (Raw) verbinding met hetzelfde downstreamonderdeel, dus webservice-invoer verwacht hetzelfde gegevensschema als automobile price data (Raw) en de doelvariabelekolom price wordt opgenomen in het schema. Wanneer u echter de gegevens scoret, weet u de waarden van de doelvariabele niet. In dat geval kunt u de doelvariabelekolom in de deductiepijplijn verwijderen met behulp van het onderdeel Kolommen selecteren in gegevensset . Zorg ervoor dat de uitvoer van de kolom Select Columns in Dataset die de doelvariabele verwijdert, is verbonden met dezelfde poort als de uitvoer van het onderdeel Invoer van de webservice.

  2. Selecteer Configureren en verzenden en gebruik hetzelfde rekendoel en experiment dat u in deel één hebt gebruikt.

    Als dit de eerste taak is, kan het tot 20 minuten duren voordat de pijplijn is uitgevoerd. De standaard rekeninstellingen hebben een minimale knooppuntgrootte van 0, wat betekent dat de ontwerpfunctie na inactiviteit resources moet toewijzen. Herhaalde pijplijntaken nemen minder tijd in beslag omdat de rekenresources al zijn toegewezen. Daarnaast gebruikt de ontwerper resultaten in de cache voor elk onderdeel om de efficiëntie verder te verbeteren.

  3. Ga naar de details van de pijplijntaak voor realtime deductie door taakdetails te selecteren in het linkerdeelvenster.

  4. Selecteer Implementeren op de detailpagina van de taak.

    Schermopname van de implementatie op de detailpagina van de taak.

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. Ga naar de pagina Compute door Compute te selecteren in het dialoogvenster.

  2. Selecteer Op het navigatielint Kubernetes Clusters>+ Nieuw.

    Schermopname die laat zien hoe u naar het deelvenster nieuw deductiecluster gaat.

  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

Nadat 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 die laat zien hoe u een nieuw realtime-eindpunt instelt.

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

    Geavanceerde instelling Beschrijving
    Diagnostische gegevens en gegevensverzameling van Application Insights inschakelen Hiermee kunnen Azure-toepassing Inzichten gegevens verzamelen van de geïmplementeerde eindpunten.
    Standaard: false.
    Time-out voor scoren Een time-out in milliseconden die moet worden afgedwongen voor score-aanroepen naar de webservice.
    Standaard: 60000.
    Automatisch schalen ingeschakeld Hiermee staat u automatisch schalen voor de webservice toe.
    Standaard geldt: waar.
    Minimumaantal 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 (als percentage) dat de automatische schaalaanpassing moet proberen te onderhouden voor deze webservice.
    Standaard: 70.
    Vernieuwingsperiode Hoe vaak (in seconden) de automatische schaalaanpassing probeert deze webservice te schalen.
    Standaard: 1.
    CPU-reservecapaciteit 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 van het meldingencentrum weergegeven. Dit kan enkele minuten duren.

    Schermopname van de implementatiemelding.

Tip

U kunt ook implementeren in Azure Container Instance als u Azure Container Instance for Compute-type selecteert in het vak voor realtime-eindpuntinstellingen. Azure Container Instance wordt gebruikt voor testen of ontwikkelen. Gebruik Azure Container Instance voor workloads op basis van een lage CPU die minder dan 48 GB RAM nodig hebben.

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 Verbruik vindt u voorbeeldcode, beveiligingssleutels en verificatiemethoden instellen.

    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 De uitvoer van uw eindpunt testen controleren.

Het realtime-eindpunt bijwerken

U kunt het online-eindpunt bijwerken met een nieuw model dat is getraind in de ontwerpfunctie. Zoek op de detailpagina van het online-eindpunt uw vorige trainingspijplijntaak en deductiepijplijntaak.

  1. U kunt het concept van uw trainingspijplijn vinden en wijzigen op de startpagina van de ontwerpfunctie.

    U kunt ook de koppeling voor de trainingspijplijntaak openen en deze vervolgens klonen in een nieuw pijplijnconcept om door te gaan met bewerken.

    Schermopname van de koppeling naar de trainingstaak op de detailpagina van het eindpunt.

  2. Nadat u de gewijzigde trainingspijplijn hebt verzonden, gaat u naar de pagina met taakdetails.

  3. Wanneer de taak is voltooid, klikt u met de rechtermuisknop op Model trainen en selecteert u Gegevens registreren.

    Schermopname van het registreren van getraind model als gegevensset.

    Invoernaam en selecteer Bestandstype .

    Schermopname van registreren als een gegevensasset met nieuwe gegevensasset geselecteerd.

  4. Nadat de gegevensset is geregistreerd, opent u het concept van de deductiepijplijn of kloont u de vorige deductiepijplijntaak in een nieuw concept. Vervang in het concept van de deductiepijplijn het vorige getrainde model dat wordt weergegeven als MD-XXXX-knooppunt dat is verbonden met het onderdeel Score Model door de zojuist geregistreerde gegevensset.

    Schermopname die laat zien hoe u deductiepijplijn wijzigt.

  5. Als u het voorverwerkingsonderdeel voor gegevens in uw trainingspijplijn wilt bijwerken en dit wilt bijwerken in de deductiepijplijn, is de verwerking vergelijkbaar met de bovenstaande stappen.

    U hoeft alleen de transformatie-uitvoer van het transformatieonderdeel als gegevensset te registreren.

    Vervang vervolgens het TD-onderdeel in de deductiepijplijn handmatig door de geregistreerde gegevensset.

    Schermopname die laat zien hoe u het transformatieonderdeel vervangt.

  6. Nadat u de deductiepijplijn hebt gewijzigd met het zojuist getrainde model of de zojuist getrainde transformatie, dient u deze in. Wanneer de taak is voltooid, implementeert u deze naar het bestaande online-eindpunt dat eerder is geïmplementeerd.

    Schermopname die laat zien hoe u een bestaand realtime-eindpunt vervangt.

Beperkingen

  • Als uw deductiepijplijn importgegevens of gegevensonderdelen bevat, worden deze vanwege een beperking voor toegang tot het gegevensarchief automatisch verwijderd wanneer deze wordt geïmplementeerd op een realtime-eindpunt.

  • Als u gegevenssets in de realtime deductiepijplijn hebt en deze wilt implementeren naar een realtime-eindpunt, ondersteunt deze stroom momenteel alleen gegevenssets die zijn geregistreerd vanuit het Blob-gegevensarchief . Als u gegevenssets uit andere gegevensarchieven wilt gebruiken, kunt u Kolom selecteren gebruiken om verbinding te maken met uw eerste gegevensset met instellingen voor het selecteren van alle kolommen, de uitvoer van Select Column als bestandsgegevensset registreren en vervolgens de eerste gegevensset in de realtime deductiepijplijn vervangen door deze nieuwe geregistreerde gegevensset.

  • Als uw deductiegrafiek het onderdeel Gegevens handmatig invoeren bevat dat niet is verbonden met dezelfde poort als het onderdeel Invoer van webservice, wordt het onderdeel Gegevens handmatig invoeren niet uitgevoerd tijdens het verwerken van HTTP-aanroepen. Een tijdelijke oplossing is het registreren van de uitvoer van dat onderdeel Gegevens handmatig invoeren als een gegevensset en vervolgens in het concept van de deductiepijplijn het onderdeel Gegevens handmatig invoeren vervangen door de geregistreerde gegevensset.

    Schermopname die laat zien hoe u deductiepijplijn wijzigt die gegevens handmatig invoert.

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.

In deze zelfstudie hebt u geleerd hoe u een machine learning-model maakt, implementeert en gebruikt in de ontwerpfunctie. Zie de volgende artikelen voor meer informatie over hoe u de ontwerpfunctie kunt gebruiken: