Express-implementaties voor het leveren van modellen voor eindpunten

In dit artikel wordt beschreven hoe u snelle implementaties kunt gebruiken op uw modelserving-eindpunten. Express-implementaties verlagen de implementatietijden aanzienlijk en houden het model dat de omgeving bedient hetzelfde als de modeltrainingsomgeving.

Note

Express-implementaties werden eerder serverloze geoptimaliseerde implementaties genoemd.

Wat zijn express-implementaties?

Express-implementaties profiteren van het verpakken en faseren van modelartefacten in serverloze notebookomgevingen tijdens modelregistratie, wat resulteert in versnelde implementatie van eindpunten en consistente omgevingen tussen training en service.

Dit verschilt van niet-expresse implementaties, waarbij modelartefacten en omgevingen tijdens de implementatie in containers worden verpakt. In dergelijke gevallen komt de serveromgeving mogelijk niet overeen met de omgeving die tijdens de modeltraining wordt gebruikt.

Requirements

Express-implementatie-eindpunten hebben dezelfde vereisten als modelserving-endpoints (zie Vereisten). Bovendien:

  • Het model moet een aangepast model zijn (niet FMAPI)
  • Het model moet worden gelogd en geregistreerd in een Serverloze Notebook met versie 3 of 4.
  • Het model moet worden gelogd en geregistreerd bij mlflow>=3.1
  • Het model moet worden geregistreerd in UC en geleverd met CPU
  • De maximale omgevingsgrootte van het model is 1 GB

Snelle implementaties gebruiken

Wanneer u een model logt en registreert, gebruikt u een Serverless Notebook met client 3 of 4 en mlflow>=3.1.

Zie De serverloze omgeving configureren om de clientversie van de serverloze omgeving aan te passen.

Stel vervolgens bij het registreren van een model de env_pack parameter in met de gewenste waarden.

import mlflow
from mlflow.utils.env_pack import EnvPackConfig

mlflow.register_model(
    model_info.model_uri,
    model_name,
    env_pack=EnvPackConfig(name="databricks_model_serving")
)

Als u env_pack de parameter toevoegt, wordt het functiepakket gemaakt en worden de modelartefacten en de serverloze notebookomgeving gefaseerde tijdens de modelregistratie om het voor te bereiden op gebruik tijdens de implementatie. Dit kan extra tijd in beslag nemen in vergelijking met het registreren van het model zonder env_pack.

EnvPackConfig heeft een parameter install_dependencies (True standaard) die bepaalt of de afhankelijkheden van het model zijn geïnstalleerd in de huidige omgeving om te bevestigen dat de omgeving geldig is. Als u deze stap wilt overslaan, stelt u de waarde in op False.

Note

Eindpunten in werkruimten zonder internettoegang of met afhankelijkheden van aangepaste bibliotheken kunnen uitvallen als install_dependencies is ingesteld op True. Stel in deze gevallen install_dependencies in op False.

U kunt ook vervangen EnvPackConfig(...) door "databricks_model_serving" als een afkorting. Dit komt overeen met EnvPackConfig(name="databricks_model_serving", install_dependencies = True).

Nadat de registratie van het model is voltooid, kunt u het model implementeren in modelbediening. U ziet dat de implementatietijd is verminderd en dat de gebeurtenislogboeken niet langer duiden op containerbuild.