Uma referência rápida dos padrões arquiteturais que o exame MLA-C01 avalia. Leia de cima a baixo ou pule para uma seção.
Preparação de Dados para ML
Escolha uma ferramenta visual de preparação de dados.
Focada em ML, integra-se com SageMaker Studio + fluxo → Tarefa de processamento → Pipeline → Exportação de notebook → SageMaker Data Wrangler. Limpeza genérica de dados com receitas reutilizáveis, perfilamento, sem dependência do SageMaker → AWS Glue DataBrew. 50 TB+ Spark com código personalizado → Amazon EMR.
Por quê: O Data Wrangler é a opção nativa do SageMaker (mais de 300 transformações, extração de data/hora, exporta para Pipeline/Processing). O DataBrew é baseado em receitas e agnóstico de fonte. O EMR lida com escala e Spark arbitrário.
50 TB de engenharia de features com código PySpark existente, deve terminar em 4 horas.
Amazon EMR com Spark. Tamanho de cluster ajustável, suporte a Spot, executa o código existente inalterado.
Por quê: O Glue ETL também executa Spark, mas o EMR oferece mais controle sobre a forma do cluster; o SageMaker Processing é para tarefas de contêiner único em menor escala.
Rotular 100.000 imagens de forma econômica - quer rotulagem humana + automatizada.
Amazon SageMaker Ground Truth com rotulagem de dados automatizada ativada. Após um subconjunto inicial rotulado por humanos, o Ground Truth treina um modelo e rotula automaticamente amostras de alta confiança.
Por quê: Aprendizagem ativa geralmente reduz o custo de rotulagem em até 70%. A2I é para revisão humana de previsões de modelos, não para rotulagem em massa.
Vários anotadores discordam; precisa de um revisor sênior para verificar uma amostra de rótulos.
Fluxo de trabalho de verificação de rótulos (auditoria) do Ground Truth. Um subconjunto de rótulos é direcionado a uma força de trabalho de revisão que aprova, rejeita ou ajusta. Combine com consolidação de anotações para votação por maioria de múltiplos trabalhadores.
Mesmas features engenheiradas necessárias no treinamento (batch) e na inferência (sub-10ms).
Amazon SageMaker Feature Store com lojas online + offline habilitadas no grupo de features. A loja online suporta GetRecord em tempo real; a loja offline (Parquet no S3) suporta o treinamento.
Por quê: Elimina o viés de treinamento/serviço sem uma sincronização personalizada DynamoDB ↔ S3.
Unir dois grupos de features para treinamento sem vazar valores futuros de features.
Junção pontual contra a loja offline usando a coluna de tempo do evento. Cada linha de treinamento vê apenas valores de features que existiam no seu timestamp de evento.
Por quê: Um JOIN simples em valores mais recentes causa vazamento de dados ao expor o desvio de features pós-evento ao modelo.
Escolha um modo de entrada de dados de treinamento do SageMaker para um conjunto de dados de 500 GB.
Modo de arquivo → todo o conjunto de dados é baixado primeiro (início lento, custo de EBS). Modo pipe → transmite do S3, inicialização rápida, baixo armazenamento. Modo FastFile → streaming preguiçoso em nível de arquivo. Use Pipe (ou FastFile) para grandes conjuntos de dados para evitar o download.
Escolha um formato de armazenamento e layout para data lake de ML no S3 com leituras frequentes de subconjuntos de colunas + filtros de partição.
Parquet (colunar, comprimido) particionado pela coluna mais filtrada (ex: data ou região). Impulsiona a poda de colunas + poda de partição no Athena e SageMaker.
Codificar features categóricas. Algumas são ordenadas (Básico/Padrão/Premium), outras não (estados dos EUA).
Ordenadas → codificação ordinal (preserva a ordem). Não ordenadas → one-hot encoding (evita ordinalidade falsa). Evite label encoding em features não ordenadas. Target encoding requer CV cuidadoso para evitar vazamento.
Coluna numérica tem valores ausentes que se correlacionam com outra feature (ex: renda ausente depende do tipo de emprego).
Imputação da mediana baseada em grupo (mediana por tipo de emprego). Preserva a relação; a média é sensível a outliers; a remoção perde dados; zero adiciona viés.
Classificação binária com 0,3% de classe positiva.
Oversampling SMOTE apenas na dobra de treinamento (após a divisão). Combine com avaliação PR-curve / F1, não acurácia.
Por quê: Aplique oversampling APÓS a divisão para evitar vazamento. A acurácia é enganosa em dados desbalanceados.
Feature numérica com assimetria à direita (ex: renda) prejudica o desempenho do modelo linear.
Transformação logarítmica. Comprime a cauda direita e produz uma distribuição mais simétrica. Padronização/min-max mudam a escala, não a forma.
50 features altamente correlacionadas; quer menor dimensionalidade preservando a variância.
PCA. Transforma features correlacionadas em componentes principais não correlacionados ranqueados por variância.
Escolha uma divisão treino/validação/teste.
Classificação desbalanceada → divisão estratificada (preserva a proporção de classes). Séries temporais → divisão cronológica (treinar em período inicial, testar no mais recente); nunca embaralhamento aleatório. Tabular IID → aleatório.
Desenvolvimento de Modelos de ML
Escolha um algoritmo integrado do SageMaker.
Classificação/regressão tabular → XGBoost ou Linear Learner. Classificação de texto multiclasse em escala → BlazingText (supervisionado). Séries temporais com séries relacionadas e sazonalidade → DeepAR. Detecção de anomalias não supervisionada em numérico → Random Cut Forest. Modelagem de tópicos → Neural Topic Model. Tradução / Seq2Seq → Sequence-to-Sequence. Classes em nível de pixel → Semantic Segmentation. Embeddings de entidades pareadas (usuário/item) → Object2Vec.
Framework de treinamento personalizado / tokenizador proprietário não incluído nos algoritmos integrados.
BYOC (Bring Your Own Container): Imagem Docker com o código e dependências, push para Amazon ECR, referência no treinamento do SageMaker. Mantém infra gerenciada (Spot, distribuída, ciclo de vida) sem abrir mão da personalização.
Pequeno conjunto de dados de imagens (~2.000) para classificação médica.
Transfer learning de um modelo pré-treinado no ImageNet (ex: ResNet). Ajuste fino das últimas camadas. A Classificação de Imagens do SageMaker suporta isso diretamente.
Por quê: O treinamento do zero em dados pequenos causa overfitting. Features pré-treinadas (bordas, texturas) transferem-se de forma limpa para imagens médicas.
Ajustar rapidamente um modelo de fundação pré-treinado sem escrever código de treinamento personalizado.
API de ajuste fino do SageMaker JumpStart: escolha o ID do modelo, forneça o conjunto de dados no formato esperado (normalmente JSONL), inicie uma tarefa de ajuste fino, implante em um endpoint do JumpStart.
Adaptar um LLM a um domínio. Muito conhecimento estático → escolha RAG vs ajuste fino vs apenas prompt.
Conhecimento de domínio em constante mudança → RAG via Bedrock Knowledge Bases. Voz da marca / estilo consistente com exemplos rotulados → Personalização de modelo Bedrock (ajuste fino, frequentemente adaptadores com eficiência de parâmetros). Pequena orientação estática → engenharia de prompt com few-shot.
Ajustar 8 hiperparâmetros; cada tarefa de treinamento leva 30 minutos; computação limitada.
Ajuste Automático de Modelo do SageMaker com otimização Bayesiana (padrão). Constrói um modelo probabilístico do objetivo e amostra regiões promissoras.
Por quê: A busca em grade explode combinatorialmente; a busca aleatória desperdiça orçamento. Especifique a métrica objetivo (ex: `validation:auc`) e o tipo (`Maximize`).
Continuar treinando o modelo existente com novos rótulos mensais - não começar do zero.
Treinamento incremental: passe os artefatos do modelo anterior como entrada. Suportado pelos algoritmos integrados de Classificação de Imagens, Detecção de Objetos, Segmentação Semântica.
Escolha uma estratégia de treinamento distribuído.
Modelo cabe em uma GPU, mas os dados são enormes → paralelismo de dados (replica o modelo, divide lotes, gradientes AllReduce). Modelo não cabe em uma GPU → paralelismo de modelo (divide camadas/tensores entre GPUs). Mais de 10 bilhões de parâmetros → biblioteca de paralelismo de modelo do SageMaker (paralelismo de tensor + pipeline).
A perda de treinamento continua caindo, a perda de validação começa a subir após a época 50.
Overfitting. Aplique early stopping no mínimo da perda de validação, mais dropout / decaimento de peso L2. Mais camadas pioram.
Escolha a métrica de classificação correta.
Desbalanceado + casos positivos raros importam → recall, F1, curva PR / Precisão Média (NÃO ROC AUC, que é inflada por muitos TNs). Multiclasse com desequilíbrio → F1 com média macro. Ranking independente de limiar → AUC. Calibração de probabilidade → log loss / Brier.
Modelo de regressão superestima no extremo superior e subestima no extremo inferior.
Plote resíduos vs valor previsto; use o Erro Médio (assinado) para viés sistemático. RMSE / MAE / R² escondem a direção.
Cada entrada pode pertencer a múltiplas classes simultaneamente.
Ativação Sigmoid por neurônio de saída com perda de entropia cruzada binária (probabilidades independentes). Softmax + entropia cruzada categórica assume classes mutuamente exclusivas.
Empilhar múltiplos modelos base com um meta-aprendiz.
Validação cruzada k-fold: cada modelo base produz previsões fora da dobra em sua dobra retida; colete em todas as dobras e treine o meta-aprendiz nelas.
Por quê: Treinar modelos base e prever no mesmo conjunto de treinamento vaza informações para o meta-aprendiz.
Rastrear e comparar muitas execuções de treinamento (parâmetros, métricas, artefatos).
SageMaker Experiments. Passe `experiment_config` (experimento + trial + componente de trial) para a tarefa de treinamento; o SageMaker registra automaticamente hiperparâmetros, configuração de entrada, métricas e artefatos.
Detectar patologias de treinamento (gradiente evanescente, perda não diminuindo, tensor explodindo) sem reescrever o script.
SageMaker Debugger com regras integradas (`VanishingGradient`, `LossNotDecreasing`, `ExplodingTensor`, `Overfit`). Captura tensores via hooks; avalia regras em tempo real.
Síncrona de baixa latência estável → endpoint em tempo real. Tráfego em pico / ocioso, sem necessidade de GPU → inferência serverless (configure Concorrência Provisionada para eliminar cold starts). De longa duração por requisição (>60 s) ou grandes payloads → inferência assíncrona. Pontuação offline em massa de registros S3 → batch transform.
Endpoint em tempo real deve absorver picos de 1000 req/s, mas escalar para quase zero à noite.
Application Auto Scaling com rastreamento de destino em `InvocationsPerInstance`. Adiciona/remove instâncias por trás do endpoint conforme o tráfego se desloca.
O pipeline deve coordenar Glue ETL + Lambda + treinamento SageMaker + SNS / DynamoDB.
AWS Step Functions. Integrações de serviço nativas em toda a pilha; mais rico que Pipelines para passos não-SageMaker.
Por quê: Pipelines é a escolha certa para workflows puramente de ML; Step Functions é a escolha certa quando você precisa das integrações de serviço AWS mais amplas.
Implantar um modelo TensorFlow em dispositivos de borda ARM; precisa que seja pequeno + rápido.
SageMaker Neo. Compila para o hardware de destino; até 25× mais rápido, ~1/10 da memória. Implante via runtime DLR; combine com IoT Greengrass para borda offline.
Monitoramento, Manutenção e Segurança de Soluções de ML
Detectar que as distribuições das features de entrada se desviaram da linha de base do tempo de treinamento.
SageMaker Model Monitor - Qualidade de Dados. Captura dados de inferência, compara com uma linha de base computada a partir dos dados de treinamento, emite alarme em caso de desvio.
Por quê: A ordem de configuração é fixa: (1) tarefa de linha de base → (2) agendamento de monitoramento → (3) alarmes do CloudWatch nas métricas de violação de restrição.
Detectar degradação da qualidade da previsão (acurácia / F1 / RMSE) quando o ground truth chega com atraso.
SageMaker Model Monitor - Qualidade do Modelo. Mescla previsões capturadas com rótulos de ground truth atrasados; emite alarmes quando as métricas caem abaixo da linha de base.
A distribuição de entrada parece inalterada, mas a qualidade da previsão mudou.
SageMaker Clarify Feature Attribution Drift Monitor (baseado em SHAP). Detecta desvio de conceito através da mudança nas importâncias das features. Combine com o monitor de Qualidade do Modelo quando o ground truth estiver disponível.
A acurácia caiu, mas as distribuições das features de entrada estão inalteradas.
Desvio de conceito (a relação rótulo/feature mudou). Desvio de dados foi descartado. Correção: retreinar em dados rotulados recentes.
Verificar o conjunto de dados quanto a viés antes do treinamento.
Métricas de viés pré-treinamento do SageMaker Clarify. Desequilíbrio de Classe (CI) para disparidade no tamanho da amostra; Diferença nas Proporções Positivas de Rótulos (DPL) para disparidade na taxa de rótulos; divergência KL/JS para lacunas distribucionais.
Métricas de viés pós-treinamento do SageMaker Clarify. Impacto Disparate (DI), Diferença de Acurácia (AD), Aceitação Condicional, Igualdade de Tratamento. Execute contra as previsões do modelo.
Por quê: DPL pré-treinamento limpo, mas DI pós-treinamento enviesado = o próprio modelo amplifica uma variável proxy. Investigue features (ex: CEP).
O notebook precisa ler dados de treinamento de um bucket S3 e escrever artefatos em outro.
Política IAM personalizada: `s3:GetObject` no bucket/prefixo de treinamento e `s3:PutObject` no bucket/prefixo de artefatos, anexada à função de execução do SageMaker. Evite `AmazonS3FullAccess`.
Isolamento por equipe entre os recursos do SageMaker.
Controle de acesso baseado em atributos (ABAC) com condição IAM `aws:ResourceTag/project`. Recursos com tag `project=A` acessíveis apenas a funções cujas políticas correspondam.
Criptografar dados de treinamento e artefatos de modelo com chaves gerenciadas pelo cliente + rotação.
SSE-KMS com uma Chave Gerenciada pelo Cliente (CMK). Rotação de KMS, políticas de chave, auditoria CloudTrail. Especifique a chave KMS na tarefa de treinamento + configuração de endpoint (volume + saída) para que o SageMaker a utilize.
O contêiner não deve fazer chamadas de rede de saída; os dados devem permanecer dentro dos canais de cópia do SageMaker.
Defina `EnableNetworkIsolation=true` na tarefa de treinamento/processamento ou endpoint. O SageMaker copia os canais de entrada do S3 antes que o contêiner seja executado; o contêiner não tem saída.
Execute o SageMaker em uma sub-rede privada SEM NAT/Internet Gateway. Adicione endpoints da VPC - endpoint de gateway para S3, endpoints de interface para SageMaker API + Runtime + ECR + STS + CloudWatch Logs.
Garantir que todos os recursos do SageMaker usem VPC + KMS + tipos de instância aprovados.
Preventivo → produtos do SageMaker Service Catalog (configurações pré-aprovadas) e chaves de condição IAM (`sagemaker:VpcSecurityGroupIds`, `sagemaker:VolumeKmsKey`) que negam chamadas de API não conformes. Detetive → regras gerenciadas/personalizadas do AWS Config.