Crea una pipeline di machine learning Apache Spark

Accelera il tuo percorso di machine learning distribuito creando una pipeline Spark ML con runtime senza configurazione su Google Cloud.

Che cos'è il machine learning distribuito?

Il machine learning distribuito consente a data scientist e ML engineer di scalare l'addestramento dei modelli di machine learning (ML) oltre i limiti di memoria e calcolo di una singola macchina. Distribuendo le partizioni di dati e parallelizzando i carichi di lavoro su un cluster di nodi worker, puoi addestrare modelli complessi su set di dati di grandi dimensioni in modo significativamente più rapido.

Perché usare Apache Spark?

Apache Spark è lo standard di settore per l'elaborazione distribuita dei dati. La sua libreria di machine learning nativa, MLlib, fornisce algoritmi distribuiti per classificazione, regressione, clustering e filtro collaborativo, consentendoti di passare dall'acquisizione dei dati al deployment del modello in un unico ambiente unificato.

Che cos'è una pipeline Spark ML?

Una pipeline Spark ML è un'API di alto livello progettata per aiutarti a combinare più workflow di machine learning in una pipeline coesa. Consente di concatenare varie trasformazioni di dati (come l'estrazione e la scalabilità delle caratteristiche) e algoritmi di machine learning (come l'addestramento dei modelli) all'interno di un flusso di lavoro strutturato e dichiarativo.


Utilizzando una pipeline, ti assicuri che la stessa sequenza di passaggi di pre-elaborazione dei dati venga applicata in modo coerente sia durante l'addestramento del modello che durante la previsione, il che è fondamentale per prevenire la perdita di dati e garantire risultati riproducibili. I componenti chiave di una pipeline Spark ML sono i trasformatori e gli stimatori.

Perché scegliere Google Cloud per il tuo percorso di ML con Spark?

La scalabilità dei carichi di lavoro ML per applicare l'accelerazione hardware spesso introduce la sfida di gestire dipendenze complesse della GPU Spark. Il provisioning delle istanze VM, l'installazione dei driver NVIDIA corretti e la verifica che le versioni CUDA e cuDNN corrispondano alle librerie PyTorch o TensorFlow possono interrompere la produttività degli sviluppatori per giorni.


Google Cloud risolve questo problema con Managed Service for Apache Spark, che offre runtime di machine learning predefiniti. Basati su immagini stabili basate su Ubuntu (a partire dalla versione 2.3), questi runtime sono preinstallati e preconfigurati con i driver GPU esatti (CUDA, cuDNN, NCCL) e i framework ML standard di settore (PyTorch, XGBoost, tokenizzatori e trasformatori) richiesti dai tuoi workload. Questo ambiente senza configurazione consente al tuo team di concentrarsi sulla scrittura del codice anziché sulla configurazione dell'infrastruttura.

Domande frequenti

In Spark MLlib, un trasformatore è un algoritmo che trasforma un DataFrame in un altro (ad esempio, convertendo il testo in vettori numerici). Uno stimatore è un algoritmo che può essere adattato a un DataFrame per produrre un trasformatore (ad esempio, adattando un algoritmo di regressione logistica ai dati di addestramento per produrre un modello addestrato).

Affidandoti a una pipeline Spark ML, ti assicuri che la logica di preparazione dei dati sia strettamente accoppiata al tuo modello. In questo modo, i dati di test o di inferenza vengono elaborati in modo identico ai dati di addestramento.

Con i runtime ML di Google Cloud su Managed Service for Apache Spark, la gestione delle dipendenze viene scaricata. Le immagini personalizzate basate su Ubuntu vengono aggiornate continuamente da Google e sono pre-pacchettizzate con le versioni corrette e compatibili in modo nativo di driver NVIDIA, toolkit CUDA e framework ML distribuiti.

Componenti di Spark MLlib e strumenti per i dati di Google Cloud

Comprendere i componenti di base di Spark MLlib e degli strumenti per i dati di Google Cloud è essenziale per eseguire il ML distribuito su larga scala.

Componente

Descrizione

Caso d'uso primario


Considerazioni sui prezzi

Spark MLlib

La libreria di machine learning scalabile di Apache Spark contenente algoritmi di apprendimento comuni, strumenti di featurizzazione e utilità di pipeline.

Eseguire l'addestramento di modelli ML su larga scala in un cluster distribuito senza fare affidamento su librerie a nodo singolo.


I costi sono sostenuti tramite i servizi Google Cloud sottostanti utilizzati per eseguire Apache Spark, principalmente Managed Service for Apache Spark. I prezzi dipendono dalle risorse Compute Engine (vCPU, memoria, GPU, disco) di cui è stato eseguito il provisioning e dalla durata del job in esecuzione.


*Consulta i prezzi di Managed Service for Apache Spark.

Assemblatore vettoriale

Una funzionalità principale di trasformazione in Spark MLlib che unisce più colonne (numeri continui, categorie con codifica one-hot e così via) in una singola colonna di vettori.

Preparazione dei dati tabulari non elaborati nel formato vettoriale denso o sparso specifico previsto dagli algoritmi di machine learning Spark MLlib.

In quanto componente di Spark MLlib, la sua esecuzione contribuisce ai costi di calcolo complessivi dell'esecuzione dei workload Spark su Managed Service for Apache Spark.

Pipeline Spark ML

Un'API di alto livello basata su DataFrame che aiuta gli utenti a concatenare più passaggi e modelli di feature engineering.

Raggruppamento di trasformatori e stimatori in una pipeline unificata per garantire un'elaborazione dei dati identica durante l'addestramento e l'inferenza.

Analogamente ad altri componenti Spark MLlib, i costi fanno parte degli addebiti per l'esecuzione di Managed Service for Apache Spark.

BigQuery ML


Un servizio che consente di creare ed eseguire modelli di machine learning in BigQuery utilizzando query SQL standard.

Addestramento dei modelli direttamente dove si trovano i dati prima di spostare job distribuiti iterativi e altamente complessi su Spark.


BigQuery ML ha un proprio modello di prezzi. Ti viene addebitato l'uso delle risorse in base

  1. Addestramento del modello (basato sui dati elaborati durante le query CREATE MODEL),
  2. Previsione del modello (prezzi standard delle query BigQuery)
  3. Archiviazione dei modelli (fatturata alle tariffe di archiviazione standard di BigQuery).

Componente

Descrizione

Caso d'uso primario


Considerazioni sui prezzi

Spark MLlib

La libreria di machine learning scalabile di Apache Spark contenente algoritmi di apprendimento comuni, strumenti di featurizzazione e utilità di pipeline.

Eseguire l'addestramento di modelli ML su larga scala in un cluster distribuito senza fare affidamento su librerie a nodo singolo.


I costi sono sostenuti tramite i servizi Google Cloud sottostanti utilizzati per eseguire Apache Spark, principalmente Managed Service for Apache Spark. I prezzi dipendono dalle risorse Compute Engine (vCPU, memoria, GPU, disco) di cui è stato eseguito il provisioning e dalla durata del job in esecuzione.


*Consulta i prezzi di Managed Service for Apache Spark.

Assemblatore vettoriale

Una funzionalità principale di trasformazione in Spark MLlib che unisce più colonne (numeri continui, categorie con codifica one-hot e così via) in una singola colonna di vettori.

Preparazione dei dati tabulari non elaborati nel formato vettoriale denso o sparso specifico previsto dagli algoritmi di machine learning Spark MLlib.

In quanto componente di Spark MLlib, la sua esecuzione contribuisce ai costi di calcolo complessivi dell'esecuzione dei workload Spark su Managed Service for Apache Spark.

Pipeline Spark ML

Un'API di alto livello basata su DataFrame che aiuta gli utenti a concatenare più passaggi e modelli di feature engineering.

Raggruppamento di trasformatori e stimatori in una pipeline unificata per garantire un'elaborazione dei dati identica durante l'addestramento e l'inferenza.

Analogamente ad altri componenti Spark MLlib, i costi fanno parte degli addebiti per l'esecuzione di Managed Service for Apache Spark.

BigQuery ML


Un servizio che consente di creare ed eseguire modelli di machine learning in BigQuery utilizzando query SQL standard.

Addestramento dei modelli direttamente dove si trovano i dati prima di spostare job distribuiti iterativi e altamente complessi su Spark.


BigQuery ML ha un proprio modello di prezzi. Ti viene addebitato l'uso delle risorse in base

  1. Addestramento del modello (basato sui dati elaborati durante le query CREATE MODEL),
  2. Previsione del modello (prezzi standard delle query BigQuery)
  3. Archiviazione dei modelli (fatturata alle tariffe di archiviazione standard di BigQuery).

Come funziona

Managed Service for Apache Spark di Google Cloud elimina le complessità dell'infrastruttura, consentendoti di eseguire la pipeline Spark ML per l'addestramento di modelli su larga scala utilizzando ambienti serverless o cluster gestiti personalizzabili.


Per eliminare le difficili dipendenze della GPU Spark, il servizio utilizza runtime ML pre-pacchettizzati completamente dotati di driver NVIDIA, toolkit CUDA e framework distribuiti compatibili in modo nativo, offrendoti un percorso senza configurazione per eseguire il deployment di carichi di lavoro con accelerazione hardware.

Scopri di più sul machine learning con Spark

Casi d'uso comuni

Crea un workflow di feature engineering resiliente

Scopri come utilizzare i trasformatori per estrarre e scalare i dati e gli estimatori per addestrare gli algoritmi.

Guide illustrative

  • Creazione di una pipeline Spark ML: per indicazioni generali sull'utilizzo di Spark su Google Cloud, consulta la documentazione di Managed Service for Apache Spark.
  • Pipeline estimators in PySpark: consulta gli esempi di API Python forniti nella documentazione di Managed Service for Apache Spark. Questi esempi includono pattern per l'utilizzo dei componenti Spark MLlib. Puoi anche trovare esempi di Spark ML a cui si fa riferimento in guide come la documentazione per collegare le GPU ai cluster.

Risorse aggiuntive

Esegui il deployment di runtime ML senza configurazione

Avvia cluster Spark con accelerazione GPU senza gestire l'infrastruttura sottostante. I runtime ML di Google Cloud sono preconfigurati, così puoi evitare le complesse dipendenze GPU di Spark.

Guide illustrative

  • Panoramica dei runtime ML di Managed Service for Apache Spark: scopri di più sulle versioni delle immagini di runtime di Managed Service for Apache Spark, che descrivono in dettaglio le librerie preinstallate, tra cui TensorFlow, PyTorch e XGBoost, insieme alle librerie specifiche per GPU.


Risorse aggiuntive

  • Deep learning distribuito su Google Cloud: per una prospettiva architetturale più ampia sulla scalabilità del ML, consulta la documentazione sulle best practice per l'implementazione del machine learning. Questo documento fornisce consigli per lo sviluppo di modelli addestrati su misura, tra cui l'addestramento distribuito e l'utilizzo di acceleratori su Google Cloud, integrati con il Model Registry di Gemini Enterprise Agent Platform.

Fai il prossimo passo

Inizia a creare su Google Cloud con 300 $ di crediti gratuiti e oltre 20 prodotti Always Free.

Google Cloud