Potenziare il machine learning in Snowflake con le librerie NVIDIA CUDA-X per Scikit-learn e Pandas

Che si tratti di prevedere il churn dei clienti, rilevare anomalie nelle transazioni o individuare schemi di clustering negli embedding dell’AI, le aziende stanno applicando AI generativa e modelli ML a data set più grandi che mai. Man mano che i volumi crescono, l’accelerazione GPU diventa essenziale: attendere ore o giorni perché un algoritmo ML completi l’elaborazione compromette produttività e aumenta i costi. 

Per aiutare i clienti a soddisfare la domanda crescente di data set più grandi, negli ultimi anni Snowflake ML ha investito molto nei flussi di lavoro basati su GPU. Oggi siamo lieti di annunciare che Snowflake ML è dotato delle librerie NVIDIA cuML e cuDF per accelerare i diffusi algoritmi ML con GPU. Grazie a questa integrazione nativa, i clienti Snowflake possono accelerare facilmente i cicli di sviluppo dei modelli per scikit-learn, pandas, UMAP e HDBSCAN, senza modifiche al codice. Secondo le esecuzioni benchmark Random Forest può raggiungere accelerazioni fino a 5 volte, mentre HDBSCAN può arrivare fino a 200 volte su GPU NVIDIA A10 rispetto alle CPU.

In questo articolo mostriamo esempi relativi alla modellazione tematica e alla genomica per illustrare come le librerie integrate consentano di esplorare data set di grandi dimensioni con tecniche di riduzione della dimensionalità e clustering all’avanguardia, in modo rapido e fluido direttamente in Snowflake ML.

Librerie NVIDIA CUDA-X per la data science

Poiché i data set raggiungono milioni di righe e includono da centinaia a migliaia di dimensioni, diventano necessarie alternative ai tradizionali strumenti di elaborazione basati solo sulla CPU. Le librerie cuML e cuDF fanno parte dell’ecosistema NVIDIA CUDA-X Data Science (CUDA-X DS), una suite open source di librerie accelerate da GPU progettate per potenziare le pipeline di elaborazione dei dati. Le GPU forniscono potenza di elaborazione parallela per flussi di dati più rapidi, scalabili ed efficienti.

Figura 1. CUDA-X Data Science è una raccolta di librerie open source che accelerano le piattaforme e le librerie di data science più diffuse.

 

Le librerie CUDA-X DS combinano la potenza delle GPU con le familiari API Python per l’analisi dei dati, il machine learning e l’analisi dei grafi, fornendo notevoli velocizzazioni senza che i team debbano riscrivere il codice. CUDA-X DS consente di accelerare l’addestramento dei modelli con GPU e cicli di ottimizzazione iterativi, elaborando data set con centinaia di milioni di righe su una singola GPU. Con una GPU A10, il cuML può accelerare algoritmi di machine learning come TSNE fino a 72 volte, UMAP fino a 25 volte e HDBSCAN fino a 200 volte su data set di grandi dimensioni rispetto all’elaborazione basata sulla sola CPU, e può ridurre i tempi di elaborazione da giorni a pochi minuti.

Guida allo sviluppo di modelli accelerati da GPU in Snowflake ML

Figura 2. Snowflake ML offre un set completo di funzionalità per sviluppo, operazioni e inferenza dei modelli, direttamente sulla stessa piattaforma che governa i tuoi dati.

 

Snowflake ML è un set di funzionalità di sviluppo e inferenza ML end-to-end integrate direttamente con i dati su un’unica piattaforma. L’integrazione con le librerie NVIDIA cuML e cuDF è accessibile tramite Container Runtime, un ambiente predefinito per lo sviluppo di machine learning su vasta scala. Per accelerare algoritmi come scikit-learn e pandas su GPU completamente gestite, i clienti Snowflake possono eseguire i propri script all'interno di Container Runtime tramite Snowflake Notebooks o tramite pushdown remoto da qualsiasi IDE (funzione o invio di file) facilitato dai processi ML, con vari vantaggi:

  • Esperienza di sviluppo semplificata: Grazie a un’immagine runtime ottimizzata per GPU, hai accesso immediato alle librerie e ai framework più utilizzati (PyTorch, XGBoost, LightGBM, scikit-learn e molti altri) che supportano lo sviluppo ML. Con l’ultimo aggiornamento, cuML e cuDF sono ora parte integrante dell’ambiente GPU predefinito, permettendo l’accelerazione immediata per pandas, scikit-learn, UMAP e HDBSCAN. 

  • Accesso facile alle istanze GPU: Con una semplice configurazione del notebook o dell'esecuzione remota, puoi selezionare l’istanza più adatta dal pool di compute. La disponibilità di nodi GPU consente di utilizzare una o più GPU per nodo, con tipologie diverse in base alla complessità del caso d’uso.

Figura 3. Accelera facilmente i più diffusi algoritmi ML con le GPU di Snowflake Notebooks grazie all’integrazione nativa con le librerie NVIDIA CUDA-X.

 

L’integrazione delle librerie NVIDIA con Snowflake rappresenta una soluzione potente per affrontare casi d’uso che richiedono l’elaborazione di grandi volumi di dati, come la modellazione tematica e la genomica.

Rendere scalabile la modellazione degli argomenti

Nelle attività di analisi del testo su larga scala, come la modellazione degli argomenti, l’efficienza computazionale è un fattore decisivo. La natura iterativa ed esplorativa dei workflow di data science amplifica la necessità di prestazioni elevate. Attendere ore per completare ogni iterazione non è sostenibile.

L’integrazione di Snowflake con le librerie NVIDIA CUDA-X accelera in modo significativo i task di data science e ML, senza richiedere modifiche — o quasi — al codice basato su CPU. Processi come la trasformazione di centinaia di migliaia o milioni di recensioni di prodotti in cluster tematici ben definiti possono essere completati in pochi minuti su GPU. 

Questo quickstart dimostra come l’elaborazione accelerata in Snowflake renda possibile usare BERTopic (una libreria per la modellazione degli argomenti molto diffusa) su 500.000 recensioni in pochi minuti sull’istanza GPU_NV_S, rispetto alle oltre otto ore necessarie sull’istanza CPU_X64_L.

Il flusso di lavoro di modellazione per argomenti BERTopic segue generalmente questi passaggi:

  1. Leggi i dati: Carica i testi in memoria con una libreria come pandas.

  2. Generazione di embedding: Trasforma il testo grezzo in embedding numerici con SentenceTransformers.

  3. Riduzione della dimensionalità: Riduci gli embedding ad alta dimensionalità con umap-learn preservando le informazioni chiave.

  4. Cluster: Raggruppa gli embedding ridotti con HDBSCAN per identificare i temi principali.

Ora è possibile accelerare tutti e quattro i passaggi nel notebook. SentenceTransformers utilizzerà automaticamente PyTorch con supporto CUDA. E per accelerare il tuo codice pandas, umap-learn e HDBSCAN senza modifiche, basta importare cuML e cuDF e attivare l’accelerazione.

import cudf.pandas; cudf.pandas.install()
import cuml; cuml.accel.install()

import pandas as pd
from bertopic import BERTopic
from sentence_transformers import SentenceTransformer

data = pd.read_json(data_path, lines=True) # GPU-accelerated
docs = data["text"].tolist()

sentence_model = SentenceTransformer("all-MiniLM-L6-v2")
embeddings = sentence_model.encode(docs, batch_size=128, show_progress_bar=True) # GPU-accelerated

topic_model = BERTopic()
topics, probs = topic_model.fit_transform(docs, embeddings) # GPU-accelerated

In questo modo, l’intero workflow di modellazione degli argomenti viene accelerato, eliminando le lunghe attese di esecuzione.

Favorire l’innovazione con flussi di lavoro di genomica accelerati

L’elaborazione accelerata sta rivoluzionando la sanità e la biologia digitale, consentendo a ricercatori e scienziati di analizzare i volumi crescenti generati dai dispositivi medici di nuova generazione e di utilizzare l’AI per affrontare problemi complessi. 

Gli utenti Snowflake possono ora sfruttare le capacità “zero code change” delle librerie NVIDIA CUDA-X DS, come cuDF e cuML, per accelerare l’analisi delle sequenze di DNA. Per le sequenze biologiche ad alta dimensionalità, cuML e cuDF offrono accelerazioni significative. 

  • Analisi rapida: Convertendo le sequenze di DNA grezze in vettori di funzionalità, i ricercatori possono eseguire attività di classificazione (come la previsione delle famiglie di geni) su vasta scala. 

  • Integrazione fluida: L’esecuzione di codice pandas e scikit-learn direttamente sulle GPU accelera notevolmente il caricamento dei dati, la pre-elaborazione e l’addestramento dei modelli a insiemi. 

  • Accelerazione zero modifiche: Accedere all’accelerazione GPU per i flussi di lavoro esistenti senza modifiche al codice consente ai ricercatori di concentrarsi sugli insight biologici e sulla progettazione dei modelli invece che sulla programmazione GPU a basso livello.

Nel quickstart, dimostriamo l’addestramento di un modello di machine learning per prevedere la famiglia genica di una sequenza di DNA utilizzando scikit-learn e XGBoost. Per accelerare l’addestramento, basta caricare l’acceleratore cuML per scikit-learn e configurare XGBoost con device="cuda".

import cuml; cuml.accel.install()

from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
import xgboost as xgb
...
X_train, X_test, y_train, y_test = train_test_split(
dna_embeddings,
y,
test_size = 0.20,
random_state=42
)

classifier = RandomForestClassifier(
n_estimators=200,
max_depth=20,
max_features=1.0,
n_jobs=-1
)
classifier.fit(X_train, y_train) # GPU-accelerated

clf = xgb.XGBClassifier(device="cuda", n_estimators=200)
clf.fit(X_train, y_train, eval_set=[(X_test, y_test)]) # GPU-accelerated

Come ogni data scientist sa, il primo modello che si addestra è raramente il migliore. Purtroppo, feature engineering avanzato e tuning del modello possono richiedere ore o giorni e il test di centinaia o migliaia di pipeline.

Con Snowflake ML puoi ridurre ore di addestramento a pochi minuti e concentrarti sul workflow genomico senza dover riscrivere il codice per GPU.

Inizia oggi stesso 

Snowflake ML è preintegrato con le librerie cuML e cuDF di NVIDIA per aumentare l’efficienza operativa e la scalabilità del machine learning su larga scala con i dati Snowflake. Questa capacità potenziata migliora in modo significativo i cicli iterativi di sviluppo e discovery nei domini computazionalmente più impegnativi, semplificando al contempo la complessità dell’infrastruttura e degli ambienti GPU.

Scopriamo subito come iniziare. Per provare le librerie NVIDIA di Snowflake Container Runtime, segui questo quickstart e la , documentazione di prodotto, e accelera i flussi di lavoro ML sulle GPU.

Ebook

Guida essenziale al data engineering

Il data engineering moderno assicura dati rapidi, affidabili e di qualità, a vantaggio di tutte le business unit aziendali. Può inoltre facilitare la condivisione sicura e semplice dei dati all’interno dell’organizzazione, dell’ecosistema e oltre.
Condividi articolo

Snowflake espande la programmabilità e migliora il supporto per lo sviluppo di AI/ML e pipeline di streaming

Snowflake estende la programmabilità con i nuovi Snowpark Container Services per eseguire in modo sicuro l’AI generativa, le GPU di NVIDIA per l’AI e altro.

Allianz Benelux sfrutta il Data Cloud per favorire le innovazioni

Snowflake semplifica le migrazioni self-service dei data warehouse con il supporto gratuito per SnowConvert e Redshift

Accelera le migrazioni dei data warehouse con SnowConvert Snowflake gratuito, ora supporta Amazon Redshift. Automatizza fino al 96% della conversione del codice.

Niente più segreti con la federazione delle identità per i workload di Snowflake

La Workload Identity Federation (WIF) di Snowflake è ora in GA, consentendo un'autenticazione sicura e senza segreti per le tue applicazioni e servizi.

Snowflake sigla un accordo per acquisire la soluzione di migrazione Datometry e accelera il time to value per i clienti

Snowflake potenzia la migrazione dei dati integrando Datometry in SnowConvert AI per velocità di trasferimento dati legacy fino a 4x e riduzione dei costi del 90%.

Migrazioni e analytics basati sull’AI a tutta velocità con le ultime innovazioni di Snowflake

Sfrutta la potenza dell’AI con Snowflake: migrazioni trasparenti, vantaggi AI senza precedenti per dati multimodali e prestazioni 2x più veloci per analytics fondamentali

Potenziare le imprese con la convergenza di 5G e piattaforme AI Data Cloud

Snowflake ed Ericsson stanno cambiando le industrie combinando 5G, AI e data collaboration per trasformare rapidamente dati complessi in insight utili e tempestivi.

Snowpark Connect per Apache Spark™ in public preview

Scopri come eseguire codice Spark sul motore Snowflake con Snowpark Connect per Apache Spark™. Elimina l’overhead dell’ambiente Spark e semplifica le prestazioni.

Palantir e Snowflake collaborano per un’AI affidabile e senza attriti

Snowflake collabora con Palantir Technologies per aiutare le organizzazioni a integrare efficacemente l’AI generativa e l’agentic AI.

Subscribe to our blog newsletter

Get the best, coolest and latest delivered to your inbox each week

Where Data Does More

  • prova gratuita di 30 giorni
  • nessuna carta di credito richiesta
  • annulli quando vuoi