Implantar um serviço Web do Machine Learning Studio (clássico)
APLICA-SE A: Machine Learning Studio (clássico) Azure Machine Learning
Importante
O suporte para o Estúdio de ML (clássico) terminará a 31 de agosto de 2024. Recomendamos a transição para o Azure Machine Learning até essa data.
A partir de 1 de dezembro de 2021, não poderá criar novos recursos do Estúdio de ML (clássico). Até 31 de agosto de 2024, pode continuar a utilizar os recursos existentes do Estúdio de ML (clássico).
- Consulte informações sobre como mover projetos de aprendizado de máquina do ML Studio (clássico) para o Azure Machine Learning.
- Saiba mais sobre o Azure Machine Learning
A documentação do Estúdio de ML (clássico) está a ser descontinuada e poderá não ser atualizada no futuro.
O Machine Learning Studio (clássico) permite criar e testar uma solução analítica preditiva. Em seguida, você pode implantar a solução como um serviço Web.
Os serviços Web do Machine Learning Studio (clássico) fornecem uma interface entre um aplicativo e um modelo de pontuação de fluxo de trabalho do Machine Learning Studio (clássico). Um aplicativo externo pode se comunicar com um modelo de pontuação de fluxo de trabalho (clássico) do Machine Learning Studio em tempo real. Uma chamada para um serviço Web do Estúdio de Aprendizado de Máquina (clássico) retorna os resultados da previsão para um aplicativo externo. Para fazer uma chamada para um serviço Web, tem de transmitir uma chave de API que foi criada quando implementou esse serviço. Um serviço Web (clássico) do Machine Learning Studio é baseado em REST, uma escolha de arquitetura popular para projetos de programação 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 e altamente escalável que pontua um único registro de dados.
- BES (Batch Execution Service): um serviço assíncrono que pontua um lote de registros de dados.
A entrada para BES é como a entrada de dados que o RRS utiliza. A principal diferença é que BES lê um bloco de registos a partir de várias origens, como o Armazenamento de Blobs do Azure, o Armazenamento de Tabelas do Azure, a Base de Dados SQL do Azure, o HDInsight (consulta do Hive) e origens HTTP.
De um ponto de vista de alto nível, você implanta seu modelo em três etapas:
- Criar um experimento de treinamento - No Studio (clássico), você pode treinar e testar um modelo de análise preditiva usando dados de treinamento fornecidos, usando um grande conjunto de algoritmos de aprendizado de máquina integrados.
- Convertê-lo em um experimento preditivo - Depois que seu modelo tiver sido treinado com dados existentes e você estiver pronto para usá-lo para pontuar novos dados, você prepara e simplifica seu experimento para previsões.
- Implantá-lo como um novo serviço Web ou um serviço Web clássico - Quando você implanta seu experimento preditivo como um serviço Web do Azure, os usuários podem enviar dados para seu modelo e receber as previsões do modelo.
Criar uma experiência de formação
Para treinar um modelo de análise preditiva, use o Azure Machine Learning Studio (clássico) para criar um experimento de treinamento onde inclui vários módulos para carregar dados de treinamento, preparar os dados conforme necessário, aplicar algoritmos de aprendizado de máquina e avaliar os resultados. Você pode iterar em um experimento e tentar diferentes algoritmos de aprendizado de máquina para comparar e avaliar os resultados.
O processo de criação e gestão de experiências de formação é abordado mais pormenorizadamente noutras rubricas. Para mais informações, consulte estes artigos:
- Crie uma experiência simples no Machine Learning Studio (clássico)
- Desenvolva uma solução preditiva com o Machine Learning Studio (clássico)
- Importe seus dados de treinamento para o Machine Learning Studio (clássico)
- Gerenciar iterações de experimento no Machine Learning Studio (clássico)
Converter o experimento de treinamento em um experimento preditivo
Depois de treinar seu modelo, você estará pronto para converter seu experimento de treinamento em um experimento preditivo para pontuar novos dados.
Ao converter em um experimento preditivo, você está preparando seu modelo treinado 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. Ao converter em um experimento preditivo, lembre-se de como você espera que seu modelo seja usado por outras pessoas.
O processo de conversão de um experimento de treinamento em um experimento preditivo envolve três etapas:
- Substitua os módulos de algoritmo de aprendizado de máquina pelo seu modelo treinado.
- Corte o experimento apenas para os módulos necessários para pontuação. Uma experiência de treinamento inclui uma série de módulos que são necessários para o treinamento, mas não são necessários quando o modelo é treinado.
- Defina como seu modelo aceitará dados do usuário do serviço Web e quais dados serão retornados.
Gorjeta
Em seu experimento de treinamento, você se preocupou em treinar e pontuar seu modelo usando seus próprios dados. Mas, uma vez implantado, os usuários enviarão novos dados para seu modelo e ele retornará os resultados da previsão. Portanto, ao converter seu experimento de treinamento em um experimento preditivo para prepará-lo para implantação, lembre-se de como o modelo será usado por outras pessoas.
Botão Configurar Serviço Web
Depois de executar o experimento (clique em EXECUTAR na parte inferior da tela do experimento), clique no botão Configurar Serviço Web (selecione a opção Serviço Web Preditivo). Configurar o serviço Web executa para você as três etapas de conversão de seu experimento de treinamento em um experimento preditivo:
- Ele salva seu modelo treinado na seção Modelos treinados da paleta de módulos (à esquerda da tela do experimento). Em seguida, ele substitui o algoritmo de aprendizado de máquina e os módulos Train Model pelo modelo treinado salvo.
- Ele analisa seu experimento e remove módulos que foram claramente usados apenas para treinamento e não são mais necessários.
- Ele insere módulos de entrada e saída de serviços da Web em locais padrão em seu experimento (esses módulos aceitam e retornam dados do usuário).
Por exemplo, o experimento a seguir treina um modelo de árvore de decisão impulsionada de duas classes usando dados de censo de amostra:
Os módulos desta experiência desempenham basicamente quatro funções diferentes:
Quando você converte esse experimento de treinamento em um experimento preditivo, alguns desses módulos não são mais necessários ou agora servem a um propósito diferente:
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, como tipos de dados, são usados pelo modelo treinado. Portanto, você precisa manter o conjunto de dados no experimento preditivo para que ele possa fornecer esses metadados.
Preparação - Dependendo dos dados do usuário que serão enviados para pontuação, esses módulos podem ou não ser necessários para processar os dados recebidos. O botão Configurar Serviço Web não toca neles - você precisa decidir como deseja lidar com eles.
Por exemplo, neste 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. Assim, um módulo Selecionar colunas no conjunto de dados foi incluído para excluir essas colunas extras do fluxo de dados. Se você souber que os dados que serão enviados para pontuação através do serviço Web não terão valores ausentes, então você pode remover o módulo Limpar dados ausentes. No entanto, como o módulo Selecionar colunas no conjunto de dados ajuda a definir as colunas de dados que o modelo treinado espera, esse módulo precisa permanecer.
Trem - Estes 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 que você treinou. Este novo módulo é salvo na seção Modelos treinados da paleta de módulos.
Pontuação - Neste exemplo, o módulo Split Data é usado para dividir o fluxo de dados em dados de teste e dados de treinamento. No experimento preditivo, não estamos mais treinando, então os dados divididos podem ser removidos. Da mesma forma, o segundo módulo Score Model e o módulo Evaluate Model são usados para comparar os resultados dos dados do teste, portanto, esses módulos não são necessários no experimento preditivo. O módulo Score Model restante, no entanto, é necessário para retornar um resultado de pontuação através do serviço Web.
Veja como fica nosso exemplo depois de clicar em Configurar Serviço Web:
O trabalho realizado pela Configuração do Serviço Web pode ser suficiente para preparar seu experimento para ser implantado como um serviço Web. No entanto, você pode querer fazer algum trabalho adicional específico para o seu experimento.
Ajustar módulos de entrada e saída
Em seu experimento de treinamento, você usou um conjunto de dados de treinamento e, em seguida, fez algum processamento para obter os dados em um formato que o algoritmo de aprendizado de máquina precisava. Se os dados que você espera receber através do serviço Web não precisarem desse processamento, você pode ignorá-lo: conecte a saída do módulo de entrada do serviço Web a um módulo diferente em seu experimento. Os dados do usuário agora chegarão no modelo neste 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, conforme mostrado na figura acima. Mas podemos posicionar manualmente a entrada do serviço Web após os módulos de processamento de dados:
Os dados de entrada fornecidos através do serviço Web passarão agora diretamente para o módulo 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. Neste exemplo, o serviço Web retornará ao usuário a saída do módulo Modelo de pontuação, que inclui o vetor de dados de entrada completo mais os resultados da pontuação. No entanto, se preferir retornar algo diferente, você pode adicionar módulos adicionais antes do módulo de 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 no Conjunto de Dados para excluir todas as colunas, exceto os resultados da pontuação. Em seguida, mova o módulo de saída do serviço Web para a saída do módulo Selecionar colunas no conjunto de dados. O experimento tem esta aparência:
Adicionar ou remover módulos de processamento de dados adicionais
Se houver mais módulos em seu experimento que você sabe que não serão necessários durante a pontuação, eles podem ser removidos. Por exemplo, como movemos o módulo de 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 experimento preditivo.
Nosso experimento preditivo agora se parece com isto:
Adicionar parâmetros opcionais do serviço Web
Em alguns casos, você pode permitir que o usuário do seu serviço Web altere o comportamento dos módulos quando o serviço é acessado. Os Parâmetros do 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 uma fonte de dados diferente quando o serviço Web for acessado. Ou configurar um módulo Exportar dados para que um destino diferente possa ser especificado.
Você pode definir parâmetros de serviço Web e associá-los a um ou mais parâmetros de módulo, e pode 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 do módulo são modificadas de acordo.
Para obter mais informações sobre o que são parâmetros de serviço Web e como usá-los, consulte Usando parâmetros de serviço Web de aprendizado de máquina.
As etapas a seguir descrevem a implantação de um experimento preditivo como um novo serviço Web. Você também pode implantar o experimento como serviço Web clássico.
Implante-o como um novo serviço Web
Agora que o experimento preditivo foi preparado, você pode implantá-lo como um novo serviço Web do Azure (baseado no Gerenciador de Recursos). Usando o serviço Web, os usuários podem enviar dados para seu modelo e o modelo retornará suas previsões.
Para implantar seu experimento preditivo, clique em Executar na parte inferior da tela do experimento. Quando o experimento terminar de ser executado, 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 Estúdio de Aprendizado de Máquina (clássico) é aberta.
Nota
Para implantar um Novo serviço Web, você deve ter permissões suficientes na assinatura na qual implantou o serviço Web. Para obter mais informações, consulte Gerenciar um serviço Web usando o portal de Serviços Web de Aprendizado de Máquina.
Página Implantar Experiência do Portal de Serviços Web
Na página Implantar Experimento, insira um nome para o serviço Web. Selecione um plano de preços. Se você tiver um plano de preços existente, você pode selecioná-lo, caso contrário, você deve criar um novo plano de preços para o serviço.
- Na lista suspensa Plano de preços, selecione um plano existente ou selecione a opção Selecionar novo plano.
- Em Nome do plano, digite um nome que identificará o plano na sua fatura.
- Selecione um dos níveis do plano mensal. As camadas de plano padrão para os planos para sua região padrão e seu serviço Web é implantado nessa região.
Clique em Implantar e a página de início rápido do seu serviço Web será aberta.
A página Início rápido do serviço Web fornece acesso e orientação sobre as tarefas mais comuns que você executará após a criação de um serviço Web. A partir daqui, você pode acessar facilmente a página Teste e a página Consumir.
Teste seu novo serviço Web
Para testar seu novo serviço Web, clique em Testar serviço Web em tarefas comuns. Na página Teste, você pode testar seu serviço Web como um RRS (Serviço de Solicitação-Resposta) ou BES (Serviço de Execução em Lote).
A página de teste RRS exibe as entradas, saídas e quaisquer parâmetros globais que você definiu para o experimento. Para testar o serviço Web, você pode inserir manualmente os valores apropriados para as entradas ou fornecer um arquivo formatado em CSV (valores separados por vírgula) contendo os valores de teste.
Para testar usando RRS, no modo de exibição de lista, insira os valores apropriados para as entradas e clique em Testar Solicitação-Resposta. Os resultados da previsão são exibidos na coluna de saída à esquerda.
Para testar o seu BES, clique em Lote. Na página Teste em lote, clique em Procurar sob sua entrada e selecione um arquivo CSV contendo valores de amostra apropriados. Se você não tiver um arquivo CSV e tiver criado seu experimento preditivo usando o Machine Learning Studio (clássico), poderá baixar o conjunto de dados para seu experimento preditivo e usá-lo.
Para baixar o conjunto de dados, abra o Machine Learning Studio (clássico). Abra seu experimento preditivo e clique com o botão direito do mouse na entrada para seu experimento. No menu de contexto, selecione conjunto de dados e, em seguida, selecione Download.
Clique em Testar. O status do trabalho de Execução em Lote é exibido à direita em Trabalhos em Lote de Teste.
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 seu serviço Web.
Aceda ao seu novo serviço Web
Depois de implantar seu serviço Web a partir do Machine Learning Studio (clássico), você pode enviar dados para o serviço e receber respostas programaticamente.
A página Consumir fornece todas as informações necessárias para acessar seu serviço Web. Por exemplo, a chave de API é fornecida para permitir o acesso autorizado ao serviço.
Para obter mais informações sobre como acessar um serviço Web do Estúdio de Aprendizado de Máquina (clássico), consulte Como consumir um serviço Web do Estúdio de Aprendizado de Máquina (clássico).
Gerencie seu novo serviço Web
Você pode gerenciar seus Novos serviços Web usando o portal de 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 monitorizar um serviço específico, clique no serviço e, em seguida, clique em Dashboard. Para monitorar trabalhos em lote associados ao serviço Web, clique em Log de Solicitação em Lote.
Implante seu novo serviço Web em várias regiões
Você pode implantar facilmente um novo serviço Web em várias regiões sem precisar de várias assinaturas ou espaços de trabalho.
O preço é específico da região, portanto, você precisa definir um plano de faturamento para cada região na qual implantará o serviço Web.
Criar um plano noutra região
- Inicie sessão nos Serviços Web de Aprendizagem de Máquina.
- Clique na opção de menu Planos .
- Na página Planos sobre exibição, clique em Novo.
- Na lista suspensa Assinatura, selecione a assinatura na qual o novo plano residirá.
- Na lista suspensa 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.
- Na lista suspensa Grupo de Recursos, selecione um grupo de recursos para o plano. Para obter mais informações sobre grupos de recursos, consulte Visão geral do Azure Resource Manager.
- Em Nome do plano, digite o nome do plano.
- Em Opções de Plano, clique no nível de cobrança do novo plano.
- Clique em Criar.
Implantar o serviço Web em outra região
- Na página Serviços Web de Aprendizado de Máquina, clique na opção de menu Serviços Web .
- Selecione o serviço Web que você está implantando em uma nova região.
- Clique em Copiar.
- Em Nome do Serviço Web, digite um novo nome para o serviço Web.
- Em Descrição do serviço Web, digite uma descrição para o serviço Web.
- Na lista suspensa Assinatura, selecione a assinatura na qual o novo serviço Web residirá.
- Na lista suspensa Grupo de Recursos, selecione um grupo de recursos para o serviço Web. Para obter mais informações sobre grupos de recursos, consulte Visão geral do Azure Resource Manager.
- Na lista suspensa Região, selecione a região na qual implantar o serviço Web.
- Na lista suspensa Conta de armazenamento, selecione uma conta de armazenamento na qual armazenar o serviço Web.
- Na lista suspensa Plano de preços, selecione um plano na região selecionada na etapa 8.
- Clique em Copiar.
Implante-o como um serviço Web clássico
Agora que o experimento preditivo foi suficientemente 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 seu experimento preditivo, clique em Executar na parte inferior da tela do experimento e, em seguida, clique em Implantar Serviço Web. O serviço Web é configurado e você é colocado no painel do serviço Web.
Teste seu serviço Web Classic
Você pode testar o serviço Web no portal de Serviços Web do Estúdio de Aprendizado de Máquina (clássico) ou no Estúdio de Aprendizado de Máquina (clássico).
Para testar o serviço Web Solicitar Resposta, clique no botão Testar no painel do serviço Web. Uma caixa de diálogo é exibida para solicitar os dados de entrada para o serviço. Estas são as colunas esperadas pelo experimento 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.
Você pode clicar no link Visualização de teste para testar seu serviço no portal de Serviços Web do Estúdio de Aprendizado de Máquina (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 Visualização de teste . Na página Teste em lote, clique em Procurar sob sua entrada e selecione um arquivo CSV contendo valores de amostra apropriados. Se você não tiver um arquivo CSV e tiver criado seu experimento preditivo usando o Machine Learning Studio (clássico), poderá baixar o conjunto de dados para seu experimento preditivo e usá-lo.
Na página CONFIGURAÇÃO, você pode alterar o nome para exibição do serviço e dar-lhe uma descrição. O nome e a descrição são exibidos no portal do Azure onde você gerencia seus serviços Web.
Você pode fornecer uma descrição para seus dados de entrada, dados de saída e parâmetros de serviço Web inserindo uma cadeia de caracteres para cada coluna em ESQUEMA DE ENTRADA, ESQUEMA DE SAÍDA e PARÂMETRO DE SERVIÇO DA WEB. Essas descrições são usadas na documentação de código de exemplo fornecida para o serviço Web.
Você pode habilitar o registro em log para diagnosticar quaisquer falhas que você está vendo quando seu serviço Web é acessado. Para obter mais informações, consulte Habilitar o registro em log para serviços Web (clássicos) do Machine Learning Studio.
Você também pode configurar os pontos de extremidade para o serviço Web no portal de Serviços Web de Aprendizado de Máquina, semelhante ao 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.
Aceda ao seu serviço Web Classic
Depois de implantar seu serviço Web a partir do Machine Learning Studio (clássico), você pode enviar dados para o serviço e receber respostas programaticamente.
O painel fornece todas as informações que você precisa para acessar seu serviço Web. Por exemplo, a chave da API é fornecida para permitir o acesso autorizado ao serviço e as páginas de ajuda da API são fornecidas para ajudá-lo a começar a escrever seu código.
Para obter mais informações sobre como acessar um serviço Web do Estúdio de Aprendizado de Máquina (clássico), consulte Como consumir um serviço Web do Estúdio de Aprendizado de Máquina (clássico).
Gerencie seu serviço Web Classic
Há várias ações que você pode executar 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 quando você o implanta.
Para obter mais informações, consulte Gerenciar um espaço de trabalho do Estúdio de Aprendizado de Máquina (clássico) e Gerenciar um serviço Web usando o portal de Serviços Web do Estúdio de Aprendizado de Máquina (clássico).
Atualizar o serviço Web
Você pode fazer alterações no seu 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 experimento preditivo original usado para implantar o serviço Web e faça uma cópia editável clicando em SALVAR AS. Faça as alterações e clique em Implantar Serviço Web.
Como você já implantou esse experimento antes, será perguntado se deseja substituir (Serviço Web Clássico) ou atualizar (Novo serviço Web) o serviço existente. Clicar em SIM ou Atualizar interrompe o serviço Web existente e implanta o novo experimento preditivo é implantado em seu lugar.
Nota
Se você fez alterações de configuração no serviço Web original, por exemplo, inserindo um novo nome para exibição ou descrição, será necessário inserir esses valores novamente.
Uma opção para atualizar seu serviço Web é treinar novamente o modelo programaticamente. Para obter mais informações, consulte Retreinar modelos do Machine Learning Studio (clássicos) programaticamente.
Próximos passos
Para obter mais detalhes técnicos sobre como a implantação funciona, consulte Como um modelo de estúdio de aprendizado de máquina (clássico) progride de um experimento para um serviço Web operacionalizado.
Para obter detalhes sobre como preparar seu modelo para implantação, consulte Como preparar seu modelo para implantação no Machine Learning Studio (clássico).
Existem várias formas de utilizar a API REST e aceder ao serviço Web. Consulte Como consumir um serviço Web do Machine Learning Studio (clássico).