SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
"Produtização"
de Machine Learning
Tratando Machine Learning como software
DiogoMunaroVieira
EngenheirodeMachineLearning@globo.com
Co-Founder@DataBootcamp
@diogomvieira /in/dmvieira
Caso
De Uso
REC
first love
REC
first love
API
Request
Recomendação
REC
first ML
API
REC
first ML
API
Comobotaissoaí?
Como os modelos
São Feitos?
Ciclo do
Cientista de Dados
Jupyter
Notebook
Jupyter
Notebook
Prototipagem
!
Como organizar os Notebooks?
• Preparação:
• Obtençãode dados
• Preparaçãodedados
• Treino:
• BuscadeFeatures
• Treinodomodelo
• Otimizaçãodehiperparâmetros
• Geraçãodomodelo
• Teste:
• Preparaçãodedados
• Predição
• Visualização
• Insights
• Gráficos
Como organizar Notebooks?
• Preparação:
• Obtençãode dados
• Preparaçãodedados
• Treino:
• BuscadeFeatures
• Treinodomodelo
• Otimizaçãodehiperparâmetros
• Geraçãodo modelo
• Teste:
• Preparaçãodedados
• Predição
• Visualização
• Insights
• Gráficos
Vários Notebooks!
• Preparação:
• Obtençãode dados
• Preparaçãodedados
• Treino:
• BuscadeFeatures
• Treinodomodelo
• Otimizaçãodehiperparâmetros
• Geraçãodo modelo
• Teste:
• Preparaçãodedados
• Predição
• Visualização
• Insights
• Gráficos
–Cientista de Dados esperançoso
“Maravilha! Só preciso saber isso pra botar em produção?”
Alguns projetos
Permitem…
Alguns projetos
Permitem…
eXtreme
Go Horse
Boas práticas
em Machine Learning
–Kent Beck, criador XP e TDD
“I'm not a great programmer; I'm just a good programmer with great
habits.”
Desenvolvimento
De Software
• Teste Automatizado
• Versionamento de Código / Modelo
• Responsabilidades únicas
• Legibilidadedocódigo
• Padrõesdeprojeto
• Etc…
Teste
Automatizado
https://www.test-institute.org/Automated_Software_Testing.php
Paramodelo
• Caixa Preta

• Metamórfico (relação
entre parâmetros)
Paracódigo
• Qualquer suite de teste

• Python (Unittest)

• R (RUnit)
Metamórfico e
LGPD
Explicaçãodemodelos
Consistênciaderesultados
Testesprecisamdeajustes
quandomodelossãotreinados
Implementação:
https://github.com/slundberg/shap
Versionamento de
Código
Just
It
Versionamento de
Modelo
https://dvc.org
+
Responsabilidades
Únicas
Façaumalibdeacessocomum
Funçõescomúnicaresponsabilidade
Montepipelinesdeprocessamento
Implantação
De Software
• AutomatizaçãodeDeploy
• MonitoramentodeModelo
• SLAdePredições
Automatização de
Deploy
Jenkins
CircleCI
CodeShip
…
Monitoramento de
Modelo
Accuracy
Númerodepredições
TempodePredição
TempodeTreino
…
SLA de
Predições
PACBayessian:
Probabilidade de uma probabilidade ser boa e

encontrar limites probabilísticas que sua

probabilidade pode chegar
Qualataxadeerrodasuapredição?

Mais conteúdo relacionado

Semelhante a Machine learning em Produção

Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...Thiago Barros, PSM
 
AgileTourBH 2014 - Dairton Bassi - Extreme agile
AgileTourBH 2014 - Dairton Bassi - Extreme agileAgileTourBH 2014 - Dairton Bassi - Extreme agile
AgileTourBH 2014 - Dairton Bassi - Extreme agileAgileTour Belo Horizonte
 
Práticas do Extreme Agile
Práticas do Extreme AgilePráticas do Extreme Agile
Práticas do Extreme AgileDairton Bassi
 
House of data - ciência de dados para desenvolvedores
House of data - ciência de dados para desenvolvedoresHouse of data - ciência de dados para desenvolvedores
House of data - ciência de dados para desenvolvedoresAna Paula Gomes
 
[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de TestesGUTS-RS
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Durotdc-globalcode
 
TDC2016SP - Colocando modelos de Machine Learning em produção.
TDC2016SP - Colocando modelos de Machine Learning em produção.TDC2016SP - Colocando modelos de Machine Learning em produção.
TDC2016SP - Colocando modelos de Machine Learning em produção.tdc-globalcode
 
UI Design para Desenvolvimento Mobile & Games
UI Design para Desenvolvimento Mobile & GamesUI Design para Desenvolvimento Mobile & Games
UI Design para Desenvolvimento Mobile & GamesSérgio Bezerra da Silva
 
Modelos de Processo de Software Parte 5
Modelos de Processo de Software Parte 5Modelos de Processo de Software Parte 5
Modelos de Processo de Software Parte 5Elaine Cecília Gatto
 
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...Adolfo Guimaraes
 
TDC2018FLN | Trilha Data Science - Encontrando Lookalikes para publicidade di...
TDC2018FLN | Trilha Data Science - Encontrando Lookalikes para publicidade di...TDC2018FLN | Trilha Data Science - Encontrando Lookalikes para publicidade di...
TDC2018FLN | Trilha Data Science - Encontrando Lookalikes para publicidade di...tdc-globalcode
 
Equipes de sucesso final
Equipes de sucesso finalEquipes de sucesso final
Equipes de sucesso finalPaulo Mattos
 
Aprendizado de máquina
Aprendizado de máquinaAprendizado de máquina
Aprendizado de máquinaparasite
 
FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014
FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014
FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014Vanilton Pinheiro
 

Semelhante a Machine learning em Produção (20)

Apresentacao artigo final
Apresentacao artigo finalApresentacao artigo final
Apresentacao artigo final
 
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
 
AgileTourBH 2014 - Dairton Bassi - Extreme agile
AgileTourBH 2014 - Dairton Bassi - Extreme agileAgileTourBH 2014 - Dairton Bassi - Extreme agile
AgileTourBH 2014 - Dairton Bassi - Extreme agile
 
Práticas do Extreme Agile
Práticas do Extreme AgilePráticas do Extreme Agile
Práticas do Extreme Agile
 
House of data - ciência de dados para desenvolvedores
House of data - ciência de dados para desenvolvedoresHouse of data - ciência de dados para desenvolvedores
House of data - ciência de dados para desenvolvedores
 
Aula 06 Modelagem de Dados
Aula 06 Modelagem de DadosAula 06 Modelagem de Dados
Aula 06 Modelagem de Dados
 
[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes
 
Machine Learning Black Boxes
Machine Learning Black BoxesMachine Learning Black Boxes
Machine Learning Black Boxes
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
 
TDC2016SP - Colocando modelos de Machine Learning em produção.
TDC2016SP - Colocando modelos de Machine Learning em produção.TDC2016SP - Colocando modelos de Machine Learning em produção.
TDC2016SP - Colocando modelos de Machine Learning em produção.
 
UI Design para Desenvolvimento Mobile & Games
UI Design para Desenvolvimento Mobile & GamesUI Design para Desenvolvimento Mobile & Games
UI Design para Desenvolvimento Mobile & Games
 
Modelos de Processo de Software Parte 5
Modelos de Processo de Software Parte 5Modelos de Processo de Software Parte 5
Modelos de Processo de Software Parte 5
 
EBAC Django
EBAC DjangoEBAC Django
EBAC Django
 
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
 
TDC2018FLN | Trilha Data Science - Encontrando Lookalikes para publicidade di...
TDC2018FLN | Trilha Data Science - Encontrando Lookalikes para publicidade di...TDC2018FLN | Trilha Data Science - Encontrando Lookalikes para publicidade di...
TDC2018FLN | Trilha Data Science - Encontrando Lookalikes para publicidade di...
 
Ementa curso de dados
Ementa curso de dadosEmenta curso de dados
Ementa curso de dados
 
Equipes de sucesso final
Equipes de sucesso finalEquipes de sucesso final
Equipes de sucesso final
 
Aprendizado de máquina
Aprendizado de máquinaAprendizado de máquina
Aprendizado de máquina
 
Workshop de Visual Thinking para os Negócios
Workshop de Visual Thinking para os NegóciosWorkshop de Visual Thinking para os Negócios
Workshop de Visual Thinking para os Negócios
 
FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014
FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014
FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014
 

Mais de Diogo Munaro Vieira

Testes metamórficos em problemas complexos
Testes metamórficos em problemas complexosTestes metamórficos em problemas complexos
Testes metamórficos em problemas complexosDiogo Munaro Vieira
 
Apache Spark Overview and Applications
Apache Spark Overview and ApplicationsApache Spark Overview and Applications
Apache Spark Overview and ApplicationsDiogo Munaro Vieira
 
Paralelismo em machine learning e suas aplicações
Paralelismo em machine learning e suas aplicaçõesParalelismo em machine learning e suas aplicações
Paralelismo em machine learning e suas aplicaçõesDiogo Munaro Vieira
 
MLOps: Transformando seus modelos de ml em produtos
MLOps: Transformando seus modelos de ml em produtosMLOps: Transformando seus modelos de ml em produtos
MLOps: Transformando seus modelos de ml em produtosDiogo Munaro Vieira
 
Desenvolvedor de software para Big Data
Desenvolvedor de software para Big DataDesenvolvedor de software para Big Data
Desenvolvedor de software para Big DataDiogo Munaro Vieira
 
Conhecendo o desejo de mais de 10 milhões de usuários por dia
Conhecendo o desejo de mais de 10 milhões de usuários por diaConhecendo o desejo de mais de 10 milhões de usuários por dia
Conhecendo o desejo de mais de 10 milhões de usuários por diaDiogo Munaro Vieira
 
Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)
Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)
Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)Diogo Munaro Vieira
 

Mais de Diogo Munaro Vieira (8)

Testes metamórficos em problemas complexos
Testes metamórficos em problemas complexosTestes metamórficos em problemas complexos
Testes metamórficos em problemas complexos
 
Apache Spark Overview and Applications
Apache Spark Overview and ApplicationsApache Spark Overview and Applications
Apache Spark Overview and Applications
 
Paralelismo em machine learning e suas aplicações
Paralelismo em machine learning e suas aplicaçõesParalelismo em machine learning e suas aplicações
Paralelismo em machine learning e suas aplicações
 
MLOps: Transformando seus modelos de ml em produtos
MLOps: Transformando seus modelos de ml em produtosMLOps: Transformando seus modelos de ml em produtos
MLOps: Transformando seus modelos de ml em produtos
 
Desenvolvedor de software para Big Data
Desenvolvedor de software para Big DataDesenvolvedor de software para Big Data
Desenvolvedor de software para Big Data
 
Big Data na Globo.com
Big Data na Globo.comBig Data na Globo.com
Big Data na Globo.com
 
Conhecendo o desejo de mais de 10 milhões de usuários por dia
Conhecendo o desejo de mais de 10 milhões de usuários por diaConhecendo o desejo de mais de 10 milhões de usuários por dia
Conhecendo o desejo de mais de 10 milhões de usuários por dia
 
Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)
Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)
Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)
 

Machine learning em Produção