Explorar a arquitetura da solução

Concluído

Vamos examinar a arquitetura que você decidiu 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 exibir uma arquitetura mais detalhada, explore os vários casos de uso no acelerador de solução MLOps (v2).

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

  1. Configuração: crie todos os recursos necessários do Azure para a solução.
  2. Desenvolvimento de modelo (loop interno): explore e processe 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): implante o modelo.
  5. Implantação contínua: Teste o modelo e promova o ambiente de produção.
  6. Monitoramento: monitore 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 do desenvolvimento baseado em tronco, incluindo a verificação automática de código quando uma solicitação de pull é criada.

  1. O código de produção é hospedado no branch principal .
  2. Um cientista de dados cria uma feature branch para o desenvolvimento de modelos.
  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 uma 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 aprova as alterações, a solicitação de pull é mesclada e o ramo principal é atualizado adequadamente.

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.