SlideShare uma empresa Scribd logo
1
#TheDevConf 2019
Machine Learning Efetivo com AWS:
Da extração dos dados ao deploy em produção
BRUNO BITENCOURT
Software Architect
2
#TheDevConf 2019
Agenda
• Machine Learning e AWS
• SageMaker
• Dicas
• Links úteis
3
#TheDevConf 2019
@brunowdev
• Arquiteto de Software - P&D da Betha Sistemas
• +5 anos experiencia
• Aluno de Engenharia da Computação na FASATC e Machine Learning Engineer
na Udacity
• brunowdev@gmail.com
4
#TheDevConf 2019
Machine Learning e AWS
5
#TheDevConf 2019
Workflow
6
#TheDevConf 2019
Quanta coisa,
não é mesmo?
7
#TheDevConf 2019
SageMaker
8
#TheDevConf 2019
Treinamento
Factorization Machines
Linear Regression
PCA
K-Means
XGBoost
E vários outros!
Algoritmos Built-in Traga a sua Impl. Traga seu container
9
#TheDevConf 2019
Interagindo com o SageMaker
Python SDK
• Notebooks
• Algoritmos
• Treinamento
• Deploy
• Tuning
• AWS CLI: ‘aws sagemaker’
• AWS SDK: boto3, entre outros.
• Interface WEB
10
#TheDevConf 2019
Mas antes disso...
11
#TheDevConf 2019
Etapa 0: Dados
• SQL
• NoSQL
• Aquele dataset do Governo com 500GB
• Outros sistemas
• Data Lake?
12
#TheDevConf 2019
Pipeline de Machine Learning Serverless
13
#TheDevConf 2019
14
#TheDevConf 2019
S3
• Buckets para armazenamento
• Big Data
• Velocidade na escrita/acesso
• Também armazenamos nossos modelos de ML
15
#TheDevConf 2019
Glue
• Catalogo de dados (S3, SQL, NoSQL)
• Serverless ETL
• Jobs de extração
○ Python (Spark ou Shell)
○ Scala
• Segurança e parametrização
• Storage no S3
16
#TheDevConf 2019
SchedulingJob ETL
17
#TheDevConf 2019
SQL
18
#TheDevConf 2019
Particionamento no S3
Eventos: Sucesso, Falha, etc.
Data Cleaning
19
#TheDevConf 2019
20
#TheDevConf 2019
Etapa 1: Usando o Dataset
21
#TheDevConf 2019
Infos
• Standard - Sem GPU
• Compute Optimized - Sem GPU
• GPU Instances - Com GPU - inicia $ 1.26 hora
• O disco varia de 5GB SSD ate 16TB
• Não é obrigatório
• Scripts de Setup e Integração com o Git (não é git friendly)
22
#TheDevConf 2019
GPU
Tensorflow e MxNet
23
#TheDevConf 2019
Etapa 2: SageMaker
24
#TheDevConf 2019
Infos
• Imagens Docker - Train mode e Invocations (HTTP)
• Serverless ou Endpoint
• Qualquer linguagem ou framework
• Lê os dados do S3
• Escreve os modelos no S3
25
#TheDevConf 2019
Devo fazer o meu container?
• Os modelos da AWS são mais otimizados
• Podem ser uma caixa “preta”
• Vendor lock-in
26
#TheDevConf 2019
Levando o SciKit Learn para o SageMaker
27
#TheDevConf 2019
Exemplo - Treinamento
28
#TheDevConf 2019
Exemplo - Treinamento
29
#TheDevConf 2019
Exemplo - Treinamento
30
#TheDevConf 2019
Exemplo - Predictor
31
#TheDevConf 2019
Exemplo - Predictor
32
#TheDevConf 2019
Exemplo - Predictor
33
#TheDevConf 2019
Treinando o modelo
• Manual
• Baseado em eventos
34
#TheDevConf 2019
Treinando o modelo
35
#TheDevConf 2019
AWS Lambda
● Funções Serverless
● Várias linguagens disponíveis
● Integração com eventos
● Baixo custo
● Comunicação direta com os demais
serviços
36
#TheDevConf 2019
37
#TheDevConf 2019
Rastreabilidade
38
#TheDevConf 2019
Hyperparameter Tuning
• Semelhante a job de treinamento
• Qualquer modelo
• Warmup (incremental iterativo ou outra versão)
39
#TheDevConf 2019
Hyperparameter Tuning
40
#TheDevConf 2019
Deploy
• Endpoint Configuration - Middleman
○ Roteia com base em headers (id de usuário, região, etc.)
• Sem Downtime
• Auto Scaling
• Canary Deployment
• Teste A/B
○ Monitoramento/Scoring é manual
41
#TheDevConf 2019
Inferência
• Endpoint SageMaker - Requer uma instância rodando
• Batch Transform Jobs
42
#TheDevConf 2019
43
#TheDevConf 2019
Consumindo as Predições
44
#TheDevConf 2019
Considerações
• Para gerenciar os componentes: Terraform, Cloudformation:
○ Todas se integram com facilidade com CI (Jenkins, Gitlab, etc.)
45
#TheDevConf 2019
Dicas
• Use só as peças que você precisa
• Desligue os seus notebooks (pode ser automatizado)
• Ajuste as instâncias de treino/predição de acordo com a sua necessidade
• Use as imagens/algoritmos disponíveis, sempre que possível
• Use RecordIO / TFRecord
46
#TheDevConf 2019
Outros recursos
GroundTruth
• Automatizar o processo de labelling
Marketplace
• Publique e venda seus modelos
47
#TheDevConf 2019
Outras informações
SageMaker
• Possue free-tier
• Ainda não está disponível na sa-east-1
○ Latência pode ser um problema
48
#TheDevConf 2019
Por onde começar?
AWS
• Getting Started
• Playlist - This is my Architecture
SageMaker
• Julien Simon
• Exemplos GitHub
49
#TheDevConf 2019 Nosso Case
50
#TheDevConf 2019
Perguntas?
51
#TheDevConf 2019
52
#TheDevConf 2019

Mais conteúdo relacionado

PPTX
Vs code + node + angular + azure app service
PPTX
Hospedando sua aplicação no Azure App Service
PPTX
Angular DevOps
PPTX
JavaScript na nuvem node + angular + microsoft azure
PDF
Dicas e Truques para aumentar sua produtividade no Visual Studio
PPTX
Global Azure Bootcamp 2018 Campinas - Continuous Delivery com Azure DevOps Pr...
PDF
IA/ML melhorando a saúde pública
PDF
Arquitetura Serverless para Machine Learning
Vs code + node + angular + azure app service
Hospedando sua aplicação no Azure App Service
Angular DevOps
JavaScript na nuvem node + angular + microsoft azure
Dicas e Truques para aumentar sua produtividade no Visual Studio
Global Azure Bootcamp 2018 Campinas - Continuous Delivery com Azure DevOps Pr...
IA/ML melhorando a saúde pública
Arquitetura Serverless para Machine Learning

Semelhante a Machine Learning Efetivo com AWS: Da extração dos dados ao deploy em produção (20)

PPTX
AWS re:Invent 2019
PDF
2019 MVPConf Entenda como DevOps pode ajudar a visão e controle sobre desenvo...
PDF
TDC2016SP - Trilha BigData
PDF
Criando Aplicações Serverless
PPTX
AWS Initiate - AWS & IoT (Internet das Coisas) - Smart Cities
PDF
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
PPTX
Iniciando com AWS Lambda e serverless em cloud
PDF
CPBSB 2022 - Big Data e Machine Learning na Prática Construindo um Data Lake...
PDF
Melhorando resultados educacionais com AIML
PDF
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
PPTX
Building Alexa Skills - 5th meetup AWS User Group Joinville
PDF
Keynote AWS RoadShow Belo Horizonte 2013
PPTX
AWS Initiate week 2020 - Capacitando seu time para a cloud_Luiz M Couto.pptx
PPTX
Desenvolvimento de CI/CD na AWS
PDF
Startup Day - Tools for Building your Startup 2
PPTX
Webinar: Amazon Machine Learning
PPTX
Os benefícios de migrar seus workloads de Big Data para a AWS
PDF
AWS Startup Day Florianópolis
PPTX
AWS Webinar Series Brasil: Inteligência Artificial em Serviços Financeiros
PPTX
AWS Innovate 2020 - Como construir aplicações inteligentes utilizando Intelig...
AWS re:Invent 2019
2019 MVPConf Entenda como DevOps pode ajudar a visão e controle sobre desenvo...
TDC2016SP - Trilha BigData
Criando Aplicações Serverless
AWS Initiate - AWS & IoT (Internet das Coisas) - Smart Cities
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
Iniciando com AWS Lambda e serverless em cloud
CPBSB 2022 - Big Data e Machine Learning na Prática Construindo um Data Lake...
Melhorando resultados educacionais com AIML
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Building Alexa Skills - 5th meetup AWS User Group Joinville
Keynote AWS RoadShow Belo Horizonte 2013
AWS Initiate week 2020 - Capacitando seu time para a cloud_Luiz M Couto.pptx
Desenvolvimento de CI/CD na AWS
Startup Day - Tools for Building your Startup 2
Webinar: Amazon Machine Learning
Os benefícios de migrar seus workloads de Big Data para a AWS
AWS Startup Day Florianópolis
AWS Webinar Series Brasil: Inteligência Artificial em Serviços Financeiros
AWS Innovate 2020 - Como construir aplicações inteligentes utilizando Intelig...
Anúncio

Último (7)

PDF
Evolução em código: algoritmos genéticos com PHP
PPTX
Mapeamento de Objeto para Tabela Relacional
PPTX
Curso de Windows 11 resumido na prática.pptx
PDF
Dos requisitos ao código: como criar código rastreável em PHP
PDF
apresentacao introducao computacao ead.pdf
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
Evolução em código: algoritmos genéticos com PHP
Mapeamento de Objeto para Tabela Relacional
Curso de Windows 11 resumido na prática.pptx
Dos requisitos ao código: como criar código rastreável em PHP
apresentacao introducao computacao ead.pdf
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
Anúncio

Machine Learning Efetivo com AWS: Da extração dos dados ao deploy em produção