Ir para o conteúdo

CI/CD para projetos de Machine Learning

O tweet de Aurimas Griciūnas chama a atenção para o fato de que, ao trabalhar com inteligência artificial, é essencial considerar também os modelos de machine learning que não são baseados em grandes modelos de linguagem (LLM). A produção desses modelos traz desafios próprios, especialmente no que diz respeito ao processo de CI/CD, que precisa ser adaptado para lidar com o pipeline de treinamento como um artefato de primeira classe.

Diferentes etapas do CI/CD tradicional

Em projetos de software convencionais, o pipeline de CI/CD costuma ser composto por, no mínimo, três etapas principais:

  • Unit Tests – verificam se funções e métodos produzem os resultados esperados para um conjunto de entradas pré‑definidas.
  • Integration Tests – avaliam a capacidade de trechos de código se integrarem com sistemas externos (por exemplo, bancos de dados) e entre si.
  • Delivery – disponibiliza o artefato gerado em um ambiente de pré‑produção ou produção, conforme a fase do GitFlow.

Adaptação para pipelines de Machine Learning

Quando o projeto envolve machine learning, cada uma dessas etapas ganha um tratamento específico, considerando o pipeline de treinamento de ML como um artefato a ser testado e entregue.

Observacao

O pipeline de treinamento de ML deve ser versionado, testado e entregue da mesma forma que qualquer outro artefato de software.

Etapa 1 – Unit Tests

Em um setup maduro de MLOps, cada passo do pipeline de treinamento (por exemplo, pré‑processamento, treinamento, avaliação) é isolado em seu próprio ambiente e pode ser submetido a testes unitários independentes, já que são compostos por funções e métodos comuns.

Etapa 2 – Integration Tests

Nesta fase, verifica‑se se o pipeline de treinamento consegue se integrar com sistemas externos:

  • Conexão com um Feature Store para extrair dados de características.
  • Envio do artefato de modelo treinado para um Model Registry.
  • Registro de metadados em um ML Metadata Store.
  • Validação de que os dados de treinamento são corretamente passados para a etapa de avaliação (por exemplo, passando o conjunto de validação do passo de treinamento para o passo de avaliação).

Dica

Tratar o pipeline de treinamento como um artefato permite que ele seja testado quanto à sua capacidade de se conectar a esses serviços externos antes de

Ferramentas e Tecnologias

  • [[KubeFlow Pipelines]]
  • [[SageMaker Pipelines]]

Nota pessoal

https://x.com/i/status/2062883076925980691

Tags

ci-cd #mlops #kubeflow #sagemaker