Amazon MLA-C01: Engenharia de Dados e Engenharia de Features — 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.
Conceito principal
A engenharia de dados para ML consiste em produzir entradas reproduzíveis e auditáveis para o treinamento e a inferência de modelos, minimizando o vazamento (leakage) e a carga operacional. No centro disso estão uma semântica de ingestão consistente (tempo do evento, identificador de registro, esquema), um catálogo de metadados canônico e transformações bem definidas que podem ser executadas tanto offline para treinamento de modelos quanto online para inferência em tempo real. Arquiteture seus pipelines de forma que o mesmo código de transformação (ou as mesmas definições de registro do Feature Store) sirva tanto para os conjuntos de dados de treinamento quanto para as features online retornadas no momento da inferência; isso evita o desvio entre treinamento e serviço (train/serve skew). Para problemas temporais, preserve o tempo do evento para cada registro e aplique junções (joins) e divisões (splits) cientes do tempo para evitar o vazamento de rótulos (label leakage); ao usar o SageMaker Feature Store, defina um RecordIdentifierFeatureName e um EventTimeFeatureName no CreateFeatureGroup para que o treinamento e a inferência subsequentes usem chaves idênticas.
A engenharia de features se divide em transformações determinísticas e repetíveis e transformações exploratórias. As transformações determinísticas incluem imputação, escalonamento (scaling), codificação categórica (categorical encoding) e agregações derivadas (contagens contínuas, features de janela de tempo). Execute-as como código que pode rodar no Glue ETL, SageMaker Processing ou SageMaker Data Wrangler e ser salvo como checkpoint em um armazenamento offline. Para features categóricas de alta cardinalidade, prefira a codificação por alvo (target encoding) com dobras de validação cruzada (cross-validation folds) ou representações baseadas em frequência/embedding em vez da codificação one-hot ingênua para evitar uma explosão combinatória. Para features numéricas, prefira a padronização (média/variância) amigável para pipelines ou transformações de quantil armazenadas como parâmetros em um artefato de modelo, para que a normalização em produção corresponda à do treinamento.
Serviços e configurações principais
O AWS Glue fornece a camada canônica de ETL e metadados para muitos pipelines de ML. Use os Glue Crawlers para popular o Glue Data Catalog para fontes S3 e JDBC e, em seguida, crie jobs de ETL do Glue baseados em Spark ou jobs visuais do Glue Studio para limpar e transformar dados. Configure os jobs do Glue com GlueVersion (por exemplo, 3.0), WorkerType (G.1X, G.2X), NumberOfWorkers, JobBookmarks para processamento incremental e DefaultArguments como “–additional-python-modules” para incluir bibliotecas como awswrangler ou pydeequ. Para ingestão de um MySQL on-premises, estabeleça uma conexão do Glue com uma URL JDBC e use jobs do Glue ou o AWS DMS para capturar o CDC para uma landing zone no S3; ao usar o DMS, selecione carga completa (full-load) e depois CDC, e defina o destino como S3 parquet para features offline eficientes.
O SageMaker Feature Store é a opção central de gerenciamento de features para baixa sobrecarga operacional em escala. CreateFeatureGroup requer FeatureDefinitions, RecordIdentifierFeatureName, EventTimeFeatureName, OnlineStoreConfig (com EnableOnlineStore=True para habilitar um armazenamento de baixa latência baseado no DynamoDB) e OfflineStoreConfig com S3Uri e DataCatalogConfig para expor as features offline via Athena/Glue. Faça a ingestão com BatchPutRecord ou PutRecord dependendo da taxa de transferência (throughput); inclua o FeatureGroupArn e o RoleArn que concede ao serviço as permissões de PutRecord. O armazenamento offline persiste arquivos Parquet no S3 e se integra automaticamente com o Glue Data Catalog, permitindo consultas de treinamento reproduzíveis. Para features em tempo real, use GetRecord no armazenamento online; para junções de treinamento em massa (bulk), prefira o caminho do S3 Parquet offline.
Para governança de modelos e fluxos de trabalho de implantação, use o SageMaker Model Registry e o SageMaker Pipelines. Registre modelos treinados com CreateModelPackage ou a etapa RegisterModel dos Pipelines e defina ModelApprovalStatus como “PendingManualApproval” para impor um portão de aprovação manual. Integre os Pipelines com o AWS CodePipeline ou adicione uma função Lambda personalizada que transita as versões do model_package via UpdateModelPackage para “Approved” quando autorizadas. Para monitoramento de desvio (drift) e viés (bias), combine o SageMaker Clarify para análise de viés/linha de base e o SageMaker Model Monitor para detecção contínua de desvio de dados/rótulos. Use o ClarifyProcessor (sagemaker.processing.ProcessingJob) para avaliação de viés sob demanda, apontando-o para os artefatos Parquet do armazenamento offline ou para amostras de streaming coletadas pelo Model Monitor.
Padrões de design e trade-offs
Escolha arquiteturas offline-first quando o throughput de treinamento e joins complexos forem importantes: agregue e persista grandes features de janela (windowed features) em S3 Parquet (jobs do Glue/EMR/Glue Spark), catalogue-as no Glue Data Catalog e versione os datasets com prefixos do S3 e versionamento de objetos. Essa abordagem favorece a reprodutibilidade e o armazenamento de baixo custo, mas aumenta a latência para servir features recentes. Quando features de baixa latência são necessárias, espelhe um subconjunto para o Feature Store Online (DynamoDB) ou para uma camada de cache; o trade-off é a sobrecarga operacional para manter os stores online e offline consistentes. Use os pipelines de
undefined
integrados do Feature Store ou a ingestão de stream via Kinesis Data Streams + Lambda que escreve no Feature Store para obter atualizações quase em tempo real, mantendo ainda uma visão canônica offline.
Para experimentação iterativa vs. throughput de produção, o SageMaker Pipelines com cache oferece uma vantagem notável: habilite o
undefined
nas etapas do pipeline para que transformações computacionalmente intensivas e até mesmo etapas de treinamento sejam puladas quando suas entradas (parâmetros, checksums de dados) não tiverem mudado. Isso reduz a latência de inicialização para execuções consecutivas em comparação com o provisionamento repetido de computação idêntica. Para inferência de latência extremamente baixa, você fará um trade-off entre custo e complexidade: endpoints de múltiplos modelos ou provisioned concurrency reduzem a variabilidade do cold-start, mas aumentam o custo; usar o Feature Store online mais um contêiner de modelo leve (lightweight) minimiza a orquestração por requisição.
As escolhas de algoritmo e pré-processamento apresentam trade-offs: o XGBoost integrado se destaca em tarefas de fraude com dados tabulares e fornece o
undefined
para lidar com o desbalanceamento de classes sem reamostragem (resampling), o que é operacionalmente leve. No entanto, modelos profundos (deep models) com embeddings lidam com variáveis categóricas de alta cardinalidade de forma mais elegante, mas exigem mais infraestrutura e pipelines de features. Use transformações automatizadas sempre que possível: o SageMaker Data Wrangler e o Glue DataBrew fornecem transformações visuais e repetíveis (imputação, normalização, reamostragem) e podem exportar fluxos para scripts ou para o Feature Store, reduzindo o tempo de engenharia.
Armadilhas comuns e critérios de decisão
Um erro frequente é não alinhar as transformações de treinamento e de inferência. Armazene os parâmetros de transformação (scalers, encoders) com o modelo ou no Feature Store para que o pré-processamento online seja idêntico ao do treinamento. Outra armadilha é usar one-hot encoding em categorias de alta cardinalidade, o que causa uma dimensionalidade excessiva de features; prefira embeddings, hashing ou codificações por frequência de alvo (target-frequency encodings) e valide-os por meio de procedimentos de validação cruzada que evitem vazamento de dados (leakage-safe). Erros de segurança também são comuns: ao treinar com dados sensíveis no S3, imponha o uso de SSE-KMS (KmsKeyId), restrinja o acesso com políticas de bucket do S3 e perfis do IAM (principal sagemaker.amazonaws.com) e coloque os trabalhos de treinamento em uma VPC com endpoints de gateway do S3 para que os dados não trafeguem pela internet pública.
Decida entre ETL orientado por jobs do Glue versus SageMaker Processing/Data Wrangler avaliando a frequência e a complexidade: o Glue é otimizado para ETL Spark agendado e escalável em várias fontes e se integra com o Glue Data Catalog; o Data Wrangler e o SageMaker Processing são adequados para experimentação rápida e exportação direta para o Feature Store ou para trabalhos de treinamento. Para detecção de anomalias, use o Amazon Lookout for Metrics para detecção estatística automática de anomalias em séries temporais sem operações de ML pesadas (ML ops), mas escolha o Deequ executando no Glue para verificações de qualidade de dados personalizáveis e cientes da linhagem (lineage-aware) que podem alimentar métricas em dashboards.
Problema Prático: Cenário de Caso de Uso
Empresa fictícia: FinEdge
A FinEdge está construindo um serviço de detecção de fraudes que deve treinar modelos a partir de logs de transações em lote diários no Amazon S3, além de perfis de clientes armazenados em um MySQL on-premise. Os dados devem permanecer criptografados e isolados; as versões do modelo exigem aprovação manual antes da implantação em produção; os modelos devem ter avaliação de viés (bias) e desvio (drift) sob demanda; a inferência precisa de busca de features de baixa latência.
Ingestão e centralização: Use o AWS DMS para realizar uma carga completa inicial e replicação por CDC do MySQL on-premise para uma landing zone no S3 como arquivos Parquet. Configure o DMS com as configurações de destino do S3 e garanta o uso de SSL para a origem JDBC. Use um Glue Crawler para registrar tanto os logs de transação do S3 quanto os perfis de cliente em Parquet do DMS no Glue Data Catalog. Defina os parâmetros do job do Glue: GlueVersion 3.0, WorkerType G.2X, NumberOfWorkers adequado ao volume diário e habilite JobBookmarks para execuções incrementais.
Engenharia e armazenamento de features: Crie transformações Spark no Glue ou use o SageMaker Data Wrangler para iterações interativas de features e exportação. Persista features agregadas determinísticas no S3 como Parquet e crie um FeatureGroup no SageMaker Feature Store com CreateFeatureGroup, especificando FeatureDefinitions, RecordIdentifierFeatureName=“transaction_id”, EventTimeFeatureName=“event_time”, OnlineStoreConfig com EnableOnlineStore=True e OfflineStoreConfig S3Uri apontando para o data lake canônico e DataCatalogConfig para vincular a tabela do Glue. Faça a ingestão via BatchPutRecord para cargas em massa e PutRecord para atualizações transacionais.
Treinamento e registro de modelos: Use o SageMaker Pipelines para pré-processamento, treinamento e registro. Inclua uma etapa RegisterModel que registre o modelo em um ModelPackageGroupName e defina ModelApprovalStatus=“PendingManualApproval”. Conecte uma ação de aprovação manual do AWS CodePipeline ou use a API do SageMaker UpdateModelPackage para mover os pacotes aprovados para “Approved”. Para o desbalanceamento de classes, defina o hiperparâmetro “scale_pos_weight” do XGBoost com base na proporção de classes calculada nas estatísticas da linha de base (baseline) para evitar a complexidade da reamostragem.
Governança, monitoramento e verificações sob demanda: Crie linhas de base (baselines) com o SageMaker Clarify usando um ClarifyProcessor para calcular métricas de viés e salvar as baselines no S3/FeatureStore offline. Implante o Model Monitor com CreateMonitoringSchedule para desvio de dados/features; para avaliação de viés ou desvio sob demanda, execute um ClarifyProcessor ou um StartMonitoringSchedule programaticamente para analisar o tráfego recente capturado ou o snapshot do online store. Armazene os resultados do monitoramento no S3 e exponha as anomalias por meio de dashboards do QuickSight. Proteja o S3 usando SSE-KMS, restrinja o acesso por perfis do IAM com o menor privilégio e coloque o treinamento e a inferência em uma VPC com um endpoint de VPC do S3.
Justificativa da AWS: Esta abordagem usa o Glue e o DMS para ingestão e metadados escaláveis e auditáveis por meio do Glue Data Catalog; o SageMaker Feature Store para features consistentes online/offline e buscas de baixa latência; o SageMaker Pipelines e o Model Registry para controlar o ciclo de vida do modelo com sobrecarga operacional mínima e suporte integrado para aprovação manual; o Clarify e o Model Monitor para fornecer análise de viés/desvio contínua e sob demanda. A combinação preserva o isolamento criptografado (SSE-KMS, endpoints de VPC), reduz o trabalho de engenharia usando serviços gerenciados para ingestão e gerenciamento de features, e impõe a criação de artefatos de ML reproduzíveis e auditáveis.
Todos os domínios · Treinamento de Modelos e Otimização de Hiperparâmetros →
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 →