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 machine learning. Profissionais de machine learning, cientistas de dados e engenheiros podem usá-lo em seus fluxos de trabalho cotidianos para: treinar e implantar modelos e gerenciar MLOps.
Você pode criar um modelo no Azure Machine Learning ou usar um modelo criado de 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! Se você não tiver 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 Azure Machine Learning é para indivíduos e equipes que implementam MLOps nas 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 encontrarão ferramentas para acelerar e automatizar seus fluxos de trabalho cotidianos. Os desenvolvedores de aplicativos encontrarão ferramentas para integrar modelos em aplicativos ou serviços. Os desenvolvedores de plataforma encontrarão 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 encontrarão elementos familiares de segurança e RBAC (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
Para que projetos de machine learning sejam criados e mantidos, eles geralmente exigem equipes com conjuntos de habilidades diversificados. O Azure Machine Learning tem ferramentas que ajudam a permitir que você:
Colabore com sua equipe por meio de notebooks compartilhados, recursos de computação, 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 Azure Machine Learning.
Estúdio
O Estúdio do Azure Machine Learning oferece várias experiências de criação, dependendo do tipo de projeto e de seu nível de experiência de ML anterior, 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: analisar e otimizar seus experimentos com visualização.
Designer do Azure Machine Learning: use o designer para treinar e implantar modelos de machine learning sem nenhuma codificação. Arraste e solte conjuntos de dados e componentes para criar pipelines de ML. Experimente o tutorial do designer.
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 Azure Machine Learning integra-se à plataforma de nuvem do Azure para agregar segurança aos projetos de ML.
As integrações de segurança incluem:
- VNets (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
- Registro de Contêiner do Azure configurado atrás de uma VNet
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 machine learning de ponta a ponta. Eles incluem:
- Azure Synapse Analytics para processar e transmitir dados com o Spark
- Azure Arc, em que você pode executar serviços do Azure em um ambiente do Kubernetes
- Opções de armazenamento e banco de dados, como o Banco de Dados SQL do Azure, os Blobs Armazenamento do Azure e assim por diante
- Serviço de Aplicativo do Azure para permitir que você implante e gerencie aplicativos com tecnologia de ML
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, ele geralmente terá a seguinte aparência:
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 usar ativos com controle de versão para 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 machine learning e disparado em um agendamento ou em uma solicitação HTTPS.
Os modelos podem ser implantados 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. Os clientes geralmente trazem modelos que criaram 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 do Azure Machine Learning que criaram em estruturas comuns do Python, como:
- PyTorch
- TensorFlow
- scikit-learn
- XGBoost
- LightGBM
Também há suporte para outras linguagens e estruturas, incluindo:
- R
- .NET
Confira Integração de código aberto com o Azure Machine Learning.
Seleção automatizada de algoritmos e da definição de recursos (AutoML)
Em um processo repetitivo e demorado de machine learning clássico, os cientistas de dados usam as experiências anteriores e as intuições deles para selecionar o algoritmo e a definição de recursos de dados corretos para treinamento. O AutoML (ML automatizado) acelera esse processo e pode ser usado por meio da interface do usuário do estúdio ou do SDK do Python.
Confira O que é o machine learning automatizado?
Otimização de hiperparâmetro
A otimização (ou o ajuste) de hiperparâmetro pode ser uma tarefa entediante. O Azure 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.
Confira Como 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 cálculo do Azure Machine Learning oferecem as opções de GPU mais recentes.
Compatível por meio dos clusters de Kubernetes do Azure Machine Learning e dos clusters de cálculo do Azure Machine Learning:
- PyTorch
- TensorFlow
- MPI
A distribuição de MPI pode ser usada para Horovod ou lógica personalizada de vários nós. Além disso, o Apache Spark tem suporte por meio dos clusters do Spark do Azure Synapse Analytics (versão prévia).
Importante
O uso do Apache Spark por meio de clusters Spark do Azure Synapse Analytics está em versão prévia pública. A versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.
Confira Treinamento distribuído com o Azure Machine Learning.
Treinamento perfeitamente paralelo
O dimensionamento de um projeto de machine learning 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, ele é implantado. Os pontos de extremidade gerenciados do Azure Machine Learning abstraem a infraestrutura necessária para pontuação de modelo em tempo real (online) ou em lote (inferência).
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 à medida que a confiança no novo modelo é estabelecida.
Consulte:
- Implantar um modelo com um ponto de extremidade gerenciado em tempo real
- Usar pontos de extremidade em lote para pontuação
MLOps: DevOps para machine learning
O DevOps para modelos de machine learning 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
Saiba mais sobre o MLOps no Azure Machine Learning.
Integrações habilitando o MLOps
O Azure 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:
git
integração- Integração com o MLflow
- Agendamento de pipeline do machine learning
- Integração da Grade de Eventos do Azure para gatilhos personalizados
- Fácil de usar com ferramentas de CI/CD, como o GitHub Actions ou o Azure DevOps
Além disso, o Azure Machine Learning 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
Próximas etapas
Comece a usar o Azure Machine Learning: