Compartilhar via


Migrar para o Serviço de Modelo

Este artigo demonstra como habilitar o Serviço de Modelo em seu workspace e alternar seus modelos para a nova experiência de Serviço de Modelo criada na computação sem servidor.

Requisitos

Alterações significativas

  • No Serviço de Modelo, o formato da solicitação para o ponto de extremidade e a resposta do ponto de extremidade são ligeiramente diferentes do Serviço de Modelo do MLflow Herdado. Confira Como pontuar um ponto de extremidade de modelo para obter detalhes sobre o novo protocolo de formato.
  • No Serviço de Modelo, a URL do ponto de extremidade inclui serving-endpoints em vez de model.
  • O Serviço de Modelo inclui suporte total para gerenciar recursos com fluxosde trabalho de API.
  • O Serviço de Modelo está pronto para produção e é apoiado pelo SLA do Azure Databricks.

Migrar Serviço de Modelo MLflow herdado para o Serviço de Modelo

Você pode criar um ponto de extremidade de Serviço de Modelo e um modelo de transição flexível que atende fluxos de trabalho sem desabilitar o Serviço de Modelo do MLflow Herdado.

As etapas a seguir mostram como fazer isso com a interface do usuário. Para cada modelo no qual você tem o Serviço de Modelo do MLflow Herdado habilitado:

  1. Navegue até os pontos de extremidade de serviço na barra lateral do workspace de aprendizado de máquina.
  2. Siga o fluxo de trabalho descrito em Criar modelo personalizado que serve pontos de extremidade sobre como criar um ponto de extremidade de serviço com seu modelo.
  3. Faça a transição do 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.
  4. Quando os modelos são transferidos, você pode navegar até Modelos na barra lateral do workspace de aprendizado de máquina.
  5. Selecione o modelo para o qual você deseja desabilitar o Serviço de Modelo do MLflow Herdado.
  6. Na guia Serviço, selecione Interromper.
  7. Uma mensagem aparece para confirmar. Selecione Interromper serviço.

Migrar versões de modelo implantadas para o Serviço de Modelo

Nas versões anteriores da funcionalidade Serviço de Modelo, o ponto de extremidade de serviço foi criado com base no estágio da versão do modelo registrado: Staging ou Production. Para migrar seus modelos servidos 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 modelagem separados para versões de modelo Staging e versões de modelo Production. As etapas a seguir mostram como fazer isso com a API de pontos de extremidade de serviço para cada um dos modelos atendidos.

No exemplo, o nome do modelo modelA registrado tem a versão 1 no estágio do modelo Production e a versão 2 no estágio do modelo Staging.

  1. Crie dois pontos de extremidade para seu modelo registrado, um para versões de modelo Staging e outro para versões de modelo Production.

    Para versões de modelo Staging:

    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 versões de modelo Production:

    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 ponto de extremidade de produção: GET /api/2.0/serving-endpoints/modelA-Production

  3. Depois que 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 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 uma terceira versão do novo modelo é criada, você pode fazer a transição da segunda versão do modelo para Production, enquanto a terceira versão do modelo pode fazer a transição para Staging e a primeira versão do modelo é Archived. Essas alterações podem ser refletidas em pontos de extremidade de serviço de modelo separados da seguinte maneira:

    Para o ponto de extremidade Staging, 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 o ponto de extremidade Production, atualize o ponto de extremidade 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 fluxos de trabalho de inferência mosaicML para o Serviço de Modelo

Esta seção fornece diretrizes sobre como migrar suas implantações de inferência do MosaicML para o Mosaic AI Model Serving e inclui um exemplo de notebook.

A tabela a seguir resume a paridade entre a inferência mosaicML e o serviço de modelo no Azure Databricks.

Inferência mosaicML Mosaic AI Model Serving
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 ponto de extremidade de serviço de modelo
get_inference_deployment Obter o status de um ponto de extremidade de serviço de modelo

O notebook a seguir fornece um exemplo guiado da migração de um modelo do llama-13b do MosaicML para o Mosaic AI Model Serving.

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

Obter notebook

Recursos adicionais