Migrar para Model Serving
Este artigo demonstra como habilitar o servindo modelo em seu workspace e mudar seus modelos para a Mosaic AI Model Serving experiência construída em serverless compute.
Requisitos
Modelo registrado no MLflow Model Registry.
Permissões nos modelos registrados, conforme descrito no guia de controle de acesso.
Mudanças significativas
No Model Serving, o formato da solicitação para o endpoint e a resposta do endpoint são ligeiramente diferentes do Legacy MLflow Model Serving. Consulte Pontuação de um terminal de modelo para obter detalhes sobre o novo protocolo de formato.
No Model Serving, o URL endpoint inclui
serving-endpoints
em vez demodel
.Model Serving inclui suporte completo para gerenciamento de recursos com API fluxo de trabalho.
Model Serving está pronto para produção e é apoiado pelo Databricks SLA.
Migrar modelos veiculados de Model Serving MLflow legado para Model Serving
Você pode criar um endpoint Model Serving e fazer a transição flexível do modelo que atende ao fluxo de trabalho sem desabilitar o Legacy MLflow Model Serving.
As passos a seguir mostram como fazer isso com a IU. Para cada modelo no qual você tem Legacy MLflow Model Serving ativado:
registre seu modelo em Unity Catalog.
Navegue até Servindo endpoints na barra lateral do seu workspace machine learning.
Siga o fluxo de trabalho descrito em Criar endpoint de modelo de serviço personalizado sobre como criar um serviço endpoint com seu modelo.
Faça a transição de seu aplicativo para usar a nova URL fornecida pelo endpoint de serviço para query o modelo, juntamente com o novo formato de pontuação.
Quando seus modelos forem transferidos, você poderá navegar para Modelos na barra lateral de seu workspace machine learning.
Selecione o modelo para o qual você deseja desabilitar o Legacy MLflow Model Serving.
Na tab Exibição , selecione Parar.
Uma mensagem aparece para confirmar. Selecione Parar de servir.
Migrar versões de modelo aprimoradas para o Model Serving
Nas versões anteriores da funcionalidade Model Serving , o endpoint de serviço era criado com base no estágio da versão do modelo registrado: Staging
ou Production
. Para migrar seus modelos atendidos dessa experiência, você pode replicar esse comportamento na nova experiência Model Serving .
Esta seção demonstra como criar endpoints de serviço de modelo separados para Staging
versões de modelo e Production
versões de modelo. As passos a seguir mostram como fazer isso com a API de endpoints de serviço para cada um de seus modelos atendidos.
No exemplo, o nome do modelo registrado modelA
tem versão 1 no estágio de modelo Production
e versão 2 no estágio de modelo Staging
.
Crie dois endpoints para seu modelo registrado, um para
Staging
versões de modelo e outro paraProduction
versões de modelo.Para
Staging
versões do modelo:POST /api/2.0/serving-endpoints { "name":"modelA-Staging" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // Staging Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
Para
Production
versões do modelo:POST /api/2.0/serving-endpoints { "name":"modelA-Production" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"1", // Production Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
Verifique o status do endpoint.
Para endpoint de preparo:
GET /api/2.0/serving-endpoints/modelA-Staging
Para endpoint de produção:
GET /api/2.0/serving-endpoints/modelA-Production
Quando os endpoints estiverem prontos, query o endpoint usando:
Para endpoint de preparo:
POST /serving-endpoints/modelA-Staging/invocations
Para endpoint de produção:
POST /serving-endpoints/modelA-Production/invocations
Atualize o endpoint com base nas transições de versão do modelo.
No cenário em que um novo modelo versão 3 é criado, você pode fazer a transição do modelo versão 2 para
Production
, enquanto o modelo versão 3 pode fazer a transição paraStaging
e a versão 1 do modelo éArchived
. Essas alterações podem ser refletidas em endpoints de veiculação de modelos separados da seguinte forma:Para o endpoint
Staging
, atualize o endpoint para usar a nova versão do modelo emStaging
.PUT /api/2.0/serving-endpoints/modelA-Staging/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"3", // New Staging model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
Para o endpoint
Production
, atualize o endpoint para usar a nova versão do modelo emProduction
.PUT /api/2.0/serving-endpoints/modelA-Production/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // New Production model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
Migrar o fluxo de trabalho de inferência do MosaicML para o modelo interativo
Esta seção fornece orientação sobre como migrar suas implementações de inferência do MosaicML para Mosaic AI Model Serving e inclui um exemplo em Notebook.
A tabela a seguir resume a paridade entre a inferência do MosaicML e o modelo instalado no Databricks.
Inferência MosaicML |
Mosaic AI Model Serving |
---|---|
create_inference_deployment |
|
update_inference_deployment |
|
delete_inference_deployment |
|
get_inference_deployment |
O seguinte Notebook fornece um exemplo guiado de migração de um modelo llama-13b
do MosaicML para Mosaic AI Model Serving.