Implantar um Serviço Web do Machine Learning Studio (clássico)

APLICA-SE A:essa é uma marca de seleção, o que significa que este artigo se aplica ao Machine Learning Studio (clássico). Machine Learning Studio (clássico) Isso é um X, o que significa que este artigo não se aplica ao Azure Machine Learning.Azure Machine Learning

Importante

O suporte para o Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. É recomendável fazer a transição para o Azure Machine Learning até essa data.

A partir de 1º de dezembro de 2021, você não poderá criar recursos do Machine Learning Studio (clássico). Até 31 de agosto de 2024, você pode continuar usando os recursos existentes do Machine Learning Studio (clássico).

A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.

O Machine Learning Studio (clássico) permite criar e testar soluções de análise preditiva. Em seguida, é possível implantar a solução como um serviço Web.

Os serviços Web do Machine Learning Studio (clássico) oferecem uma interface entre um aplicativo e um modelo de pontuação do fluxo de trabalho do Machine Learning Studio (clássico). Um aplicativo externo pode se comunicar com um modelo de pontuação do fluxo de trabalho do Machine Learning Studio (clássico) em tempo real. Uma chamada a um serviço Web do Machine Learning Studio (clássico) retorna resultados de previsão para um aplicativo externo. Para fazer uma chamada a um serviço Web, você passa uma chave de API que foi criada quando você implantou o serviço Web. Um serviço Web do Machine Learning Studio (clássico) baseia-se em REST, uma opção popular de arquitetura para projetos de programação da Web.

O Machine Learning Studio (clássico) tem dois tipos de serviços Web:

  • Serviço de solicitação-resposta (RRS): um serviço de baixa latência altamente escalonável que pontua um único registro de dados.
  • Serviço de execução em lote (BES): um serviço assíncrono que pontua um lote de registros de dados.

A entrada para BES é como os dados de entrada que RRS usa. A principal diferença é que o BES lê um bloco de registros de uma variedade de fontes, como o armazenamento de Blobs do Azure, o armazenamento de Tabelas do Azure, um banco de dados SQL do Azure, o HDInsight (consulta hive) e fontes HTTP.

Em um ponto de exibição de alto nível, implante seu modelo em três etapas:

  • Crie um teste de treinamento – no Studio (clássico), é possível treinar e testar um modelo de análise preditiva usando dados de treinamento que você fornece e um grande conjunto de algoritmos internos de aprendizado de máquina.
  • Convertê-lo em um teste preditivo: depois que o modelo tiver sido treinado com dados existentes e você estiver pronto para usá-lo para pontuar novos dados, prepare e simplifique seu teste de previsões.
  • Implante-o como um novo serviço Web ou um serviço Web clássico – Quando você implanta seu teste preditivo como um serviço Web do Azure, os usuários podem enviar dados para seu modelo e receber previsões dele.

Criar um teste de treinamento

Para treinar um modelo de análise de previsão, você usa o Azure Machine Learning Studio (clássico) para criar um experimento de treinamento na qual você pode incluir vários módulos para carregar dados de treinamento, preparar os dados conforme necessário, aplicar algoritmos de aprendizagem de máquina e avaliar os resultados. Você pode iterar em um teste e testar algoritmos de aprendizado de máquina diferentes para comparar e avaliar os resultados.

O processo de criar e gerenciar testes de treinamento é abordado mais detalhadamente em outro ponto. Para obter mais informações, confira estes tópicos:

Converter o teste de treinamento em um teste preditivo

Depois que você treinou seu modelo, estará pronto para converter seu teste de treinamento em um experimento de previsão para pontuar novos dados.

Ao converter em um teste preditivo, você estará preparando seu modelo para ser implantado como um serviço Web de pontuação. Os usuários do serviço Web podem enviar dados de entrada para seu modelo e seu modelo enviará de volta os resultados da previsão. À medida que converte em um teste preditivo, é recomendável ter em mente como você espera que seu modelo seja usado por outras pessoas.

O processo de conversão de um teste de treinamento em um teste preditivo envolve três etapas:

  1. Substitua os módulos de algoritmo do Machine Learning pelo modelo treinado.
  2. Restrinja o experimento a somente os módulos necessários para pontuação. Um teste de treinamento inclui vários módulos que são necessárias para treinamento, mas não são necessários depois que o modelo está treinado.
  3. Defina como seu modelo aceitará dados do usuário do serviço Web e quais dados será retornados.

Dica

No teste de treinamento, você estará concentrado em treinar e pontuar o modelo usando seus próprios dados. Porém, depois de implantado, os usuários enviarão novos dados ao modelo e este retornará resultados de previsão. Desse modo, à medida que você converte o teste de treinamento em um teste preditivo para prepará-lo para implantação, lembre-se de como o modelo será usado por outras pessoas.

Converter para o teste de pontuação

Botão Configurar Serviço Web

Depois de executar o teste (clique em EXECUTAR na parte inferior da tela do teste), clique no botão Configurar Serviço Web (selecione a opção Serviço Web Preditivo). Configurar Serviço Web executa para você as três etapas de conversão do teste de treinamento em um teste preditivo:

  1. Ele salva o modelo treinado na seção Modelos Treinados da paleta de módulos (à esquerda da tela do teste). Ele substitui o algoritmo do Machine Learning e os módulos Treinar Modelo pelo modelo treinado salvo.
  2. Ele analisa o seu teste e remove os módulos que foram claramente usados apenas para treinamento e não são mais necessários.
  3. Ele insere módulos de entrada e saída de serviço Web em locais padrão no seu teste (esses módulos aceitam e retornam dados do usuário).

Por exemplo, o seguinte experimento treina um modelo de árvore de decisão de duas classes aumentada usando dados de censo de exemplo:

experimento de treinamento

Os módulos nesse experimento executam basicamente quatro funções diferentes:

Funções de módulo

Ao converter esse teste de treinamento em um teste preditivo, alguns desses módulos não serão mais necessários ou agora terão outra finalidade:

  • Dados – os dados neste conjunto de dados de exemplo não são usados durante a pontuação. O usuário do serviço Web fornecerá os dados a serem pontuados. No entanto, os metadados desse conjunto de dados, tais como tipos de dados, são usados pelo modelo treinado. Portanto, é necessário manter o conjunto de dados no teste preditivo para que ele possa fornecer esses metadados.

  • Preparação – dependendo dos dados de usuário que serão enviados para pontuação, esses módulos podem ou não ser necessários para processar os dados de entrada. O botão Configurar Serviço Web não interfere neles – você precisa decidir como deseja tratá-los.

    Por exemplo, nesse exemplo, o conjunto de dados de exemplo pode ter valores ausentes, portanto, um módulo Limpar Dados Ausentes foi incluído para lidar com eles. Além disso, o conjunto de dados de exemplo inclui colunas que não são necessárias para treinar o modelo. Desse modo, o módulo Selecionar Colunas no Conjunto de Dados foi incluído para excluir essas colunas extras do fluxo de dados. Se souber que os dados que serão enviados para pontuação por meio do serviço Web não terão valores ausentes, você poderá remover o módulo Limpar Dados Ausentes. No entanto, uma vez que o módulo Selecionar Colunas no Conjunto de Dados ajuda a definir as colunas de dados esperadas pelo modelo treinado, esse módulo precisa permanecer.

  • Treinar – esses módulos são usados para treinar o modelo. Quando você clica em Configurar Serviço Web, esses módulos são substituídos por um único módulo que contém o modelo treinado. Esse novo módulo é salvo na seção Modelos Treinados da paleta do módulo.

  • Pontuação – nesse exemplo, o módulo Dividir Dados é usado para dividir o fluxo de dados em dados de teste e de treinamento. No teste preditivo, não estamos mais treinando, de modo que Dividir Dados pode ser removido. Da mesma forma, o segundo módulo Pontuar Modelo e o módulo Avaliar Modelo são usados para comparar os resultados dos dados de teste; portanto, esses módulos não são necessários no teste preditivo. O módulo Modelo de Pontuação restante, contudo, é necessário para retornar um resultado de pontuação por meio do serviço Web.

Veja como fica nosso exemplo depois do clique em Configurar Serviço Web:

Teste preditivo convertido

O trabalho feito pelo botão Configurar Serviço Web pode ser suficiente para preparar o teste para implantação como um serviço Web. No entanto, convém trabalhar nos detalhes específicos do seu experimento.

Ajustar os módulos de entrada e saída

No seu experimento de treinamento, você usou um conjunto de dados de treinamento, que foram processados para deixar os dados em um formato que o algoritmo de aprendizado de máquina necessitava. Se os dados que você espera receber por meio do serviço Web não precisarem desse processamento, será possível ignorá-lo: conecte a saída do módulo de entrada do serviço Web a um módulo diferente no teste. Os dados do usuário agora chegarão no modelo nesse local.

Por exemplo, por padrão, Configurar Serviço Web coloca o módulo de entrada do serviço Web na parte superior do fluxo de dados, como mostrado na figura acima. Porém, podemos posicionar manualmente a Entrada do serviço Web depois dos módulos de processamento de dados:

Movendo a entrada do serviço Web

Os dados de entrada fornecidos pelo serviço Web agora passarão diretamente para o módulo do Modelo de Pontuação sem qualquer pré-processamento.

Da mesma forma, por padrão, Configurar Serviço Web coloca o módulo de saída do serviço Web na parte inferior do fluxo de dados. Nesse exemplo, o serviço Web retornará ao usuário a saída do módulo do Pontuar Modelo, que inclui o vetor de dados de entrada completo, além dos resultados de pontuação. No entanto, se preferir retornar algo diferente, você poderá adicionar outros módulos antes do módulo Saída do serviço Web.

Por exemplo, para retornar apenas os resultados da pontuação, e não todo o vetor de dados de entrada, adicione um módulo Selecionar Colunas do Conjunto de Dados para excluir todas as colunas, exceto os resultados da pontuação. Em seguida, mova o módulo Saída do serviço Web para a saída do módulo Selecionar Colunas do Conjunto de Dados. O teste tem esta aparência:

Movendo a saída do serviço Web

Adicionar ou remover módulos de processamento de dados adicionais

Se houver mais módulos no seu experimento que você sabe que não será necessário durante a pontuação, eles podem ser removidos. Por exemplo, como movemos o módulo Entrada do serviço Web para um ponto após os módulos de processamento de dados, podemos remover o módulo Limpar Dados Ausentes do teste preditivo.

Nosso teste preditivo ficou assim:

Removendo o módulo adicional

Adicionar parâmetros de serviço Web opcionais

Em alguns casos, talvez você queira permitir que o usuário do serviço Web altere o comportamento dos módulos quando o serviço é acessado. Parâmetros de serviço Web permitem que você faça isso.

Um exemplo comum é a configuração de um módulo Importar Dados para que o usuário do serviço Web implantado possa especificar outra fonte de dados quando o serviço Web for acessado. Ou então, configurar o módulo Exportar Dados para que um destino diferente possa ser especificado.

Você pode definir os Parâmetros de Serviço Web e associá-los a um ou mais parâmetros de módulo, podendo também especificar se eles são obrigatórios ou opcionais. O usuário do serviço Web fornece valores para esses parâmetros quando o serviço é acessado e as ações de módulo são modificadas de acordo.

Para saber mais sobre o que são os Parâmetros de Serviço Web e como usá-los, confira Usar Parâmetros de Serviço Web do Machine Learning.

As etapas a seguir descrevem a implantação de um teste preditivo como um novo serviço Web. Você também pode implantar o teste como um serviço Web clássico.

Implantá-lo como um novo serviço Web

Agora que o teste preditivo foi preparado, é possível implantá-lo como um novo serviço Web do Azure (baseado no Resource Manager). Usando o serviço Web, os usuários podem enviar dados para seu modelo e o modelo retornará suas previsões.

Para implantar o teste preditivo, clique em Executar na parte inferior da tela do teste. Após a conclusão do teste, clique em Implantar Serviço Web e selecione Implantar Serviço Web novo. A página de implantação do portal do serviço Web do Machine Learning Studio (clássico) é aberta.

Observação

Para implantar um novo serviço Web, você precisa ter permissões suficientes na assinatura na qual o serviço Web está sendo implantado. Para saber mais, confira Gerenciar um serviço Web usando o portal de Serviços Web do Machine Learning.

Página de teste de implantação do portal de serviços Web

Na página de teste de implantação, insira um nome para o serviço Web. Selecione um plano de preços. Se você tiver um plano de preços existente, selecione-o, caso contrário, você deverá criar um novo plano de preços para o serviço.

  1. Na lista suspensa Plano de Preços, selecione um plano existente ou selecione a opção Selecione novo plano.
  2. Em Nome do Plano, digite um nome que identificará o plano na sua conta.
  3. Selecione uma dos Níveis de Planos Mensais. As camadas do plano usam como padrão os planos da região padrão e o serviço Web é implantado nessa região.

Clique em Implantar e na página Início Rápido para abrir seu serviço Web.

A página de início rápido do serviço Web fornece acesso e orientações sobre as tarefas mais comuns que você executará depois de criar um serviço Web. A partir daqui, você poderá acessar facilmente a página Teste e a página Consumo.

Gerenciar seu Novo serviço Web

Para testar seu novo serviço Web, clique em Testar serviço Web em tarefas comuns. Na página de teste, você poderá testar o serviço Web como um Serviço de solicitação-resposta (RRS) ou Serviço de execução em lote (BES).

A página de teste RRS exibe as entradas, as saídas e todos os parâmetros globais que você definiu para o teste. Para testar o serviço Web, você pode manualmente inserir os valores apropriados para as entradas ou fornecer um arquivo CSV (valores separados por vírgulas) formatado que contém os valores de teste.

Para testar usando RRS, do modo de exibição de lista, insira os valores apropriados para as entradas e clique em Teste de solicitação-resposta. Os resultados da previsão serão exibidos na coluna de saída à esquerda.

Inserir os valores apropriados para testar seu serviço Web

Para testar o BES, clique em Lote. Na página de teste em lote, clique em Pesquisar na sua entrada e selecione um arquivo CSV que contém os valores de exemplo apropriados. Se você não tiver um arquivo CSV e tiver criado o teste preditivo usando o Machine Learning Studio, será possível baixar o conjunto de dados para o teste preditivo e usá-lo.

Para baixar o conjunto de dados, abra o Machine Learning Studio (clássico). Abra seu teste preditivo e clique com o botão direito na entrada para o seu teste. No menu de contexto, selecione conjunto de dados e, em seguida, selecione Baixar.

Baixar o conjunto de dados da tela do Studio (clássico)

Clique em Testar. O status de seu trabalho de execução de lote é exibido à direita em Trabalhos em lote de teste.

Testar o trabalho de execução em lote com o portal de serviço Web

Na página CONFIGURAÇÃO, você pode alterar a descrição, o título, atualizar a chave da conta de armazenamento e habilitar dados de exemplo para o serviço Web.

Configurar o aplicativo Web

Acessar seu Novo serviço Web

Depois de implantar o serviço Web por meio do Machine Learning Studio (clássico), você pode enviar dados para o serviço e receber respostas de forma programática.

A página Consumo fornece todas as informações necessárias para acessar o serviço Web. Por exemplo, a chave de API é fornecida para permitir acesso autorizado ao serviço.

Para saber mais sobre como acessar um serviço Web do Machine Learning Studio (clássico), confira Como consumir um serviço Web do Machine Learning Studio (clássico).

Gerenciar seu Novo serviço Web

É possível gerenciar os novos serviços Web no portal dos serviços Web do Machine Learning Studio (clássico). Na página principal do portal clique em serviços Web. Na página de serviços Web, você pode excluir ou copiar um serviço. Para monitorar um serviço específico, clique no serviço e, em seguida, clique em Painel. Para monitorar trabalhos em lotes associados ao serviço Web, clique em Log de solicitações em lote.

Implantar o novo serviço Web em várias regiões

É possível implantar facilmente um novo serviço Web em várias regiões sem a necessidade de várias assinaturas ou workspaces.

O preço é específico de cada região, então é necessário definir um plano de cobrança para cada região na qual você implantará o serviço Web.

Criar um plano em outra região

  1. Entre nos Serviços Web do Machine Learning.
  2. Clique na opção de menu Planos .
  3. Na página de visão geral de Planos, clique em Novo.
  4. No menu suspenso Assinatura , selecione a assinatura na qual o novo plano residirá.
  5. No menu suspenso Região , selecione uma região para o novo plano. As opções de plano para a região selecionada serão exibidas na seção Opções de Plano da página.
  6. No menu suspenso Grupo de Recursos , selecione um grupo de recursos para o plano. Em mais informações sobre grupos de recursos, confira Visão geral do Azure Resource Manager.
  7. Em Nome do Plano , digite o nome do plano.
  8. Em Opções do Plano, clique no nível de cobrança para o novo plano.
  9. Clique em Criar.

Implantar o serviço Web em outra região

  1. Na página de Serviços Web do Machine Learning, clique na opção de menu Serviços Web.
  2. Selecione o serviço Web que você está implantando em uma nova região.
  3. Clique em Copiar.
  4. Em Nome do Serviço Web, digite um novo nome para o serviço Web.
  5. Em Descrição do serviço Web, digite uma descrição para o serviço Web.
  6. No menu suspenso Assinatura , selecione a assinatura na qual o novo serviço Web residirá.
  7. No menu suspenso Grupo de Recursos , selecione um grupo de recursos para o serviço Web. Em mais informações sobre grupos de recursos, confira Visão geral do Azure Resource Manager.
  8. No menu suspenso Região , selecione a região na qual implantar o serviço Web.
  9. No menu suspenso Conta de armazenamento , selecione uma conta de armazenamento na qual armazenar o serviço Web.
  10. Na lista suspensa Plano de preços , selecione um plano na região que você selecionou na etapa 8.
  11. Clique em Copiar.

Implantá-lo como um serviço Web clássico

Agora que o teste preditivo foi devidamente preparado, você pode implantá-lo como um serviço Web Clássico do Azure. Usando o serviço Web, os usuários podem enviar dados para seu modelo e o modelo retornará suas previsões.

Para implantar o teste preditivo, clique em Executar na parte inferior da tela do teste e clique em Implantar Serviço Web. O serviço Web é configurado e colocado no painel de serviço Web.

Implantar o serviço Web do Studio (clássico)

Testar seu serviço Web Clássico

É possível testar o serviço Web no portal de Serviços Web do Machine Learning Studio (clássico) ou no Machine Learning Studio (clássico).

Para testar o serviço Web Resposta a Solicitação, clique no botão Teste no painel de serviço Web. Uma caixa de diálogo é exibida para solicitar os dados de entrada para o serviço. Essas são as colunas esperadas pelo teste de pontuação. Insira um conjunto de dados e clique em OK. Os resultados gerados pelo serviço Web são exibidos na parte inferior do painel.

É possível clicar no link de versão prévia Testar para testar o serviço no portal de Serviços Web do Machine Learning Studio (clássico), conforme mostrado anteriormente na seção Novo serviço Web.

Para testar o serviço de execução em lote, clique no link de visualização do teste. Na página de teste em lote, clique em Pesquisar na sua entrada e selecione um arquivo CSV que contém os valores de exemplo apropriados. Se você não tiver um arquivo CSV e tiver criado o teste preditivo usando o Machine Learning Studio, será possível baixar o conjunto de dados para o teste preditivo e usá-lo.

Testar o serviço Web

Na página CONFIGURAÇÃO , você pode alterar o nome de exibição do serviço e fornecer uma descrição. O nome e a descrição são exibidos no Portal do Azure, no qual você gerencia seus serviços Web.

Você pode fornecer uma descrição dos dados de entrada, dados de saída e parâmetros de serviço Web inserindo uma cadeia de caracteres para cada coluna em INPUT SCHEMA, OUTPUT SCHEMA, e Web SERVICE PARAMETER. Essas descrições são usadas na documentação do código de exemplo fornecida para o serviço Web.

Você pode habilitar o log para diagnosticar quaisquer falhas que esteja vendo quando o serviço Web for acessado. Para saber mais, veja Habilitar o registro em log dos serviços Web do Machine Learning Studio (clássico).

Habilitar o registro em log no portal de serviços Web

Você também pode configurar os pontos de extremidade do serviço Web no portal de Serviços Web do Machine Learning da mesma forma que o procedimento mostrado anteriormente na seção Novo serviço Web. As opções são diferentes, você pode adicionar ou alterar a descrição do serviço, habilitar o registro em log e habilitar dados de exemplo para teste.

Acessar seu serviço Web Clássico

Depois de implantar o serviço Web por meio do Machine Learning Studio (clássico), você pode enviar dados para o serviço e receber respostas de forma programática.

O painel fornece todas as informações necessárias para acessar o serviço Web. Por exemplo, a chave de API é fornecida para permitir acesso autorizado ao serviço e as páginas de ajuda de API são fornecidas para ajudar você a começar a escrever seu código.

Para saber mais sobre como acessar um serviço Web do Machine Learning Studio (clássico), confira Como consumir um serviço Web do Machine Learning Studio (clássico).

Gerenciar seu serviço Web Clássico

Há várias ações que podem ser executadas para monitorar um serviço Web. Você pode atualizá-lo e excluí-lo. Você também pode adicionar pontos de extremidade adicionais a um serviço Web clássico além do ponto de extremidade padrão que é criado durante sua implantação.

Para saber mais, confira Gerenciar um workspace do Machine Learning Studio (clássico) e Gerenciar um serviço Web usando o portal de Serviços Web do Machine Learning Studio (clássico).

Atualizar o serviço Web

Você pode fazer alterações ao serviço Web, como atualizar o modelo com dados de treinamento adicionais e implantá-lo novamente, substituindo o serviço Web original.

Para atualizar o serviço Web, abra o teste preditivo original que você usou para implantar o serviço Web original e faça uma cópia editável clicando em SALVAR COMO. Faça as alterações e clique em Implantar Serviço Web.

Como você já implantou esse teste antes, será solicitado se deseja substituir (Serviço Web clássico) ou atualizar (Novo serviço Web) o serviço existente. Se você clicar em SIM ou Atualizar, o serviço Web existente será interrompido e o novo teste preditivo será implantado em seu lugar.

Observação

Se você fez alterações na configuração do serviço Web original, por exemplo, inserindo um novo nome de exibição ou uma descrição, você precisará inserir esses valores novamente.

Uma opção para atualizar seu serviço Web é treinar novamente o modelo de forma programática. Para saber mais, veja Treinar novamente os modelos do Machine Learning Studio (clássico) de forma programática.

Próximas etapas