Testes automatizados em MLOps

MLOps totalmente automatizado

Arturo Opsetmoen Amador

Senior Consultant - Machine Learning

O que é teste de software?

$$

O processo de avaliar e verificar se um software ou aplicativo funciona como esperado

$$

Três tipos mais comuns de testes de software:

  • Testes de unidade
  • Testes de integração
  • Testes ponta a ponta

$$

$$

Uma pirâmide mostrando testes de unidade na base, seguidos por testes de integração e, no topo, testes ponta a ponta.

MLOps totalmente automatizado

Software de ML tem outra natureza

Aplicações de ML não são programadas explicitamente

$$

Um processo ilustrando o aprendizado em sistemas de ML.

Elas dependem de:

  • Dados
  • Modelos
MLOps totalmente automatizado

Testes em um sistema de MLOps são diferentes

Uma figura mostrando um sistema de software tradicional testado com testes de unidade e de integração. Do outro lado, um sistema de ML com testes de dados, de modelo e de pipeline.

1 https://research.google/pubs/pub46555/
MLOps totalmente automatizado

Testando sistemas de ML

$$

Além dos testes tradicionais de software:

  • Testes de dados
  • Testes de modelo
  • Testes de pipeline
MLOps totalmente automatizado

Testando os dados

Testes para features e dados incluem:

  • Expectativas de features
  • Valor da feature justifica o custo
  • Controle de privacidade
  • Evitar uso de dados ilegais

$$

Um conjunto de termômetros mostrando medições diferentes.

MLOps totalmente automatizado

Testando os modelos

Testes para modelos incluem:

  • Métricas de negócio e de ML correlacionadas
  • Todos os hiperparâmetros foram ajustados

  • Overfitting do modelo

  • Obsolescência do modelo
  • Comparação com baseline
MLOps totalmente automatizado

Testando pipelines de ML

Testes para pipelines de ML incluem:

  • Treinamento é reprodutível
  • Testes de integração do pipeline de ML

  • Depurabilidade do modelo

MLOps totalmente automatizado

Vamos praticar!

MLOps totalmente automatizado

Preparing Video For Download...