Amazon MLA-C01: Avaliação e Seleção de Modelos — Guia de estudos
Faz parte do AWS Machine Learning Engineer Associate MLA-C01 — Guia de estudos. Pratique com respostas verificadas no centro de exames da Amazon, ou faça testes cronometrados no ExamRoll.io.
A avaliação precisa de modelos começa com a seleção de métricas que correspondam ao objetivo de negócio e às características das classes/rótulos. Para classificação binária, a matriz de confusão — verdadeiros positivos, falsos positivos, falsos negativos, verdadeiros negativos — é a primitiva canônica da qual a precisão (TP / (TP+FP)), o recall ou sensibilidade (TP / (TP+FN)), a especificidade (TN / (TN+FP)) e a acurácia ((TP+TN) / total) são derivadas. A precisão e o recall formam um trade-off que é capturado no F1 score (2 * precisão * recall / (precisão + recall)), que é a média harmônica e enfatiza o equilíbrio entre falsos positivos e falsos negativos. Quando o desbalanceamento de classes é severo, a acurácia pode ser enganosa; a área sob a curva ROC (AUC) mede a separabilidade entre diferentes limiares e é robusta ao desbalanceamento em muitos casos, enquanto a AUC da curva de precisão-recall (AUPRC) é mais informativa quando a prevalência da classe positiva é baixa. Para regressão, a raiz do erro quadrático médio (RMSE) penaliza erros maiores quadraticamente e é sensível a outliers; use o erro absoluto médio (MAE) quando a robustez a outliers é preferível.
A seleção do limiar (threshold) é uma decisão operacional: muitos algoritmos produzem uma pontuação de probabilidade e exigem um limiar para converter em rótulos de classe. Use as curvas ROC e de precisão-recall para localizar limiares que maximizem um objetivo escolhido, como o F1 score ou uma função de custo ponderada pelo negócio. Uma metodologia prática é calcular a precisão, o recall e o F1 para cada limiar a partir da matriz de confusão e, então, escolher o limiar que atenda a uma restrição de precisão ou recall alvo. A validação cruzada (cross-validation) complementa isso ao reduzir a variância nas estimativas das métricas: use o K-fold estratificado para classificação desbalanceada para preservar as proporções das classes entre os folds. No código, o StratifiedKFold do scikit-learn com n_splits e shuffle=True, além de um random_state fixo, gera folds reprodutíveis; registre as métricas por fold e agregue as médias e os desvios padrão para quantificar a variância esperada. Ao usar o SageMaker, você pode orquestrar as execuções de validação cruzada como training jobs separados e rastreá-los com as APIs do SageMaker Experiments:
undefined
,
undefined
,
undefined
e, em seguida,
undefined
e
undefined
para cada fold.
O trade-off de viés-variância (bias-variance) orienta as escolhas de complexidade do modelo e de regularização. Modelos com alto viés (bias) sofrem de underfitting e produzem erro alto nos conjuntos de treinamento e validação, enquanto modelos com alta variância sofrem de overfitting e têm erro baixo no treinamento, mas erro alto na validação. Corrija o viés aumentando a capacidade do modelo, adicionando features informativas ou reduzindo a força da regularização; corrija a variância adicionando regularização (L1/L2), reduzindo a complexidade, usando dropout ou aumentando os dados de treinamento. Use estimativas de validação cruzada para detectar variância: uma grande dispersão nas métricas entre os folds implica alta variância. Para treinamento iterativo no SageMaker, incorpore o early stopping (parada antecipada) (para o XGBoost, defina o hiperparâmetro early_stopping_rounds e eval_metric='auc' ou 'error') e use o SageMaker Automatic Model Tuning com uma estratégia Bayesiana para buscar no hyperparameter_space; configure o HyperparameterTuner com objective_metric_name, objective_type='Maximize' ou 'Minimize', hyperparameter_ranges, max_jobs e max_parallel_jobs.
Principais serviços e configuração
Os serviços da AWS formam uma cadeia de ferramentas fortemente integrada para rastrear experimentos, registrar modelos, detectar desvios (drift) e aplicar mecanismos de controle (guardrails) na implantação. Use o Amazon SageMaker Experiments para organizar as execuções; chame
undefined
,
undefined
e
undefined
para persistir hiperparâmetros e métricas. Para o gerenciamento centralizado do ciclo de vida do modelo, use o SageMaker Model Registry (ModelPackageGroup e ModelPackage) e controle o fluxo de implantação através do atributo do pacote de modelo ModelPackageApprovalStatus, que suporta valores como “PendingManualApproval”, “Approved” e “Rejected”. Integre aprovações manuais em um fluxo de CI/CD invocando
undefined
para alterar o approval_status a partir de uma função AWS Lambda ou de uma ação de aprovação humana do Step Functions.
Para monitoramento pós-implantação e detecção de viés/desvio, use o SageMaker Model Monitor e o SageMaker Clarify. Habilite a captura de dados em tempo real em um endpoint definindo DataCaptureConfig na chamada
undefined
ou
undefined
; especifique CaptureOptions: [{"CaptureMode":"Input"}, {"CaptureMode":"Output"}], DestinationS3Uri e SamplingPercentage para coletar cargas (payloads) representativas. Use o DefaultModelMonitor do Model Monitor para
undefined
(JSONs baseline_statistics e baseline_constraints) a partir de um conjunto de dados de referência e, em seguida, crie uma agenda de monitoramento com
undefined
, fornecendo um MonitoringScheduleConfig, schedule_expression (cron ou rate) e MonitoringInputs como EndpointInput com local_path e S3InputMode. Para equidade (fairness) e viés, use o SageMaker Clarify como um ProcessingJob com os parâmetros clarify_config compute_bias e compute_data_drift, ou use o contêiner pré-construído (builtin) do SageMaker Clarify em um Processing job e persista os resultados no S3 para dashboards.
Vários recursos da AWS são comumente usados em conjunto para agregação de dados, preparação de features e detecção de anomalias:
- Amazon S3 para armazenamento e isolamento seguro (políticas de bucket, S3 Block Public Access e criptografia KMS via SSE-KMS).
- AWS Glue e AWS Glue Data Catalog para descobrir, unificar e catalogar conjuntos de dados de fontes S3 e JDBC.
- Amazon SageMaker Data Wrangler para transformações do tipo arrastar e soltar (drag-and-drop) e visualização automática de distribuições, valores ausentes e assimetria (skew).
- Amazon SageMaker Feature Store para servir features online e offline com as APIs
undefined
e
undefined
e para consistência de features entre treinamento e inferência.
- SageMaker Model Monitor e SageMaker Clarify para desvio (drift), viés e monitoramento.
- Amazon Lookout for Metrics para detecção automática de anomalias em séries temporais, quando apropriado.
Padrões de design e trade-offs
Quando a sobrecarga operacional precisa ser minimizada, prefira serviços gerenciados e recursos de algoritmos integrados em vez de construir pipelines de ETL ou de monitoramento personalizados. Por exemplo, ao treinar um classificador binário para detecção de fraudes, o XGBoost é uma escolha integrada e eficiente no SageMaker que oferece treinamento de baixa latência e hiperparâmetros adaptados para desbalanceamento, como o scale_pos_weight, que você deve definir como (num_negative / num_positive). Configure os hiperparâmetros do XGBoost no Estimator ou no contêiner de treinamento: objective=‘binary:logistic’, eval_metric=‘aucpr’ ou ‘auc’, e early_stopping_rounds para encerrar execuções ruidosas. Isso evita a construção de pipelines de oversampling personalizados (SMOTE), a menos que seja necessária uma amostragem sintética específica do domínio.
Para a engenharia de features, use o SageMaker Data Wrangler para aplicar transformações de codificação (one-hot para features categóricas de baixa cardinalidade, codificação ordinal/de rótulo ou target encoding para features de alta cardinalidade) e, em seguida, materialize as features limpas no SageMaker Feature Store ou no S3. O Data Wrangler remove grande parte da carga operacional e produz scripts ou jobs de processamento que você pode reutilizar. Se você precisa de seleção automatizada de modelos com o mínimo de esforço, o SageMaker Autopilot pode pré-processar automaticamente features categóricas e numéricas mistas e gerar modelos candidatos; no entanto, o Autopilot abstrai as transformações e pode não ser ideal para regimes de features personalizados.
A comparação e a promoção de modelos são mais robustas quando métricas, artefatos e linhagem são registrados. Use o SageMaker Experiments para comparar as execuções e, em seguida, crie um ModelPackage em um ModelPackageGroup. Promova o modelo definindo o ModelPackageApprovalStatus como “Approved” e produza um EndpointConfig que faça referência ao ARN do pacote do modelo. Onde o controle humano é necessário, deixe o modelo em “PendingManualApproval” e estruture um fluxo de trabalho de aprovação humana usando o Step Functions ou o AWS CodePipeline com uma ação de aprovação que chame o UpdateModelPackage para movê-lo para “Approved.”
Armadilhas comuns e critérios de decisão
Uma armadilha comum é confundir uma queda no F1 de produção com uma falha do modelo, quando o problema subjacente é o desvio de dados (data drift). A causa mais provável de uma queda sustentada no F1 meses após a implantação é o desvio na distribuição dos dados de entrada (input distribution drift) ou o desvio de rótulo (label drift ou concept drift), em vez de um bug repentino. Para diagnosticar, habilite o DataCaptureConfig no endpoint para capturar os payloads de requisição e resposta no S3, execute agendamentos de monitoramento do Model Monitor em relação às restrições da linha de base (baseline) e calcule as estatísticas de distribuição das features e o PSI (population stability index). Execute também as verificações de desvio de dados (data drift) e viés (bias) do Clarify para detectar mudanças que afetam as métricas de justiça (fairness).
Outro erro frequente é lidar incorretamente com o desbalanceamento de classes, fazendo uma reamostragem ingênua sem levar em conta o vazamento temporal (temporal leakage) ou os custos de negócio. Prefira primeiro os controles no nível do algoritmo — para o XGBoost, defina scale_pos_weight e ajuste eval_metric para aucpr ou um objetivo personalizado — antes de passar para estratégias de amostragem que podem introduzir exemplos duplicados. Para reprodutibilidade e rastreamento de experimentos, sempre use as APIs do SageMaker Experiments para registrar hiperparâmetros e métricas, e registre pacotes de modelo (model packages) com URIs de artefatos e metadados de proveniência para que as promoções sejam auditáveis.
Problema Prático: Cenário de Caso de Uso
Empresa: FinSight Inc. — detecção de fraudes em transações on-line com dados no Amazon S3 e em um MySQL on-premises. Requisitos: isolamento seguro de dados, detecção e visualização automatizada de anomalias, aprovação manual antes da implantação em produção, baixa latência de inicialização para treinamento iterativo e versionamento centralizado de modelos com sobrecarga operacional mínima.
Agregação e segurança de dados: Use o AWS Glue para rastrear (crawl) os logs de transação do S3 e criar tabelas no Glue Catalog. Defina a criptografia do bucket com SSE-KMS e restrinja o acesso por meio de políticas do IAM e VPC endpoints. Para o MySQL on-prem, use uma conexão JDBC do AWS Glue dentro de uma VPC com uma VPN segura ou AWS Direct Connect, ou use o AWS DMS para replicar as tabelas necessárias para uma landing zone no S3. Registre os conjuntos de dados no Glue Data Catalog e conceda às roles de execução do SageMaker acesso com privilégio mínimo (least-privilege).
Preparação de features e detecção de anomalias: Use o Amazon SageMaker Data Wrangler para se conectar ao Glue Catalog e à landing zone no S3, aplicar transformações (imputação de valores ausentes, label encoding para variáveis categóricas, escalonamento para numéricas) e executar a criação de perfil (profiling) integrada do Data Wrangler para visualizar distribuições e sinalizar anomalias. Exporte as features processadas para o offline store do SageMaker Feature Store para treinamento e para o online store para buscas de baixa latência na inferência.
Treinamento do modelo e minimização da latência de inicialização: Use o SageMaker Estimator para XGBoost com
objective='binary:logistic',eval_metric='aucpr', e definascale_pos_weight=(neg_count/pos_count). Para reduzir a latência de inicialização em trabalhos de treinamento iterativos, armazene em cache as saídas do Data Wrangler no S3 e reutilize a mesma imagem de contêiner de treinamento e tipo de instância, em vez de reconstruir a ingestão de dados a cada vez; use o SageMaker Pipelines comcache_confighabilitado para que etapas repetidas com entradas/hiperparâmetros inalterados pulem a inicialização da infraestrutura.Rastreamento de experimentos e seleção de modelos: Instrumente cada execução de treinamento com o SageMaker Experiments (CreateExperiment, CreateTrial, LogMetric). Use o HyperparameterTuner configurado com
objective_metric_name='validation:aucpr',objective_type='Maximize',strategy='Bayesian',max_jobsemax_parallel_jobspara encontrar os melhores hiperparâmetros. Compare os modelos no Experiments e registre os candidatos escolhidos no SageMaker Model Registry criando um ModelPackage em um ModelPackageGroup.Aprovação manual e controle de implantação (gating): Deixe os pacotes de modelo recém-criados com o status
ModelPackageApprovalStatus='PendingManualApproval'. Use um fluxo de trabalho do AWS Step Functions com uma tarefa de aprovação humana ou uma ação de aprovação do AWS CodePipeline; uma vez aprovado, executeUpdateModelPackagepara definir a aprovação como ‘Approved’ e acionar a criação automática de um EndpointConfig e a execução deUpdateEndpointpara realizar a implantação.Monitoramento, viés (bias) e desvio (drift): Habilite o DataCaptureConfig no endpoint de tempo real com
CaptureOptionspara Input e Output,DestinationS3UrieSamplingPercentage. Gere estatísticas de linha de base (baseline) com oGenerateBaselinedo Model Monitor a partir do conjunto de dados de treinamento e agende o monitoramento contínuo comcreate_monitoring_schedule. Execute o SageMaker Clarify como um processing job regularmente para calcular métricas de viés e desvio de dados. Se o F1 cair abaixo das restrições da linha de base, use os alertas do Model Monitor para acionar um pipeline de retreinamento automatizado (SageMaker Pipeline) que registra novas execuções no Experiments e produz novos pacotes de modelo para revisão humana.
Justificativa da AWS: Esta abordagem utiliza as capacidades gerenciadas do SageMaker — Data Wrangler e Feature Store para minimizar a sobrecarga de pré-processamento, XGBoost com scale_pos_weight para lidar com o desbalanceamento sem reamostragem complexa, SageMaker Experiments e Model Registry para um gerenciamento auditável do ciclo de vida de experimentos e modelos, DataCaptureConfig junto com Model Monitor e Clarify para detecção automatizada de desvio (drift) e justiça (fairness), e Step Functions/CodePipeline integrados com o Model Registry para fornecer o portão de aprovação manual necessário. Juntos, esses serviços minimizam a carga operacional, preservando a segurança, a rastreabilidade e a capacidade de responder à degradação do modelo.
← Treinamento de Modelos e Otimização de Hiperparâmetros · Todos os domínios · Implantação e Inferência de Modelos →
Pratique estas questões → · Prática cronometrada no ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Passe no seu exame →