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:

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.