Explore a arquitetura da solução

Concluído

Vamos revisar a arquitetura que você decidiu para o fluxo de trabalho de operações de aprendizado de máquina (MLOps) para entender onde e quando devemos verificar o código.

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

Nota

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

O principal objetivo da arquitetura 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 do 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 do modelo (loop externo): implante o modelo.
  5. Implantação contínua: teste o modelo e promova para o ambiente de produção.
  6. Monitoramento: Monitore o desempenho do modelo e do ponto final.

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. Antes de empacotar um modelo, no entanto, você precisará verificar o código usado para treinar o modelo.

Juntamente com a equipe de ciência de dados, você concordou em usar o desenvolvimento baseado em tronco. As ramificações não apenas protegerão o código de produção, mas também permitirão que você verifique automaticamente quaisquer alterações propostas antes de mesclá-lo 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 pull é criada.

  1. O código de produção é hospedado na ramificação principal .
  2. Um cientista de dados cria uma ramificação de recurso para o desenvolvimento de modelos.
  3. O cientista de dados cria uma solicitação pull para propor alterações por push para a ramificação principal.
  4. Quando uma solicitação pull é criada, um fluxo de trabalho de Ações do GitHub é acionado para verificar o código.
  5. Quando o código passa no linting 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 pull é mesclada e a ramificação principal é atualizada de acordo.

Como engenheiro de aprendizado de máquina, você precisará criar um fluxo de trabalho de Ações do GitHub que verifique o código executando um linter e testes de unidade sempre que uma solicitação pull for criada.