Você está na página 1de 50

MLOPS - Machine Learning

Operations
DATA SCIENCE & ARTIFICIAL INTELLIGENCE – MBA+

Prof. MSc. Elthon Manhas de Freitas


elthon@alumni.usp.br / profelthon.freitas@fiap.com.br

MLOPS – Prof. MSc. Elthon Manhas de Freitas 2023


AVISO: Tarefa

Ao longo desta aula haverá tarefas que requerem criação de


“Ambientes” Python, e codificação.

Para conclusão das tarefas, os alunos devem ter instalados em


seus computadores:

- Python
- Conda (Anaconda, Miniconda, etc.)
- PyCharm (pode ser Community Edition)
- GIT

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Cognição e Operacionalização
MLOps

MachineLearning + Operations

MLOPS – Prof. MSc. Elthon Manhas de Freitas


MLOps – 3 PILARES

Experimentar, treinar Desenvolver o Deploy Monitorar e gerenciar


e calibrar ML para de modelos, via modelos em produção
encontrar o melhor Pipeline
modelo
MLOPS – Prof. MSc. Elthon Manhas de Freitas
O QUE É CURADORIA DE MODELOS DE
MACHINE LEARNING

Do latim "curator", "aquele que administra", "aquele que


tem cuidado e apreço”.

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Curadoria de Sistemas (geral)

• Uso de Memória
• TPS (Transações por Segundo)
• Logs
• ...
• etc

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Curadoria de Modelos de ML

• Uso de Memória • Data Drift


• TPS (Transações por Segundo) DESVIOS • Target Drift
• Logs • Model Drift
• ... • Model Performance
• etc • Concept Drift

MLOPS – Prof. MSc. Elthon Manhas de Freitas


APIs de Sistemas (geral)

De modo resumido, como as APIs (Application Programming Interface) funcionam


em um eco-Sistema integrado.

Entrada (Parâmetros)

Saída (Resposta)
API executada

Sistemas

MLOPS – Prof. MSc. Elthon Manhas de Freitas


APIs de Machine Learning

De modo resumido, quais as necessidades extras que API’s de ML possuem.

Entrada (Parâmetros)

API de ML
Valores Reais Curador de
Saída (Resposta) Camada de (Feedback) Modelos
Persistência de I/O

Entrada (Parâmetros)
Sistemas
Saída (Resposta) Real (Feedback)

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Quanto maior a velocidade, maior pode ser o estrago.

Derrapada (drift) a 300 km por hora em 2016 de Erik Jones devido pneu furado.

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Avaliar se o modelo ainda é confiável

Bip bip! Meu trabalho é


fazer classificações.
Bip bip!

A B B A B C A A B B A B A A B B A B

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Avaliar se o modelo ainda é confiável

Something is rotten in Há algo estranho com


the state of Denmark. esses dados.

Curador de Modelos
Hamlet
A B B A B C A A B B A B A A B B A B
Feedback

A B B A B A A A B B A B A B B B A B

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Processo repetitivo = processo automatizado

Eu não confio
em você.

Monitoramento Automático

A B B A B C A A B B A B A A B B A B
Feedback

A B B A B A A A B B A B A B B B A B

MLOPS – Prof. MSc. Elthon Manhas de Freitas


MODEL DRIFT, CONCEPT DRIFT OU
PERFORMANCE DO MODELO

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Model Drift (Concept Drift)

Nada mais é do que a avaliação da degradação do modelo ao longo do tempo


Bip bip! Chefe, aqui Fraude Provável Fraude Improvável
estão as minhas
predições. Bip bip!

Veja que eu acerto


93% dos casos!

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Model Drift (Concept Drift)

Nada mais é do que a avaliação da degradação do modelo ao longo do tempo


Bip bip! Chefe, Não
sei o que aconteceu!
Bip bip! Acurácia

Tempo

D+0: 93,0% D+5: 92,5% D+15: 92,0% D+30: 89,0%

Para tanto, se avaliam as métricas principais, ou seja, as mesmas


usadas durante seu treinamento (RMSE, acurácia, P2, etc.)

MLOPS – Prof. MSc. Elthon Manhas de Freitas


ATIVIDADE
• Trabalhamos em uma operadora de cartão de crédito e nossos cientistas de dados fizeram modelos de
machine learning para controle de pagamento de faturas do segmento "Alta Renda";

• Dentre todos os modelos de ML, um desses modelo avalia:


• A) Faturas totalmente pagas até dia do vencimento;
• B) Faturas pagas parcialmente até o dia do vencimento;
• C) Faturas pagas em atraso;

• O segundo modelo avalia qual será o gasto estimado com despesas ordinárias, ou seja, exclui-se as despesas
excepcionais
Baseline Mês 3
Mês 1 Mês 2

Avaliação Avaliação Avaliação

Métrica Baseline Variação aceita / Desvio Tolerado


Acurácia 93% +/- 4p.p.
F1-Score 93% para A, 92% para B e 89% para C +/- 3p.p.
RMSE 12% +/- 4p.p.

• Faça um notebook Python (no Colab, por exemplo) que avalia se em algum dos meses o modelo de
classificação ou o modelo de regressão devem ser reavaliados. Justifique em quais meses.
• Os dados podem ser obtidos em:
https://storage.googleapis.com/ds-publico/IA/MonitoringDrifts.csv
MLOPS – Prof. MSc. Elthon Manhas de Freitas
Model Drift : Limitações

Para avaliar a performance do modelo ao longo do tempo, é requerido Feedback.


Dados de Entrada Predição Feedback (Vl real)
CPF, última compra, ... Sim Sim

CPF, última compra, ... Não ?

CPF, última compra, ... Não ?

CPF, última compra, ... Sim ?

CPF, última compra, ... Sim Não

CPF, última compra, ... Não Não

CPF, última compra, ... Não Sim

CPF, última compra, ... Sim ?

MLOPS – Prof. MSc. Elthon Manhas de Freitas


PORQUE OS MODELOS SE DEGRADAM
COM O TEMPO

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Por que os modelos se degradam?

Acabo de me
Pra mim já deu! Não
atualizar, estou
consigo acompanhar
pronto para o
tanta mudança!
trabalho!

A resposta mais óbvia: Eles ficam cansados e querem se aposentar!

MLOPS – Prof. MSc. Elthon Manhas de Freitas


De acordo com o modelo de negócio

De acordo com seu propósito, alguns tem uma vida útil menor ou maior.
Classificação de “Tagueamento” de Previsão de Estimativa de
Documentos Imagens Demandas Tempo de Entrega

Mais estáticos Mais dinâmicos

MLOPS – Prof. MSc. Elthon Manhas de Freitas


De acordo com a indústria

De acordo com seu propósito, alguns tem uma vida útil menor ou maior.

Fábricas Varejo Bancos


PESSOAS!! PESSOAS e MACRO ECONOMIA
Mudanças de componentes ou Mudanças de Mudança em taxas de juros,
máquinas de uma linha de comportamentos, tendências e câmbio, inflação, renda
montagem no perfil de consumo ...
e mais: fraudadores se
adaptam e golpistas são
criativos!
Mais estáticos Mais dinâmicos

MLOPS – Prof. MSc. Elthon Manhas de Freitas


PORQUE OS MODELOS SE DEGRADAM
COM O TEMPO

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Target Drift

Não substitui, mas é um complemento alternativo


às limitações da necessidade de Feedback
90,00%
Desvio tolerado
80,00%
70,00%
60,00%
Proporção

50,00%
40,00%
30,00%
20,00%
10,00%
0,00%
Treiname D+0 D+5 D+15 D+30
nto
Não 78,80% 78,70% 77,50% 80,00% 90,00%
Sim 21,20% 21,30% 22,50% 20,00% 10,00%

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Target Drift

Baseline Target Drift aplicado em variáveis contínuas

Mudança na
média, desvio
padrão e quartis
SD = 17.30205 SD = 24.28474
Var = 299.3609 Var = 589.7487

Correlação baixa
0.2455437

Spread Calculado Spread Calculado

MLOPS – Prof. MSc. Elthon Manhas de Freitas


ATIVIDADE – Target Drift (continuação)

• Utilizando o mesmo conjunto de dados do exercício anterior, observe que foi


gerado uma linha de base (baseline) e considere:
• O seguinte Boxplot, contempla algumas medidas estatísticas
• A seguinte pizza, representa a proporção entre A, B e C
• Identifique se em algum mês, houve um desvio significativo, que justificasse
comunicar o cientista de dados para uma possível calibração.

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Métricas para comparação de 2 Histogramas

Nota: deve-se considerar que ambos histogramas


MLOPS – Prof. MSc. Elthon Manhas de Freitas

possuem os mesmos "bins" e "edges"


DATA DRIFT OU DESVIO DE DADOS

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Data Drift

Baseline Análise de desvio das variáveis de entrada


Idade

Idade
Gênero

Gênero
Renda

Renda
Após 30 dias de modelo
Escolaridade

Escolaridade

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Data Drift

Só me mostre os
dados de entrada que "Eu não conto nada para ele,
porque ele toma uma cerveja
eu digo se há desvios!
e conta para todo mundo"

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Outros monitoramentos (Data Drift)

Integridade dos dados Evolução da correlação


das variáveis
• Valores ausentes de idade aumentaram 40%
em relação aos dados originais.

• Outliers de renda aumentaram 20% em


relação aos dados originais.

MLOPS – Prof. MSc. Elthon Manhas de Freitas


TAREFA - Fundamentos!

Mês Mês Mês


Treinamento (-2m) Anterior Atual

baseline
BaseDefault01.csv BaseMesAnterior.csv BaseMesAtual.csv

O documento a seguir avalia DataDrift (desvio dos dados) entre o baseline e o mês anterior.

Explore com o professor e avalie como é feito um processo simples de monitoramento de DataDrift.

Na seqüencia, faça você a análise de desvio dos dados presentes no mês atual.

Envie pelo portal.

Submissão: Seu código (notebook)

https://colab.research.google.com/drive/1Bj4kz7ll3GAv8FfppNvzZv2OE151UwPg?usp=sharing

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Resumo - Monitoramentos

Tipo de Monitoramento Objetivo Observações Contras

Avalia a qualidade das Mais intuitivo; Nem sempre é possível


métricas do modelo no Requer predições e obter feedback;
Model Drift tempo feedback Necessita amostras sem
viés
Avalia a constância das Requer apenas Pode ser apenas falsos
respostas do modelo no predições alertas
Target Drift tempo

Avalia a constância dos Requer apenas dados de Maior gestão de


dados de entrada entrada armazenamento de
Data Drift recebidos pelo modelo, informações
no tempo

Entrada (Parâmetros)

Saída (Resposta) Real (Feedback)

MLOPS – Prof. MSc. Elthon Manhas de Freitas


CONSIDERAÇÕES SOBRE
CURADORIA DE MODELOS DE ML

MLOPS – Prof. MSc. Elthon Manhas de Freitas


FORMAS DE DESVIO

O desvio (drift) pode acontecer de forma:


Gradual
Mudanças graduais de
padrão de comportamento,
novos concorrentes, macro
Tempo
economia, etc.
Abrupta
Geralmente causada por
um evento externo não Modelo de demanda de
identificado, como troca de papel higiênico no início Tempo
presidente, etc. da pandemia (COVID-19)

Recorrente
Mudanças recorrentes ou
sazonais, como Natal, Black
Friday, etc. Tempo

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Principais formas de monitoramento

Parte do
Pipeline
Relatório Alguns tipos de desvios já são
previstos desde a concepção
Automatizado do modelo.
Análise O processo de avaliação é
Regras são configuradas
bem definido e recorrente,
Pontual gerado por processos para que o modelo reinicie o
pipeline de treinamento.
Um examinador independente automáticos.
extrai e avalia periodicamente Obs: requer MLOps nível 1
e, se necessário, envia para Desvios importantes são
retreino. prontamente identificados e
alertas são disparados.

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Bônu
s
Mat :Níveisd
urida e
d
MLO eem
ps

BÔNUS: NÍVEIS DE MATURIDADE


EM ML OPS

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Bônu
s
Mat :Níveisd
urida e
d
MLO eem
Níveis de Maturidade em MLOps ps

Nível 2
• Automação
Nível 1 completa
• Existe alguma
Nível 0 automação
• Sem automação
nos processos de
ML

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Bônu
s
Mat :Níveisd
urida e
d
MLO eem
Nível 0 de Maturidade em MLOps ps

Pessoas Cientistas de dados: isolados, sem comunicação regular com o resto da


equipe do projeto
Data Gathering Os dados estão espalhados por toda parte e são coletados manualmente
Development Todas as atividades de desenvolvimento são manuais e temos um processo
árduo para operacionalizar (yeap thown over the wall!)
Model Release A liberação do modelo para o deploy é manual e feita apenas por cientistas
de dados ou alguém com perfil de engenharia de software isoladamente
CI Sem integração contínua
CD Sem implantação contínua
App Integration & Depende fortemente da experiência dos cientistas de dados para se
Testing implementar
Monitoramento Não há monitoramento ativo

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Bônu
s
Mat :Níveisd
urida e
d
MLO eem

Nível 0 de Maturidade em MLOps


ps

ML Ops
Data Model Model Model Source
Preparation Training Evaluation Validation Code
Code Implantação
Repository
Experimento manual, passos manuais
Analistas
Semi manual:
Modelo
cria Serving de
Exploração/Experimentação e Desenvolvimento Treinado modelo
(imagem, p.e.)
Stagging / Produção

Model Serving

Serviço de
Predição

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Bônu
s
Mat :Níveisd
urida e
d
MLO eem
Nível 1 de Maturidade em MLOps ps

Pessoas Cientistas de dados: trabalham diretamente com engenheiros para converter


experimentos em scripts ou trabalhos que podem ser repetidos
Data Gathering Dados em DBs; há pipeline para coleta, avaliação e pré-processamento
Development Os passos dos experimentos de ML são orquestrados, modularizados e
códigos reutilizáveis são preparados para uso
Model Release Entrega contínua de modelo, metadados de modelo passa a existir. Muitas
vezes compartilhado entre ambientes.
CI Sem integração contínua
CD Sem CD. Um pipeline de treinamento contínuo é implantado em produção
usando uma estratégia de implantação semi manual
App Integration & Testes unitários e de e integração para cada versão de modelo. Menos
Testing dependente da experiência do cientista de dados
Monitoramento O monitoramento é ativo e os gatilhos de retreino são implementados

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Bônu
s
Mat :Níveisd
urida e
d
MLO eem

Nível 1 de Maturidade em MLOps


ps

ML Ops
Data Model Model Model Source
Preparation Training Evaluation Validation Code CD : Pipeline de
Code
Repository Implantação
Experimento Orquestrado
Analistas
Semi
Extração manual
ML Metadata Scripts ML Metadata Store
Offline Exploração/Experimentação e Desenvolvimento
Store
Stagging / Produção ML Metadata Store,
Feature inicialmente Registro de
Store compartilhado Modelos
Modelo
Data Data Model Model Model Model Serving Treinado
Extraction Preparation Training Evaluation Validation (geralmente
imagem)
Pipeline automatizado Dados de
Produção

Gatilho Serviço de
/ regra Predição
Monitoramento

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Bônu
s
Mat :Níveisd
urida e
d
MLO eem
Nível 2 de Maturidade em MLOps ps

Pessoas Cientistas de dados: trabalham diretamente com equipes funcionais


priorizando atividades e orientando time de DevOps
Data Gathering Governança de dados estrita, acesso a dados com base em funções e papéis
Development Os passos dos experimentos de ML são orquestrados, modularizados e
códigos reutilizáveis são preparados para uso
Model Release Entrega contínua de model. Metadados de modelo passa a existir. Muitas
vezes compartilhado entre ambientes.
CI Integração contínua para Test, Build e Deploy
CD Implantação contínua, considera-se o treinamento dos modelos com dados
de produção e, por consequência, metadados de modelos separados.
App Integration & O próprio código contém os testes unitários e de integração para cada
Testing versão de modelo. Menos dependente da experiência do cientista de dados
Monitoramento O monitoramento é ativo e os gatilhos de retreino são aperfeiçoados

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Bônu
s
Mat :Níveisd
urida e
d
MLO eem

Nível 2 de Maturidade em MLOps


ps

Versioning
Data Model Model Model Source
Preparation Training Evaluation Validation Code CI, Build & Test Pipeline Package
Code
Repository
Experimento Orquestrado
Analistas
ML Metadata Store Dev
Extração
Offline Exploração/Experimentação e Desenvolvimento CD : Pipeline de
Implantação
Stagging / Produção
Feature
Store

Data Data Model Model Model Model Serving


Extraction Preparation Training Evaluation Validation (geralmente
imagem)
Pipeline automatizado Dados de
Produção

ML Metadata Store Prod


Gatilho Serviço de
/ regra Predição
Monitoramento

MLOPS – Prof. MSc. Elthon Manhas de Freitas


LABORATÓRIO OPCIONAL
Atividade prática de monitoramento

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Atividade – Monitoramento Prático da SUA PLATAFORMA
Parte 01 – Recordar é Viver Fila de Google Cloud Platform (IaaS)
empréstimos

Docker Host(s)

IP/PORTA/ Modelo
ENDPOINT
de ML 1

IP/PORTA/ Model IP/PORTA/


Modelo
ENDPOINT ENDPOINT
Cliente 1 Manager de ML 2
Colab IP/PORTA/
ENDPOINT

Modelo
Cliente 2 de ML n
Aplicação
Web Banco de
Logs
Dados

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Atividade – Monitoramento Prático da SUA PLATAFORMA
Parte 02 – Sua aplicação (tarefa) Google Cloud Platform (IaaS)

Cliente 2 Docker Host(s)


Aplicação
Web IP/PORTA/ Modelo
IP/PORTA/ ROTA
ROTA de ML 1
Tarefa:
Fazer pelo menos 800 chamadas considerando:
Model IP/PORTA/
Modelo
Ao 400 chamadas ao modelo01 Manager
ROTA
de ML 2
Ao 400 chamadas ao modelo02 IP/PORTA/
ROTA

1 Chamada com 400 clientes != 400 chamadas


O parâmetro aluno deve ser enviado na url com
Modelo
teu nome (p.e.: &aluno=Pedro)
de ML n
Os parâmetros do modelo devem ser valores
aleatórios dentro do domínio de referência (baseline) Banco de
Logs
que garantam respostas positivas E negativas Dados
(predição tanto com 0 e 1)
Exemplo: https://bit.ly/2K1MLw5
Obs.: ip e porta informados durante a aula Submissão: Seu código (python ou notebook)

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Atividade – Monitoramento Prático da SUA PLATAFORMA
Parte 03 – Monitoramento (tarefa, pode ser em dupla) Google Cloud Platform (IaaS)

Agente Docker Host(s)


Monitor IP/PORTA/
(Manual) rota = download
IP/PORTA/ Modelo
Tarefa: ROTA
de ML 1
Obter o registro (logs) de todas as chamadas da plataforma
(endpoint/rota de download = “download”)
Model IP/PORTA/
Modelo
Descompactar o arquivo retorno, juntar os dados e monitorar: ROTA
• Data Drift de todos os campos (baseline vs atual) Manager de ML 2
IP/PORTA/
• Target Drift (baseline vs atual) ROTA

• Informar desvio de correlação inferior a 70% em qualquer


coluna Modelo
de ML n
• Categóricas
• Informar desvio de Média superior a 20% em qualquer coluna
Banco de
• Numéricas (perante mínimos e máximos): Logs
Dados
• Fazer apresentação visual por histograma e boxplot
• Informar desvio de quartis (1º, 2º e 3º ) superior a 20% em
qualquer coluna
• Informar desvio de Média superior a 20% em qualquer
coluna
Fazer análise global e agrupada aluno por aluno. Se necessário, considerar aluno None = “Nenhum”. Submissão: Seu código (notebook)

MLOPS – Prof. MSc. Elthon Manhas de Freitas


Copyright © 2023 | Professor Elthon Manhas de Freitas
Todos os direitos reservados. Reprodução ou divulgação total ou parcial deste documento, é expressamente
proibido sem consentimento formal, por escrito, do professor/autor.
Baseado no material do professor Marcio Junior Vieira, feito para a FIAP

Você também pode gostar