Explorar a arquitetura da solução
Quando você trabalha em projetos menores com equipes menores, pode fazer sentido ter um workspace do Azure Machine Learning. O único workspace pode ser usado para tudo: treinar, testar e implantar seu modelo. No entanto, na Proseware, é recomendável que ter uma solução robusta e preparada para o futuro, que possa ser dimensionada com facilidade ao criar e manter vários modelos que deseja integrar ao nosso aplicativo Web para profissionais.
Para mover um modelo rapidamente, mas com segurança, do desenvolvimento para a produção, você concordou com uma arquitetura de MLOps (operações de machine learning) de alto nível.
Observação
O diagrama é uma representação simplificada de uma arquitetura de MLOps. Para ver uma arquitetura mais detalhada, explore os diversos casos de uso no acelerador de solução de MLOps (v2).
A arquitetura inclui:
- Instalação: criar todos os recursos do Azure necessários para a solução.
- Desenvolvimento de modelo (loop interno): explorar e processar os dados para treinar e avaliar o modelo.
- Integração contínua: empacotar e registrar o modelo.
- Implantação de modelo (loop externo): implantar o modelo.
- Implantação contínua: testar o modelo e promovê-lo ao ambiente de produção.
- Monitoramento: monitorar o desempenho do modelo e do ponto de extremidade.
Para trabalhar com modelos de machine learning em grande escala, a Proseware deseja usar ambientes separados para diferentes estágios. Ter ambientes separados facilitará o controle do acesso aos recursos. Cada ambiente pode ser associado a um workspace separado do Azure Machine Learning.
Observação
Neste módulo, nos referimos à interpretação de ambientes DevOps. Observe que o Azure Machine Learning também usa o termo ambientes para descrever uma coleção de pacotes do Python necessários para executar um script. Esses dois conceitos de ambientes são independentes um do outro. Saiba mais sobre os Ambientes do Azure Machine Learning.
Para permitir que os modelos sejam testados antes de serem implantados, recomenda-se trabalhar com três ambientes:
O ambiente de desenvolvimento é usado no loop interno:
- Cientistas de dados treinam o modelo.
- O modelo é empacotado e registrado.
O ambiente de preparo é usado em parte do loop externo:
- Teste o código e o modelo com lint e teste de unidade.
- Implante o modelo para testar o ponto de extremidade.
O ambiente de produção é usado em outra parte do loop externo:
- Implante o modelo no ponto de extremidade de produção. O ponto de extremidade de produção é integrado ao aplicativo Web.
- Monitore o desempenho do modelo e do ponto de extremidade para disparar o treinamento novamente quando necessário.
Embora muitas tarefas de machine learning possam e devam ser automatizadas, também é recomendável planejar pontos em que deseja obter aprovação restrita. Quando um modelo tiver sido treinado e empacotado, é recomendável notificar o cientista de dados líder para validar o modelo antes que ele vá para o ambiente de preparo.
Da mesma forma, depois que o modelo for testado vigorosamente no ambiente de preparo, é recomendável adicionar aprovação restrita para garantir que alguém da equipe de desenvolvimento de software verifique se todos os testes foram bem-sucedidos antes de implantar seu modelo em produção.
Quando você trabalha com ambientes, a aprovação restrita permite controlar implantações de um ambiente para o outro.