O que é o Azure Machine Learning?

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

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

Gorjeta

Versão experimental gratuita! Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar. Experimentar a versão gratuita ou paga do Azure Machine Learning. Receberá créditos para gastar em serviços do Azure. Depois de serem utilizados, pode manter a conta e utilizar os serviços gratuitos do Azure. O seu cartão de crédito não será cobrado, a menos que altere explicitamente as suas definições e peça para ser cobrado.

Para quem é o Azure Machine Learning?

O Machine Learning é para indivíduos e equipes que implementam MLOps em sua organização para trazer modelos de ML para a produção em um ambiente de produção seguro e auditável.

Cientistas de dados e engenheiros de ML podem usar ferramentas para acelerar e automatizar seus fluxos de trabalho diários. Os desenvolvedores de aplicativos podem usar ferramentas para integrar modelos em aplicativos ou serviços. Os desenvolvedores de plataforma podem usar um conjunto robusto de ferramentas, apoiado por APIs duráveis do Azure Resource Manager, para criar ferramentas avançadas de ML.

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

Produtividade para todos na equipa

Os projetos de ML geralmente exigem uma equipe com um conjunto variado de habilidades para construir e manter. O Aprendizado de Máquina tem ferramentas que ajudam você a:

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

  • Desenvolver modelos de equidade e explicabilidade, acompanhamento e auditabilidade para cumprir os requisitos de conformidade de linhagem e auditoria

  • Implante modelos de ML de forma rápida e fácil em escala e gerencie-os e administre-os de forma eficiente com MLOps

  • Execute cargas de trabalho de aprendizado de máquina em qualquer lugar com governança, segurança e conformidade integradas

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

Qualquer pessoa em uma equipe de ML pode usar suas ferramentas preferidas para fazer o trabalho. Quer esteja a executar experiências rápidas, a ajustar hiperparâmetros, a criar pipelines ou a gerir inferências, pode utilizar interfaces familiares, incluindo:

À medida que você refina o modelo e colabora com outras pessoas durante o resto 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 de Machine Learning.

Studio

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

  • Notebooks: escreva e execute seu próprio código em servidores Jupyter Notebook gerenciados que estão diretamente integrados no estúdio.

  • Visualize métricas de execução: analise e otimize seus experimentos com 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 escrever nenhum código. Arraste e solte conjuntos de dados e componentes para criar pipelines de ML.

  • Interface do usuário de aprendizado de máquina automatizada: saiba como criar experimentos de ML automatizados com uma interface fácil de usar.

  • Rotulagem de dados: use a rotulagem de dados do Machine Learning para coordenar de forma eficiente projetos de rotulagem de imagem ou texto.

Prontidão e segurança da empresa

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

As integrações de segurança incluem:

  • Redes Virtuais do Azure com grupos de segurança de rede.
  • Azure Key Vault, onde você pode salvar segredos de segurança, como informações de acesso para contas de armazenamento.
  • Azure Container Registry configurado atrás de uma rede virtual.

Para obter mais informações, consulte Tutorial: Configurar um espaço de trabalho seguro.

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

Outras integrações com os serviços do Azure dão suporte a um projeto de ML de ponta a ponta. Estas incluem:

  • Azure Synapse Analytics, que é usado para processar e transmitir dados com o Spark.
  • Azure Arc, onde você pode executar serviços do Azure em um ambiente Kubernetes.
  • Opções de armazenamento e banco de dados, como o Banco de Dados SQL do Azure e o Armazenamento de Blob do Azure.
  • Serviço de Aplicativo do Azure, que você pode usar para implantar e gerenciar aplicativos baseados em ML.
  • Microsoft Purview, que permite descobrir e catalogar ativos de dados em toda a sua organização.

Importante

O Azure Machine Learning não armazena nem processa seus dados fora da região onde você implanta.

Fluxo de trabalho do projeto de aprendizado de máquina

Normalmente, os modelos são desenvolvidos como parte de um projeto com um objetivo e metas. Os projetos envolvem frequentemente mais do que uma pessoa. Quando você experimenta dados, algoritmos e modelos, o desenvolvimento é iterativo.

Ciclo de vida do projeto

O ciclo de vida do projeto pode variar de acordo com o projeto, mas geralmente se parece com este diagrama.

Diagram that shows the machine learning project lifecycle

Um espaço de trabalho organiza um projeto e permite a colaboração de muitos usuários, todos trabalhando para um objetivo comum. Os usuários em um espaço de trabalho podem facilmente compartilhar os resultados de suas execuções a partir da experimentação na interface do usuário do estúdio. Ou eles podem usar ativos versionados para trabalhos como ambientes e referências de armazenamento.

Para obter mais informações, consulte Gerenciar espaços de trabalho 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 em uma agenda ou solicitação HTTPS.

Você pode implantar 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 a implantação de modelos.

Preparar modelos

No Azure Machine Learning, você pode executar seu script de treinamento na nuvem ou criar um modelo do zero. Os clientes geralmente trazem modelos que construíram e treinaram em estruturas de código aberto para que possam operacionalizá-los na nuvem.

Aberto e interoperável

Os cientistas de dados podem usar modelos no Aprendizado de Máquina do Azure que eles criaram em estruturas comuns do Python, como:

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

Outras linguagens e estruturas também são suportadas:

  • R
  • .NET

Para obter mais informações, consulte Integração de código aberto com o Azure Machine Learning.

Featurização automatizada e seleção de algoritmos

Em um processo repetitivo e demorado, no ML clássico, os cientistas de dados usam experiência prévia e intuição para selecionar a featurização de dados e o algoritmo certos para treinamento. O ML automatizado (AutoML) acelera esse processo. Você pode usá-lo por meio da interface do usuário do estúdio de Machine Learning ou do SDK do Python.

Para obter mais informações, consulte O que é aprendizado de máquina automatizado?.

Otimização de hiperparâmetros

A otimização de hiperparâmetros, ou ajuste de hiperparâmetros, pode ser uma tarefa tediosa. 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, consulte Ajustar hiperparâmetros.

Formação distribuída com vários nós

A eficiência do treinamento para trabalhos de treinamento de aprendizado profundo e, às vezes, de aprendizado de máquina clássico pode ser drasticamente melhorada por meio de treinamento distribuído de 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 via Kubernetes do Azure Machine Learning, clusters de computação do Azure Machine Learning e computação sem servidor:

  • PyTorch
  • TensorFlow
  • IPM

Você pode usar a distribuição MPI para Horovod ou lógica multinó personalizada. O Apache Spark é suportado por meio da computação do Spark sem servidor e do pool Synapse Spark anexado que usam clusters do Azure Synapse Analytics Spark.

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

Treino embaraçosamente paralelo

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

Implementar modelos

Para colocar um modelo em produção, implante-o. 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 inferência em lote, envolve invocar um ponto de extremidade com uma referência a dados. O ponto de extremidade em lote executa trabalhos de forma 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 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 via HTTPS. O tráfego pode ser dividido em várias implantações, permitindo testar novas versões do modelo, desviando alguma quantidade de tráfego inicialmente e aumentando depois que a confiança no novo modelo é estabelecida.

Para obter mais informações, consulte:

MLOps: DevOps para aprendizado de máquina

DevOps para modelos de ML, muitas vezes chamado de MLOps, é um processo para desenvolver modelos para produção. O ciclo de vida de um modelo, desde o treinamento até a implantação, deve ser auditável, se não reproduzível.

Ciclo de vida do modelo de ML

Diagram that shows the machine learning model lifecycle * MLOps.

Saiba mais sobre MLOps no Azure Machine Learning.

Integrações que permitem MLOPs

O Machine Learning é construído 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:

  • git integração.
  • Integração MLflow.
  • Agendamento de pipeline de aprendizado de máquina.
  • Integração da Grade de Eventos do Azure para gatilhos personalizados.
  • Facilidade de uso com ferramentas de CI/CD como GitHub Actions ou 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.
  • Linhagem entre trabalhos e ativos, como contêineres, dados e recursos de computação.

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

Próximos passos

Comece a usar o Azure Machine Learning: