Compartilhar via


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 Serviço de Modelo de IA do Mosaic. 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.
Registrar em log utilizando as variantes internas do MLflow Você pode registrar manualmente o modelo com as variantes de modelo internas do MLflow.
Registro em log personalizado 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 pontos de extremidade utilizando a interface do usuário de Serviços

Após o modelo registrado estar logado e pronto para ser servido, você poderá criar um ponto de extremidade do serviço de modelo usando a interface de usuário de Serviços.

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

  2. Clique em Criar ponto de extremidade 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 qual tamanho a computação usar.
    6. Em Expansão de computação, selecione o tamanho da escala horizontal de computação que corresponde ao número de solicitações que esse modelo servido pode processar ao mesmo tempo. 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 ponto de extremidade deve reduzir para zero quando não estiver em uso.
  5. Clique em Criar. A página Pontos de extremidade de serviço é exibida com o estado De serviço do ponto de extremidade mostrado como Não 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 ponto de extremidade

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. Confira Pontos de extremidade de serviço de consulta para modelos personalizados para ver formatos com suporte e diretrizes sobre como enviar solicitações de pontuação usando a API.

Se você planeja acessar o ponto de extremidade de serviço fora da interface do usuário de serviço 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 seguinte notebook para servir um modelo MLflow transformers com Serviço de Modelo.

Implantar um notebook modelo transformers de Detecção Facial Hugging

Obter notebook

Consulte o seguinte notebook para servir um modelo MLflow pyfunc com Serviço de Modelo. 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 modelo pyfunc do MLflow

Obter notebook