Registos do Machine Learning para MLOps

Neste artigo, irá aprender a dimensionar MLOps em ambientes de desenvolvimento, teste e produção. Os seus ambientes podem variar de poucos para muitos com base na complexidade do seu ambiente de TI e são influenciados por fatores como:

  • Políticas de segurança e conformidade – os ambientes de produção têm de estar isolados dos ambientes de desenvolvimento em termos de controlos de acesso, arquitetura de rede, exposição a dados, etc.?
  • Subscrições – Os seus ambientes de desenvolvimento estão numa subscrição e ambientes de produção numa subscrição diferente? Muitas vezes, as subscrições separadas são utilizadas para efeitos de faturação, orçamento e gestão de custos.
  • Regiões – precisa de implementar em diferentes regiões do Azure para suportar requisitos de latência e redundância?

Nesses cenários, pode estar a utilizar diferentes áreas de trabalho do Azure Machine Learning para desenvolvimento, teste e produção. Esta configuração apresenta os seguintes desafios para a preparação e implementação de modelos:

  • Tem de preparar um modelo numa área de trabalho de desenvolvimento, mas implementá-lo num ponto final numa área de trabalho de produção, possivelmente numa subscrição ou região do Azure diferente. Neste caso, tem de conseguir rastrear a tarefa de preparação. Por exemplo, para analisar as métricas, registos, código, ambiente e dados utilizados para preparar o modelo se encontrar problemas de precisão ou desempenho com a implementação de produção.
  • Tem de desenvolver um pipeline de preparação com dados de teste ou dados anonimizados na área de trabalho de desenvolvimento, mas voltar a preparar o modelo com dados de produção na área de trabalho de produção. Neste caso, poderá ter de comparar as métricas de preparação em dados de exemplo vs. produção para garantir que as otimizações de preparação estão a ter um bom desempenho com os dados reais.

MLOps entre áreas de trabalho com registos

Os registos, tal como um repositório Git, dissociam os recursos de ML das áreas de trabalho e alojam-nos numa localização central, disponibilizando-os a todas as áreas de trabalho na sua organização.

Se quiser promover modelos entre ambientes (dev, test, prod), comece por desenvolver iterativamente um modelo em desenvolvimento. Quando tem um bom modelo de candidato, pode publicá-lo num registo. Em seguida, pode implementar o modelo do registo em pontos finais em diferentes áreas de trabalho.

Dica

Se já tiver modelos registados numa área de trabalho, pode promovê-los para um registo. Também pode registar um modelo diretamente num registo a partir da saída de uma tarefa de formação.

Se quiser desenvolver um pipeline numa área de trabalho e, em seguida, executá-lo noutras áreas, comece por registar os componentes e ambientes que formam os blocos modulares do pipeline. Quando submete a tarefa de pipeline, a área de trabalho em que é executada é selecionada pelos dados de computação e preparação, que são exclusivos de cada área de trabalho.

O diagrama seguinte ilustra a promoção de pipelines entre áreas de trabalho exploratórias e dev e, em seguida, a promoção de modelos entre desenvolvimento, teste e produção.

Diagrama de utilização de pipelines e modelos em ambientes.

Passos seguintes