Modelontwikkeling bijhouden met MLflow
Dit artikel bevat voorbeelden van het bijhouden van modelontwikkeling in Azure Databricks. Ml- en deep learning-modellen automatisch registreren en bijhouden met MLflow of handmatig met de MLflow-API.
Modeltracking & MLflow
Het modelontwikkelingsproces is iteratief en het kan lastig zijn om uw werk bij te houden tijdens het ontwikkelen en optimaliseren van een model. In Azure Databricks kunt u MLflow-tracering gebruiken om het modelontwikkelingsproces, met inbegrip van door u geprobeerde parameterinstellingen of -combinaties, bij te houden evenals de gevolgen voor de modelprestaties.
MLflow-tracering maakt gebruik van experimenten en uitvoeringen om uw ML- en Deep Learning-modelontwikkeling te registreren en bij te houden. Een uitvoering is één uitvoering van modelcode. Tijdens een MLflow-uitvoering kunt u modelparameters en -resultaten registreren. Een experiment is een verzameling van gerelateerde uitvoeringen. In een experiment kunt u uitvoeringen vergelijken en filteren om te begrijpen hoe uw model presteert en hoe de prestaties ervan afhankelijk zijn van de parameterinstellingen, invoergegevens enzovoort.
De notebooks in dit artikel bieden eenvoudige voorbeelden waarmee u snel aan de slag kunt met MLflow om de ontwikkeling van uw model bij te houden. Zie Trainingsuitvoeringen voor ml en deep learning bijhouden voor meer informatie over het gebruik van MLflow-tracering in Azure Databricks.
Notitie
MLflow-tracering biedt geen ondersteuning voor taken die zijn verzonden met spark_submit_task in de Taken-API. In plaats daarvan kunt u MLflow Projects gebruiken om Spark-code uit te voeren.
Automatische logboekregistratie gebruiken om modelontwikkeling bij te houden
MLflow kan automatisch trainingscode vastleggen die is geschreven in veel ML- en Deep Learning-frameworks. Dit is de eenvoudigste manier om aan de slag te gaan met MLflow-tracering.
In deze voorbeeld-notebook wordt getoond hoe u automatische logboekregistratie kunt gebruiken met scikit-learn. Voor informatie over automatische logboekregistratie met andere Python-bibliotheken raadpleegt u Automatically log training runs to MLflow (Trainingsrondes automatisch in MLflow registreren).
Python-notebook voor automatische logboeken van MLflow
De API voor logboekregistratie gebruiken om modelontwikkeling bij te houden
Deze notebook illustreert hoe u de MLflow-API voor logboekregistratie gebruikt. Met de API voor logboekregistratie krijgt u meer controle over de geregistreerde metrische gegevens en kunt u extra artefacten, zoals tabellen of grafieken, registreren.
Deze voorbeeld-notebook laat zien hoe u de Python-API voor logboekregistratie gebruikt. MLflow heeft ook API's voor REST, R en Java.
Python-notebook voor MLflow-logboekregistratie-API
End-to-end-voorbeeld
Deze notebook-zelfstudie bevat een end-to-end-voorbeeld voor het trainen van een model in Azure Databricks, waaronder het laden van gegevens, het visualiseren van de gegevens, het instellen van een parallelle afstemmingsoptimalisatie, en het gebruiken van MLflow om de resultaten te controleren, het model te registreren en nieuwe gegevens te deduceren met behulp van het geregistreerde model in een Spark-UDF.
Vereisten
Databricks Runtime ML
Voorbeeld van notebook
Als uw werkruimte is ingeschakeld voor Unity Catalog, gebruikt u deze versie van het notebook:
Scikit-learn gebruiken met MLflow-integratie in Databricks (Unity Catalog)
Als uw werkruimte niet is ingeschakeld voor Unity Catalog, gebruikt u deze versie van het notebook: