INFO
Curso: MLOps: Prática de DevOps com Docker para Machine Learning
Carga Horária: 30h
Modalidade: Online
Período do curso: 14/05 a 29/05/2024
Turno/Horário:
- 14/05 a 24/05 - Terça, Quarta, Quinta e Sexta | 19h às 21h
- 27/05 a 29/05 - Segunda, Terça e Quarta | 19h às 21:45h
Professor(a): Daniel Lucrédio
Informações em: https://bit.ly/ufba-tomorrow-maio
Inscrição em: https://bit.ly/ufba-tomorrow-maio-form
NÍVEL DO CURSO
Avançado
OBJETIVOS DO CURSO
Capacitar o estudante a colocar soluções de Machine Learning em ambientes produtivos, integrando-as a outros sistemas computacionais
OBJETIVOS ESPECÍFICOS
Compreender conceitos de DevOps (como containers, integração/entrega contínuas), plataformas de execução em ambientes de nuvem, diferentes tipos de tarefas de processamento (offline, online e streaming).
POR QUE DEVO FAZER ESTE CURSO?
Atualmente, existe muito material disponível sobre Machine Learning, em forma de cursos pagos ou mesmo gratuitos, de modo que é cada vez maior o número de profissionais que conseguem adquirir um conhecimento suficiente para aplicar esse tipo de algoritmo em seu domínio de conhecimento. No entanto, a grande maioria dos cursos se restringe aos ambientes de experimentação e desenvolvimento, sem uma preocupação em colocar tais soluções em produção. Em outras palavras, muitos profissionais tem dificuldade em sair de ambientes como Jupyter notebook ou Google colab. No entanto, no mundo corporativo, é cada vez mais necessário integrar tais soluções com outros sistemas, de modo a agregar valor a sistemas e processos produtivos. Profissionais com conhecimento na produtização do Machine Learning dispõem de um diferencial importante, pois podem colaborar de maneira efetiva com times de desenvolvimento, ou até mesmo atuar sozinhos, aumentando significativamente seu valor no mercado de trabalho.
EMENTA
1. INTRODUÇÃO
- 1.1 Máquinas Virtuais e Contêineres
- 1.2 DevOps e Docker
- 1.3 Configuração do Ambiente - Python
- 1.4 Configuração do Ambiente - Docker
- 1.5 Dockerfile, Imagem e Contêiner Docker
- 1.6 Docker Hub e Comandos Adicionais
2. DESENVOLVIMENTO
- 2.1 Do notebook para aplicação - tarefas offline
- 2.2 Do notebook para aplicação - tarefas online
- 2.3 Do notebook para aplicação - tarefas em streaming
3. PRODUÇÃO
- 3.1 Desenvolvimento vs Produção: o fim ou o início?
- 3.2 Ambiente de Produção - tarefas offline
- 3.3 Ambiente de Produção - tarefas online
- 3.4 Ambiente de Produção - tarefas em streaming
4. INFRAESTRUTURA COMO CÓDIGO E ORQUESTRAÇÃO
- 4.1 Introdução
- 4.2 Orquestração com Docker Compose
5. INTEGRAÇÃO CONTÍNUA
- 5.1 Introdução
- 5.2 Controle de Versão
- 5.3 Configurando um repositório no GitLab
- 5.4 Branch e merge
- 5.5 Pipeline de Integração Contínua com GitLab CI/CD
6. ENTREGA CONTÍNUA
- 6.1 Introdução
- 6.2 Implantação automática no Docker Hub
- 6.3 Implantação automática no Heroku
- 6.4 Testando tudo junto