Pular para o conteúdo principal

Implantações otimizadas para serverless para servir modelo endpoint

Este artigo descreve como usar implantações otimizadas serverless no endpoint do seu modelo de servidor . Implantações otimizadas para ambientes sem servidor reduzem drasticamente os tempos de implantação e mantêm o ambiente do modelo de serviço igual ao ambiente de treinamento do modelo.

O que são implantações otimizadas serverless ?

As implantações otimizadas para ambientes sem servidor aproveitam o empacotamento e o armazenamento temporário de artefatos do modelo em ambientes Notebook serverless durante o registro do modelo, resultando em implantação acelerada endpoint e ambientes consistentes entre o treinamento e a disponibilização.

Isso difere das implantações não otimizadas para ambientes semserverless , onde os artefatos e ambientes do modelo são empacotados em contêineres no momento da implantação. Nesses casos, o ambiente de serviço pode não corresponder ao utilizado durante o treinamento do modelo.

Requisitos

Os endpoints otimizados para serverless têm os mesmos requisitos que endpoint do modelo de serviço (consulte Requisitos). Além disso:

  • O modelo deve ser um modelo personalizado (não FMAPI).
  • O modelo deve ser registrado em um Notebooksem servidor usando a versão 3 ou 4.
  • O modelo deve ser registrado e ter seus logs incluídos. mlflow>=3.1
  • O modelo deve ser registrado na UC e servido com CPU.
  • O tamanho máximo do ambiente do modelo é de 1 GB.

Utilizando implantações otimizadas serverless

Ao registrar e registrar um modelo, use um Notebook sem servidor com cliente 3 ou 4 e mlflow>=3.1.

Para ajustar a versão do cliente do ambiente serverless , consulte Configurar o ambiente serverless.

Em seguida, ao registrar um modelo, defina o parâmetro env_pack com os valores desejados.

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

Adicionar o parâmetro env_pack fará com que a função empacote e prepare os artefatos do modelo e o ambiente Notebook serverless durante o registro do modelo, para prepará-lo para uso durante a implantação. Isso pode levar mais tempo em comparação com o registro do modelo sem env_pack.

EnvPackConfig possui um parâmetro install_dependencies (True por default) que determina se as dependências do modelo estão instaladas no ambiente atual para confirmar se o ambiente é válido. Se você quiser pular essa etapa, defina o valor para False.

nota

O endpoint em um espaço de trabalho sem acesso à internet ou um endpoint com dependências em uma biblioteca personalizada pode falhar se install_dependencies for definido como True. Nesses casos, defina install_dependencies como False.

Você também pode substituir EnvPackConfig(...) por "databricks_model_serving" como uma forma abreviada. Isto é equivalente a EnvPackConfig(name="databricks_model_serving", install_dependencies = True).

Após o registro do modelo estar concluído, você pode implantá-lo no servidor de modelos. Observe que o tempo de implantação foi reduzido e os logs de eventos não indicam mais a criação de contêineres.