Förbereda en modell för distribution
Om du vill hämta värde från en maskininlärningsmodell distribuerar du den så att den kan generera förutsägelser när företaget behöver dem. Innan du distribuerar kan du dock fatta några beslut som beskriver hur resten av pipelinen fungerar.
På Proseware, ett hälsovårdsteknikföretag, tränar datavetenskapsteamet en klassificeringsmodell som förutsäger om en patient sannolikt kommer att missa ett kommande klinikbesök. Klinikpersonalen använder denna riskpoäng för uteblivande för att avgöra vilka patienter de ska ringa i förväg för att bekräfta sitt besök, så att kliniken kan fylla tider som annars skulle stå tomma. Modellen är tillräckligt exakt för produktionsanvändning. Din utmaning är att få den att leverera förutsägelser på ett tillförlitligt sätt, i en process som teamet kan upprepa varje gång modellen tränas om.
Välj en slutpunktstyp
Azure Machine Learning stöder två slutpunktstyper och valet beror på hur förutsägelsen används. En batchendpoint genererar förutsägelser för ett stort antal poster enligt ett schema, vilket passar periodiska poängsättningsjobb. En onlineslutpunkt returnerar en förutsägelse synkront, med låg svarstid, så fort den tar emot en begäran.
Prosewares schemaläggningssystem anropar modellen så snart personalen bokar eller schemalägger om en avtalad tid, så att den omedelbart kan flagga högriskmöten för ett bekräftelsesamtal den dagen. Eftersom prediktionen måste returneras omedelbart, distribuerar teamet modellen till en hanterad online-slutpunkt.
Registrera modellen med MLflow
Data science-teamet tränar riskmodellen utan visning och paketerar den med MLflow, en plattform med öppen källkod för att spåra maskininlärningsexperiment och paketeringsmodeller i standardformat. När träningsskriptet anropar mlflow.autolog()loggar MLflow automatiskt modellen, dess parametrar och dess mått som en del av träningsjobbets utdata.
Eftersom modellen paketeras som en MLflow-modell kan du registrera den direkt från jobbets utdata utan att skriva ett anpassat bedömningsskript eller definiera en miljö själv. Azure Machine Learning genererar både från modellens MLflow-metadata under distributionen, en funktion som kallas distribution utan kod. Ett team som arbetar med ett anpassat modellformat, till exempel en pickle-fil, skulle behöva skapa och underhålla bedömningsskriptet och miljön.
Tips/Råd
Läs mer om att distribuera MLflow-modeller i Azure Machine Learning.
Om du vill registrera modellen pekar du antingen på ett slutfört träningsjobbs utdata eller en modellfil som lagras i ett arbetsytedatalager. När modellen har registrerats blir den en versionstillgång på arbetsytan som du, eller ett automatiserat arbetsflöde, kan referera efter namn och version när du skapar en distribution.
När modellen utvecklas registrerar du ändrade artefakter som nya versioner i stället för att ersätta en befintlig version. Du kan uppdatera en versions beskrivning och taggar, men andra ändringar kräver en ny version. Arkivera versioner som du inte längre vill ha i standardlistor. Arkivering tar inte bort en modell, och arbetsflöden kan fortfarande referera till en arkiverad version vid behov.
Tips/Råd
Läs mer om att hantera registrerade modeller.
Planera för upprepningsbar distribution
Att registrera och driftsätta en modell manuellt fungerar för en första lansering, men Proseware förväntar sig att regelbundet omträna no-show-modellen när nya bokningsdata kommer in. Att upprepa samma manuella steg för varje ny version är långsamt och felbenäget, så teamets mål är att automatisera registrering, distribution och testning via en pipeline, vilket är vad resten av den här modulen bygger mot.