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 Mosaic AI Model Serving. O modelo deve ser registrado no Unity Catalog ou no registro do modelo de espaço de trabalho.

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

Passo 1: Registar o modelo

Há diferentes maneiras de registrar seu modelo para servir o modelo:

Técnica de registo Description
Registo automático Isso é ativado automaticamente quando você usa o Databricks Runtime para aprendizado de máquina. É a maneira mais fácil, mas dá-lhe menos controlo.
Registro em log usando os sabores integrados do MLflow Você pode registrar manualmente o modelo com os sabores de modelo integrados do MLflow.
Registo personalizado com pyfunc Use isso se você tiver um modelo personalizado ou se precisar de etapas extras antes ou depois da inferência.

O exemplo a seguir mostra como registrar seu modelo MLflow usando o transformer sabor e especificar os parâmetros necessários para 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 seu modelo for registrado, certifique-se de verificar se ele está registrado no Catálogo Unity ou no Registro do Modelo MLflow.

Etapa 2: Criar ponto de extremidade usando a interface do usuário de serviço

Depois que seu modelo registrado for registrado e você estiver pronto para atendê-lo, você poderá criar um ponto de extremidade de serviço de modelo usando a interface do usuário de serviço .

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

  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 seu ponto de extremidade.

  4. Na secção Entidades servidas

    1. Clique no campo Entidade para abrir o formulário Selecionar entidade atendida.
    2. Selecione o tipo de modelo que deseja servir. O formulário é atualizado dinamicamente com base na sua seleção.
    3. Selecione qual modelo e versão do modelo você deseja servir.
    4. Selecione a percentagem de tráfego a encaminhar para o seu modelo servido.
    5. Selecione o tamanho de computação a ser usado.
    6. Em Expansão de computação, selecione o tamanho da escala de computação que corresponde ao número de solicitações que esse modelo atendido pode processar ao mesmo tempo. Este número deve ser aproximadamente igual ao tempo de execução do modelo QPS x.
      1. Os tamanhos disponíveis são Pequeno para 0-4 pedidos, Médio 8-16 pedidos e Grande para 16-64 pedidos.
    7. Especifique se o ponto de extremidade deve ser dimensionado 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 do ponto de extremidade de serviço 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 ponto de extremidade de serviço de modelo personalizado.

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 atendido é usar a interface do usuário de serviço .

  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 suportadas e um objeto JSON correspondente ao formato de entrada. Consulte Pontos de extremidade de serviço de consulta para modelos personalizados para obter formatos suportados e orientação sobre como enviar solicitações de pontuação usando a API.

Se você planeja acessar seu ponto de extremidade de serviço fora da interface do usuário de serviço do Azure Databricks, precisará de um DATABRICKS_API_TOKENarquivo .

Importante

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

Para teste e desenvolvimento, o Databricks recomenda o uso de um token de acesso pessoal pertencente a entidades de serviço em vez de usuários do espaço de trabalho. Para criar tokens para entidades de serviço, consulte Gerenciar tokens para uma entidade de serviço.

Blocos de notas de exemplo

Consulte o bloco de anotações a seguir para servir um modelo MLflow transformers com o Model Serving.

Implantar um notebook modelo Hugging Face transformers

Obter o bloco de notas

Consulte o bloco de anotações a seguir para servir um modelo MLflow pyfunc com o Model Serving. Para obter detalhes adicionais sobre como personalizar suas implantações de modelo, consulte Implantar código Python com o Model Serving.

Implantar um bloco de anotações modelo MLflow pyfunc

Obter o bloco de notas