Crie um pipeline de machine learning do Apache Spark

Acelere sua jornada de machine learning distribuído criando um pipeline de ML do Spark com ambientes de execução sem configuração no Google Cloud.

O que é machine learning distribuído?

Com o machine learning distribuído, os cientistas de dados e engenheiros de ML podem escalonar o treinamento de modelos de machine learning (ML) além das limitações de memória e computação de uma única máquina. Ao distribuir partições de dados e carregar cargas de trabalho em paralelo em um cluster de nós de trabalho, é possível treinar modelos complexos com conjuntos de dados massivos de forma significativamente mais rápida.

Por que usar o Apache Spark?

O Apache Spark é o padrão do setor para processamento de dados distribuídos. A biblioteca de machine learning nativa, MLlib, oferece algoritmos distribuídos para classificação, regressão, clustering e filtragem colaborativa. Com isso, você vai da ingestão de dados para a implantação de modelos em um único ambiente unificado.

O que é um pipeline de ML do Spark?

Um pipeline de ML do Spark é uma API de alto nível projetada para ajudar você a combinar vários fluxos de trabalho de machine learning em um pipeline coeso. Ele permite encadear várias transformações de dados (como extração e escalonamento de atributos) e algoritmos de machine learning (como treinamento de modelos) em um fluxo de trabalho estruturado e declarativo.


Ao usar um pipeline, você garante que a mesma sequência de etapas de pré-processamento de dados seja aplicada de forma consistente durante o treinamento de modelo e a previsão, o que é crucial para evitar o vazamento de dados e garantir resultados reproduzíveis. Os principais componentes de um pipeline de ML do Spark são os transformadores e estimadores.

Por que escolher o Google Cloud para sua jornada de ML do Spark?

Muitas vezes, escalonar cargas de trabalho de ML para aplicar aceleração de hardware traz o desafio de lidar com dependências complexas de GPU do Spark. Provisionar instâncias de VM, instalar os drivers NVIDIA corretos e garantir que as versões CUDA e cuDNN sejam compatíveis com suas bibliotecas PyTorch ou TensorFlow pode interromper a produtividade do desenvolvedor por dias.


O Google Cloud resolve isso com o Serviço Gerenciado para Apache Spark, que oferece ambientes de execução de machine learning predefinidos. Criados com base em imagens estáveis do Ubuntu (a partir da versão 2.3), esses ambientes de execução vêm pré-instalados e pré-configurados com os drivers de GPU exatos (CUDA, cuDNN, NCCL) e os frameworks de ML padrão do setor (PyTorch, XGBoost, tokenizadores e transformadores) que suas cargas de trabalho exigem. Com esse ambiente sem configuração, sua equipe pode se concentrar em escrever o código em vez de configurar a infraestrutura.

Perguntas frequentes

No Spark MLlib, um transformador é um algoritmo que transforma um DataFrame em outro (por exemplo, convertendo texto em vetores numéricos). Um estimador é um algoritmo que pode ser ajustado em um DataFrame para produzir um transformador (por exemplo, ajustar um algoritmo de regressão logística em dados de treinamento para produzir um modelo treinado).

Ao usar um pipeline de ML do Spark, você garante que sua lógica de preparação de dados esteja estritamente vinculada ao modelo. Isso garante que os dados de teste ou inferência sejam processados de forma idêntica aos dados de treinamento.

Com os ambientes de execução de ML do Google Cloud no Serviço Gerenciado para Apache Spark, o gerenciamento de dependências é transferido. O Google atualiza continuamente as imagens personalizadas baseadas no Ubuntu e cria pacotes predefinidos com as versões corretas e compatíveis dos drivers NVIDIA, kits de ferramentas CUDA e frameworks de ML distribuídos.

Componentes do Spark MLlib e ferramentas de dados do Google Cloud

Entender os elementos básicos do Spark MLlib e das ferramentas de dados do Google Cloud é essencial para executar ML distribuído em escala.

Componente

Descrição

Caso de uso principal


Considerações de preço

Spark MLlib

Biblioteca de machine learning escalonável do Apache Spark que contém algoritmos de aprendizado, ferramentas de geração de atributos e utilitários de pipeline gerais.

Execução do treinamento de modelo de ML em grande escala em um cluster distribuído sem depender de bibliotecas de nó único.


Os custos são gerados pelos serviços do Google Cloud usados para executar o Apache Spark, principalmente o Serviço Gerenciado para Apache Spark. Os preços dependem dos recursos do Compute Engine (vCPUs, memória, GPUs, disco) provisionados e da duração da execução do job.


*Consulte os preços do Serviço Gerenciado para Apache Spark.

Montador de vetores

Um transformador de atributos principais no Spark MLlib que mescla várias colunas (números contínuos, categorias com codificação one-hot etc.) em uma única coluna de vetores.

Preparação de dados tabulares brutos no formato específico de vetores densos ou esparsos que os algoritmos de machine learning do Spark MLlib esperam.

Por ser um componente do Spark MLlib, sua execução contribui para os custos gerais de computação ao executar cargas de trabalho do Spark no Serviço Gerenciado para Apache Spark.

Pipeline de ML do Spark

Uma API de alto nível criada com base em DataFrames que ajuda os usuários a encadear várias etapas e modelos de engenharia de atributos.

Agrupamento de transformadores e estimadores em um pipeline unificado para garantir o processamento de dados idêntico durante o treinamento e a inferência.

Assim como outros componentes do Spark MLlib, os custos fazem parte das cobranças de execução do Serviço Gerenciado para Apache Spark.

BigQuery ML


Um serviço que permite criar e executar modelos de machine learning no BigQuery usando consultas SQL padrão.

Treinamento de modelos diretamente onde seus dados estão antes de mover jobs distribuídos iterativos e de alta complexidade para o Spark.


O BigQuery ML tem um modelo específico de preços. As cobranças são feitas com base:

  1. no treinamento de modelo (conforme os dados processados durante as consultas CREATE MODEL);
  2. na previsão de modelo (preço padrão de consulta do BigQuery);
  3. no armazenamento de modelo (faturado conforme as taxas de armazenamento padrão do BigQuery).

Componente

Descrição

Caso de uso principal


Considerações de preço

Spark MLlib

Biblioteca de machine learning escalonável do Apache Spark que contém algoritmos de aprendizado, ferramentas de geração de atributos e utilitários de pipeline gerais.

Execução do treinamento de modelo de ML em grande escala em um cluster distribuído sem depender de bibliotecas de nó único.


Os custos são gerados pelos serviços do Google Cloud usados para executar o Apache Spark, principalmente o Serviço Gerenciado para Apache Spark. Os preços dependem dos recursos do Compute Engine (vCPUs, memória, GPUs, disco) provisionados e da duração da execução do job.


*Consulte os preços do Serviço Gerenciado para Apache Spark.

Montador de vetores

Um transformador de atributos principais no Spark MLlib que mescla várias colunas (números contínuos, categorias com codificação one-hot etc.) em uma única coluna de vetores.

Preparação de dados tabulares brutos no formato específico de vetores densos ou esparsos que os algoritmos de machine learning do Spark MLlib esperam.

Por ser um componente do Spark MLlib, sua execução contribui para os custos gerais de computação ao executar cargas de trabalho do Spark no Serviço Gerenciado para Apache Spark.

Pipeline de ML do Spark

Uma API de alto nível criada com base em DataFrames que ajuda os usuários a encadear várias etapas e modelos de engenharia de atributos.

Agrupamento de transformadores e estimadores em um pipeline unificado para garantir o processamento de dados idêntico durante o treinamento e a inferência.

Assim como outros componentes do Spark MLlib, os custos fazem parte das cobranças de execução do Serviço Gerenciado para Apache Spark.

BigQuery ML


Um serviço que permite criar e executar modelos de machine learning no BigQuery usando consultas SQL padrão.

Treinamento de modelos diretamente onde seus dados estão antes de mover jobs distribuídos iterativos e de alta complexidade para o Spark.


O BigQuery ML tem um modelo específico de preços. As cobranças são feitas com base:

  1. no treinamento de modelo (conforme os dados processados durante as consultas CREATE MODEL);
  2. na previsão de modelo (preço padrão de consulta do BigQuery);
  3. no armazenamento de modelo (faturado conforme as taxas de armazenamento padrão do BigQuery).

Como funciona

O Serviço Gerenciado para Apache Spark do Google Cloud abstrai as complexidades da infraestrutura. Assim, você consegue executar seu pipeline de ML do Spark para treinamento de modelos em grande escala usando ambientes sem servidor ou clusters gerenciados personalizáveis.


Para eliminar dependências difíceis de GPU do Spark, o serviço utiliza ambientes de execução de ML predefinidos totalmente equipados com drivers NVIDIA, kits de ferramentas CUDA e frameworks distribuídos compatíveis de forma nativa, oferecendo um caminho sem configuração para implantar cargas de trabalho aceleradas por hardware.

Saiba mais sobre machine learning com o Spark

Casos de uso comuns

Crie um fluxo de trabalho de engenharia de atributos resiliente

Aprenda a usar transformadores para extrair e escalonar dados, além de estimadores para treinar algoritmos.

Guias de instruções

  • Como criar um pipeline de ML do Spark: para orientações gerais sobre como usar o Spark no Google Cloud, consulte a documentação do Serviço Gerenciado para Apache Spark.
  • Estimadores de pipeline no PySpark: confira os exemplos de API Python fornecidos na documentação do Serviço Gerenciado para Apache Spark. Essas amostras incluem padrões para usar componentes do Spark MLlib. Você também pode encontrar exemplos de ML do Spark referenciados em guias como a documentação de anexação de GPUs a clusters.

Outros recursos

Implante ambientes de execução de ML sem configuração

Inicie clusters do Spark acelerados por GPU sem gerenciar a infraestrutura. Os ambientes de execução de ML do Google Cloud vêm pré-configurados para que você possa ignorar dependências complexas de GPU do Spark.

Guias de instruções

  • Visão geral dos ambientes de execução de ML do Serviço Gerenciado para Apache Spark: saiba mais sobre as versões de imagem do ambiente de execução do Serviço Gerenciado para Apache Spark, que detalham as bibliotecas pré-instaladas, incluindo TensorFlow, PyTorch e XGBoost, além de bibliotecas específicas para GPU.


Outros recursos

  • Aprendizado profundo distribuído no Google Cloud: para uma perspectiva arquitetônica mais ampla sobre o escalonamento de ML, confira a documentação de práticas recomendadas para implementar machine learning. Este documento apresenta recomendações para o desenvolvimento de modelos treinados de forma personalizada, incluindo treinamento distribuído e uso de aceleradores no Google Cloud, integrados ao Model Registry da Gemini Enterprise Agent Platform.

Comece sua prova de conceito

Vá além

Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.

Google Cloud