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

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 de model.

  • 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:

  1. registre seu modelo em Unity Catalog.

  2. Navegue até Servindo endpoints na barra lateral do seu workspace machine learning.

  3. 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.

  4. 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.

  5. Quando seus modelos forem transferidos, você poderá navegar para Modelos na barra lateral de seu workspace machine learning.

  6. Selecione o modelo para o qual você deseja desabilitar o Legacy MLflow Model Serving.

  7. Na tab Exibição , selecione Parar.

  8. 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.

  1. Crie dois endpoints para seu modelo registrado, um para Staging versões de modelo e outro para Production 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
               },
            ],
         },
      }
    
  2. 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

  3. 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

  4. 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 para Staging 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 em Staging.

    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 em Production.

    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

Crie um endpoint de modelo de atividade

update_inference_deployment

Atualizar um endpoint de modelo de atividade

delete_inference_deployment

Excluir um endpoint de modelo de atividade

get_inference_deployment

Obter status de um endpoint de modelo de atividade

O seguinte Notebook fornece um exemplo guiado de migração de um modelo llama-13b do MosaicML para Mosaic AI Model Serving.

Migrar da inferência MosaicML para Mosaic AI Model Serving Notebook

Abra o bloco de anotações em outra guia