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 o MLOps.

Pode criar um modelo no Azure Machine Learning ou utilizar um modelo criado a partir de uma plataforma open source, como pytorch, TensorFlow ou scikit-learn. As ferramentas do MLOps ajudam-no a monitorizar, preparar novamente e implementar novamente 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 plataformas irão encontrar um conjunto robusto de ferramentas, apoiadas por APIs de Resource Manager duráveis do Azure, para criar ferramentas de ML avançadas.

As empresas que trabalham no Microsoft cloud do Azure encontrarão 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 várias 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 geri-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 plataformas multicompatí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 na IU do estúdio do Azure Machine Learning.

Studio

O estúdio do Azure Machine Learning oferece múltiplas 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 de Jupyter Notebook geridos que estão diretamente integrados no estúdio.

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

    Captura de ecrã a mostrar as métricas de 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 automatizado: 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 com o Spark
  • Azure Arc, onde pode executar serviços do Azure num ambiente do Kubernetes
  • Opções de armazenamento e base de dados, tais como base de dados SQL do Azure, 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. Os projetos envolvem frequentemente 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, muitas vezes terá o seguinte aspeto:

Diagrama do ciclo de vida do projeto de machine learning

Uma área de trabalho organiza um projeto e permite a colaboração de muitos utilizadores, todos a trabalhar no sentido de 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 com base numa agenda ou num 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 do zero. 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.

Caracterização automatizada e seleção de algoritmos (AutoML)

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

Veja O que é o machine learning automatizado?

Otimização de hiperparâmetros

A otimização de hiperparâmetros ou a otimização de hiperparâmetros podem ser uma tarefa entediante. O Azure Machine Learning pode automatizar esta tarefa para comandos arbitrários parametrizados 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 com 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 significativamente melhorada através da preparação distribuída com 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 ML e dos clusters de computação do Azure ML:

  • 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).

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: