Tutorial: Designer – Implantar um modelo de machine learning

Use o designer para implantar um modelo de machine learning para prever o preço de carros. Este tutorial é parte dois de uma série de duas partes.

Na primeira parte do tutorial, você treinou um modelo de regressão linear em preços de carros. Na segunda parte, você implantará o modelo para dar a outras pessoas a oportunidade de usá-lo. Neste tutorial, você:

  • Criará um pipeline de inferência em tempo real.
  • Criará um cluster de inferência.
  • Implantará o ponto de extremidade em tempo real.
  • Testará o ponto de extremidade em tempo real.

Pré-requisitos

Conclua a parte um do tutorial para aprender a treinar e pontuar um modelo de machine learning na interface visual.

Importante

Se você não vir os elementos gráficos mencionados neste documento, como botões no estúdio ou no designer, talvez você não tenha o nível de permissões certo para o workspace. Entre em contato com seu administrador de assinatura do Azure para verificar se você recebeu o nível de acesso correto. Para obter mais informações, confira Gerenciar usuários e funções.

Criar um pipeline de inferência em tempo real

Para implantar o pipeline, primeiro, converta o pipeline de treinamento em um pipeline de inferência em tempo real. Esse processo remove componentes de treinamento e adiciona entradas e saídas do serviço Web para processar as solicitações.

Criar um pipeline de inferência em tempo real

  1. Acima da tela do pipeline, selecione Criar pipeline de inferência > Pipeline de inferência em tempo real.

    Captura de tela mostrando onde encontrar o botão criar pipeline

    Agora, seu pipeline deve ter esta aparência:

    Captura de tela mostrando a configuração esperada do pipeline após sua preparação para implantação

    Quando você seleciona Criar pipeline de inferência, várias coisas acontecem:

    • O modelo treinado é armazenado como um componente de Conjunto de dados na paleta de componentes. Você pode encontrá-lo em Meus conjuntos de dados.
    • Os componentes de treinamento como Treinar Modelo e Dividir Dados são removidos.
    • O modelo treinado salvo é adicionado de volta ao pipeline.
    • Os componentes Entrada de Serviço Web e Saída de Serviço Web são adicionados. Esses componentes mostram o local em que os dados do usuário entram no pipeline e o local em que são retornados.

    Observação

    Por padrão, a Entrada de Serviço Web espera o mesmo esquema de dados que os dados de saída do componente que se conectam à mesma porta downstream. Neste exemplo, Entrada de Serviço Web e Dados de preço de automóvel (Brutos) se conectam ao mesmo componente downstream, portanto, Entrada de Serviço Web espera o mesmo esquema de dados que os Dados de preço de automóvel (brutos) e que a coluna de variável de destino price esteja incluída no esquema. No entanto, geralmente ao pontuar os dados, você não sabe os valores das variáveis de destino. Nesse caso, você pode remover a coluna de variável de destino no pipeline de inferência usando o componente Selecionar Colunas no Conjunto de Dados. Ao remover a coluna de variável de destino, conecte a saída de Selecionar Colunas no Conjunto de Dados à mesma porta da saída do componente Entrada de Serviço Web.

  2. Selecione Enviar e use o mesmo destino de computação e experimento usados na primeira parte.

    Se essa for a primeira execução do pipeline, ela poderá levar até 20 minutos para ser concluída. As configurações de computação padrão têm um tamanho de nó mínimo de 0, o que significa que o designer precisa alocar recursos depois de ficar ocioso. Execuções de pipeline repetidas levarão menos tempo, já que os recursos de computação já estão alocados. Além disso, o designer usa resultados armazenados em cache para cada componente para melhorar ainda mais a eficiência.

  3. Selecione Implantar.

Cria um cluster inferência

Na caixa de diálogo exibida, selecione uma opção entre os clusters existentes do AKS (Serviço de Kubernetes do Azure) no qual o modelo será implantado. Se não tiver um cluster do AKS, use as etapas a seguir para criar um.

  1. Selecione Computação na caixa de diálogo exibida para acessar a página Computação.

  2. Na faixa de opções de navegação, selecione Clusters de Inferência > + Novo.

    Captura de tela mostrando como acessar o novo painel do cluster de inferência

  3. No painel do cluster de inferência, configure um novo Serviço de Kubernetes.

  4. Insira aks-compute para o Nome de computação.

  5. Selecione uma região próxima que esteja disponível para a Região.

  6. Selecione Criar.

    Observação

    Leva aproximadamente 15 minutos para criar um novo serviço do AKS. Verifique o estado de provisionamento na página Clusters de Inferência.

Implantar o ponto de extremidade em tempo real

Após o provisionamento do serviço do AKS, volte para o pipeline de inferência em tempo real para concluir a implantação.

  1. Selecione Implantar acima da tela.

  2. Selecione Implantar novo ponto de extremidade em tempo real.

  3. Selecione o cluster do AKS que você criou.

    Captura de tela mostrando como configurar um novo ponto de extremidade em tempo real

    Altere também a configuração Avançada do ponto de extremidade em tempo real.

    Configuração avançada Descrição
    Habilitar o diagnóstico e a coleta de dados do Application Insights Indica se o Azure Application Insights deve ou não ser habilitado para coletar dados dos pontos de extremidade implantados.
    Por padrão: falso
    Tempo limite de pontuação Um tempo limite em milissegundos para impor as chamadas de pontuação ao serviço Web.
    Por padrão: 60000
    Dimensionamento automático habilitado Habilitar o dimensionamento automático para o serviço Web.
    Por padrão: verdadeiro
    Número mínimo de réplicas O número mínimo de contêineres a serem usados no dimensionamento automático desse serviço Web.
    Por padrão: 1
    Número máximo de réplicas O número máximo de contêineres a serem usados no dimensionamento automático desse serviço Web.
    Por padrão: 10
    Utilização de destino A utilização de destino (em percentual) que o dimensionador automático deve tentar manter para esse serviço Web.
    Por padrão: 70
    Período de atualização A frequência (em segundos) com que o dimensionamento automático tenta escalar esse serviço Web.
    Por padrão: 1
    Capacidade reserva de CPU O número de núcleos de CPU a serem alocados para esse serviço Web.
    Por padrão: 0,1
    Capacidade reserva de memória A quantidade de memória (em GB) a ser alocada para esse serviço Web.
    Por padrão: 0.5
  4. Selecione Implantar.

    Uma notificação de êxito acima da tela é exibida após a conclusão da implantação. Isso pode levar alguns minutos.

Dica

Implante também a ACI (Instância de Contêiner do Azure) se você selecionar Instância de Contêiner do Azure em Tipo de computação na caixa configuração de ponto de extremidade em tempo real. A Instância de Contêiner do Azure é usada para teste ou desenvolvimento. Use a ACI para cargas de trabalho baseadas em CPU de baixa escala que exigem menos de 48 GB de RAM.

Testar o ponto de extremidade em tempo real

Após a conclusão da implantação, veja o ponto de extremidade em tempo real acessando a página Pontos de extremidade.

  1. Na página Pontos de extremidade, selecione o ponto de extremidade implantado.

    Na guia Detalhes, você pode ver mais informações, como o URI REST, a definição do Swagger, o status e as marcas.

    Na guia Consumir, você pode encontrar um código de consumo de exemplos, chaves de segurança e definir métodos de autenticação.

    Na guia Logs de implantação, encontre os logs de implantação detalhados do ponto de extremidade em tempo real.

  2. Para testar o seu ponto de extremidade, acesse a guia Testar. Nela, você pode inserir os dados de teste e selecionar Testar para verificar a saída do seu ponto de extremidade.

Para obter mais informações sobre como consumir seu serviço Web, confira Consumir um modelo implantado como um webservice

Limitações

Atualizar o pipeline de inferência

Se você fizer algumas modificações em seu pipeline de treinamento, deverá reenviar o pipeline de treinamento, Atualizar o pipeline de inferência e executar o pipeline de inferência novamente.

Observe que apenas modelos treinados serão atualizados no pipeline de inferência, enquanto a transformação de dados não será atualizada.

Para usar a transformação atualizada no pipeline de inferência, você precisa registrar a saída da transformação do componente de transformação como conjunto de dados.

Captura de tela mostrando como registrar o conjunto de dados de transformação

Em seguida, substitua manualmente o componente TD- no pipeline de inferência com o conjunto de dados registrado.

Captura de tela mostrando como substituir o componente de transformação

Em seguida, você pode enviar o pipeline de inferência com o modelo e a transformação atualizados e implantar.

Implantar um ponto de extremidade em tempo real

Devido à limitação de acesso do armazenamento de dados, se o pipeline de inferência contiver o componente Importar Dados ou Exportar Dados, eles serão removidos automaticamente quando forem implantados no ponto de extremidade em tempo real.

Limpar os recursos

Importante

Você pode usar os recursos que criou como pré-requisitos em outros tutoriais e artigos de instruções do Serviço do Azure Machine Learning.

Excluir tudo

Se você não pretende usar os recursos criados, exclua todo o grupo de recursos para não gerar encargos.

  1. No portal do Azure, selecione Grupos de recursos no lado esquerdo da janela.

    Excluir um grupo de recursos no portal do Azure

  2. Na lista, selecione o grupo de recursos que você criou.

  3. Selecione Excluir grupo de recursos.

A exclusão de um grupo de recursos também exclui todos os recursos criados no designer.

Excluir recursos individuais

No designer em que você criou seu experimento, exclua ativos individuais selecionando-os e, em seguida, selecionando o botão Excluir.

O destino de computação que você criou aqui é dimensionado automaticamente para zero nós quando não estiver sendo usado. Essa ação é executada para minimizar encargos. Se você quiser excluir o destino de computação, siga estas etapas:

Excluir ativos

É possível cancelar o registro de conjuntos de dados do seu workspace selecionando cada conjunto de dados e, Cancelar registro.

Cancelar registro do conjunto de registros

Para excluir um conjunto de dados, acesse a conta de armazenamento usando o portal do Azure ou o Gerenciador de Armazenamento do Azure e exclua manualmente esses ativos.

Próximas etapas

Neste tutorial, você aprendeu as etapas principais na criação, na implantação e no consumo de um modelo de machine learning no designer. Para saber mais sobre como você pode usar o designer, confira os seguintes links: