O que é o Azure Machine Learning?

O Azure Machine Learning é um serviço cloud para acelerar e gerir o ciclo de vida do projeto de machine learning. Os profissionais de machine learning, cientistas de dados e engenheiros podem utilizá-lo nos seus fluxos de trabalho diários: Preparar e implementar modelos e gerir MLOps.

Pode criar um modelo no Azure Machine Learning ou utilizar um modelo criado a partir de uma plataforma open source, como o Pytorch, o TensorFlow ou o scikit-learn. As ferramentas do MLOps ajudam-no a monitorizar, preparar novamente e reimplementar modelos.

Dica

Avaliação gratuita! Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar. Experimente 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 Azure Machine Learning destina-se a indivíduos e equipas que implementam MLOps na sua organização para colocar modelos de machine learning em produção num ambiente de produção seguro e auditável.

Os cientistas de dados e os engenheiros de ML encontrarão ferramentas para acelerar e automatizar os seus fluxos de trabalho diários. Os programadores de aplicações irão encontrar ferramentas para integrar modelos em aplicações ou serviços. Os programadores de plataforma encontrarão um conjunto robusto de ferramentas, apoiados por APIs Resource Manager duráveis do Azure, para criar ferramentas de ML avançadas.

As empresas que trabalham na cloud do Microsoft Azure encontrarão um controlo de acesso baseado em funções (RBAC) e segurança familiar para a infraestrutura. Pode configurar um projeto para negar o acesso a dados protegidos e selecionar operações.

Produtividade para todos os membros da equipa

Os projetos de machine learning exigem frequentemente uma equipa com diversas competências definidas para criar e manter. O Azure Machine Learning tem ferramentas que o ajudam a:

  • Colaborar com a sua equipa através de blocos de notas partilhados, recursos de computação, dados e ambientes

  • Desenvolver modelos de equidade e explicação, controlo e auditoria para cumprir os requisitos de conformidade de linhagem e auditoria

  • Implementar modelos de ML de forma rápida e fácil em escala e geri-los e governá-los de forma eficiente com o MLOps

  • Executar cargas de trabalho de machine learning em qualquer lugar com governação, segurança e conformidade incorporadas

Ferramentas de plataforma compatíveis que satisfazem as suas necessidades

Qualquer pessoa numa equipa de ML pode utilizar as suas ferramentas preferidas para realizar o trabalho. Quer esteja a executar experimentações rápidas, a otimização de hiperparâmetros, a criar pipelines ou a gerir inferências, pode utilizar interfaces familiares, incluindo:

À medida que está a refinar o modelo e a colaborar com outras pessoas ao longo do resto do ciclo de desenvolvimento do Machine Learning, pode partilhar e encontrar recursos, recursos e métricas para os seus projetos no estúdio do Azure Machine Learning IU.

Studio

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

  • Blocos de notas: escreva e execute o seu próprio código em servidores Jupyter Notebook geridos diretamente integrados no estúdio.

  • Visualizar métricas de execução: analise e otimize as suas experimentações com visualização.

    Captura de ecrã a mostrar as métricas para uma execução de preparação.

  • Estruturador do Azure Machine Learning: utilize o estruturador para preparar e implementar modelos de machine learning sem escrever código. Arraste e largue conjuntos de dados e componentes para criar pipelines de ML. Experimente o tutorial do estruturador.

  • IU de machine learning automatizada: saiba como criar experimentações de ML automatizadas com uma interface fácil de utilizar.

  • Etiquetagem de dados: utilize a etiquetagem de dados do Azure Machine Learning para coordenar eficientemente projetos de etiquetagem de imagens ou etiquetagem de texto .

Preparação para empresas e segurança

O Azure Machine Learning integra-se na plataforma cloud do Azure para adicionar segurança a projetos de ML.

As integrações de segurança incluem:

  • Redes Virtuais do Azure (VNets) com grupos de segurança de rede
  • O Azure Key Vault onde pode guardar segredos de segurança, como informações de acesso para contas de armazenamento
  • Azure Container Registry configurado atrás de uma VNet

Veja Tutorial: Configurar uma área de trabalho segura.

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

Outras integrações com os serviços do Azure suportam um projeto de machine learning de ponto a ponto. Estas incluem:

  • Azure Synapse Analytics para processar e transmitir dados em fluxo com o Spark
  • Azure Arc, onde pode executar serviços do Azure num ambiente do Kubernetes
  • Opções de armazenamento e base de dados, como SQL do Azure Base de Dados, Blobs de Armazenamento do Azure, etc.
  • Serviço de Aplicações do Azure permitir a implementação e gestão de aplicações com tecnologia ML

Importante

O Azure Machine Learning não armazena nem processa os seus dados fora da região onde implementa.

Fluxo de trabalho do projeto de machine learning

Normalmente, os modelos são desenvolvidos como parte de um projeto com objetivos e objetivos. Geralmente, os projetos envolvem mais do que 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 consoante o projeto, este terá muitas vezes o seguinte aspeto:

Diagrama de ciclo de vida do projeto de machine learning

Uma área de trabalho organiza um projeto e permite a colaboração para muitos utilizadores que trabalham para um objetivo comum. Os utilizadores numa área de trabalho podem partilhar facilmente os resultados das respetivas execuções a partir da experimentação na interface de utilizador do studio ou utilizar recursos com versões para tarefas como ambientes e referências de armazenamento.

Para obter mais informações, veja Gerir áreas de trabalho do Azure Machine Learning.

Quando um projeto está pronto para operacionalização, o trabalho dos utilizadores pode ser automatizado num pipeline de machine learning e acionado num agendamento ou pedido HTTPS.

Os modelos podem ser implementados na solução de inferência gerida, para implementações em tempo real e em lote, abstraindo a gestão de infraestrutura normalmente necessária para implementar modelos.

Preparar modelos

No Azure Machine Learning, pode executar o script de preparação na cloud ou criar um modelo de raiz. Muitas vezes, os clientes trazem modelos que criaram e treinaram em arquiteturas open source, para que possam operacionalizá-los na cloud.

Aberto e interoperável

Os cientistas de dados podem utilizar modelos no Azure Machine Learning que criaram em arquiteturas Python comuns, tais como:

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

Também são suportadas outras linguagens e arquiteturas, incluindo:

  • R
  • .NET

Veja Integração open source com o Azure Machine Learning.

Seleção de algoritmos e caracterização automatizada (AutoML)

Num processo repetitivo e moroso, os cientistas de dados de machine learning clássicos utilizam experiência e intuição anteriores para selecionar a caracterização e o algoritmo de dados corretos para preparação. O ML automatizado (AutoML) acelera este processo e pode ser utilizado através da IU do estúdio ou do SDK Python.

Consulte O que é o machine learning automatizado?

Otimização do hiperparâmetros

A otimização do hiperparâmetros ou a otimização do hiperparâmetros podem ser uma tarefa aborrecida. O Azure Machine Learning pode automatizar esta tarefa para comandos parametrizados arbitrários com pouca modificação na definição da tarefa. Os resultados são visualizados no estúdio.

Veja Como otimizar hiperparâmetros.

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

A eficiência da preparação para aprendizagem profunda e, por vezes, trabalhos de preparação de machine learning clássicos pode ser drasticamente melhorada através da preparação distribuída por vários nós. Os clusters de computação do Azure Machine Learning oferecem as opções de GPU mais recentes.

Suportado através do Kubernetes do Azure Machine Learning e dos clusters de computação do Azure Machine Learning:

  • PyTorch
  • TensorFlow
  • MPI

A distribuição de MPI pode ser utilizada para o Horovod ou para a lógica multinódea personalizada. Além disso, o Apache Spark é suportado através de clusters do Spark do Azure Synapse Analytics (pré-visualização).

Importante

A utilização do Apache Spark através de clusters do Spark do Azure Synapse Analytics está em pré-visualização pública. A versão de pré-visualização é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Veja Formação distribuída com o Azure Machine Learning.

Formação embaraçosamente paralela

O dimensionamento de um projeto de machine learning pode exigir um dimensionamento embaraçoso da preparação de modelos paralelos. Este padrão é comum em cenários como a previsão da procura, em que um modelo pode ser preparado para muitas lojas.

Implementar modelos

Para colocar um modelo em produção, este é implementado. Os pontos finais geridos do Azure Machine Learning abstraem a infraestrutura necessária para a classificação de modelos em lote ou em tempo real (online) (inferência).

Classificação em tempo real e em lotes (inferência)

A classificação em lote ou a inferência de lotes envolve invocar um ponto final com uma referência aos dados. O ponto final do batch executa tarefas de forma assíncrona para processar dados em paralelo em clusters de computação e armazenar os dados para análise adicional.

A classificação em tempo real, ou inferência online, envolve invocar um ponto final com uma ou mais implementações de modelos e receber uma resposta quase em tempo real através de HTTPs. O tráfego pode ser dividido em várias implementações, permitindo testar novas versões de modelos ao desviar alguma quantidade de tráfego inicialmente e aumentar assim que a confiança no novo modelo for estabelecida.

Veja:

MLOps: DevOps para machine learning

O DevOps para modelos de machine learning, muitas vezes denominados MLOps, é um processo de desenvolvimento de modelos para produção. O ciclo de vida de um modelo desde a preparação até à implementação tem de ser auditável se não for reproduzível.

Ciclo de vida do modelo de ML

Ciclo de vida do modelo de machine learning * MLOps

Saiba mais sobre o MLOps no Azure Machine Learning.

Integrações que permitem MLOPs

O Azure Machine Learning foi criado com o ciclo de vida do modelo em mente. Pode auditar o ciclo de vida do modelo para um ambiente e consolidação específicos.

Algumas das principais funcionalidades que permitem MLOps incluem:

  • git integração
  • Integração do MLflow
  • Agendamento de pipelines de machine learning
  • Azure Event Grid integração para acionadores personalizados
  • Fácil de utilizar com ferramentas CI/CD, como GitHub Actions ou Azure DevOps

Além disso, o Azure Machine Learning inclui funcionalidades de monitorização e auditoria:

  • Artefactos de tarefas, tais como instantâneos de código, registos e outras saídas
  • Linhagem entre tarefas e recursos, como contentores, dados e recursos de computação

Passos seguintes

Comece a utilizar o Azure Machine Learning: