Introdução a Continuous Integration/Continuous Delivery para Machine Learning

CI/CD para Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Visão geral do SDLC

  • SDLC: Software Development Life Cycle
  • Abordagem sistemática que cobre o desenvolvimento de software do início ao fim
  • Fluxo do SDLC é a sequência de etapas para atingir objetivos específicos:
    • Build: compilar e/ou empacotar código, resolver dependências
    • Test: garantir funcionalidade, qualidade e confiabilidade do código
    • Deploy: disponibilizar o software para uso em um ambiente específico

  Gráfico de dependência das etapas do fluxo SDLC. Build é a primeira etapa, seguida de test e deploy.

CI/CD para Machine Learning

SDLC em Machine Learning

  • O desenvolvimento em Machine Learning pode ser complexo e demorado
    • Modelo é um algoritmo que evolui dinamicamente
    • Engenharia de dados é essencial
  • Continuous Integration/Continuous Delivery reduz erros e acelera a entrega de software de ML de alta qualidade
  • Essencial para ML eficiente e experimentação
1 https://cloud.google.com/blog/products/ai-machine-learning/making-the-machine-the-machine-learning-lifecycle
CI/CD para Machine Learning

O que é CI/CD?

  • Continuous Integration (CI): prática de construir, testar e mesclar alterações de código com frequência em um repositório compartilhado
  • Permite detectar cedo problemas de integração e manter uma base de código consistente
  • Continuous Delivery (CD): garante que mudanças de código possam ir para produção a qualquer momento, com aprovação manual
  • Continuous Deployment (CD): implanta mudanças de código em produção automaticamente, sem intervenção manual
CI/CD para Machine Learning

CI/CD em Machine Learning

  • Dependência de dados: versionamento e estratégias de gestão de dados
  • Experimentação: automação de ajuste de hiperparâmetros
  • Versionamento de modelos: melhora a colaboração
  • Paradigma de testes: vai além de testes funcionais e de unidade tradicionais
  • Desafios de Continuous Deployment: complexidades em servir, monitorar e atualizar modelos
CI/CD para Machine Learning

Escopo deste curso

Gráfico das etapas de um projeto de Machine Learning, destacando Preparação de Dados, Desenvolvimento de Modelo e Avaliação e Ajuste de Modelo.

CI/CD para Machine Learning

Resumo

  • O fluxo do Software Development Life Cycle envolve build, test e deploy do código
  • Continuous Integration (CI) garante mesclas frequentes e detecção precoce de problemas
  • Continuous Delivery (CD) permite implantar mudanças com aprovação manual
  • Continuous Deployment (CD) automatiza a implantação sem intervenção manual
  • CI/CD em Machine Learning viabiliza
    • Versionamento de dados
    • Construção de modelos e versionamento de modelos
    • Automação de experimentos
    • Testes
    • Implantação
CI/CD para Machine Learning

Vamos praticar!

CI/CD para Machine Learning

Preparing Video For Download...