Tutorial: Implantar e consultar um modelo personalizado

Este artigo fornece as etapas básicas para implantar e consultar um modelo personalizado, que é um modelo de ML tradicional, usando o Model Serving. O modelo deve ser registrado no Catálogo do Unity ou no Registro de Modelo do espaço de trabalho.

Para saber mais sobre como servir e implantar modelos de IA generativa, confira os seguintes artigos:

Etapa 1: registrar o modelo

Existem diferentes maneiras de registrar o seu serviço de modelo:

Técnica de registro em log Descrição
Log automático Isso é ativado automaticamente quando você usa o Databricks Runtime para aprendizado de máquina. É a maneira mais fácil, mas lhe dá menos controle.
Registro em log usando as funcionalidades internas do MLflow Você pode registrar o modelo manualmente com os sabores de modelo internos do MLflow.
Registro personalizado de logs com pyfunc Use isso se você tiver um modelo personalizado ou se precisar de etapas extras antes ou após a inferência.

O exemplo a seguir mostra como registrar seu modelo MLflow utilizando a variante transformer e especificar os parâmetros que você precisa para o seu modelo.

with mlflow.start_run():
    model_info = mlflow.transformers.log_model(
        transformers_model=text_generation_pipeline,
        artifact_path="my_sentence_generator",
        inference_config=inference_config,
        registered_model_name='gpt2',
        input_example=input_example,
        signature=signature
    )

Depois que o modelo for registrado, verifique se ele está registrado no Catálogo do Unity ou no Registro de Modelos do MLflow.

Etapa 2: Criar endpoint usando a interface de usuário do Serving

Depois que seu modelo registrado estiver pronto e você estiver pronto para disponibilizá-lo, será possível criar um endpoint de serving do modelo usando a interface Serving.

  1. Clique em Serviço na barra lateral para exibir a interface do usuário de Serviços.

  2. Clique em Criar endpoint de serviço.

    Painel de serviço de modelo na interface do usuário do Databricks

  3. No campo Nome, forneça um nome para o ponto de extremidade.

  4. Na seção Entidades atendidas

    1. Clique no campo Entidade para abrir o formulário Selecionar entidade atendida.
    2. Selecione o tipo de modelo que você deseja atender. O formulário é atualizado dinamicamente com base em sua seleção.
    3. Selecione qual modelo e versão de modelo você deseja atender.
    4. Selecione o percentual de tráfego a ser roteado para o modelo atendido.
    5. Selecione o tamanho de computação a ser usado.
    6. Em Escala horizontal de computação, selecione o tamanho de escala horizontal de computação que corresponda ao número de solicitações que esse modelo em serviço pode processar simultaneamente. Esse número deve ser aproximadamente igual ao QPS x tempo de execução do modelo.
      1. Os tamanhos disponíveis são Pequeno para 0-4 solicitações, Médio para 8 a 16 solicitações e Grande para 16 a 64 solicitações.
    7. Especifique se o endpoint deve escalar para zero quando não estiver em uso.
  5. Clique em Criar. A página Endpoints de serviço é exibida com o estado do endpoint de serviço exibido como Não está pronto.

    Criar um ponto de extremidade de serviço de modelo

Se você preferir criar um ponto de extremidade programaticamente com a API de Serviço do Databricks, consulte Criar modelo personalizado atendendo pontos de extremidade.

Etapa 3: Consultar o endpoint

A maneira mais fácil e rápida de testar e enviar solicitações de pontuação para seu modelo fornecido é utilizar a interface de usuário de Serviços.

  1. Na página Ponto de extremidade de serviço, selecione Ponto de extremidade de consulta.

  2. Insira os dados de entrada do modelo no formato JSON e clique em Enviar solicitação. Se o modelo tiver sido registrado com um exemplo de entrada, clique em Mostrar exemplo para carregar o exemplo de entrada.

       {
       "inputs" : ["Hello, I'm a language model,"],
       "params" : {"max_new_tokens": 10, "temperature": 1}
       }
    

Para enviar solicitações de pontuação, construa um JSON com uma das chaves com suporte e um objeto JSON correspondente ao formato de entrada. Consulte Endpoints de serviço de consulta para modelos personalizados para conhecer os formatos compatíveis e obter orientações sobre como enviar requisições de pontuação usando a API.

Se você planeja acessar seu endpoint de serving fora da interface de Serving do Azure Databricks, precisará de um DATABRICKS_API_TOKEN.

Importante

Como prática recomendada de segurança para cenários de produção, a Databricks recomenda que você use tokens OAuth máquina a máquina para autenticação durante a produção.

Para testes e desenvolvimento, a Databricks recomenda a utilização de um token de acesso pessoal pertencente a principais de serviço em vez de utilizadores do espaço de trabalho. Para criar tokens para entidades de serviço, consulte Gerenciar tokens para uma entidade de serviço.

Blocos de anotações de exemplo

Consulte o notebook a seguir para implantar um modelo do MLflow transformers com o Model Serving.

Implantar um notebook de modelo de transformadores da Hugging Face

Obter notebook

Consulte o notebook a seguir para implantar um modelo do MLflow pyfunc com o Model Serving. Para obter mais detalhes sobre a personalização das implantações de modelo, consulte Implantar código Python com Serviço de Modelo.

Implantar um notebook de modelo pyfunc do MLflow

Obter notebook