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:
Leggi i dati: Carica i testi in memoria con una libreria come pandas.
Generazione di embedding: Trasforma il testo grezzo in embedding numerici con SentenceTransformers.
Riduzione della dimensionalità: Riduci gli embedding ad alta dimensionalità con umap-learn preservando le informazioni chiave.
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-acceleratedIn 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-acceleratedCome 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.

