Machine learning-experimenten in Microsoft Fabric
Een machine learning-experiment is de primaire eenheid van de organisatie en controle voor alle gerelateerde machine learning-uitvoeringen. Een uitvoering komt overeen met één uitvoering van modelcode. In MLflow is het bijhouden gebaseerd op experimenten en uitvoeringen.
Met machine learning-experimenten kunnen gegevenswetenschappers parameters, codeversies, metrische gegevens en uitvoerbestanden registreren bij het uitvoeren van hun machine learning-code. Met experimenten kunt u ook uitvoeringen visualiseren, zoeken en vergelijken, evenals uitvoeringsbestanden en metagegevens downloaden voor analyse in andere hulpprogramma's.
In dit artikel vindt u meer informatie over hoe gegevenswetenschappers kunnen communiceren met machine learning-experimenten om hun ontwikkelingsproces te organiseren en om meerdere uitvoeringen bij te houden.
Vereisten
- Een Power BI Premium-abonnement. Zie Power BI Premium aanschaffen als u er nog geen hebt.
- Een Power BI-werkruimte met toegewezen Premium-capaciteit.
Een experiment maken
U kunt een machine learning-experiment rechtstreeks maken vanaf de startpagina van Data science in de Gebruikersinterface (UI) van Power BI of door code te schrijven die gebruikmaakt van de MLflow-API.
Een experiment maken met behulp van de gebruikersinterface
Een machine learning-experiment maken vanuit de gebruikersinterface:
Maak een nieuwe data science-werkruimte of selecteer een bestaande werkruimte.
Selecteer Experiment in de sectie Nieuw.
Geef een experimentnaam op en selecteer Maken. Met deze actie maakt u een leeg experiment in uw werkruimte.
Nadat u het experiment hebt gemaakt, kunt u uitvoeringen toevoegen om metrische gegevens en parameters voor uitvoering bij te houden.
Een experiment maken met behulp van de MLflow-API
U kunt ook rechtstreeks vanuit uw ontwerpervaring een machine learning-experiment maken met behulp van de mlflow.create_experiment()
of mlflow.set_experiment()
API's. Vervang in de volgende code door <EXPERIMENT_NAME>
de naam van uw experiment.
import mlflow
# This will create a new experiment with the provided name.
mlflow.create_experiment("<EXPERIMENT_NAME>")
# This will set the given experiment as the active experiment.
# If an experiment with this name does not exist, a new experiment with this name is created.
mlflow.set_experiment("<EXPERIMENT_NAME>")
Uitvoeringen binnen een experiment beheren
Een machine learning-experiment bevat een verzameling uitvoeringen voor vereenvoudigde tracering en vergelijking. Binnen een experiment kan een data scientist door verschillende uitvoeringen navigeren en de onderliggende parameters en metrische gegevens verkennen. Gegevenswetenschappers kunnen ook uitvoeringen in een machine learning-experiment vergelijken om te bepalen welke subset van parameters een gewenste modelprestaties oplevert.
Uitvoeringen bijhouden
Een machine learning-uitvoering komt overeen met één uitvoering van modelcode.
Elke uitvoering bevat de volgende informatie:
- Bron: Naam van het notebook dat de uitvoering heeft gemaakt.
- Geregistreerde versie: geeft aan of de uitvoering is opgeslagen als een machine learning-model.
- Begindatum: Begintijd van de uitvoering.
- Status: Voortgang van de uitvoering.
- Hyperparameters: Hyperparameters die zijn opgeslagen als sleutel-waardeparen. Zowel sleutels als waarden zijn tekenreeksen.
- Metrische gegevens: Voer metrische gegevens uit die zijn opgeslagen als sleutel-waardeparen. De waarde is numeriek.
- Uitvoerbestanden: Uitvoerbestanden in elke indeling. U kunt bijvoorbeeld afbeeldingen, omgeving, modellen en gegevensbestanden vastleggen.
Recente uitvoeringen weergeven
U kunt ook recente uitvoeringen voor een experiment rechtstreeks vanuit de lijstweergave van de werkruimte weergeven. Met deze weergave kunt u recente activiteiten bijhouden, snel naar de gerelateerde Spark-toepassing gaan en filters toepassen op basis van de uitvoeringsstatus.
Uitvoeringen vergelijken en filteren
Als u de kwaliteit van uw machine learning-uitvoeringen wilt vergelijken en evalueren, kunt u de parameters, metrische gegevens en metagegevens tussen geselecteerde uitvoeringen in een experiment vergelijken.
Uitvoeringen visueel vergelijken
U kunt uitvoeringen visueel vergelijken en filteren binnen een bestaand experiment. Met visuele vergelijking kunt u eenvoudig navigeren tussen meerdere uitvoeringen en ze sorteren.
Uitvoeringen vergelijken:
- Selecteer een bestaand machine learning-experiment dat meerdere uitvoeringen bevat.
- Selecteer het tabblad Weergave en ga vervolgens naar de lijstweergave Uitvoeren. U kunt ook de optie selecteren om de uitvoeringslijst rechtstreeks vanuit de weergave Uitvoeringsdetails weer te geven.
- Pas de kolommen in de tabel aan door het deelvenster Kolommen aanpassen uit te vouwen. Hier kunt u de eigenschappen, metrische gegevens en hyperparameters selecteren die u wilt zien.
- Vouw het deelvenster Filter uit om uw resultaten te beperken op basis van bepaalde geselecteerde criteria.
- Selecteer meerdere uitvoeringen om de resultaten te vergelijken in het deelvenster met metrische gegevens. In dit deelvenster kunt u de grafieken aanpassen door de grafiektitel, het visualisatietype, de X-as, de Y-as en meer te wijzigen.
Uitvoeringen vergelijken met behulp van de MLflow-API
Gegevenswetenschappers kunnen ook MLflow gebruiken om query's uit te voeren en te zoeken tussen uitvoeringen binnen een experiment. U kunt meer MLflow-API's verkennen voor het zoeken, filteren en vergelijken van uitvoeringen door naar de MLflow-documentatie te gaan.
Alle uitvoeringen ophalen
U kunt de MLflow-zoek-API mlflow.search_runs()
gebruiken om alle uitvoeringen in een experiment op te halen door uw experimentnaam of <EXPERIMENT_ID>
door uw experiment-id in de volgende code te vervangen<EXPERIMENT_NAME>
:
import mlflow
# Get runs by experiment name:
mlflow.search_runs(experiment_names=["<EXPERIMENT_NAME>"])
# Get runs by experiment ID:
mlflow.search_runs(experiment_ids=["<EXPERIMENT_ID>"])
Tip
U kunt in meerdere experimenten zoeken door een lijst met experiment-id's op te geven aan de experiment_ids
parameter. Op dezelfde manier kan MLflow met een lijst met experimentnamen aan de experiment_names
parameter zoeken in meerdere experimenten. Dit kan handig zijn als u uitvoeringen in verschillende experimenten wilt vergelijken.
Uitvoeringen van volgorde en limiet
Gebruik de max_results
parameter om search_runs
het aantal geretourneerde runs te beperken. Met order_by
de parameter kunt u de kolommen op volgorde weergeven en een optionele DESC
waarde bevatten ASC
. In het volgende voorbeeld wordt bijvoorbeeld de laatste uitvoering van een experiment geretourneerd.
mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])
Uitvoeringen vergelijken in een Fabric-notebook
U kunt de mlFlow-ontwerpwidget in Fabric-notebooks gebruiken om MLflow-uitvoeringen bij te houden die in elke notebookcel worden gegenereerd. Met de widget kunt u uw uitvoeringen, gekoppelde metrische gegevens, parameters en eigenschappen rechtstreeks tot op het niveau van de afzonderlijke cel bijhouden.
Als u een visuele vergelijking wilt verkrijgen, kunt u ook overschakelen naar de vergelijkingsweergave Uitvoeren. In deze weergave worden de gegevens grafisch weergegeven, die helpen bij het snel identificeren van patronen of afwijkingen in verschillende uitvoeringen.
Uitvoeren opslaan als een machine learning-model
Zodra een uitvoering het gewenste resultaat oplevert, kunt u de uitvoering opslaan als een model voor verbeterde modeltracking en voor modelimplementatie door Opslaan als een ML-model te selecteren.