Pular para o conteúdo principal

Implantações expressas para endpoint de modelo de operação

Esta página descreve como usar implantações expressas em seus endpoints de serviço de modelo. Implantações expressas reduzem os tempos de implantação e mantêm o ambiente de servindo modelo igual ao ambiente de treinamento de modelo.

nota

As implantações do Express eram anteriormente chamadas de implantações otimizadas para serverless .

O que são implantações expressas?

As implantações expressas empacotam e preparam artefatos de modelo em ambientes de notebook serverless durante o registro do modelo. Isso acelera a implantação do endpoint e mantém os ambientes de treinamento e serviço consistentes.

Em implantações não expressas, artefatos e ambientes de modelo são empacotados em contêineres no momento da implantação, portanto, o ambiente de disponibilização pode não corresponder ao usado durante o treinamento do modelo.

Implantações padrão vs expressas

A tabela a seguir compara uma implantação padrão e uma implantação expressa.

Aspecto

Implantação padrão

Implantação expressa

Quando o ambiente é criado

Uma imagem de contêiner é criada no momento da implantação.

Os artefatos e o ambiente são empacotados quando você registra o modelo.

Ambiente de treinamento e serviço

O ambiente de serviço pode não corresponder ao ambiente de treinamento.

O ambiente de serviço é idêntico ao ambiente de notebook do qual você fez o registro.

Velocidade de implantação

Mais lento. A implantação aguarda uma compilação de imagem do contêiner.

Mais rápido. A implantação ignora a criação da imagem de contêiner.

Velocidade de registro

Padrão.

Adiciona segundos a um minuto para empacotamento, dependendo do tamanho do modelo e do ambiente.

Log de eventos de implantação

Mostra eventos de criação de imagem de contêiner.

Não mostra eventos de criação de imagem de contêiner.

Aspecto

Implantação padrão

Implantação expressa

Quando o ambiente é criado

Uma imagem de contêiner é criada no momento da implantação.

Os artefatos e o ambiente são empacotados quando você registra o modelo.

Ambiente de treinamento e serviço

O ambiente de serviço pode não corresponder ao ambiente de treinamento.

O ambiente de serviço é idêntico ao ambiente de notebook do qual você fez o registro.

Velocidade de implantação

Mais lento. A implantação aguarda uma compilação de imagem do contêiner.

Mais rápido. A implantação ignora a criação da imagem de contêiner.

Velocidade de registro

Padrão.

Adiciona segundos a um minuto para empacotamento, dependendo do tamanho do modelo e do ambiente.

Log de eventos de implantação

Mostra eventos de criação de imagem de contêiner.

Não mostra eventos de criação de imagem de contêiner.

Implantações expressas transferem o trabalho de empacotamento único para o registro do modelo, o que adiciona segundos a um minuto a uma chamada register_model, dependendo do tamanho do modelo e do ambiente. Em troca, a implantação é significativamente mais rápida : ela ignora totalmente a criação da imagem de contêiner. Essa compilação também é uma fonte comum de falhas de implantação (resolução de dependências, erros de criação de imagem), portanto, ignorá-la remove uma classe inteira de problemas. O log de eventos de implantação para um modelo expresso não contém eventos de criação de contêiner.

Requisitos

Endpoints de implantação expressa têm os mesmos requisitos que um Endpoint de servindo modelo. Consulte Requisitos.

Além disso:

  • O modelo deve ser um modelo personalizado
  • O modelo deve ser registrado em um Notebook Serverless usando a versão 3 ou posterior.
  • O modelo deve ser registrado em Logs com mlflow>=3.12 e databricks-sdk>=0.102.0
  • O modelo deve ser registrado no Unity Catalog e disponibilizado em compute de CPU. Registre-se em um notebook serverless regular.
  • O tamanho máximo do ambiente do modelo é 200GB

O parâmetro env_pack

Habilitar a implantação expressa passando env_pack para register_model:

Python
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"),
)

env_pack empacota e prepara os artefatos do modelo e as dependências que você adicionou à sessão do notebook no momento do registro, razão pela qual o registro leva mais tempo do que uma chamada sem env_pack.

EnvPackConfig aceita um parâmetro install_dependencies (True por default). Quando True, as dependências do modelo são instaladas no ambiente atual para confirmar se o ambiente é válido.

nota

O registro pode falhar em workspaces sem acesso à internet, ou quando o modelo depende de bibliotecas personalizadas, se install_dependencies for True. Nesses casos, defina install_dependencies como False.

Você pode substituir a string "databricks_model_serving" por EnvPackConfig(...) como abreviação. É equivalente a EnvPackConfig(name="databricks_model_serving", install_dependencies=True).