28 de maio de 20267 min de leitura

Dataflow evolui para processar datasets massivos de machine learning: o que muda para empresas brasileiras

Shan Kulandaivel e Mustafa Saglam

Google Cloud

Banner - Dataflow evolui para processar datasets massivos de machine learning: o que muda para empresas brasileiras

O Google criou o MapReduce há mais de 20 anos para resolver os problemas de escalabilidade no processamento de dados que a então jovem empresa enfrentava. A era da IA que vivemos hoje exige processamento de dados em larga escala e eficiente para tudo — desde o treinamento de modelos de fronteira como o Gemini do Google DeepMind até a operação de veículos totalmente autônomos como o Waymo.

Muitos aspectos do machine learning, incluindo ingestão, transformação e extração de features, dependem fortemente do processamento de datasets massivos. Para alcançar a escala astronômica exigida pelos esforços internos do Google, a empresa evoluiu sua plataforma de dados Flume — sucessora do MapReduce original — com inovações focadas em escalabilidade, eficiência e melhor experiência do desenvolvedor. E muitas dessas inovações estão disponíveis como parte do Dataflow, plataforma fully managed de batch e streaming construída sobre a mesma tecnologia central que o Google usa para alimentar suas cargas de trabalho internas mais exigentes. Neste artigo, fornecemos uma visão geral das inovações na plataforma Flume e um vislumbre de como os clientes do Google Cloud estão colocando esses recursos em ação com o Dataflow.

Como o Dataflow lida com escalabilidade massiva?

A escala do processamento de dados no Google explodiu nos últimos 20 anos e continua impulsionando a inovação. Para enfrentar os desafios da escala imensa, a empresa introduziu vários recursos na plataforma de processamento de dados, também disponíveis no Dataflow:

  1. Liquid sharding — divide dinamicamente unidades de trabalho (shards) durante a execução para rebalanceamento sob demanda. Isso ajuda pipelines com distribuição desigual de dados e stragglers, maximizando a eficiência dos workers conforme os dados crescem.
  2. Global compute — permite escala enorme ao agendar dinamicamente workloads pela infraestrutura global do Google. O sistema determina automaticamente a localização ideal com base em fatores como localidade dos dados e disponibilidade de recursos.
  3. Automatic pipeline optimization — funde operações consecutivas em um único estágio, reduzindo I/O e overhead de transição, permitindo que a execução em larga escala escale de forma mais suave.
  4. Rate-limiting external API calls — gerencia a carga em serviços externos. Essencial para pipelines modernos de ML que chamam APIs externas com frequência para tarefas como avaliação de modelo, evitando que altos volumes de dados sobrecarreguem os sistemas.
  5. Tandem pools — facilitam inferência remota serverless. Esse recurso ajuda a superar limitações de escalabilidade comuns em sistemas de inferência remota, hospedando, compartilhando, gerenciando e escalando automaticamente servidores de modelo externos.

Como o Dataflow melhora a eficiência com aceleradores?

Fazer mais com menos não é apenas uma restrição; isso alimenta o progresso. Ao encontrar maneiras de executar de forma mais eficiente, cria-se espaço e capacidade para inovação rápida. Isso é particularmente evidente para equipes que usam aceleradores como TPUs em seus workloads. Para melhorar a utilização e a eficiência de custos, os engenheiros do Google criaram vários recursos para a plataforma, agora parte do Dataflow:

  1. Heterogeneous worker pools — permitem que desenvolvedores especifiquem requisitos de recursos personalizados para diferentes estágios do pipeline. Por exemplo, trabalho intensivo em TPU roda em workers equipados com TPU, enquanto outros estágios usam workers CPU padrão. Isso garante alocação ideal de recursos.
  2. TPU-aware autoscaling — evita a atribuição inicial excessiva de workers TPU e melhora a eficiência durante eventos de autoscaling subsequentes.
  3. Duty-cycle policy enforcement — reduz automaticamente workloads TPU quando o duty cycle do acelerador (fração de tempo em que está ativo) é baixo, escalando novamente apenas quando a utilização melhora.
  4. TPU fungibility — otimiza o agendamento de jobs para a versão e local de TPU mais adequados com base em cota e disponibilidade de recursos.

Como a experiência do desenvolvedor foi aprimorada?

Considerando a grande diversidade de origens e ferramentas no Google, prototipagem rápida, iteração e operações de produção confiáveis são extremamente importantes. O Google investiu em capacidades significativas para melhorar a experiência geral do usuário:

  1. Language flexibility — SDK versátil com API simples em C++ (interno ao Google), Java, Python e Go (com suporte a SQL). Permite construir pipelines batch, ML e streaming.
  2. Integration com ML frameworks como JAX, além de suporte nativo para otimizações específicas de LLMs. A plataforma também fornece blocos de construção para pipelines de inferência agentic robustos e suporta transições simples entre paradigmas bulk e streaming.
  3. Unified batch and streaming — permite usar o mesmo código para dados históricos batch e dados ao vivo em streaming. Simplifica a arquitetura que tradicionalmente exigiria pipelines separados.
  4. Observability para pipelines em produção através da UI de monitoramento, que oferece controle abrangente e dados de diagnóstico essenciais. Métricas detalhadas de desempenho, como gráficos de utilização de TPU por estágio, fornecem transparência para troubleshooting e otimização.
  5. Advanced developer workflows para operações day 0 e day 2 mais rápidas, incluindo sampling e dry-run para garantir a precisão do código. Usuários também podem testar pipelines em pequenas coleções em memória e até pausar e retomar pipelines em produção.

Dataflow traz inovação da plataforma interna do Google para o Google Cloud

O Dataflow é construído sobre a plataforma interna do Google, compartilhando muitos componentes centrais, incluindo o execution engine e o Apache Beam SDK (originado das APIs do Flume). Essa relação próxima significa que as soluções de ponta construídas para lidar com os desafios internos de processamento de dados do Google — como pipelines que processam centenas de bilhões de documentos — beneficiam diretamente os usuários do Dataflow. Na verdade, recursos exclusivos do Dataflow como vertical scaling, right fitting, dynamic sharding e straggler detection resultaram de soluções desenvolvidas para workloads internos do Google.

Esta é uma das razões pelas quais muitos clientes do Google Cloud confiam no Dataflow para aplicações críticas de ML: Spotify usa Dataflow para geração em larga escala de previews de podcasts com ML; Etsy utiliza Dataflow para preparação de dados e ETL em seus workloads de ML; e Moloco usa Dataflow para processar terabytes de dados por dia para atualizar seu modelo de predição para lances de anúncios em tempo real.

O momentum continua: no último trimestre, o Google lançou suporte a TPU no Dataflow, além do já existente suporte a GPUs. Olhando adiante, estão trabalhando em um recurso avançado de confiabilidade chamado speculative execution e estão aprimorando a experiência do desenvolvedor com recursos como failure isolation, replay e pause/resume, que chegarão em breve.

Perguntas Frequentes

  • O que é liquid sharding e como ele beneficia pipelines de ML?
    Liquid sharding divide dinamicamente as unidades de trabalho (shards) durante a execução, rebalanceando a carga sob demanda. Isso ajuda pipelines com distribuição irregular de dados e evita stragglers, maximizando a eficiência dos workers conforme o volume cresce.

  • Como o Dataflow otimiza o uso de TPUs?
    O Dataflow oferece TPU-aware autoscaling para evitar alocação excessiva inicial, duty-cycle policy enforcement que reduz workers quando a TPU está ociosa, e TPU fungibility que agenda jobs para a versão e local mais adequados com base em cota e disponibilidade.

  • O que significa unified batch and streaming no Dataflow?
    Significa que o mesmo código pode processar tanto dados históricos em batch quanto dados ao vivo em streaming, simplificando a arquitetura que antes exigia pipelines separados. Isso reduz custos de manutenção e acelera o desenvolvimento de aplicações de ML em tempo real.

  • Quais empresas brasileiras ou globais já usam essas inovações?
    O artigo cita Spotify (geração de previews de podcasts com ML), Etsy (ETL para cargas de ML) e Moloco (processamento de terabytes/dia para lances de anúncios em tempo real). Embora não mencione empresas brasileiras especificamente, os casos mostram o potencial para qualquer organização com workloads intensivos de dados.

  • Quais funcionalidades futuras estão previstas no Dataflow?
    O Google anunciou que está trabalhando em speculative execution para maior confiabilidade, além de failure isolation, replay e pause/resume de pipelines. Essas funcionalidades devem melhorar ainda mais a resiliência e a operação em produção.


Artigo originalmente publicado por Shan Kulandaivel e Mustafa Saglam em Cloud Blog.

Gostou? Compartilhe:
Precisa de ajuda?Fale com nossos especialistas 👋
Avatar Walcew - Headset