Migrar para o Model Serving
Este artigo demonstra como habilitar o Model Serving em seu espaço de trabalho e alternar seus modelos para a experiência Mosaic AI Model Serving baseada em computação sem servidor.
Requisitos
- Modelo registrado no Registro do Modelo MLflow.
- Permissões nos modelos registrados, conforme descrito no guia de controle de acesso.
- Habilite a computação sem servidor em seu espaço de trabalho.
Alterações 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 Pontuando um ponto de extremidade de modelo para obter detalhes sobre o novo protocolo de formato.
- No Model Serving, a URL do ponto de extremidade inclui
serving-endpoints
em vez demodel
. - O Model Serving inclui suporte completo para gerenciar recursos com fluxos de trabalho de API.
- O Model Serving está pronto para produção e é apoiado pelo SLA do Azure Databricks.
Migrar modelos servidos de modelo MLflow herdado para servir modelo
Você pode criar um ponto de extremidade de serviço de modelo e um modelo de transição flexível servindo fluxos de trabalho sem desabilitar o Legacy MLflow Model Serving.
As etapas a seguir mostram como fazer isso com a interface do usuário. Para cada modelo no qual você tem o Legacy MLflow Model Serving habilitado:
- Registe o seu modelo no Catálogo Unity.
- Navegue até Servindo pontos de extremidade na barra lateral do seu espaço de trabalho de aprendizado de máquina.
- Siga o fluxo de trabalho descrito em Criar ponto de extremidade de serviço de modelo personalizado sobre como criar um ponto de extremidade de serviço com seu modelo.
- Faça a transição do seu aplicativo para usar a nova URL fornecida pelo ponto de extremidade de serviço para consultar o modelo, juntamente com o novo formato de pontuação.
- Quando os modelos são transferidos, você pode navegar até Modelos na barra lateral do espaço de trabalho de aprendizado de máquina.
- Selecione o modelo para o qual você deseja desabilitar o Legacy MLflow Model Serving.
- Na guia Servir, selecione Parar.
- Uma mensagem aparece para confirmar. Selecione Parar de servir.
Migrar versões de modelo implantadas para o Model Serving
Em versões anteriores da funcionalidade Model Serve, o ponto de extremidade de serviço era criado com base no estágio da versão do modelo registrado: Staging
ou Production
. Para migrar seus modelos servidos a partir dessa experiência, você pode replicar esse comportamento na nova experiência de Serviço de Modelo.
Esta seção demonstra como criar pontos de extremidade de serviço de modelo separados para Staging
versões de modelo e Production
versões de modelo. As etapas a seguir mostram como fazer isso com a API de pontos de extremidade de serviço para cada um dos modelos servidos.
No exemplo, o nome modelA
do modelo registrado tem a versão 1 no estágio Production
do modelo e a versão 2 no estágio Staging
do modelo.
Crie dois pontos de extremidade 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 dos pontos de extremidade.
Para o ponto de extremidade de preparo:
GET /api/2.0/serving-endpoints/modelA-Staging
Para o ponto de extremidade de produção:
GET /api/2.0/serving-endpoints/modelA-Production
Quando os pontos de extremidade estiverem prontos, consulte o ponto de extremidade usando:
Para o ponto de extremidade de preparo:
POST /serving-endpoints/modelA-Staging/invocations
Para o ponto de extremidade de produção:
POST /serving-endpoints/modelA-Production/invocations
Atualize o ponto de extremidade 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 a versão 3 do modelo pode fazer a transição paraStaging
e a versão 1 do modelo éArchived
. Essas alterações podem ser refletidas em modelos separados que servem pontos de extremidade da seguinte maneira:Para o ponto de
Staging
extremidade, atualize o ponto de extremidade 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
Production
o ponto de extremidade, atualize o ponto de extremidade para usar a nova versão do modelo noProduction
.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 fluxos de trabalho de inferência do MosaicML para o Model Serving
Esta seção fornece orientação sobre como migrar suas implantações de inferência do MosaicML para o Mosaic AI Model Serving e inclui um exemplo de bloco de anotações.
A tabela a seguir resume a paridade entre a inferência do MosaicML e o modelo que serve no Azure Databricks.
Inferência MosaicML | Servindo modelo de IA em mosaico |
---|---|
create_inference_deployment | Criar um ponto de extremidade de serviço de modelo |
update_inference_deployment | Atualizar um ponto de extremidade de serviço de modelo |
delete_inference_deployment | Excluir um modelo de ponto de extremidade de serviço |
get_inference_deployment | Obter o status de um modelo de ponto de extremidade de serviço |
O bloco de anotações a seguir fornece um exemplo guiado de migração de um llama-13b
modelo do MosaicML para o Mosaic AI Model Serving.