O que é o Azure Machine Learning?

O Azure Machine Learning é um serviço de nuvem para acelerar e gerenciar o ciclo de vida dos projetos de ML (machine learning). Profissionais, cientistas de dados e engenheiros de ML podem usá-lo em seus fluxos de trabalho cotidianos para: treinar e implantar modelos e gerenciar MLOps (operações de aprendizado de máquina).

Você pode criar um modelo em Machine Learning ou usar um modelo criado em uma plataforma de código aberto, como PyTorch, TensorFlow ou scikit-learn. As ferramentas do MLOps ajudam você a monitorar, treinar e reimplantar modelos.

Dica

Avaliação gratuita! Caso não tenha uma assinatura do Azure, crie uma conta gratuita antes de começar. Experimente a versão paga ou a versão gratuita do Azure Machine Learning. Você recebe créditos para gastar em serviços do Azure. Depois que eles forem utilizados, você poderá manter a conta e usar os serviços gratuitos do Azure. Seu cartão de crédito nunca será cobrado, a menos que você altere explicitamente suas configurações, solicitando esse tipo de cobrança.

Para que serve o Azure Machine Learning?

O Machine Learning é para indivíduos e equipes que implementam MLOps nas suas respectivas organizações para colocar modelos de machine learning em produção em um ambiente de produção seguro e auditável.

Os cientistas de dados e os engenheiros de ML podem usar as ferramentas para acelerar e automatizar seus fluxos de trabalho cotidianos. Os desenvolvedores de aplicativos podem usar as ferramentas para integrar modelos em aplicativos ou serviços. Os desenvolvedores de plataforma podem usar um conjunto robusto de ferramentas, com suporte das APIs duráveis do Azure Resource Manager, para a criação de ferramentas avançadas de ML.

As empresas que trabalham na nuvem do Microsoft Azure podem usar elementos familiares de segurança e controle de acesso baseado em função para infraestrutura. Você pode configurar um projeto para negar o acesso a dados protegidos e selecionar operações.

Produtividade para todos na equipe

A criação e manutenção de projetos de ML geralmente exigem equipes com conjuntos de habilidades diversificados. O Machine Learning tem ferramentas que ajudam a permitir que você:

  • Colabore com sua equipe por meio de notebooks compartilhados, recursos de computação, computação sem servidor, dados e ambientes

  • Desenvolva modelos para equidade e explicabilidade, acompanhamento e auditabilidade para atender aos requisitos de conformidade de linhagem e auditoria

  • Implante modelos de ML de forma rápida e fácil em escala e os gerencie e governe com eficiência com o MLOps

  • Execute cargas de trabalho de machine learning em qualquer lugar com governança interna, segurança e conformidade

Ferramentas de plataforma multicompatíveis que atendem às suas necessidades

Qualquer pessoa em uma equipe de ML pode usar suas ferramentas preferidas para fazer o trabalho. Se você estiver executando experimentos rápidos, ajuste de hiperparâmetro, criando pipelines ou gerenciando inferências, você pode usar interfaces familiares, incluindo:

Como você está refinando o modelo e colaborando com outras pessoas em todo o restante do ciclo de desenvolvimento do Machine Learning, você pode compartilhar e encontrar ativos, recursos e métricas para seus projetos na interface do usuário do estúdio do Machine Learning.

Estúdio

O Estúdio do Machine Learning oferece várias experiências de criação, dependendo do tipo de projeto e de seu nível anterior de experiência de ML, sem precisar instalar nada.

  • Notebooks: escreva e execute seu código em servidores gerenciados do Jupyter Notebook que estejam diretamente integrados no estúdio.

  • Visualizar métricas de execução: analise e otimize seus experimentos com a visualização.

    Screenshot that shows metrics for a training run.

  • Designer do Azure Machine Learning: use o designer para treinar e implantar modelos de ML sem nenhuma codificação. Arraste e solte conjuntos de dados e componentes para criar pipelines de ML.

  • Interface do usuário do machine learning automatizado: saiba como criar experimentos de ML automatizado com uma interface fácil de usar.

  • Rotulagem de dados: use a rotulagem de dados do Azure Machine Learning para coordenar com eficiência os projetos de rotulagem de imagens e rotulagem de texto.

Preparação e segurança corporativas

O Machine Learning integra-se à plataforma de nuvem do Azure para agregar segurança aos projetos de ML.

As integrações de segurança incluem:

  • As Redes Virtuais do Azure com grupos de segurança de rede.
  • Azure Key Vault, em que você pode salvar segredos de segurança, como informações de acesso para contas de armazenamento.
  • Configuração do Registro de Contêiner do Azure por trás de uma rede virtual.

Para obter mais informações, confira Tutorial: Configurar um workspace seguro.

Integrações do Azure para soluções completas

Outras integrações com os serviços do Azure oferecem suporte para projetos de ML de ponta a ponta. Elas incluem:

Importante

O Azure Machine Learning não armazena nem processa seus dados fora da região em que você faz as implantações.

Fluxo de trabalho de projetos de machine learning

Normalmente, os modelos são desenvolvidos como parte de um projeto com objetivos e metas específicos. Os projetos geralmente envolvem mais de uma pessoa. Ao experimentar dados, algoritmos e modelos, o desenvolvimento é iterativo.

Ciclo de vida do projeto

Embora o ciclo de vida do projeto possa variar de acordo com o projeto, geralmente ele parecerá com o diagrama a seguir.

Diagram that shows the machine learning project lifecycle

Workspaces organizam projetos e permitem a colaboração de muitos usuários, para que eles trabalhem juntos a fim de alcançar um objetivo em comum. Os usuários de um workspace podem compartilhar com facilidade os resultados de suas execuções da experimentação na interface do usuário do estúdio. Ou eles podem usar ativos com versão em trabalhos como ambientes e referências de armazenamento.

Para obter mais informações, confira Gerenciar workspaces do Azure Machine Learning.

Quando um projeto está pronto para operacionalização, o trabalho dos usuários pode ser automatizado em um pipeline de ML e acionado por um agendamento ou uma solicitação HTTPS.

Você pode implantar os modelos na solução de inferência gerenciada, para implantações em tempo real e em lote, abstraindo o gerenciamento de infraestrutura normalmente necessário para implantar modelos.

Treinar modelos

No Azure Machine Learning, você pode executar o script de treinamento na nuvem ou criar um modelo do zero. Geralmente os clientes trazem modelos que criaram e treinaram em estruturas de código aberto assim podem operacionalizá-los na nuvem.

Aberto e interoperável

Os cientistas de dados podem usar modelos do Azure Machine Learning que criaram em estruturas comuns do Python, como:

  • PyTorch
  • TensorFlow
  • scikit-learn
  • XGBoost
  • LightGBM

Outras linguagens e o Linux também são compatíveis:

  • R
  • .NET

Confira mais informações em Integração de código aberto com o Azure Machine Learning.

Seleção automatizada de algoritmos e da definição de recursos

Em um processo repetitivo e demorado de ML clássico, os cientistas de dados usam as experiências anteriores e suas intuições para selecionar o algoritmo e a definição de recursos de dados corretos para treinamento. O AutoML (ML automatizado) acelera esse processo. Você pode usá-lo por meio da interface do usuário do estúdio do Machine Learning ou do SDK do Python.

Para obter mais informações, confira O que é machine learning automatizado?.

Otimização de hiperparâmetro

A otimização (ou o ajuste) de hiperparâmetro pode ser uma tarefa entediante. O Machine Learning pode automatizar essa tarefa para comandos parametrizados arbitrários com pouca modificação na sua definição de trabalho. Os resultados são visualizados no estúdio.

Para obter mais informações, confira Ajustar hiperparâmetros.

Treinamento distribuído em vários nós

A eficiência do treinamento para aprendizado profundo e, às vezes, trabalhos clássicos de treinamento de machine learning pode ser drasticamente aprimorada por meio do treinamento distribuído em vários nós. Os clusters de computação do Azure Machine Learning e a computação sem servidor oferecem as opções de GPU mais recentes.

Com suporte por meio do Kubernetes do Azure Machine Learning, clusters de computação do Azure Machine Learning e computação sem servidor:

  • PyTorch
  • TensorFlow
  • MPI

Você pode usar a distribuição de MPI para Horovod ou lógica personalizada de vários nós. O Apache Spark tem suporte pela computação Spark sem servidor e pool do Spark do Synapse anexado que usam os clusters Spark do Azure Synapse Analytics.

Para mais informações, confira Treinamento distribuído com o Azure Machine Learning.

Treinamento perfeitamente paralelo

O dimensionamento de um projeto de ML pode exigir o dimensionamento do treinamento de um modelo perfeitamente paralelo. Esse padrão é comum para cenários como previsão de demanda, em que um modelo pode ser treinado para muitas lojas.

Implantar modelos

Para colocar um modelo em produção, implante o modelo. Os pontos de extremidade gerenciados do Azure Machine Learning abstraem a infraestrutura necessária para a pontuação (inferência) do modelo em lote ou em tempo real (online).

Pontuação em tempo real e em lote (inferência)

A pontuação em lote ou a inferência em lote envolve a invocação de um ponto de extremidade com uma referência aos dados. O ponto de extremidade do lote executa trabalhos de maneira assíncrona para processar dados em paralelo em clusters de computação e armazenar os dados para análise posterior.

A pontuação em tempo real ou a inferência online envolve invocar um ponto de extremidade com uma ou mais implantações de modelo e receber uma resposta quase em tempo real por meio de HTTPS. O tráfego pode ser dividido em várias implantações, permitindo testar novas versões de modelo, desviando alguma quantidade de tráfego inicialmente e aumentando após a confiança no novo modelo é estabelecida.

Para saber mais, veja:

MLOps: DevOps para machine learning

O DevOps para modelos de ML geralmente chamados de MLOps é um processo para desenvolver modelos para produção. O ciclo de vida de um modelo, do treinamento à implantação, deverá ser auditável se não for reproduzível.

Ciclo de vida do modelo de ML

Diagram that shows the machine learning model lifecycle * MLOps.

Saiba mais sobre o MLOps no Azure Machine Learning.

Integrações habilitando o MLOps

O Machine Learning foi criado com o ciclo de vida do modelo em mente. Você pode auditar o ciclo de vida do modelo até uma confirmação e um ambiente específicos.

Alguns dos principais recursos que habilitam o MLOps incluem:

  • Integração com git.
  • Integração com o MLflow.
  • Agendamento de pipeline do machine learning.
  • Integração da Grade de Eventos do Azure para gatilhos personalizados.
  • Facilidade de usar com ferramentas de CI/CD, como o GitHub Actions ou o Azure DevOps.

O Machine Learning também inclui recursos para monitoramento e auditoria:

  • Artefatos de trabalho, como instantâneos de código, logs e outras saídas.
  • A linhagem entre trabalhos e ativos, como contêineres, dados e recursos de computação.

Se você usar o Apache Airflow, o pacote airflow-provider-azure-machinelearning será um provedor que permite enviar fluxos de trabalho para o Azure Machine Learning do Apache AirFlow.

Próximas etapas

Comece a usar o Azure Machine Learning: