SlideShare uma empresa Scribd logo
Machine Learning
Do notebook ao modelo em Produção
Quem eu sou?
● CDO na CQuantt - Responsável por conduzir
projetos de Ciência de Dados e Machine
Learning
● Pesquisador na área de Deep Learning - UFG
● Community Manager do Data Hackers
● Cientista de Dados e Dev nas horas vagas...
#estatistica #machineLearning #spark
#python #deepLearning #tensorFlow
#bigData #analytics
/marlesson-santana-25019358/
/marlesson
Marlesson Santana - marlesson@cquantt.com
...
● quem já treinou algum modelo antes?
● quem já fez o deploy de um modelo por diversão?
● quem já fez o deploy de um modelo para o trabalho?
● quem acompanha o modelo em produção e gera indicadores de performance?
Roteiro
● Introdução a Machine Learning
● Pipeline de um projeto de ML
● End-to-end ML com MLflow
● Ferramentas
Machine Learning - Introdução
MachineLearning
Classificação
Regressão
Clusterização
Detecção de Fraudes
Reconhecimento Facial
Previsão de Demanda
Estimativa Receita/Demanda
Segmentação de Cliente
Modelagem de Tópico
Machine learning é sobre extração de padrões nos dados para que esses padrões
possam ser utilizados na resolução de problemas.
Modelo f(X) = y
Predição
Machine Learning - Introdução
Dados ???
Machine
Learning
??? $$$
Modelo
f(X) = y
Predição
A percepção é que o pipeline de ML é algo como...
Machine Learning - Pipeline de ML
Dados
Preparação
dos Dados
Treinamento
do Modelo
Deploy Serviço
● Histórico
● Tipos de Dados
● Fontes Externas
● Batch/Real Time
● DataViz
● Transformação e
Extração de Features
● Pipeline de dados
● Diferentes Modelos
● Tuning
● Avaliação
● Versionamento
● Pipelines
● Infraestrutura
● Escalabilidade
● Monitoramento
● Avaliação online
● Predição de novos dados
Engenheiro de Dados Cientista de Dados e Engenheiros de ML Engenheiro de Software
Feedback Loop
… mas é um processo que envolve diferentes profissionais, ferramentas e tecnologias...
Machine Learning - Pipeline de ML
Preparação
dos Dados
Treinamento
do Modelo
● DataViz
● Transformação e
Extração de Features
● Pipeline de dados
● Escolha do melhor
modelo
● Tuning
● Avaliação
● Versionamento
O processo de modelagem pode ser realizado
por diferentes ferramentas/linguagens e
geralmente cria MUITOS artefatos (datasets,
gráficos, parâmetros, modelos…)
Treinamento
Tuning
Model
Extração de
Features
Features
Avaliação
Evaluation
v1.ipynb
model_v2.ipynb
esse_é_melhor.ipynb
Machine Learning - Pipeline de ML
Preparação
dos Dados
Treinamento
do Modelo
● DataViz
● Transformação e
Extração de Features
● Pipeline de dados
● Escolha do melhor
modelo
● Tuning
● Avaliação
● Versionamento
O processo de modelagem pode ser realizado
por diferentes ferramentas/linguagens e
geralmente cria MUITOS artefatos (datasets,
gráficos, parâmetros, modelos…)
Treinamento
Tuning
Model
Extração de
Features
Features
Avaliação
Evaluation
Dúvidas frequentes:
● Como documentar?
● Reprodutibilidade?
● Dependências de bibliotecas?
● Como armazenar os modelos para o deploy?
Machine Learning - Pipeline de ML
Maria
Cientista de Dados
Jorge
Engenheiro de Software
Deploy Serviço
● Pipelines
● Infraestrutura
● Escalabilidade
● Monitoramento
● Avaliação online
● Predição de novos dados
Modelo
f(X) = y
Dúvidas frequentes:
● Como fazer deploy?
● Como realizar novas predições
em produção?
● Quando re-treinar o modelo?
● O que devo monitorar?
Machine Learning - Pipeline de ML
SCULLEY, David et al. Hidden technical debt in machine learning systems. In: Advances in neural information
processing systems. 2015. p. 2503-2511.
O código de ML é apenas uma pequena parte do todo….
Machine Learning - mas, ok...
Machine Learning - End-to-End com MLflow
https://mlflow.org
O MLflow é uma plataforma open source para gerenciar o ciclo de vida de machine
learning de ponta a ponta. Ele aborda três funções principais:
Machine Learning - Problema
f(x)
Model
price: R$ 221.900,00
Atributos
https://www.kaggle.com/harlfoxem/housesalesprediction
“Devemos criar um modelo para estimar o preço do imóvel a
partir de dados históricos. Esse modelo será utilizado em um
portal de classificados de imóveis”
Machine Learning - End-to-End com MLflow
O componente MLflow Tracking é uma API e uma interface para salvar
os parâmetros, versões de código, métricas, logs e artefatos que são
gerados no experimento, ele cria um repositório de experimentos.
Machine Learning - End-to-End com MLflow
Machine Learning - End-to-End com MLflow
Um Projeto MLflow é um formato de empacotamento de projetos para
ser reutilizável e reproduzível. Além disso, o componente Projetos
inclui uma API e ferramentas de linha de comando para executar
projetos, possibilitando a integração de pipelines.
Executa Local
Executa Remoto
Code Config Data
● Pode ser executado na cloud do DB
● “Pacote” com reprodutibilidade
● Define dependências do projeto
● API para execução do projeto
(similar em diferentes linguagens)
Machine Learning - End-to-End com MLflow
https://github.com/marlesson/mlflow_house_sales_prediction
O arquivo MLproject define a interface de execução, configurações e dependências
do projeto.
$ mlflow run <uri> -P param1=val1 ..
Exemplo:
$ mlflow run . -P max_depth=3 -P n_estimators=10
$ mlflow run . -e train_deep -P epochs=20 -P layers='[100, 50, 30, 10]'
$ mlflow run https://github.com/marlesson/mlflow_house_sales_prediction
Executa um projeto usando as definições
do MLproject
Machine Learning - End-to-End com MLflow
Um Projeto de MLFlow pode ser utilizado para orquestrar um pipeline de
transformação ou treinamento usando diferentes tecnologias, permitindo uma interface
entre as etapas.
https://github.com/mlflow/mlflow/tree/master/examples/multistep_workflow
Pipeline do Projeto:
● Load: Faz o download de um
dataset
● ETL: Transformações nos dados
● ML: Treinamento usando a Mlib
● Model Training: Treinamento
usando o keras
Machine Learning - End-to-End com MLflow
Machine Learning - End-to-End com MLflow
O MLflow Model empacota o modelo com as dependências e
parâmetros de execução. O formato define uma convenção que
permite salvar o modelo de forma que possa ser utilizado em diferentes
contextos.
● Define dependências do modelo
● Empacota diferentes “flavors” do
mesmo modelo, que podem ser
usados em diferentes contextos ou
diferentes linguagens (java, R,
python, docker)
● Deploy simplificado
Machine Learning - End-to-End com MLflow
$ mlflow pyfunc serve -m <path_model>
$ mlflow pyfunc predict -m <path_model> -i <path_input>
Abre um servidor web que serve o modelo
através de uma API REST
Realiza predição em batch usando um csv de
input
A partir da configuração do MLmodel, o Mlflow consegue servir o modelo em
diferentes formatos.
Machine Learning - End-to-End com MLflow
$ curl -H "Content-Type: application/json" --data
data/sample.json http://localhost:8080/invocations
O deploy do modelo usando o Mlflow pode ser realizado de diferentes formas:
● Rest API endpoint
● Microsoft Azure ML
● Amazon SageMaker
● Spark UDF
● …. Docker
Machine Learning - End-to-End com MLflow
Machine Learning - Arquitetura
Preparação
dos Dados
Treinamento
do Modelo
Deploy
Serviço
API
Arquitetura simplificada de uma solução para predição do preço de imóveis em sites de
busca On-line (real-time).
Real-time:
● Síncrono
● Alta performance
● Escalável
Machine Learning - Deploy on Cloud - GCP
Vamos criar um Container Docker para encapsular o modelo e as dependências
criada pelo MLFlow Model. O modelo será servido através da API Rest do próprio
MlFlow.
Machine Learning - Deploy on Cloud - GCP
GCP Console
$ gcloud builds submit --tag gcr.io/confraria-dos-dados/ml_model .
$ gcloud compute instances create-with-container ml-model 
--container-image gcr.io/confraria-dos-dados/ml_model:latest 
--tags http-server,https-server 
--machine-type f1-micro 
--zone us-east1-b
Docker
$ docker build -t ml_model .
$ docker run -it -p 3001:80 ml_model
Dockerfile para criar o container com o modelo para produção
Machine Learning - Arquitetura
load_data.py predict.py save_result.py
Serviço
Arquitetura simplificada de uma solução para predição do preço de imóveis em sites de
busca em lote (batch).
Batch:
● Assíncrono
● Uso através de
Trigger ou baseado
em evento de tempo
Machine Learning - Deploy Spark
O deploy do modelo no spark é através de uma UDF (User-Defined-Functions) e
pode ser utilizando tanto no stream ou batch. O modelo empacotado pelo MLFlow
Modes pode ser lido como UDF
Abre um servidor web que serve o modelo
através de uma API REST
Machine Learning - End-to-End com MLflow
https://mlflow.org
Machine Learning - Pipeline de ML
Dados
Preparação
dos Dados
Treinamento
do Modelo
Deploy Serviço
Engenheiro de Dados Cientista de Dados e Engenheiros de ML Engenheiro de Software
Feedback Loop
O MLflow organiza o pipeline de ML com reprodutibilidade, documentação de experimentos
e “independência” de tecnologia para modelagem com deploy simplificado...
API
Machine Learning - Modelo em Produção...
Modelo em produção… e agora?
● Escalabilidade
● Monitoramento constante
● Métricas de avaliação online
● Quando devo re-treinar? nova versão?
● Processo de ML Ops
Dúvidas

Mais conteúdo relacionado

PDF
Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...
PPTX
Microsoft Fabric Introduction
PDF
How a Semantic Layer Makes Data Mesh Work at Scale
PDF
How to Use a Semantic Layer to Deliver Actionable Insights at Scale
PPTX
Data Modeling PPT
PPTX
Data science | What is Data science
PDF
Data Mesh for Dinner
PDF
Slides: Knowledge Graphs vs. Property Graphs
Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...
Microsoft Fabric Introduction
How a Semantic Layer Makes Data Mesh Work at Scale
How to Use a Semantic Layer to Deliver Actionable Insights at Scale
Data Modeling PPT
Data science | What is Data science
Data Mesh for Dinner
Slides: Knowledge Graphs vs. Property Graphs

Mais procurados (20)

PPTX
Introduction to data science
PPTX
Intro To Mongo Db
PDF
Building Modern Streaming Analytics with Confluent on AWS
PDF
Building Data Science Teams
 
PDF
Pipelines and Packages: Introduction to Azure Data Factory (24HOP)
PDF
Introduction to Knowledge Graphs and Semantic AI
PDF
Building a Dashboard in an hour with Power Pivot and Power BI
PDF
Data Science Tutorial | Introduction To Data Science | Data Science Training ...
PPTX
Data analytics
PDF
Data Modeling & Metadata Management
PDF
Data Engineering.pdf
PPTX
Azure SQL Database & Azure SQL Data Warehouse
PDF
Data modelling 101
PPTX
Microsoft Data Platform - What's included
PDF
Database Lecture Notes
PDF
Building A Bi Strategy
PPTX
Web services
PDF
Introduction of Knowledge Graphs
PPT
PDF
Apache Kafka® and the Data Mesh
Introduction to data science
Intro To Mongo Db
Building Modern Streaming Analytics with Confluent on AWS
Building Data Science Teams
 
Pipelines and Packages: Introduction to Azure Data Factory (24HOP)
Introduction to Knowledge Graphs and Semantic AI
Building a Dashboard in an hour with Power Pivot and Power BI
Data Science Tutorial | Introduction To Data Science | Data Science Training ...
Data analytics
Data Modeling & Metadata Management
Data Engineering.pdf
Azure SQL Database & Azure SQL Data Warehouse
Data modelling 101
Microsoft Data Platform - What's included
Database Lecture Notes
Building A Bi Strategy
Web services
Introduction of Knowledge Graphs
Apache Kafka® and the Data Mesh
Anúncio

Semelhante a Machine Learning: Do Notebook ao modelo em produção (20)

PDF
Cloudformation
PDF
Aula ASP.NET.pdf whatsap Whatsap pdf.com
PDF
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
PPTX
Machine Learning Black Boxes
PPTX
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
PDF
Aula 1 ASP.NET Core com arquitetura MVC
PDF
Palestra - Symfony Framework MVC PHP 5
PDF
Introdução à Programação Web com Angular
PDF
HUGSP#6 Opus uDSL - Uma DSL para Microserviços
PDF
Introdução Play framework
PPTX
Evolução do .NET Framework e do Visual Basic
PDF
Automated Machine Learning
PPTX
Desenvolvimento web com .NET Core - Meetup São Carlos
PPTX
AnaliseDeDados_SQLSat906
PDF
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
PPT
Cake Php
PPTX
Introdução ao desenvolvimento front end usando bootstrap e angular js
PDF
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
PDF
Apresentacao dev ops
PPTX
ASP.Net Performance – A pragmatic approach - Luis Paulino
Cloudformation
Aula ASP.NET.pdf whatsap Whatsap pdf.com
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
Machine Learning Black Boxes
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
Aula 1 ASP.NET Core com arquitetura MVC
Palestra - Symfony Framework MVC PHP 5
Introdução à Programação Web com Angular
HUGSP#6 Opus uDSL - Uma DSL para Microserviços
Introdução Play framework
Evolução do .NET Framework e do Visual Basic
Automated Machine Learning
Desenvolvimento web com .NET Core - Meetup São Carlos
AnaliseDeDados_SQLSat906
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Cake Php
Introdução ao desenvolvimento front end usando bootstrap e angular js
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
Apresentacao dev ops
ASP.Net Performance – A pragmatic approach - Luis Paulino
Anúncio

Mais de Marlesson Santana (11)

PDF
UFG - Topic Modeling in Text
PDF
Ciência de Dados: a revolução na tomada de decisões
PDF
Data science com python - frameworks e melhores práticas
PDF
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
PDF
Campus Party - Sistemas de Recomendação
PDF
Ciência de Dados: a revolução na tomada de decisões
PDF
Deep Learning para Sistemas de Recomendação
PDF
Training deep auto encoders for collaborative filtering
PDF
DDC - workshop deep learning
PDF
Introdução a Redes Neurais Recorrentes
PDF
Mineração de Dados em Redes Sociais
UFG - Topic Modeling in Text
Ciência de Dados: a revolução na tomada de decisões
Data science com python - frameworks e melhores práticas
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
Campus Party - Sistemas de Recomendação
Ciência de Dados: a revolução na tomada de decisões
Deep Learning para Sistemas de Recomendação
Training deep auto encoders for collaborative filtering
DDC - workshop deep learning
Introdução a Redes Neurais Recorrentes
Mineração de Dados em Redes Sociais

Último (12)

PPTX
Slide Gêneros textuais: resenha crítica.ppxt
PDF
Investigação Operacional história completa
PDF
Medidor de PH de bancada PH140 para uso em laboratório
PPTX
Apresentação Lagoa Mandaú Lagoa Mandaú Lagoa Mandaú
PPT
AULA COACHING INICIAL *******************
PDF
Previsão de Paradas em Máquinas Industriais
DOC
COMO CRIAR DASHBOARD ATRAVES DE CODIFICAÇÃO PYTHON
PPTX
Sermao a mensagem da Cruz.pptx gdfvdcdfdfdsfcdsfxdfdfdfvdgf
PDF
01 Anticoag + fibrinol Abr 24 - prof MAISA DIA 020424.pdf
PDF
Bases de dados - basicos dos basicos. como identificar chaves
PDF
48585b89-ee4d-4f8d-b2c0-7db19cc44e44.pdf
PDF
712893401-Geografia-em-perspectiva-3.pdf
Slide Gêneros textuais: resenha crítica.ppxt
Investigação Operacional história completa
Medidor de PH de bancada PH140 para uso em laboratório
Apresentação Lagoa Mandaú Lagoa Mandaú Lagoa Mandaú
AULA COACHING INICIAL *******************
Previsão de Paradas em Máquinas Industriais
COMO CRIAR DASHBOARD ATRAVES DE CODIFICAÇÃO PYTHON
Sermao a mensagem da Cruz.pptx gdfvdcdfdfdsfcdsfxdfdfdfvdgf
01 Anticoag + fibrinol Abr 24 - prof MAISA DIA 020424.pdf
Bases de dados - basicos dos basicos. como identificar chaves
48585b89-ee4d-4f8d-b2c0-7db19cc44e44.pdf
712893401-Geografia-em-perspectiva-3.pdf

Machine Learning: Do Notebook ao modelo em produção

  • 1. Machine Learning Do notebook ao modelo em Produção
  • 2. Quem eu sou? ● CDO na CQuantt - Responsável por conduzir projetos de Ciência de Dados e Machine Learning ● Pesquisador na área de Deep Learning - UFG ● Community Manager do Data Hackers ● Cientista de Dados e Dev nas horas vagas... #estatistica #machineLearning #spark #python #deepLearning #tensorFlow #bigData #analytics /marlesson-santana-25019358/ /marlesson Marlesson Santana - marlesson@cquantt.com
  • 3. ... ● quem já treinou algum modelo antes? ● quem já fez o deploy de um modelo por diversão? ● quem já fez o deploy de um modelo para o trabalho? ● quem acompanha o modelo em produção e gera indicadores de performance?
  • 4. Roteiro ● Introdução a Machine Learning ● Pipeline de um projeto de ML ● End-to-end ML com MLflow ● Ferramentas
  • 5. Machine Learning - Introdução MachineLearning Classificação Regressão Clusterização Detecção de Fraudes Reconhecimento Facial Previsão de Demanda Estimativa Receita/Demanda Segmentação de Cliente Modelagem de Tópico Machine learning é sobre extração de padrões nos dados para que esses padrões possam ser utilizados na resolução de problemas. Modelo f(X) = y Predição
  • 6. Machine Learning - Introdução Dados ??? Machine Learning ??? $$$ Modelo f(X) = y Predição A percepção é que o pipeline de ML é algo como...
  • 7. Machine Learning - Pipeline de ML Dados Preparação dos Dados Treinamento do Modelo Deploy Serviço ● Histórico ● Tipos de Dados ● Fontes Externas ● Batch/Real Time ● DataViz ● Transformação e Extração de Features ● Pipeline de dados ● Diferentes Modelos ● Tuning ● Avaliação ● Versionamento ● Pipelines ● Infraestrutura ● Escalabilidade ● Monitoramento ● Avaliação online ● Predição de novos dados Engenheiro de Dados Cientista de Dados e Engenheiros de ML Engenheiro de Software Feedback Loop … mas é um processo que envolve diferentes profissionais, ferramentas e tecnologias...
  • 8. Machine Learning - Pipeline de ML Preparação dos Dados Treinamento do Modelo ● DataViz ● Transformação e Extração de Features ● Pipeline de dados ● Escolha do melhor modelo ● Tuning ● Avaliação ● Versionamento O processo de modelagem pode ser realizado por diferentes ferramentas/linguagens e geralmente cria MUITOS artefatos (datasets, gráficos, parâmetros, modelos…) Treinamento Tuning Model Extração de Features Features Avaliação Evaluation v1.ipynb model_v2.ipynb esse_é_melhor.ipynb
  • 9. Machine Learning - Pipeline de ML Preparação dos Dados Treinamento do Modelo ● DataViz ● Transformação e Extração de Features ● Pipeline de dados ● Escolha do melhor modelo ● Tuning ● Avaliação ● Versionamento O processo de modelagem pode ser realizado por diferentes ferramentas/linguagens e geralmente cria MUITOS artefatos (datasets, gráficos, parâmetros, modelos…) Treinamento Tuning Model Extração de Features Features Avaliação Evaluation Dúvidas frequentes: ● Como documentar? ● Reprodutibilidade? ● Dependências de bibliotecas? ● Como armazenar os modelos para o deploy?
  • 10. Machine Learning - Pipeline de ML Maria Cientista de Dados Jorge Engenheiro de Software Deploy Serviço ● Pipelines ● Infraestrutura ● Escalabilidade ● Monitoramento ● Avaliação online ● Predição de novos dados Modelo f(X) = y Dúvidas frequentes: ● Como fazer deploy? ● Como realizar novas predições em produção? ● Quando re-treinar o modelo? ● O que devo monitorar?
  • 11. Machine Learning - Pipeline de ML SCULLEY, David et al. Hidden technical debt in machine learning systems. In: Advances in neural information processing systems. 2015. p. 2503-2511. O código de ML é apenas uma pequena parte do todo….
  • 12. Machine Learning - mas, ok...
  • 13. Machine Learning - End-to-End com MLflow https://mlflow.org O MLflow é uma plataforma open source para gerenciar o ciclo de vida de machine learning de ponta a ponta. Ele aborda três funções principais:
  • 14. Machine Learning - Problema f(x) Model price: R$ 221.900,00 Atributos https://www.kaggle.com/harlfoxem/housesalesprediction “Devemos criar um modelo para estimar o preço do imóvel a partir de dados históricos. Esse modelo será utilizado em um portal de classificados de imóveis”
  • 15. Machine Learning - End-to-End com MLflow
  • 16. O componente MLflow Tracking é uma API e uma interface para salvar os parâmetros, versões de código, métricas, logs e artefatos que são gerados no experimento, ele cria um repositório de experimentos. Machine Learning - End-to-End com MLflow
  • 17. Machine Learning - End-to-End com MLflow
  • 18. Um Projeto MLflow é um formato de empacotamento de projetos para ser reutilizável e reproduzível. Além disso, o componente Projetos inclui uma API e ferramentas de linha de comando para executar projetos, possibilitando a integração de pipelines. Executa Local Executa Remoto Code Config Data ● Pode ser executado na cloud do DB ● “Pacote” com reprodutibilidade ● Define dependências do projeto ● API para execução do projeto (similar em diferentes linguagens) Machine Learning - End-to-End com MLflow https://github.com/marlesson/mlflow_house_sales_prediction
  • 19. O arquivo MLproject define a interface de execução, configurações e dependências do projeto. $ mlflow run <uri> -P param1=val1 .. Exemplo: $ mlflow run . -P max_depth=3 -P n_estimators=10 $ mlflow run . -e train_deep -P epochs=20 -P layers='[100, 50, 30, 10]' $ mlflow run https://github.com/marlesson/mlflow_house_sales_prediction Executa um projeto usando as definições do MLproject Machine Learning - End-to-End com MLflow
  • 20. Um Projeto de MLFlow pode ser utilizado para orquestrar um pipeline de transformação ou treinamento usando diferentes tecnologias, permitindo uma interface entre as etapas. https://github.com/mlflow/mlflow/tree/master/examples/multistep_workflow Pipeline do Projeto: ● Load: Faz o download de um dataset ● ETL: Transformações nos dados ● ML: Treinamento usando a Mlib ● Model Training: Treinamento usando o keras Machine Learning - End-to-End com MLflow
  • 21. Machine Learning - End-to-End com MLflow
  • 22. O MLflow Model empacota o modelo com as dependências e parâmetros de execução. O formato define uma convenção que permite salvar o modelo de forma que possa ser utilizado em diferentes contextos. ● Define dependências do modelo ● Empacota diferentes “flavors” do mesmo modelo, que podem ser usados em diferentes contextos ou diferentes linguagens (java, R, python, docker) ● Deploy simplificado Machine Learning - End-to-End com MLflow
  • 23. $ mlflow pyfunc serve -m <path_model> $ mlflow pyfunc predict -m <path_model> -i <path_input> Abre um servidor web que serve o modelo através de uma API REST Realiza predição em batch usando um csv de input A partir da configuração do MLmodel, o Mlflow consegue servir o modelo em diferentes formatos. Machine Learning - End-to-End com MLflow $ curl -H "Content-Type: application/json" --data data/sample.json http://localhost:8080/invocations
  • 24. O deploy do modelo usando o Mlflow pode ser realizado de diferentes formas: ● Rest API endpoint ● Microsoft Azure ML ● Amazon SageMaker ● Spark UDF ● …. Docker Machine Learning - End-to-End com MLflow
  • 25. Machine Learning - Arquitetura Preparação dos Dados Treinamento do Modelo Deploy Serviço API Arquitetura simplificada de uma solução para predição do preço de imóveis em sites de busca On-line (real-time). Real-time: ● Síncrono ● Alta performance ● Escalável
  • 26. Machine Learning - Deploy on Cloud - GCP Vamos criar um Container Docker para encapsular o modelo e as dependências criada pelo MLFlow Model. O modelo será servido através da API Rest do próprio MlFlow.
  • 27. Machine Learning - Deploy on Cloud - GCP GCP Console $ gcloud builds submit --tag gcr.io/confraria-dos-dados/ml_model . $ gcloud compute instances create-with-container ml-model --container-image gcr.io/confraria-dos-dados/ml_model:latest --tags http-server,https-server --machine-type f1-micro --zone us-east1-b Docker $ docker build -t ml_model . $ docker run -it -p 3001:80 ml_model Dockerfile para criar o container com o modelo para produção
  • 28. Machine Learning - Arquitetura load_data.py predict.py save_result.py Serviço Arquitetura simplificada de uma solução para predição do preço de imóveis em sites de busca em lote (batch). Batch: ● Assíncrono ● Uso através de Trigger ou baseado em evento de tempo
  • 29. Machine Learning - Deploy Spark O deploy do modelo no spark é através de uma UDF (User-Defined-Functions) e pode ser utilizando tanto no stream ou batch. O modelo empacotado pelo MLFlow Modes pode ser lido como UDF Abre um servidor web que serve o modelo através de uma API REST
  • 30. Machine Learning - End-to-End com MLflow https://mlflow.org
  • 31. Machine Learning - Pipeline de ML Dados Preparação dos Dados Treinamento do Modelo Deploy Serviço Engenheiro de Dados Cientista de Dados e Engenheiros de ML Engenheiro de Software Feedback Loop O MLflow organiza o pipeline de ML com reprodutibilidade, documentação de experimentos e “independência” de tecnologia para modelagem com deploy simplificado... API
  • 32. Machine Learning - Modelo em Produção... Modelo em produção… e agora? ● Escalabilidade ● Monitoramento constante ● Métricas de avaliação online ● Quando devo re-treinar? nova versão? ● Processo de ML Ops