2. Quem somos nós
Adriana Höher
Developer @ ThoughtWorks
Andherson Maeda
Developer @ ThoughtWorks
3. ● Fluxo típico para ciência de dados
● Principais características em projetos de Machine Learning
● Entrega contínua
● Problemas enfrentados
● A Técnica CD4ML
Entrega Contínua para projetos de Aprendizado de Máquina
Agenda
O que vem por aí
5. Coletar dados e
extrair as features
Separar em
conjuntos de
treino e validação
Treinar o modelo e
avaliar a
performance
Fluxo simplificado para ciência de dados
8. Principais
características de
um projeto de
Machine Learning
Imagem: https://www.forbes.com/sites/kalevleetaru/2019/01/15/why-machine-learning-needs-semantics-not-just-statistics
9. Existe uma
dependência forte do
software com os
dados, mesmo
durante o
desenvolvimento.
Orientada a
dados
Além dos tradicionais,
são gerados modelos,
hiperparâmetros,
datasets que podem
ter um tamanho
considerável.
Além dos papéis
tradicionais, entram
em jogo cientistas de
dados, engenheiras
de machine learning,
engenheiras de
dados e outros.
Costuma ser
orientado a hipóteses
com atividades mais
experimentais e grau
de incerteza elevado
Maior número
de artefatos
Papéis a mais
no processo
Orientado a
Hipóteses
Principais características
10. ML é somente uma parte
Sculley, David, et al. "Hidden technical debt in machine learning systems." Advances in neural
information processing systems. 2015.
13. Entrega Contínua
"Uma abordagem de engenharia de software na qual times produzem software em ciclos
curtos, garantindo que esse software seja confiável e possa ser publicado a qualquer
momento. " - Jez Humble & Dave Farley
Humble, Jez, and David Farley. Continuous Delivery: Reliable Software Releases through Build, Test, and
Deployment Automation (Adobe Reader). Pearson Education, 2010.
15. Além dos problemas de engenharia de software,
para projetos de machine learning como lidar com:
● Gestão de dados e artefatos
● Orquestração de infraestrutura
● Avaliação de performance e monitoramento dos
experimentos
Problemas enfrentados
18. OrquestraçãoDados Monitoramento
+ +
Schema
Sampling over Time
Volume
...
Recursos
Serviços
Pipelines de dados
Clusters
...
Performance
Desempenho
Comportamentos
indesejados
...
Diferentes fontes de mudança
+
Código
Novas funcionalidades
Correções
Otimizações
...
19. O QUE PRECISAMOS EM NOSSA STACK?
19
Fazer Entrega Contínua com Machine Learning é um problema difícil
CONTROLE DE
VERSÃO E
REPOSITÓRIO
DE ARTEFATOS
DADOS
DISPONÍVEIS E
ACESSÍVEIS
20. Controle de versão e repositório de artefatos
dvc - data science version control
Ferramenta integrada ao git que permite o
gerenciamento de artefatos como modelos e
conjuntos de dados.
master
change-max-depth
try-random-forest
model.pkl
decision_tree.py
model.pkl.dvc
GCP
21. ● dvc é git porcelain para armazenamento de arquivos usando a cloud
● dvc conecta os passos de treino do modelo para criar fluxos
reproduzíveis
21
master
change-max-depth
try-random-forest
model.pkl
decision_tree.py
model.pkl.dvc
GCP
SOLUÇÃO: dvc—data science version control
22. O QUE PRECISAMOS EM NOSSA STACK?
22
Fazer Entrega Contínua com Machine Learning é um problema difícil
ORQUESTRAÇÃO
DE ENTREGA
CONTÍNUA PARA
COMBINAR
PIPELINES
INFRAESTRUTURA
PARA MÚLTIPLOS
PIPELINES E
EXPERIMENTOS
23. Orquestração de Pipelines e Infraestrutura
GO-CD e docker containers
Automação do processo de building, teste e
deploy de aplicações em produção.
O código da
aplicação no
controle de versão
Image de um
container como
artefato de
deploy
Deploy do
container nos
servidores de
produção
24. O QUE PRECISAMOS EM NOSSA STACK?
24
Fazer Entrega Contínua com Machine Learning é um problema difícil
AVALIAÇÃO DE
PERFORMANCE
DE MODELOS
OBSERVABILIDADE E
MONITORAMENTO
DE MODELOS
25. Avaliação de Performance dos Modelos
mlflow
Plataforma Open Source para gerenciamento
do ciclo de vida em Machine Learning
26. Observabilidade e Monitoramento
Stack EFK
Coletor de dados
Open Source para
unificação de logs
Engine de busca
Open Source
Web UI Open Source
para exploração e
visualização dos
dados
28. O QUE PRECISAMOS EM NOSSA STACK?
28
Fazer Entrega Contínua com Machine Learning é um problema difícil
AVALIAÇÃO DE
PERFORMANCE
DE MODELOS
CONTROLE DE
VERSÃO E
REPOSITÓRIO
DE ARTEFATOS
OBSERVABILIDA
DE E
MONITORAMEN
TO DE MODELOS
DADOS
DISPONÍVEIS E
ACESSÍVEIS
ORQUESTRAÇÃO
DE ENTREGA
CONTÍNUA PARA
COMBINAR
PIPELINES
INFRAESTRUTURA
PARA MÚLTIPLOS
PIPELINES E
EXPERIMENTOS
29. O QUE PRECISAMOS EM NOSSA STACK?
29
Fazer Entrega Contínua com Machine Learning é um problema difícil
AVALIAÇÃO DE
PERFORMANCE
DE MODELOS
CONTROLE DE
VERSÃO E
REPOSITÓRIO
DE ARTEFATOS
OBSERVABILIDA
DE E
MONITORAMEN
TO DE MODELOS
DADOS
DISPONÍVEIS E
ACESSÍVEIS
ORQUESTRAÇÃO
DE ENTREGA
CONTÍNUA PARA
COMBINAR
PIPELINES
INFRAESTRUTURA
PARA MÚLTIPLOS
PIPELINES E
EXPERIMENTOS
32. 32
Dados Treino
DadosDisponíveiseAcessíveis
COLOCANDO TUDO JUNTO
Dados
Validação
Ciência de
Dados,
construção de
modelos
Código fonte
+
Executáveis
Modelos +
parâmetros
Avaliação
Modelos
Modelos de
produção
Ferramentas e Repositórios para CD
33. 33
Dados Treino
DadosDisponíveiseAcessíveis
COLOCANDO TUDO JUNTO
Dados
Validação
Código fonte
+
Executáveis
Modelos +
parâmetros
Avaliação
Modelos
Modelos de
produção
Testes
Integração
Ciência de
Dados,
construção de
modelos
Ferramentas e Repositórios para CD
34. 34
Dados Treino
DadosDisponíveiseAcessíveis
COLOCANDO TUDO JUNTO
Dados
Validação
Ciência de
Dados,
construção de
modelos
Código fonte
+
Executáveis
Modelos +
parâmetros
Avaliação
Modelos
Modelos de
produção
Testes
Integração
Deployment
Ferramentas e Repositórios para CD
35. 35
Dados Treino
DadosDisponíveiseAcessíveis
COLOCANDO TUDO JUNTO
Dados
Validação
Ciência de
Dados,
construção de
modelos
Código fonte
+
Executáveis
Modelos +
parâmetros
Avaliação
Modelos
Modelos de
produção
Testes
Integração
Deployment Monitoramento
Dados Produção
Ferramentas e Repositórios para CD
36. COLOCANDO TUDO JUNTO
36
Ciência de
Dados,
construção de
modelos
Dados Treino
Código fonte
+
Executáveis
Modelos de
produção
Testes
Integração
Deployment
Dados
Validação
Modelos +
parâmetros
Ferramentas e Repositórios para CD
DadosDisponíveiseAcessíveis
Monitoramento
Dados Produção
Avaliação
Modelos
38. “Entrega Contínua é a capacidade de
colocar mudanças de todos os tipos —
incluindo novas funcionalidades,
configurações, correções e experimentos —
em produção, ou para os usuários, de
forma segura e sustentável.”
- Jez Humble & Dave Farley
39. “Apesar dos desafios, aplicar Entrega
Contínua para Machine learning permite
o desenvolvimento e deploy contínuos, sob
demanda, de forma sustentável, flexível e
rastreável, do notebook à produção.”
40. "Entrega Contínua é a capacidade de colocar
.mudanças de todos os tipos — incluindo novas
funcionalidades, configurações, correções e
experimentos — em produção, ou para os
usuários, .de forma segura e .sustentável ."
— Jez Humble & Dave Farley
41. “Apesar dos desafios, aplicar
.Entrega Contínua para Machine learning.
permite o desenvolvimento e deploy contínuos,
sob demanda, de forma sustentável,
.flexível e rastreável , do .notebook à produção .”
45. XConf 2019 Presentation Template
● Please use the template. Make a copy of this template and create your deck from there.
● Do not move the subtitle space.
● Try to keep as little content on each slides as possible, you may need to break up your content
over multiple slides.
● Title and section slides: Choose either dark grey or white and maintain consistency in your deck.
● Use high res images.
● Please stick to Open Sans!
● To change images on the layout place your image and simply click on “replace image”
● Make copies of already made-up slides rather than using masters.
46. The title of your
talk will go here
Your name goes here
47. The title of your
talk will go here
Your name goes here
48. The title of your
talk will go here
Your name goes here
49. The title of your
talk will go here
Your name goes here
50. The title of your
talk will go here
Your name goes here
51. The title of your
talk will go here
Your name goes here
61. Click to add heading here
Body size default to 16 px Open Sans Light. Pellentesque habitant morbi tristique senectus
et netus et malesuada fames ac turpis egestas.
● Body size default to 14 px Open Sans. Pellentesque habitant morbi tristique senectus et netus
et malesuada fames ac turpis egestas.
● Body size default to 14 px Open Sans. Pellentesque habitant morbi tristique senectus et netus
et malesuada fames ac turpis egestas.
● Body size default to 14 px Open Sans. Pellentesque habitant morbi tristique senectus et netus
et malesuada fames ac turpis egestas.
Click to add subheading
62. Click to add heading here
Body size default to 16 px Open Sans Light. Pellentesque habitant morbi tristique senectus
et netus et malesuada fames ac turpis egestas.
● Body size default to 14 px Open Sans. Pellentesque habitant morbi tristique senectus et netus
et malesuada fames ac turpis egestas.
● Body size default to 14 px Open Sans. Pellentesque habitant morbi tristique senectus et netus
et malesuada fames ac turpis egestas.
● Body size default to 14 px Open Sans. Pellentesque habitant morbi tristique senectus et netus
et malesuada fames ac turpis egestas.
63. Body size default to 16 px Open Sans Light. Place
your image and “send to the back” to make use of
the white mask to create the angle required.
● Body size default to 14 px Open Sans.
Pellentesque habitant morbi tristique senectus et
netus et malesuada fames ac turpis egestas.
● Body size default to 14 px Open Sans.
Pellentesque habitant morbi tristique senectus et
netus et malesuada fames ac turpis egestas.
Text and an image
64. More text for a headline and an image
Body size default to 16 px Open Sans Light. Place your image and “send
to the back” to make use of the white mask to create the angle required.
● Body size default to 14 px Open Sans. Pellentesque habitant morbi
tristique senectus et netus et malesuada fames ac turpis egestas.
● Body size default to 14 px Open Sans. Pellentesque habitant morbi
tristique senectus et netus et malesuada fames ac turpis egestas.
● Body size default to 14 px Open Sans. Pellentesque habitant morbi
tristique senectus et netus et malesuada fames ac turpis egestas.
65. “Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Etiam iaculis ante tellus, sit
amet efficitur nulla mattis ut. Curabitur a
dolor id elit convallis posuere.”
- [First Name] [Last Name]
66. Lorem ipsum dolor sit
amet, consectetur
adipiscing elit, sed do
eiusmod tempor...
A title in
a box
Lorem ipsum dolor sit
amet, consectetur
adipiscing elit, sed do
eiusmod tempor...
Lorem ipsum dolor sit
amet, consectetur
adipiscing elit, sed do
eiusmod tempor...
Lorem ipsum dolor sit
amet, consectetur
adipiscing elit, sed do
eiusmod tempor...
A title in
a box
A title in
a box
A title in
a box
Click to add heading here
67. A title in
a box
A title in
a box
A title in
a box
A title in
a box
A title in
a box
A title in
a box
Click to add heading here
68. example
of graphic
example
of graphic
example
of graphic
Text and an image
Click to add subheading
Body size default to 16 px Open Sans Light.
Place your image and “send to the back” to
make use of the white mask to create the
angle required.
● Body size default to 14 px Open Sans.
Pellentesque habitant morbi tristique senectus
et netus et malesuada fames ac turpis egestas.
● Body size default to 14 px Open Sans.
Pellentesque habitant morbi tristique senectus
et netus et malesuada fames ac turpis egestas.
69. 2001 2005 20171996 2008 2010 2014
Lorem
ipsum dolor
sit amet
Lorem
ipsum dolor
sit amet
Lorem
ipsum dolor
sit amet
Lorem
ipsum dolor
sit amet
Lorem
ipsum dolor
sit amet
Click to add heading here
Click to add subheading
70. HEADER 1 HEADER 2 HEADER 3 HEADER 4
Click to add heading here
72. Icons
Icons created by Jimmy Cheung are available at https://remixicon.com/
Change the fill colour using “format options”. More icons available in PPT icon library or noun project.
Colour Palette
Try to stick to these colours, but if you need some more use the TW colour palette.