Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo descreve como usar implementações otimizadas serverless nos seus servidores de modelos endpoints. Implementações otimizadas "serverless" reduzem drasticamente os tempos de implementação e mantêm o ambiente de execução do modelo igual ao ambiente de treino do modelo.
O que são implementações otimizadas sem servidor (serverless)?
As implementações otimizadas serverless aproveitam artefactos de modelos de empacotamento e staging em ambientes de notebooks serverless durante o registo do modelo, resultando numa implementação acelerada nos endpoints e ambientes consistentes entre treino e serviço.
Isto difere das implementações otimizadas sem servidor, onde artefactos e ambientes de modelos são embalados em contentores no momento da implementação. Nesses casos, o ambiente de serviço pode não corresponder ao utilizado durante o treino de modelos.
Requerimentos
Os endpoints serverless otimizados têm os mesmos requisitos que os endpoints de serviço de modelos (ver Requisitos). Além disso:
- O modelo deve ser um modelo personalizado (não FMAPI)
- O modelo deve ser registado e registado num Serverless Notebook usando a versão 3 ou 4
- O modelo deve ser gravado e registado com
mlflow>=3.1 - O modelo deve estar registado na UC e servido com CPU
- O tamanho máximo do ambiente do modelo é de 1GB
Utilização de implementações otimizadas em ambiente serverless
Ao registar e registar um modelo, utilize um Serverless Notebook com o cliente 3 ou 4 e mlflow>=3.1.
Para ajustar a versão cliente do ambiente serverless, veja Configurar o ambiente serverless.
Depois, ao registar um modelo, define o env_pack parâmetro com os valores desejados.
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 do notebook serverless durante o registo do modelo, preparando-o para uso durante a implementação. Isto pode demorar mais tempo em comparação com registar o modelo sem env_pack.
EnvPackConfig tem um parâmetro install_dependencies (predefinido como True) que determina se as dependências do modelo estão instaladas no ambiente atual, para confirmar que o ambiente é válido. Se quiser saltar esse passo, defina o valor para False.
Observação
Endpoints em espaços de trabalho sem acesso à internet ou endpoints com dependências de bibliotecas personalizadas podem falhar se install_dependencies estiver definido para True. Nestes casos, defina install_dependencies para False.
Também podes substituir EnvPackConfig(...) por "databricks_model_serving" como abreviação. Isto equivale a EnvPackConfig(name="databricks_model_serving", install_dependencies = True).
Depois de registar que o modelo está concluído, pode implementá-lo no serviço de modelo. Note que o tempo de implementação é reduzido e os registos de eventos já não indicam a construção do contentor.