O papel do QA em Machine Learning
Giulia Verruck Tortola
Analista de Quality Assurance
Globalcode – Open4education
Globalcode – Open4education
Agenda
Globalcode – Open4education
Giulia Verruck Tortola
Globalcode – Open4education
O que é Machine Learning?
Inteligência Artificial
Aprendizado de Máquina/�Machine Learning
Globalcode – Open4education
O que é Machine Learning?
Inteligência Artificial
Aprendizado de Máquina/�Machine Learning
Globalcode – Open4education
O que é Machine Learning?
Inteligência Artificial
Aprendizado de Máquina/�Machine Learning
Globalcode – Open4education
O que é Machine Learning?
Inteligência Artificial
Aprendizado de Máquina/�Machine Learning
Globalcode – Open4education
O que é Machine Learning?
POR REFORÇO
Tentativa e erro, recebendo feedbacks positivos ou negativos em relação às suas ações.
NÃO SUPERVISIONADO
Dados não rotulados, buscando identificar padrões ou estruturas ocultas nos dados
SUPERVISIONADO
Dados rotulados (dados de entrada com suas respectivas saídas esperadas)
Globalcode – Open4education
O que é Machine Learning?
POR REFORÇO
Tentativa e erro, recebendo feedbacks positivos ou negativos em relação às suas ações.
NÃO SUPERVISIONADO
Dados não rotulados, buscando identificar padrões ou estruturas ocultas nos dados
SUPERVISIONADO
Dados rotulados (dados de entrada com suas respectivas saídas esperadas)
Globalcode – Open4education
O que é Machine Learning?
POR REFORÇO
Tentativa e erro, recebendo feedbacks positivos ou negativos em relação às suas ações.
NÃO SUPERVISIONADO
Dados não rotulados, buscando identificar padrões ou estruturas ocultas nos dados
SUPERVISIONADO
Dados rotulados (dados de entrada com suas respectivas saídas esperadas)
Globalcode – Open4education
O que é Machine Learning?
POR REFORÇO
Tentativa e erro, recebendo feedbacks positivos ou negativos em relação às suas ações.
NÃO SUPERVISIONADO
Dados não rotulados, buscando identificar padrões ou estruturas ocultas nos dados
SUPERVISIONADO
Dados rotulados (dados de entrada com suas respectivas saídas esperadas)
Globalcode – Open4education
O que é Machine Learning?
Reconhecimento� de padrões
Detecção �de Fraudes
Previsão
de demanda
Diagnóstico
Médico
Globalcode – Open4education
O que é Machine Learning?
Reconhecimento� de padrões
Detecção �de Fraudes
Previsão
de demanda
Diagnóstico
Médico
Globalcode – Open4education
Qualidade para Machine Learning
Não é apenas testar
Processo de qualidade
Foco no cliente final
Globalcode – Open4education
Qualidade para Machine Learning
Não é apenas testar
Processo de qualidade
Foco no cliente final
Globalcode – Open4education
Qualidade para Machine Learning
Não é apenas testar
Processo de qualidade
Foco no cliente final
Globalcode – Open4education
Qualidade para Machine Learning
Não é apenas testar
Processo de qualidade
Foco no cliente final
Globalcode – Open4education
Desafios
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Machine Learning Life Cycle
Business Requirements
Analytics Approach
Data Requirements
Data Collection
Exploratory Data Analysys
Data Preparation
Model Selection
Model Evaluation
Model Deployment
Model Tunning
Project Review
Planning
Data
Development
Deployment
Globalcode – Open4education
Tipos de testes
Unidade
Integração
Validação dos Dados
Validação do Modelo
Robustez
Monitoramento e Desempenho
Retenção de Modelo
Globalcode – Open4education
Tipos de testes
Unidade
Integração
Validação dos Dados
Validação do Modelo
Robustez
Monitoramento e Desempenho
Retenção de Modelo
Globalcode – Open4education
Tipos de testes
Unidade
Integração
Validação dos Dados
Validação do Modelo
Robustez
Monitoramento e Desempenho
Retenção de Modelo
Globalcode – Open4education
Tipos de testes
Unidade
Integração
Validação dos Dados
Validação do Modelo
Robustez
Monitoramento e Desempenho
Retenção de Modelo
Globalcode – Open4education
Tipos de testes
Unidade
Integração
Validação dos Dados
Validação do Modelo
Robustez
Monitoramento e Desempenho
Retenção de Modelo
Globalcode – Open4education
Tipos de testes
Unidade
Integração
Validação dos Dados
Validação do Modelo
Robustez
Monitoramento e Desempenho
Retenção de Modelo
Globalcode – Open4education
Tipos de testes
Unidade
Integração
Validação dos Dados
Validação do Modelo
Robustez
Monitoramento e Desempenho
Retenção de Modelo
Globalcode – Open4education
Tipos de testes
Unidade
Integração
Validação dos Dados
Validação do Modelo
Robustez
Monitoramento e Desempenho
Retenção de Modelo
Globalcode – Open4education
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Bibliotecas de Teste em Python
Essas bibliotecas oferecem recursos para escrever e executar testes de unidade em código Python.
Python é uma linguagem de programação amplamente utilizada em Machine Learning, e existem várias bibliotecas de teste disponíveis para testes de unidade
Frameworks de Machine Learning
Como o TensorFlow, PyTorch, scikit-learn e Keras, possuem suas próprias funcionalidades de teste embutidas
Eles fornecem mecanismos para validar e testar modelos de Machine Learning, como a avaliação de métricas de desempenho e a validação cruzada.
Globalcode – Open4education
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Ferramentas de Automação
Existem várias ferramentas de automação de testes que podem ser utilizadas para testes de unidade em Machine Learning
Podem ser configurados para executar testes de unidade automaticamente sempre que ocorrerem alterações no código do modelo.
Ambientes(IDEs)
Possuem recursos integrados para execução e depuração de testes de unidade.
Eles oferecem suporte a frameworks de teste e facilitam a execução dos testes diretamente no ambiente de desenvolvimento.
Globalcode – Open4education
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Integração
Frameworks de teste em Python
Essas bibliotecas oferecem recursos para escrever e executar testes de unidade em código Python.
Python é uma linguagem de programação amplamente utilizada em Machine Learning, e existem várias bibliotecas de teste disponíveis para testes de unidade
Ferramentas de automação de teste
Podem ser usadas para testar a integração entre o sistema de Machine Learning e outras partes do sistema, como bancos de dados, APIs, interfaces de usuário, entre outros. Essas ferramentas permitem simular interações do usuário e validar se a integração está ocorrendo corretamente.
Globalcode – Open4education
Serviços de Nuvem
Podem ser usadas para implantar e executar testes de unidade em ambientes escaláveis e gerenciados na nuvem.
Isso permite testar os modelos em diferentes cenários e com grande volume de dados.
Containers e Orquestradores
Pode facilitar a criação e o gerenciamento de ambientes de teste isolados para modelos de Machine Learning
Isso permite executar testes de unidade em um ambiente controlado e reproduzível.
Globalcode – Open4education
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Validação dos Dados
Muitas plataformas de Machine Learning oferecem suporte à execução de consultas SQL em conjuntos de dados para realizar validações. É possível escrever consultas SQL para comparar valores, verificar a integridade dos dados, identificar duplicatas e realizar outras verificações de validação.
Ele fornece uma ampla gama de funcionalidades para filtrar, transformar e validar dados. O Pandas pode ser usado para carregar os conjuntos de dados, executar operações de validação, como verificação de valores ausentes, valores inválidos, duplicatas, entre outros.
Ele fornece uma API em Python para consultas e transformações de dados distribuídos. Com o PySpark, é possível executar consultas e transformações em conjuntos de dados, além de realizar validações de dados usando funções do Spark SQL.
Globalcode – Open4education
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Validação dos Dados
Ferramentas de profiling e profiling de dados
Globalcode – Open4education
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Validação dos Dados
Globalcode – Open4education
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Validação do Modelo
Ferramentas de comparação de resultados
numpy.testing
DeepDiff
Datasets de teste
A criação de conjuntos de dados de teste é uma prática comum para validar modelos de Machine Learning
Verificar se o modelo está produzindo os resultados corretos.
Plataformas de ML Ops
Kubeflow, o MLflow e o TensorFlow Extended (TFX)
Recursos para gerenciar o ciclo de vida dos modelos de Machine Learning, incluindo testes de validação
Globalcode – Open4education
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Validação do Modelo
Ferramentas de visualização e interpretabilidade de modelos
TensorBoard, o SHAP (SHapley Additive exPlanations), o Lime (Local Interpretable Model-Agnostic Explanations) e o Yellowbrick
Podem ajudar a entender e validar o comportamento do modelo. Essas ferramentas permitem visualizar métricas, inspecionar as predições do modelo e interpretar o impacto das features nas decisões do modelo.
Globalcode – Open4education
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Robustez
Adversarial Testing Frameworks
Foolbox, CleverHans e Adversarial Robustness Toolbox (ART)
Essas ferramentas criam exemplos que são modificados de forma imperceptível, mas podem induzir erros no modelo
Plataformas de Testes em Nuvem
AWS Device Farm, Sauce Labs, BrowserStack e Firebase Test Lab
Essas plataformas permitem que os QA testem a aplicação de Machine Learning em um ambiente diversificado, simulando diferentes cenários e condições adversas
Globalcode – Open4education
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Monitoramento e Desempenho
Ferramentas de Monitoramento de Infraestrutura
Logging e Logging Aggregators
Métricas de Desempenho
e Keras
Globalcode – Open4education
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Monitoramento e Desempenho
A/B Testing
Sistemas de Monitoramento de Aplicações
Globalcode – Open4education
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Unidade
Retenção de Modelo
Apache Airflow
MlFlow
Ferramentas de Versionamento de Dados
Pipelines de Treinamento e Avaliação
Globalcode – Open4education
Qual o papel do QA em Machine Learning?
QUALIDADE
COMUNICAÇÃO ENTRE O TIME
OBSERVABILIDADE E MONITORAMENTO
QUESTIONAR E APRESENTAR SOLUÇÕES
Globalcode – Open4education
Me chama no Linkedinho:
Globalcode – Open4education