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

A seguir estão os guias que descrevem o serviço e a implantação de um modelo de IA generativa:

Etapa 1: Registrar o modelo no registro do 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, verifique se ele está registrado no MLflow Unity Catalog ou no Model Registry.

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. Você pode usar cálculos de CPU ou GPU para suas cargas de trabalho. O suporte para o modelo que serve na GPU está em Visualização Pública. Consulte Tipos de carga de trabalho de GPU para obter mais informações sobre cálculos de GPU disponíveis.
    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