SlideShare uma empresa Scribd logo
©2018 Avanade Inc. All Rights Reserved.
Thaissa Bueno Sanches - Consultant at Avanade
Implantando modelos Deep Learning em cluster Kubernetes com GPU Ativada
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Noções básicas de implantação (carga útil, lotes, HTTP, Web Service)
• Comparação de GPU / CPU para inferência
• Kubernetes
• Etapas comuns
• Implantação no Kubernetes usando o Kubectl
• Implantação no Kubernetes usando o AzureML
• Implantação no Kubernetes usando Kubeflow e "TF serving"
Agenda
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• O que é implantar?
Noções básicas de implantação (payload, batching,
HTTP, Web Service)
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Payload
Noções básicas de implantação (payload, batching,
HTTP, Web Service)
penultimate
layer
RGB Channels
of input image
Convolution layer
with Kernels
Pooling layer Fully connected layer
Cat
Dog
Mouse
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Encode em base64
• Transfere arquivo
Noções básicas de implantação (payload, batching,
HTTP, Web Service)
decoded_img = base64.b64decode(request.json["input"])
img_buffer = BytesIO(decoded_img)
pil_img = Image.open(img_buffer).convert("RGB")
Image.open(request.files['image']).convert("RGB")
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Batching
Noções básicas de implantação (payload, batching,
HTTP, Web Service)
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• HTTP
Noções básicas de implantação (payload, batching,
HTTP, Web Service)
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Múltiplas conexões:
Uma conexão é aberta e somente é aberta
uma nova conexão quando a anterior for
fechada
Noções básicas de implantação (payload, batching,
HTTP, Web Service)
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Conexões persistentes:
• Uma conexão é aberta e tem seu estado
persistido até o termino de sua utilização.
Noções básicas de implantação (payload, batching,
HTTP, Web Service)
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Pipelining:
Em apenas uma única solicitação TCP varias
conexões HTTP são enviadas ao mesmo
tempo.
Noções básicas de implantação (payload, batching,
HTTP, Web Service)
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Head of line blocking:
Em apenas uma única solicitação TCP varias
conexões HTTP são enviadas ao mesmo
tempo porem uma ou mais solicitações
podem ser bloqueada para aguardar o
termino da anterior por ter excedido o limite
de requests paralelos.
Noções básicas de implantação (payload, batching,
HTTP, Web Service)
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Multiplexing:
A multiplexação é um método no HTTP / 2
pelo qual várias solicitações HTTP podem ser
enviadas e as respostas podem ser recebidas
de forma assíncrona por meio de uma única
conexão TCP. A multiplexação é o coração do
protocolo HTTP / 2
Noções básicas de implantação (payload, batching,
HTTP, Web Service)
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Web Service:
• É uma solução para integração de sistemas
e comunicação com aplicações diferentes,
podendo utilizar o protocolo de
comunicação SOAP (Simple Object Access
Protocol, em português Protocolo Simples
de Acesso a Objetos) ou a arquitetura
REST(Representational State Transfer em
português Transferência de Estado
Representacional).
Noções básicas de implantação (payload, batching,
HTTP, Web Service)
Container Instances
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• CPU VS GPU
Comparação de GPU / CPU para inferência
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• CPU VS GPU
Comparação de GPU / CPU para inferência
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Kubernetes é um sistema de orquestração
de contêiners open-source que automatiza
a implantação, o dimensionamento e a
gestão de aplicações em contêiners.
Kubernetes
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
Kubernetes
Node Node Node
Cluster
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Desenvolver modelo
• Desenvolver API de modelo
• Preparar contêiner docker para o serviço da web
• Implantar no Kubernetes
Etapas comuns
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Desenvolver modelo, modelo API, Flask App
• Crie uma imagem de contêiner com modelo, modelo API e Flask App
• Teste localmente e envie a imagem para o Docker Hub
• Provisionar o Cluster Kubernetes
• Conecte-se ao Kubernetes com kubectl
• Implantar aplicativo usando o manifesto (.yaml)
Implantação no Kubernetes usando o Kubectl
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
Implantação no Kubernetes usando o Kubectl
https://github.com/Microsoft/AKSDeploymentTutorial.git
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Configuração do AzureML, modelo de desenvolvimento, registro do modelo no espaço de
trabalho do AzureML, desenvolvimento da API do modelo (script de pontuação)
• Crie imagens com o AzureML usando dependências do conda, requisitos de pip e outras
dependências
• Capturar imagem do Azure Container Registry (ACR) e testar localmente
• Provisione o cluster do Kubernetes e implemente o serviço da Web com o AzureML.
Implantação no Kubernetes usando o AzureML
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
Implantação no Kubernetes usando o AzureML
https://github.com/Microsoft/AKSDeploymentTutorialAML.git
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
• Desenvolva modelo e salve como TensorFlow servable
• Puxe a imagem TensorFlow Serving do Docker hub, monte o caminho do modelo, abra a
porta da API REST, teste localmente
• Crie um Kubernetes cluster, anexe o armazenamento blob no AKS, copie o modelo
servable
• Instale o Ksonnet, Kubeflow e implante o webservice usando o componente Kubeflow
TensorFlow serving usando "ksonnet template".
Implantação no Kubernetes usando o AzureML
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
Implantação no Kubernetes usando o AzureML
https://github.com/Microsoft/DeployDLKubeflowAKS.git
©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy
©2018 Avanade Inc. All Rights Reserved.
Participe de um
treinamento
GRATUITO de
Azure Machine
Learning Service
bit.ly/azuremltdc
Contatos
Site/Blog/Email:
http://www.thaissasanches.com.br
http://meetup.com/pt-BR/DevelopersBR/
https://meetup.com/pt-BR/ai-brasil/
Redes Sociais:
Linkedin: /in/thaissa-bueno-sanches
Github: thayssa1186
Twitter: thayssa1186
Vagas Avanade:
https://careers.avanade.com/jobsenusurl/SearchJobs/?3_56_3=19753
©2018 Avanade Inc. All Rights Reserved.
• Formada em tecnologia em rede de computadores
pela UNIVEM/Marilia.
• Especialista em desenvolvimento .NET e Java.
Pós Graduanda Machine Learning e Deep Learning na
IGTI.
• Consultora de TI e Arquiteta
• Faço parte da coordenação do evento TDC – Trilha de
IA
• Organizadora do AIFest 2018
• Uma das coordenadoras do Developers BR e IA Brasil
além de varias comunidades de tecnologia que
participo.
Quem sou eu?
©2018 Avanade Inc. All Rights Reserved.
Thaissa Bueno Sanches
Consultant at Avanade
Obrigada

Mais conteúdo relacionado

Mais procurados

Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasBruno Luiz Pereira da Silva
 
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...Bruno Luiz Pereira da Silva
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoAlvaro Viebrantz
 
Processamento Dados em Escala com Serverless: Um Estudo de Caso da Amazon.com...
Processamento Dados em Escala com Serverless: Um Estudo de Caso da Amazon.com...Processamento Dados em Escala com Serverless: Um Estudo de Caso da Amazon.com...
Processamento Dados em Escala com Serverless: Um Estudo de Caso da Amazon.com...Amazon Web Services
 

Mais procurados (11)

Java Nuvem Appengine
Java Nuvem AppengineJava Nuvem Appengine
Java Nuvem Appengine
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheiras
 
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em Go
 
Whole Site Delivery with Amazon CloudFront
Whole Site Delivery with Amazon CloudFrontWhole Site Delivery with Amazon CloudFront
Whole Site Delivery with Amazon CloudFront
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
arcserve in the AWS cloud
arcserve in the AWS cloud arcserve in the AWS cloud
arcserve in the AWS cloud
 
Criando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtualCriando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtual
 
Processamento Dados em Escala com Serverless: Um Estudo de Caso da Amazon.com...
Processamento Dados em Escala com Serverless: Um Estudo de Caso da Amazon.com...Processamento Dados em Escala com Serverless: Um Estudo de Caso da Amazon.com...
Processamento Dados em Escala com Serverless: Um Estudo de Caso da Amazon.com...
 

Semelhante a Implantando modelos Deep Learning em cluster Kubernetes com GPU Ativada

DevOps aplicado à AWS - DEM07 - Sao Paulo Summit
DevOps aplicado à AWS -  DEM07 - Sao Paulo SummitDevOps aplicado à AWS -  DEM07 - Sao Paulo Summit
DevOps aplicado à AWS - DEM07 - Sao Paulo SummitAmazon Web Services
 
DevOps aplicado à AWS - DEM07 - Sao Paulo Summit
DevOps aplicado à AWS -  DEM07 - Sao Paulo SummitDevOps aplicado à AWS -  DEM07 - Sao Paulo Summit
DevOps aplicado à AWS - DEM07 - Sao Paulo SummitAmazon Web Services
 
Desenvolvimento de Aplicações em Container com AWS Fargate
Desenvolvimento de Aplicações em Container com AWS FargateDesenvolvimento de Aplicações em Container com AWS Fargate
Desenvolvimento de Aplicações em Container com AWS FargateAmazon Web Services LATAM
 
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...Ricardo Ferreira
 
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS - ARC201 - ...
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS -  ARC201 - ...Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS -  ARC201 - ...
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS - ARC201 - ...Amazon Web Services
 
Escalando aplicações de grande volume na nuvem
Escalando aplicações de grande volume na nuvemEscalando aplicações de grande volume na nuvem
Escalando aplicações de grande volume na nuvemFernando Lemes
 
Criando seu Data Center Virtual: Fundamentos de VPC e Opções de Conectividade
Criando seu Data Center Virtual: Fundamentos de VPC e Opções de ConectividadeCriando seu Data Center Virtual: Fundamentos de VPC e Opções de Conectividade
Criando seu Data Center Virtual: Fundamentos de VPC e Opções de ConectividadeAmazon Web Services LATAM
 
Desenvolvimento de Aplicações em Container com AWS Fargate - DEV302 - Sao Pa...
Desenvolvimento de Aplicações em Container com AWS Fargate -  DEV302 - Sao Pa...Desenvolvimento de Aplicações em Container com AWS Fargate -  DEV302 - Sao Pa...
Desenvolvimento de Aplicações em Container com AWS Fargate - DEV302 - Sao Pa...Amazon Web Services
 
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...iMasters
 
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)Wellington Silva
 
Guia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produtoGuia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produtoMySQL Brasil
 
DataLakers 2018 Qmeeting - São Paulo
DataLakers 2018 Qmeeting - São PauloDataLakers 2018 Qmeeting - São Paulo
DataLakers 2018 Qmeeting - São PauloEduardo Hahn
 
Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...
Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...
Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...Amazon Web Services
 
Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...
Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...
Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...Amazon Web Services
 
Arquiteturas de E Commerce da próxima geração
Arquiteturas de E Commerce da próxima geraçãoArquiteturas de E Commerce da próxima geração
Arquiteturas de E Commerce da próxima geraçãoAmazon Web Services LATAM
 
CDNs – Introdução
CDNs – IntroduçãoCDNs – Introdução
CDNs – Introduçãoelliando dias
 

Semelhante a Implantando modelos Deep Learning em cluster Kubernetes com GPU Ativada (20)

Rodando Kubernetes com Amazon EKS
Rodando Kubernetes com Amazon EKSRodando Kubernetes com Amazon EKS
Rodando Kubernetes com Amazon EKS
 
DevOps aplicado à AWS - DEM07 - Sao Paulo Summit
DevOps aplicado à AWS -  DEM07 - Sao Paulo SummitDevOps aplicado à AWS -  DEM07 - Sao Paulo Summit
DevOps aplicado à AWS - DEM07 - Sao Paulo Summit
 
DevOps aplicado à AWS - DEM07 - Sao Paulo Summit
DevOps aplicado à AWS -  DEM07 - Sao Paulo SummitDevOps aplicado à AWS -  DEM07 - Sao Paulo Summit
DevOps aplicado à AWS - DEM07 - Sao Paulo Summit
 
Desenvolvimento de Aplicações em Container com AWS Fargate
Desenvolvimento de Aplicações em Container com AWS FargateDesenvolvimento de Aplicações em Container com AWS Fargate
Desenvolvimento de Aplicações em Container com AWS Fargate
 
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
 
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS - ARC201 - ...
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS -  ARC201 - ...Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS -  ARC201 - ...
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS - ARC201 - ...
 
Escalando aplicações de grande volume na nuvem
Escalando aplicações de grande volume na nuvemEscalando aplicações de grande volume na nuvem
Escalando aplicações de grande volume na nuvem
 
Criando seu Data Center Virtual: Fundamentos de VPC e Opções de Conectividade
Criando seu Data Center Virtual: Fundamentos de VPC e Opções de ConectividadeCriando seu Data Center Virtual: Fundamentos de VPC e Opções de Conectividade
Criando seu Data Center Virtual: Fundamentos de VPC e Opções de Conectividade
 
Desenvolvimento de Aplicações em Container com AWS Fargate - DEV302 - Sao Pa...
Desenvolvimento de Aplicações em Container com AWS Fargate -  DEV302 - Sao Pa...Desenvolvimento de Aplicações em Container com AWS Fargate -  DEV302 - Sao Pa...
Desenvolvimento de Aplicações em Container com AWS Fargate - DEV302 - Sao Pa...
 
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
 
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Guia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produtoGuia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produto
 
DataLakers 2018 Qmeeting - São Paulo
DataLakers 2018 Qmeeting - São PauloDataLakers 2018 Qmeeting - São Paulo
DataLakers 2018 Qmeeting - São Paulo
 
Datalakers 2018 Qmeeting
Datalakers 2018 QmeetingDatalakers 2018 Qmeeting
Datalakers 2018 Qmeeting
 
Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...
Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...
Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...
 
Web service
Web serviceWeb service
Web service
 
Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...
Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...
Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...
 
Arquiteturas de E Commerce da próxima geração
Arquiteturas de E Commerce da próxima geraçãoArquiteturas de E Commerce da próxima geração
Arquiteturas de E Commerce da próxima geração
 
CDNs – Introdução
CDNs – IntroduçãoCDNs – Introdução
CDNs – Introdução
 

Implantando modelos Deep Learning em cluster Kubernetes com GPU Ativada

  • 1. ©2018 Avanade Inc. All Rights Reserved. Thaissa Bueno Sanches - Consultant at Avanade Implantando modelos Deep Learning em cluster Kubernetes com GPU Ativada
  • 2. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Noções básicas de implantação (carga útil, lotes, HTTP, Web Service) • Comparação de GPU / CPU para inferência • Kubernetes • Etapas comuns • Implantação no Kubernetes usando o Kubectl • Implantação no Kubernetes usando o AzureML • Implantação no Kubernetes usando Kubeflow e "TF serving" Agenda
  • 3. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • O que é implantar? Noções básicas de implantação (payload, batching, HTTP, Web Service)
  • 4. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Payload Noções básicas de implantação (payload, batching, HTTP, Web Service) penultimate layer RGB Channels of input image Convolution layer with Kernels Pooling layer Fully connected layer Cat Dog Mouse
  • 5. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Encode em base64 • Transfere arquivo Noções básicas de implantação (payload, batching, HTTP, Web Service) decoded_img = base64.b64decode(request.json["input"]) img_buffer = BytesIO(decoded_img) pil_img = Image.open(img_buffer).convert("RGB") Image.open(request.files['image']).convert("RGB")
  • 6. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Batching Noções básicas de implantação (payload, batching, HTTP, Web Service)
  • 7. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • HTTP Noções básicas de implantação (payload, batching, HTTP, Web Service)
  • 8. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Múltiplas conexões: Uma conexão é aberta e somente é aberta uma nova conexão quando a anterior for fechada Noções básicas de implantação (payload, batching, HTTP, Web Service)
  • 9. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Conexões persistentes: • Uma conexão é aberta e tem seu estado persistido até o termino de sua utilização. Noções básicas de implantação (payload, batching, HTTP, Web Service)
  • 10. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Pipelining: Em apenas uma única solicitação TCP varias conexões HTTP são enviadas ao mesmo tempo. Noções básicas de implantação (payload, batching, HTTP, Web Service)
  • 11. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Head of line blocking: Em apenas uma única solicitação TCP varias conexões HTTP são enviadas ao mesmo tempo porem uma ou mais solicitações podem ser bloqueada para aguardar o termino da anterior por ter excedido o limite de requests paralelos. Noções básicas de implantação (payload, batching, HTTP, Web Service)
  • 12. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Multiplexing: A multiplexação é um método no HTTP / 2 pelo qual várias solicitações HTTP podem ser enviadas e as respostas podem ser recebidas de forma assíncrona por meio de uma única conexão TCP. A multiplexação é o coração do protocolo HTTP / 2 Noções básicas de implantação (payload, batching, HTTP, Web Service)
  • 13. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Web Service: • É uma solução para integração de sistemas e comunicação com aplicações diferentes, podendo utilizar o protocolo de comunicação SOAP (Simple Object Access Protocol, em português Protocolo Simples de Acesso a Objetos) ou a arquitetura REST(Representational State Transfer em português Transferência de Estado Representacional). Noções básicas de implantação (payload, batching, HTTP, Web Service) Container Instances
  • 14. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • CPU VS GPU Comparação de GPU / CPU para inferência
  • 15. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • CPU VS GPU Comparação de GPU / CPU para inferência
  • 16. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Kubernetes é um sistema de orquestração de contêiners open-source que automatiza a implantação, o dimensionamento e a gestão de aplicações em contêiners. Kubernetes
  • 17. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy Kubernetes Node Node Node Cluster
  • 18. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Desenvolver modelo • Desenvolver API de modelo • Preparar contêiner docker para o serviço da web • Implantar no Kubernetes Etapas comuns
  • 19. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Desenvolver modelo, modelo API, Flask App • Crie uma imagem de contêiner com modelo, modelo API e Flask App • Teste localmente e envie a imagem para o Docker Hub • Provisionar o Cluster Kubernetes • Conecte-se ao Kubernetes com kubectl • Implantar aplicativo usando o manifesto (.yaml) Implantação no Kubernetes usando o Kubectl
  • 20. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy Implantação no Kubernetes usando o Kubectl https://github.com/Microsoft/AKSDeploymentTutorial.git
  • 21. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Configuração do AzureML, modelo de desenvolvimento, registro do modelo no espaço de trabalho do AzureML, desenvolvimento da API do modelo (script de pontuação) • Crie imagens com o AzureML usando dependências do conda, requisitos de pip e outras dependências • Capturar imagem do Azure Container Registry (ACR) e testar localmente • Provisione o cluster do Kubernetes e implemente o serviço da Web com o AzureML. Implantação no Kubernetes usando o AzureML
  • 22. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy Implantação no Kubernetes usando o AzureML https://github.com/Microsoft/AKSDeploymentTutorialAML.git
  • 23. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy • Desenvolva modelo e salve como TensorFlow servable • Puxe a imagem TensorFlow Serving do Docker hub, monte o caminho do modelo, abra a porta da API REST, teste localmente • Crie um Kubernetes cluster, anexe o armazenamento blob no AKS, copie o modelo servable • Instale o Ksonnet, Kubeflow e implante o webservice usando o componente Kubeflow TensorFlow serving usando "ksonnet template". Implantação no Kubernetes usando o AzureML
  • 24. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy Implantação no Kubernetes usando o AzureML https://github.com/Microsoft/DeployDLKubeflowAKS.git
  • 25. ©2018 Avanade Inc. All Rights Reserved. <Highly Confidential> See Avanade’s Data Management Policy ©2018 Avanade Inc. All Rights Reserved. Participe de um treinamento GRATUITO de Azure Machine Learning Service bit.ly/azuremltdc
  • 26. Contatos Site/Blog/Email: http://www.thaissasanches.com.br http://meetup.com/pt-BR/DevelopersBR/ https://meetup.com/pt-BR/ai-brasil/ Redes Sociais: Linkedin: /in/thaissa-bueno-sanches Github: thayssa1186 Twitter: thayssa1186 Vagas Avanade: https://careers.avanade.com/jobsenusurl/SearchJobs/?3_56_3=19753 ©2018 Avanade Inc. All Rights Reserved.
  • 27. • Formada em tecnologia em rede de computadores pela UNIVEM/Marilia. • Especialista em desenvolvimento .NET e Java. Pós Graduanda Machine Learning e Deep Learning na IGTI. • Consultora de TI e Arquiteta • Faço parte da coordenação do evento TDC – Trilha de IA • Organizadora do AIFest 2018 • Uma das coordenadoras do Developers BR e IA Brasil além de varias comunidades de tecnologia que participo. Quem sou eu? ©2018 Avanade Inc. All Rights Reserved.
  • 28. Thaissa Bueno Sanches Consultant at Avanade Obrigada