Google PDE: Machine Learning, AI e Disponibilização de Dados — Guia de estudos
Faz parte do Google Professional Data Engineer — Guia de estudos. Pratique com respostas verificadas no centro de exames da Google, ou faça testes cronometrados no ExamRoll.io.
Visão Geral
A construção de sistemas de machine learning e de serviço de dados de nível de produção no Google Cloud exige modelagem de dados disciplinada, pipelines robustos e proteções operacionais. Esta seção aborda o desenvolvimento de modelos no BigQuery ML, o ciclo de vida gerenciado no Vertex AI (datasets, treinamento, pipelines, endpoints, engenharia de features e monitoramento), o design do caminho de predição (batch versus online), feature stores e correção point-in-time, rotulagem e controles de viés, busca vetorial e padrões de geração aumentada por recuperação (retrieval-augmented generation), linhagem e governança, monitoramento de drift e gatilhos de retreinamento, camadas de serviço de analytics e uso de dados com consciência de privacidade. A ênfase é colocada nas decisões de design, estratégias de escalabilidade e modos de falha comuns a serem evitados.
BigQuery ML e Engenharia de Features
O BigQuery ML permite treinar, avaliar e fazer predições diretamente em SQL, eliminando a movimentação de dados e alinhando o desenvolvimento de modelos com os datasets analíticos.
- Criação de modelo: use
CREATE MODELcom colunas de rótulo (label) explícitas e transformações de features para evitar vazamento de dados (leakage) e padronizar as entradas. Exemplo:
undefined
- Avaliação: use
ML.EVALUATEpara obter métricas apropriadas ao tipo de modelo (ex: ROC AUC para classificação, RMSE para regressão). Acompanhe baselines e intervalos de confiança; mantenha os datasets de avaliação ordenados por tempo para aproximar o desempenho futuro.
undefined
- Predição: use
ML.PREDICTpara scoring semelhante a online no BigQuery, ou exporte modelos para servir em outro lugar. Considere os orçamentos de latência do modelo ao usar o BigQuery para scoring síncrono; para APIs de alto QPS, implante em endpoints gerenciados.
undefined
- Transformações de features: prefira funções declarativas
TRANSFORM(standardize, one_hot_encoder, bucketize, quantile_bucketize, ml.feature_cross) para reprodutibilidade e para vincular o pré-processamento ao artefato do modelo. Mantenha as transformações idempotentes e determinísticas.
Considerações operacionais e modos de falha:
- Inserções via streaming e atualização de consultas (freshness): O streaming do BigQuery tem consistência eventual. Para agregações em tempo real que precisam incluir linhas recém-escritas, execute consultas com um atraso de tempo que exceda a latência medida do buffer de streaming. Um ponto de partida conservador é esperar aproximadamente 2x o atraso médio de disponibilidade observado, ou projetar marcas d’água (watermarks) e tratamento de dados tardios (late-data) no Dataflow antes de carregá-los no BigQuery.
- Custo e concorrência: se os limites de concorrência de slots sob demanda (on-demand) se tornarem um gargalo, mude para reservas de taxa fixa (flat-rate) ou flexíveis e implemente o gerenciamento de cargas de trabalho (hierarquias e atribuições de reserva) para garantir capacidade previsível.
- Qualidade dos dados: para cargas em lote (batch) do GCS com linhas malformadas, use o Dataflow para analisar e validar os registros, gravando as linhas corretas no BigQuery e as linhas incorretas em uma tabela de “mensagens mortas” (dead-letter) para inspeção. Evite que o BigQuery rejeite arquivos inteiros por causa de um pequeno número de linhas ruins.
Ciclo de vida, caminhos de previsão e feature stores do Vertex AI
O Vertex AI fornece serviços gerenciados de ponta a ponta para treinamento, pipelines, registro de modelos, endpoints e monitoramento.
Conjuntos de dados e treinamento: registre conjuntos de dados e metadados; use jobs de treinamento personalizados ou AutoML quando apropriado. Escolha algoritmos com base nas restrições:
- Cargas de trabalho com restrição de recursos em uma única VM favorecem modelos simples (por exemplo, regressão linear ou regressão logística) devido às baixas demandas de memória/CPU.
- Tarefas de alta dimensionalidade geralmente se beneficiam da seleção de features ou da combinação de features redundantes para acelerar o treinamento com perda mínima de acurácia.
- A detecção de anomalias não supervisionada é adequada quando exemplos positivos são raros e espera-se que anomalias futuras se assemelhem a assinaturas anômalas conhecidas.
Pipelines: implemente Vertex AI Pipelines para codificar a preparação de dados, o treinamento, a avaliação e os portões de implantação. Persista parâmetros, SHAs de commit de código, digests de contêiner e snapshots de conjuntos de dados para garantir a reprodutibilidade.
Endpoints e previsão:
- Previsão online para cargas de trabalho de baixa latência. Configure réplicas mínimas e máximas e políticas de autoescalonamento; analise o perfil de latência do modelo em P95 e defina SLOs de acordo. Adicione implantações canário (canary deployments) e divisão de tráfego para rollouts seguros.
- Previsão em lote para jobs que priorizam a vazão (throughput) (por exemplo, pontuação noturna). O processamento em lote evita a sobrecarga por requisição e é mais barato para grandes volumes, mas oferece maior latência.
Engenharia de features e feature stores: use o Vertex AI Feature Store para:
- Armazenamento offline no BigQuery para treinamento.
- Armazenamento online para buscas de baixa latência por ID de entidade. Garanta a consistência entre treinamento e serviço (training-serving consistency) compartilhando a mesma lógica de transformação (por exemplo, biblioteca do Dataflow ou definições de features) e usando timestamps de features para evitar vazamento de dados (leakage). Mantenha a correção point-in-time com junções temporais:
undefined
Trade-offs de design:
- Latência do armazenamento online vs. atualidade dos dados: armazenamentos online baseados no Bigtable fornecem baixa latência; garanta que backfills e upserts de streaming sejam idempotentes. Distorção de escrita (write skew) excessiva ou chaves quentes (hot keys) degradam o desempenho — projete os IDs de entidade para distribuir o tráfego uniformemente.
- Lote vs. online: o processamento em lote reduz a complexidade e o custo do serviço, mas pode fornecer previsões desatualizadas. Para comportamento dinâmico (por exemplo, recomendações), combine o retreinamento periódico com features atualizadas no momento do serviço.
Qualidade de dados, rotulagem, viés, privacidade e governança
Rótulos de alta qualidade e governança rigorosa são a base para modelos confiáveis.
Rotulagem e desbalanceamento:
- Use diretrizes claras de rotulagem e amostragem de QA. Monitore a concordância entre anotadores.
- Trate o desbalanceamento de classes com amostragem estratificada, reponderação ou reamostragem; monitore a precisão/recall por classe, não apenas a acurácia geral.
- Preserve nulos intencionalmente. Se um modelo exigir entradas numéricas, codifique os nulos explicitamente (por exemplo, 0 com um indicador “was_null”) e valide o impacto downstream; evite descartar silenciosamente a ausência informativa de dados.
Overfitting e generalização:
- As mitigações incluem dados de treinamento mais diversos, conjuntos de features menores e regularização mais forte.
- Parada antecipada (early stopping) e validação cruzada (cross-validation) são essenciais para redes neurais; a subamostragem pode reduzir o tempo de treinamento quando o escalonamento da arquitetura ou do hardware não é viável.
Governança e linhagem:
- Rastreie a linhagem com o Vertex ML Metadata, o Model Registry e o Data Catalog. Registre versões de conjuntos de dados, transformações, hiperparâmetros e ambiente.
- Fluxos de trabalho de aprovação: exija aprovação humana antes da implantação, usando os estados do Model Registry e o Cloud Build/Deploy com verificações de política. Armazene artefatos no Artifact Registry; assine contêineres e aplique o Binary Authorization para rollouts controlados.
Monitoramento, desvio (drift) e retreinamento:
- Habilite o monitoramento de modelos para distorção de previsão (prediction skew), desvio de feature (feature drift) e degradação de desempenho. Use métricas distribucionais (por exemplo, PSI, divergência KL) e avaliação ciente do atraso da verdade fundamental (ground-truth) onde os rótulos chegam mais tarde.
- Estabeleça gatilhos de retreinamento com base em desvios estatisticamente significativos, violações de SLO ou janelas de eventos de negócios. Automatize os pipelines de retreinamento, mas controle a promoção com avaliações e verificações de viés.
- Cuidado com o desvio silencioso de dados (silent data drift) proveniente de alterações de esquema upstream; aplique contratos de esquema e alerte sobre features ausentes ou deslocadas.
Design ciente da privacidade:
- Classifique os dados usando tags de política do Data Catalog; aplique segurança em nível de coluna e linha no BigQuery, com políticas de mascaramento de dados.
- Minimize a coleta de dados; implemente SLAs de retenção e exclusão de dados vinculados à limitação de propósito.
- Aplique o DLP para descoberta e desidentificação; criptografe dados com CMEK; isole serviços com VPC Service Controls; garanta um IAM de granularidade fina e use contas de serviço dedicadas com o princípio do menor privilégio.
- Para monitoramento e logging, redija PII e evite o logging de payload quando não for necessário.
Busca vetorial, pipelines de RAG e camadas de serviço de análise (analytics)
A recuperação e o serviço (serving) modernos exigem tanto componentes nativos de vetor quanto armazenamentos de análise (analytics) comprovados.
Busca vetorial e embeddings:
- Use o Vertex AI Vector Search ou a busca vetorial do BigQuery para recuperação de vizinhos mais próximos (nearest neighbor) em larga escala e com baixa latência; escolha o AlloyDB for PostgreSQL com pgvector para semântica centrada em aplicativos e necessidades transacionais.
- Gere embeddings em lote (batch) com o Vertex Pipelines; armazene vetores junto com metadados densos; particione e indexe de forma inteligente (por exemplo, por domínio de documento) para limitar a latência.
Pipelines de geração aumentada por recuperação (RAG):
- Faça a ingestão de conteúdo via Dataflow ou Dataproc, extraia o texto, divida em partes (chunk), gere embeddings e indexe em um armazenamento de vetores. Mantenha referências à fonte da verdade (source-of-truth) para rastreabilidade.
- Implemente estratégias de atualização (freshness): re-embedding periódico, invalidação em atualizações da fonte e indexação canário (canary indexing) para validar a qualidade antes de trocar os índices.
- Monitore a qualidade da recuperação (taxa de acerto/hit rate, MRR, nDCG) e a segurança do conteúdo; aplique guardrails e controles de acesso para dados restritos.
Camadas de serviço de análise (analytics) e produtos de dados:
- Faça a curadoria de produtos de dados bronze/silver/gold no BigQuery; use particionamento e clustering para minimizar os custos de varredura (scan). Visões materializadas (materialized views) podem acelerar consultas comuns.
- Para contadores chave-valor (key-value) de baixa latência ou alto QPS, use o Bigtable com chaves de linha (row keys) bem distribuídas; evite hot-spotting usando salting ou hashing de prefixos.
- Para cargas de trabalho OLTP e consistência forte, use o Cloud SQL ou o Spanner; descarregue a análise (analytics) para o BigQuery via ELT agendado.
- Design de streaming: Pub/Sub → Dataflow → BigQuery/Bigtable com autoscaling. Monitore as métricas de backlog e watermark; o autoscaling padrão é suficiente para cargas elásticas, ao mesmo tempo que controla os custos.
Dica operacional:
- Para acionar notificações sobre jobs de inserção em uma tabela específica do BigQuery, exporte as entradas relevantes do Cloud Logging para o Pub/Sub usando um filtro avançado e, em seguida, configure alertas a partir da assinatura (subscription):
undefined
undefined
undefined
Cenário de Problema Prático
A AcmeStyle, um marketplace de moda, quer manter as recomendações em seu site atualizadas conforme as preferências dos usuários mudam a cada hora. Eles processam o comportamento de cliques e compras em tempo real (stream) e precisam combinar isso com o contexto do catálogo para atualizar as recomendações com baixa latência e custo controlado.
Abordagem:
- Ingestão via streaming e portões de qualidade (quality gates)
- Use o Pub/Sub para ingestão de eventos da web e de dispositivos móveis. Um job de streaming do Dataflow valida esquemas, enriquece com dados do catálogo e grava:
- Eventos limpos em tabelas particionadas do BigQuery (event_date) para análise offline e treinamento.
- Atualizações agregadas de features de usuário para o Vertex AI Feature Store (online store) com chave user_id. Justificativa: O Pub/Sub desacopla produtores e consumidores; o Dataflow fornece semântica “exactly-once” com upserts idempotentes; o BigQuery particionado gerencia custos e retenção; o online store permite buscas em milissegundos.
- Definições de features com correção point-in-time
- Defina features como CTR contínuo (rolling CTR), afinidade com a marca e recência com um event_time explícito. Materialize para:
- Offline store no BigQuery para treinamento com junções temporais (temporal joins) restritas a
undefined
.
- Online store para serviço (serving) com TTLs para evitar valores obsoletos. Justificativa: Timestamps claros evitam o vazamento de rótulos (label leakage); definições consistentes entre offline e online garantem a paridade entre treinamento e serviço (training-serving parity).
- Treinamento e linhagem (lineage) do modelo
- Implemente um Vertex AI Pipeline que:
- Extrai dados de treinamento do BigQuery usando janelas de tempo (por exemplo, últimos 30 dias).
- Aplica as mesmas transformações usadas no serviço (serving) (biblioteca compartilhada).
- Treina um modelo de ranqueamento; registra metadados (IDs de snapshots do dataset, SHA de commit do código, hiperparâmetros) no ML Metadata e registra o modelo no Model Registry. Justificativa: Pipelines tornam as execuções reproduzíveis e auditáveis; o Model Registry centraliza versões e aprovações.
- Caminhos de predição em lote (batch) e online
- Predições noturnas em lote (batch) que pontuam toda a matriz catálogo-usuário no BigQuery para backfill e testes A/B.
- Predições online via um endpoint do Vertex que:
- Busca features de usuário atualizadas do online store.
- Pontua os K melhores candidatos (top-K) filtrados por inventário e disponibilidade.
- Armazena os resultados em cache por curtos períodos para absorver picos de tráfego. Justificativa: O processamento em lote (batch) oferece amplitude e eficiência de custo; o online captura o comportamento mais recente para sessões de alto valor. Endpoints com autoscaling mantêm os SLOs de latência; o cache reduz a latência de cauda (tail latency) e o custo.
- Monitoramento, detecção de desvio (drift) e política de retreinamento
- Habilite o monitoramento de modelo para desvio de features (feature drift) e de predição (prediction skew); compare as distribuições com as bases de referência (baselines) do treinamento. Monitore os SLOs de CTR/CVR e alerte sobre degradação.
- Retreine continuamente usando uma janela móvel (rolling window) que combina dados históricos e novos; acione o retreinamento quando o desvio (drift) exceder os limites ou, no mínimo, semanalmente. Justificativa: As tendências da moda mudam rapidamente; combinar o histórico com sinais recentes estabiliza o aprendizado, mantendo-o atualizado.
- Privacidade e governança
- Marque as colunas com PII com policy tags do Data Catalog; aplique segurança em nível de coluna no BigQuery e mascare onde for necessário. Execute varreduras de DLP em eventos brutos; armazene apenas os campos necessários.
- Exija aprovação humana para promover modelos de staging para produção por meio de gatilhos (triggers) do Cloud Build integrados com os estados de aprovação do Model Registry. Justificativa: O acesso de privilégio mínimo (least-privilege) reduz o risco; o controle de deployments garante conformidade e segurança.
- Controles de custo e capacidade
- Use as reservas do BigQuery para garantir capacidade de slots previsível para as janelas de treinamento.
- Escale os workers do Dataflow automaticamente com base no backlog; fragmente (shard) chaves quentes (hot keys) no feature store usando hashing nos prefixos de user_id para evitar hot-spotting. Justificativa: Capacidade previsível evita contenção; o autoscaling ajusta o gasto à demanda; chaves balanceadas sustentam atualizações de baixa latência.
Este design mantém as recomendações atualizadas ao unificar features de streaming para o serviço (serving) com retreinamento regular sobre dados recentes, mantendo ao mesmo tempo a correção, a governança e o desempenho previsível em escala.
← Orquestração de Workflows e Automação de Pipelines · Todos os domínios · Governança de Dados →
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 →