Explorar a arquitetura da solução

Concluído

Vamos examinar a arquitetura que você determinou para o fluxo de trabalho de MLOps (Operações de Machine Learning) para entender onde e quando devemos verificar o código.

Diagrama da arquitetura de operações de machine learning.

Observação

O diagrama é uma representação simplificada de uma arquitetura de MLOps. Para ver uma arquitetura mais detalhada, explore os vários casos de uso no acelerador de solução de MLOps (v2).

A principal meta da arquitetura de MLOps é criar uma solução robusta e reproduzível. Para isso, a arquitetura inclui:

  1. Instalação: criar todos os recursos do Azure necessários para a solução.
  2. Desenvolvimento de modelo (loop interno): explorar e processar os dados para treinar e avaliar o modelo.
  3. Integração contínua: empacotar e registrar o modelo.
  4. Implantação de modelo (loop externo): implantar o modelo.
  5. Implantação contínua: testar o modelo e promovê-lo ao ambiente de produção.
  6. Monitoramento: monitorar o desempenho do modelo e do ponto de extremidade.

Para mover um modelo do desenvolvimento para a implantação, você precisará de integração contínua. Durante a integração contínua, você empacotará e registrará o modelo. No entanto, antes de empacotar um modelo, você precisará verificar o código usado para treinar o modelo.

Junto com a equipe de ciência de dados, você concordou em usar o desenvolvimento baseado em tronco. Os branches não apenas protegerão o código de produção, eles também permitirão que você verifique automaticamente as alterações propostas antes de mesclá-las com o código de produção.

Vamos explorar o fluxo de trabalho para um cientista de dados:

Diagrama de desenvolvimento baseado em tronco, incluindo verificação automática de código quando uma solicitação de pull é criada.

  1. O código de produção fica hospedado na ramificação principal.
  2. Um cientista de dados cria um branch de recurso para desenvolvimento do modelo.
  3. O cientista de dados cria uma solicitação de pull para propor o envio das alterações por push para a ramificação principal.
  4. Quando a solicitação de pull é criada, um fluxo de trabalho do GitHub Actions é disparado para verificar o código.
  5. Quando o código é aprovado no lint e no teste de unidade, o cientista de dados líder precisa aprovar as alterações propostas.
  6. Depois que o cientista de dados líder aprovar as alterações, a solicitação de pull será mesclada e a ramificação principal será atualizada de acordo.

Como engenheiro de machine learning, você precisará criar um fluxo de trabalho do GitHub Actions que verifica o código executando um linter e testes de unidade sempre que uma solicitação pull é criada.