Beschleunigung des maschinellen Lernens in Snowflake mit NVIDIA CUDA-X-Bibliotheken für scikit-learn und pandas
Egal, ob es darum geht, Kundenabwanderung vorherzusagen, Anomalien in Transaktionsdaten zu erkennen oder Clustering-Muster in KI-Einbettungen zu untersuchen – Unternehmen nutzen GenAI- und ML-Modelle, um Datasets zu nutzen, die größer als je zuvor sind. Mit zunehmendem Dataset-Wachstum wird die Beschleunigung der GPU immer wichtiger, da Wartezeiten von Stunden oder Tagen auf die Ausführung von ML-Algorithmen die Produktivität erheblich reduzieren und die Kosten erhöhen können.
Um die steigenden Anforderungen größerer Datasets zu erfüllen, hat Snowflake ML in den letzten Jahren massiv in GPU-gestützte Workflows investiert. Heute freuen wir uns, bekannt geben zu können, dass Snowflake ML jetzt mit NVIDIAs cuML- und cuDF-Bibliotheken vorinstalliert ist, um beliebte ML-Algorithmen mit GPUs zu beschleunigen. Dank dieser nativen Integration können Snowflake-Kunden die Modellentwicklungszyklen für scikit-learn, pandas, UMAP und HDBSCAN ganz einfach beschleunigen – ohne Codeänderungen. Die Benchmark-Durchläufe von NVIDIA zeigen im Vergleich zu CPUs eine fünffache Zeitersparnis für Random Forest und eine 200-fache Zeitersparnis für HDBSCAN auf NVIDIA A10-GPUs.
In diesem Blogbeitrag zeigen wir Beispiele für Themenmodellierung und Genomik, wie diese neu integrierten Bibliotheken die Erkundung großer Datasets mit modernsten Dimensionalitätsreduktions- und Clustering-Techniken schnell und nahtlos in Snowflake ML ermöglichen.
NVIDIA CUDA-X Bibliotheken für Data Science
Da Datasets Millionen von Zeilen erreichen und Hunderte bis Tausende von Dimensionen umfassen, werden Alternativen zu herkömmlichen CPU-basierten Verarbeitungstools zur Notwendigkeit. Die cuML- und cuDF-Bibliotheken sind Teil des Ökosystems NVIDIA CUDA-X Data Science (CUDA-X DS), einer Open-Source-Suite von GPU-beschleunigten Bibliotheken, die Datenverarbeitungs-Pipelines optimieren. GPUs bieten parallele Rechenleistung für schnellere, skalierbarere und effizientere Datenworkflows.
Abbildung 1: CUDA-X Data Science ist eine Sammlung von Open-Source-Bibliotheken zur Beschleunigung beliebter Data Science-Bibliotheken und -Plattformen.
CUDA-X DS-Bibliotheken kombinieren die Leistungsfähigkeit von GPUs mit vertrauten Python APIs für Datenanalytik, maschinelles Lernen und Graphanalytik – und sorgen so für große Beschleunigungen, ohne dass Teams ihren Code neu schreiben müssen. Mit CUDA-X DS können Sie das Modelltraining und die iterative Optimierung beschleunigen, indem Sie Datasets mit Hunderten von Millionen Zeilen auf einer einzigen GPU verarbeiten. Auf einer A10-GPU kann cuML Algorithmen für maschinelles Lernen wie TSNE bis zu 72 Mal, UMAP bis zu 25 Mal und HDBSCAN bis zu 200 Mal bei großen Datasets im Vergleich zu reinen CPU-Rechenressourcen beschleunigen und die Verarbeitungszeiten von Tagen auf nur Minuten reduzieren.
Erste Schritte mit der GPU-beschleunigten Modellentwicklung in Snowflake ML
Abbildung 2: Snowflake ML umfasst eine Reihe leistungsstarker Modellentwicklungs-, Betriebs- und Inferenzfunktionen direkt auf derselben Plattform wie Ihre kontrollierten Daten.
Snowflake ML ist eine Reihe von End-to-End-ML-Entwicklungs- und -Inferenzfunktionen, die direkt mit den Daten auf einer einzigen Plattform integriert sind. Die Integration mit NVIDIAs cuML- und cuDF-Bibliotheken ist über Container Runtime möglich, eine vorgefertigte Umgebung für die Entwicklung von groß angelegtem maschinellem Lernen. Um ML-Algorithmen wie scikit-learn und pandas auf vollständig verwalteten GPUs zu beschleunigen, können Snowflake-Kunden ihre Data Science-Skripte ganz einfach in Container Runtime über Snowflake Notebooks oder per Remote-Pushdown von einer beliebigen IDE (Funktions- oder Dateiausführung), die durch ML Jobs unterstützt wird, ausführen. Das bietet mehrere Vorteile:
Vereinfachte Entwicklererfahrung: Mit einem GPU-spezifischen Laufzeit-Image haben Sie bereits Zugriff auf die neuesten und beliebtesten Bibliotheken und Frameworks (PyTorch, XGBoost, LightGBM, scikit-learn und viele mehr), die die ML-Entwicklung unterstützen. Im neuesten Update wurden cuML und cuDF vollständig in die standardmäßige GPU-Umgebung integriert, sodass Sie direkt auf Beschleunigung für Pandas, scikit-learn, UMAP und HDBSCAN zugreifen können.
Einfacher Zugriff auf GPU-Instanzen: Mit einer einfachen Notebook- oder Remote-Ausführungskonfiguration können Sie eine für den Workload geeignete Instanz aus einem Rechenressourcenpool auswählen. Mit einer Auswahl an GPU-Knoten haben Sie Zugriff auf eine oder mehrere GPUs in einem einzigen Knoten sowie auf verschiedene Arten von GPUs, die der Komplexität Ihres Anwendungsfalls entsprechen.
Abbildung 3: Beschleunigen Sie beliebte ML-Algorithmen ganz einfach mit GPUs von Snowflake Notebooks durch direkte Integration mit NVIDIAs CUDA-X-Bibliotheken.
Snowflakes Integration der NVIDIA-Bibliotheken ist eine leistungsstarke Lösung für Herausforderungen in der Branche, die durch große Datasets geprägt sind, die eine Beschleunigung der GPU erfordern, wie z. B. Themenmodellierung und Genomik-Anwendungsfälle.
Ermöglichung umfangreicher Themenmodellierung
Bei umfangreichen Textanalysen wie der Themenmodellierung wird die Recheneffizienz schnell zu einem entscheidenden Faktor. Der iterative und explorative Charakter vieler Data-Science-Workflows macht die Notwendigkeit einer höheren Performance noch dringlicher. Stunden auf jede Iteration zu warten, ist unmöglich.
Die Snowflake-Integration mit NVIDIA CUDA-X-Bibliotheken kann Data Science- und ML-Aufgaben erheblich beschleunigen, ohne dass Codeänderungen an bestehendem CPU-basierten Python-Code erforderlich sind. Aufgaben wie die Umwandlung von Hunderttausenden bis Millionen Produktrezensionen von Rohtext in klar definierte Themencluster können auf der GPU nur wenige Minuten dauern.
Dieser Quickstart zeigt, wie die beschleunigte Rechenleistung in Snowflake mit BERTopic (einer beliebten Themenmodellierungsbibliothek) Themenmodellierung für 500.000 Buchrezensionen in weniger als wenigen Minuten auf der GPU_NV_S-Instanz ermöglicht, anstatt auf der CPU_X64_L-Instanz mehr als acht Stunden zu benötigen.
Der BERTopic-basierte Themenmodellierungsworkflow folgt im Allgemeinen diesen Schritten:
Daten lesen: Lesen von Textdaten in den Speicher mit einer Bibliothek wie Pandas
Einbettungen generieren: Umwandlung des Rohtextes in numerische Darstellungen (Einbettungen) mit der SentenceTransformers-Bibliothek
Dimensionalität reduzieren: Verringern Sie mithilfe der umap-learn-Bibliothek hochdimensionale Einbettungen in einen niedrigerdimensionalen Raum, während Sie wichtige Informationen beibehalten.
Cluster: Clustern Sie die dimensionsreduzierten Einbettungen, um Kernthemen mithilfe der HDBSCAN-Bibliothek zu identifizieren.
Sie können nun alle vier Schritte in Ihrem Notebook beschleunigen. SentenceTransformers wird automatisch CUDA-fähigen PyTorch verwenden. Und um pandas, umap-learn und HDBSCAN-Code ohne Änderungen zu beschleunigen, importieren Sie einfach cuML und cuDF und legen Sie den Schalter um:
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-acceleratedDadurch wird der gesamte Workflow zur Themenmodellierung beschleunigt – keine Wartezeiten mehr, bis Ihr Notebook fertig ist.
Innovation mit beschleunigten Genomik-Workflows
Beschleunigtes Computing transformiert Gesundheitswesen und digitale Biologie. So können Wissenschaftler und Forschende immer größere Datasets nutzen, die von medizinischen Geräten der nächsten Generation generiert werden, und KI operationalisieren, um komplexe Probleme zu lösen.
Snowflake-Nutzende können nun die Funktionen, die keine Codeänderungen erfordern, der NVIDIA CUDA-X DS-Bibliotheken wie cuDF, cuML und mehr nutzen, um die Analyse von DNA-Sequenzdaten zu beschleunigen. Für die Verarbeitung hochdimensionaler biologischer Sequenzen sorgen cuML und cuDF für eine deutliche Beschleunigung:
Schnellere Sequenzanalyse: Indem Forschende rohe DNA-Sequenzen in Merkmalsvektoren umwandeln, können sie Klassifizierungsaufgaben (wie die Vorhersage von Genfamilien) in großem Umfang durchführen.
Nahtlose Workflow-Integration: Die Ausführung von Pandas und scikit-learn-Code direkt auf GPUs beschleunigt das Laden, Vorverarbeiten und Trainieren von Ensemblemodellen erheblich.
Beschleunigung ohne Codeänderung: Indem Forschende ohne Codeänderungen auf die GPU-Beschleunigung für bestehende Workflows zugreifen können, können sie sich auf biologische Erkenntnisse und Modelldesign konzentrieren, anstatt auf Low-Level-GPU-Programmierung.
Im Quickstart zeigen wir, wie wir mit scikit-learn und XGBoost ein ML-Modell trainieren, um die Genfamilie einer DNA-Sequenz vorherzusagen. Um unser Training mit der GPU zu beschleunigen, müssen wir nur den cuML-Beschleuniger laden (für scikit-learn) und unser XGBoost-Modell mit device=”cuda” konfigurieren.
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-acceleratedWie jeder Data Scientist weiß, ist das erste Modell, das Sie trainieren, selten das beste. Leider kann robustes Feature Engineering und Modelloptimierung Stunden oder sogar Tage dauern, sodass möglicherweise Hunderte oder Tausende verschiedene Pipelines getestet werden müssen.
Mit Snowflake ML können Sie Stunden des Modelltrainings in Minuten verwandeln und sich auf den Genomik-Workflow konzentrieren, anstatt sich Gedanken darüber zu machen, wie Sie Ihren Code für GPUs umschreiben müssen – denn das ist nicht nötig.
Starten Sie noch heute
Snowflake ML ist bereits in NVIDIAs cuML- und cuDF-Bibliotheken integriert, um die betriebliche Effizienz und Skalierbarkeit von groß angelegtem maschinellem Lernen auf Snowflake-Daten zu steigern. Diese erweiterte Funktion verbessert die iterativen Entwicklungs- und Discovery-Zyklen in rechenintensiven Bereichen erheblich und abstrahiert gleichzeitig die inhärenten Komplexitäten der GPU-Infrastruktur und des Umgebungsmanagements.
Sind Sie bereit? Um die NVIDIA-Bibliotheken aus der Snowflake Container Runtime zu testen, können Sie in dieser Quickstart- und Produktdokumentation ganz einfach folgen, um Ihre ML-Workflows auf GPUs zu beschleunigen.

