Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive come usare distribuzioni ottimizzate serverless nei modelli che servono gli endpoint. Le distribuzioni ottimizzate serverless diminuiscono notevolmente i tempi di distribuzione e mantengono l'ambiente di gestione del modello uguale all'ambiente di training del modello.
Che cosa sono le distribuzioni ottimizzate serverless?
Le distribuzioni ottimizzate serverless sfruttano i vantaggi dell'impacchettamento e della preparazione degli artefatti del modello in ambienti notebook serverless durante la registrazione del modello, risultando in una distribuzione accelerata degli endpoint e ambienti coerenti tra addestramento e fornitura.
Ciò differisce dalle distribuzioni ottimizzate non serverless, in cui gli artefatti e gli ambienti del modello vengono inseriti in contenitori in fase di distribuzione. In questi casi, l'ambiente di gestione potrebbe non corrispondere a quello usato durante il training del modello.
Requisiti
Gli endpoint ottimizzati serverless hanno gli stessi requisiti del modello che serve l'endpoint (vedere Requisiti). In aggiunta:
- Il modello deve essere un modello personalizzato (non FMAPI)
- Il modello deve essere registrato e loggato in un notebook serverless usando la versione 3 o 4
- Il modello deve essere tracciato e registrato con
mlflow>=3.1 - Il modello deve essere registrato in UC e servito con CPU
- La dimensione massima dell'ambiente del modello è 1 GB
Uso delle distribuzioni ottimizzate per serverless
Quando si registra e si registra un modello, usare un notebook serverless con client 3 o 4 e mlflow>=3.1.
Per modificare la versione client dell'ambiente serverless, vedere Configurare l'ambiente serverless.
Quindi, quando si registra un modello, impostare il env_pack parametro con i valori desiderati.
import mlflow
from mlflow.utils.env_pack import EnvPackConfig
mlflow.register_model(
model_info.model_uri,
model_name,
env_pack=env_pack=EnvPackConfig(name="databricks_model_serving")
)
L'aggiunta del parametro env_pack consentirà alla funzione di impacchettare e preparare gli artefatti del modello e l'ambiente notebook serverless durante la registrazione del modello per renderlo pronto all'uso durante la distribuzione. Questo può richiedere tempo aggiuntivo rispetto alla registrazione del modello senza env_pack.
EnvPackConfig ha un parametro install_dependencies (True per impostazione predefinita) che determina se le dipendenze del modello sono installate nell'ambiente corrente per verificare che l'ambiente sia valido. Se si vuole ignorare questo passaggio, impostare il valore su False.
Annotazioni
Gli endpoint nelle aree di lavoro senza accesso a Internet o endpoint con dipendenze da librerie personalizzate potrebbero non riuscire se install_dependencies è impostato su True. In questi casi, impostare install_dependencies su False.
È anche possibile sostituire EnvPackConfig(...) con "databricks_model_serving" come abbreviato. che equivale a EnvPackConfig(name="databricks_model_serving", install_dependencies = True).
Al termine della registrazione del modello, è possibile distribuire il modello nella gestione del modello. Notare che il tempo di distribuzione è ridotto e i registri degli eventi non indicano più la compilazione del contenitore.