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.
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.
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.
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.
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.
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
|
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
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 come utilizzare i trasformatori per estrarre e scalare i dati e gli estimatori per addestrare gli algoritmi.
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.
Inizia a creare su Google Cloud con 300 $ di crediti gratuiti e oltre 20 prodotti Always Free.