Modellen implementeren voor batchdeductie en -voorspelling
In dit artikel wordt beschreven hoe u MLflow-modellen implementeert voor offlinedeductie (batch en streaming). Databricks raadt u aan MLflow te gebruiken om machine learning-modellen te implementeren voor batch- of streamingdeductie. Zie Voor algemene informatie over het werken met MLflow-modellen logboek , laden, registreren en implementeren van MLflow-modellen.
Zie Model met Azure Databricks voor meer informatie over realtime modelservices in Azure Databricks.
MLflow gebruiken voor modeldeductie
Met MLflow kunt u code genereren voor batch- of streamingdeductie.
- In het MLflow-modelregister kunt u automatisch een notebook genereren voor batch- of streamingdeductie via Delta Live Tables.
- Op de pagina MLflow Run voor uw model kunt u het gegenereerde codefragment kopiƫren voor deductie in pandas of Apache Spark DataFrames.
U kunt ook de code aanpassen die is gegenereerd door een van de bovenstaande opties. Zie de volgende notebooks voor voorbeelden:
- In het voorbeeld van modeldeductie wordt een model gebruikt dat is getraind met scikit-learn en eerder is vastgelegd bij MLflow om te laten zien hoe u een model laadt en gebruikt om voorspellingen te doen over gegevens in verschillende indelingen. Het notebook illustreert hoe u het model kunt toepassen als een scikit-learn-model op een Pandas DataFrame en hoe u het model toepast als pySpark UDF op een Spark DataFrame.
- In het voorbeeld van het MLflow-modelregister ziet u hoe u een model bouwt, beheert en implementeert met modelregister. Op die pagina kunt u zoeken naar
.predict
voorbeelden van offline voorspellingen (batch).
Een Azure Databricks-taak maken
Als u batch- of streamingvoorspellingen wilt uitvoeren als taak, maakt u een notebook of JAR die de code bevat die wordt gebruikt om de voorspellingen uit te voeren. Voer vervolgens het notebook of JAR uit als een Azure Databricks-taak. Taken kunnen direct of volgens een schema worden uitgevoerd.
Streamingdeductie
Vanuit het register van het MLflow-model kunt u automatisch een notebook genereren dat de MLflow PySpark-deductie-UDF integreert met Delta Live Tables.
U kunt ook het gegenereerde deductienotebook wijzigen om de Apache Spark Structured Streaming-API te gebruiken. Zie de Apache Spark MLlib-pijplijnen en het voorbeeld van Structured Streaming.
Deductie met Deep Learning-modellen
Zie de volgende artikelen voor informatie over en voorbeelden van deep learning-modeldeductie in Azure Databricks:
- Werkstroom van deep learning-modeldeductie
- Handleiding voor afstemmen van prestaties van deep learning-modeldeductie
- Referentieoplossingen
Deductie met MLlib- en XGBoost4J-modellen
Voor schaalbare modeldeductie met MLlib- en XGBoost4J-modellen gebruikt u de systeemeigen transform
methoden om deductie rechtstreeks op Spark DataFrames uit te voeren. De MLlib-voorbeeldnotebooks bevatten deductiestappen.
Modeldeductie aanpassen en optimaliseren
Wanneer u de MLflow-API's gebruikt om deductie uit te voeren op Spark DataFrames, kunt u het model laden als spark-UDF en dit op schaal toepassen met behulp van gedistribueerde computing.
U kunt uw model aanpassen om preverwerking of naverwerking toe te voegen en rekenprestaties voor grote modellen te optimaliseren. Een goede optie voor het aanpassen van modellen is de MLflow pyfunc-API, waarmee u een model met aangepaste logica kunt verpakken.
Als u verdere aanpassingen wilt uitvoeren, kunt u uw Machine Learning-model handmatig verpakken in een Pandas UDF of een Pandas Iterator UDF. Bekijk de deep learning-voorbeelden.
Voor kleinere gegevenssets kunt u ook de systeemeigen modeldeductieroutines van de bibliotheek gebruiken.