Partilhar via


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

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

  1. Registe o seu modelo no Catálogo Unity.
  2. Navegue até Servindo pontos de extremidade na barra lateral do seu espaço de trabalho de aprendizado de máquina.
  3. 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.
  4. 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.
  5. Quando os modelos são transferidos, você pode navegar até Modelos na barra lateral do espaço de trabalho de aprendizado de máquina.
  6. Selecione o modelo para o qual você deseja desabilitar o Legacy MLflow Model Serving.
  7. Na guia Servir, selecione Parar.
  8. 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 Stagingdo modelo.

  1. Crie dois pontos de extremidade 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 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

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

  4. 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 para Staging 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 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 Production o ponto de extremidade, atualize o ponto de extremidade para usar a nova versão do modelo no 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 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.

Migrar da inferência do MosaicML para o notebook Mosaic AI Model Serving

Obter o bloco de notas

Recursos adicionais