In erster Linie handelt es sich bei Snowflake um ein Cloud-basiertes Data Warehouse. Doch die Plattform wird um immer mehr Funktionalitäten erweitert, gerade in Sachen KI ist Snowflake massiv am Aufrüsten, daher möchten wir in diesem Artikel genauer beleuchten, welche Möglichkeiten Snowflake in diesem Bereich bietet.
Bei diesem Beitrag handelt sich um den ersten einer zweiteiligen Serie. Während im zweiten Teil einige der Tools betrachtet werden, soll an dieser Stelle ein grober Überblick geschaffen werden, welche Ansätze Snowflake im Bereich KI verfolgt und warum es sinnvoll sein könnte, Snowflake für KI-Workflows zu nutzen.
Unter dem Deckmantel „AI & ML“ stecken bei Snowflake drei Bereiche (s. Abb. 1), die im Folgenden vorgestellt werden. Zum einen ist das Snowflake Cortex, der Sprachmodell-Service von Snowflake, dann Snowpark ML, welches als Schnittstelle zu Python personalisiertes Modelltraining ermöglicht und als drittes der Marketplace, auf welchem Apps von Drittanbietern erworben werden können, um Vorhersagen durchzuführen. Was allen Diensten als Grundlage dient, sind die Daten, die in Snowflake liegen und für Vorhersagen und/oder Training von Modellen genutzt werden.
Warum KI auf Snowflake nutzen?
Die Voraussetzungen die Snowflake bietet, sind ideal, um KI einzusetzen. Als Datenspeicher können auf Snowflake große Mengen an Daten angesammelt werden. Hinzukommt, dass mit den „Warehouses“ (die Compute Instances auf Snowflake) auch die nötige Rechenkraft bereitgestellt werden kann, um Machine Learning-Modelle (ML-Modelle) zu trainieren. Diese sind zudem skalierbar und können dem Workload angepasst werden. Seit neustem können auch Docker-Container auf Snowflake ausgeführt werden, was die Möglichkeiten nochmal erweitert.
Der Vorteil den Snowflake bietet ist, dass die ML-Modelle am selben Ort angewendet werden, an dem auch die Daten liegen, somit bleiben größere Data Pipelines erspart. Das ML-Studio mit all seinen Features ist direkt in der UI eingebunden und kann mit wenigen Klicks geöffnet werden (s. Abb. 2).
Snowflake Cortex
Als Erstes betrachten wir den Service Snowflake Cortex. Dieser steht seit Mai 2024 zur Verfügung. Dabei handelt es sich um mehrere Large Language Models (LLMs), welche darauf spezialisiert sind, Daten mit natürlicher Sprache auszuwerten. Eines dieser LLMs ist das von Snowflake entworfene Modell „Arctic“. Aber auch andere bekannte Open Source Modelle, wie Mistral, jamba oder Googles Llama sind in verschiedenen Versionen und Größen verfügbar.
Ein Vorteil von Cortex ist, dass je nach Anwendung wenig, bis gar keine Programmierkenntnisse erforderlich sind, da die LLMs wie erwähnt natürliche Sprache verarbeiten und daher als eine Art Chatbot genutzt werden können. Dafür ist die besonders die Option Cortex Analyst prädestiniert, wo genau dies passiert (s. Abb. 3).

Abbildung 3 Cortex Analyst kann in einer Streamlit App als Chatbot genutzt werden, um zusätzliche Informationen über die eigenen Daten zu erhalten (Screenshot aus Demo Video)
Jedoch lässt sich Cortex auch mit Python und SQL nutzen, dadurch können die LLMs mit Hilfe von Finetuning individuell auf einen Use Case eingestellt werden. Um dies zu tun, bieten sich Notebooks an, die direkt im Snowflakes User Interface (UI) erstellt werden können.
Die Snowflake Notebooks bieten den Vorteil, dass die Zellen sowohl Python, SQL oder auch Markdown-Felder sein können. Mit Python kann sogar auf in SQL erstellte Variablen zugegriffen werden, sodass ein Zusammenspiel der beiden Sprachen möglich ist.
Jedoch kann auch in der Entwicklungsumgebung (IDE) der Wahl problemlos gearbeitet werden. Lediglich muss hierfür eine sichere Verbindung zu Snowflake aufgebaut werden. Dies ist jedoch gut dokumentiert und in wenigen Zeilen Code möglich (s. Abb. 3).
Snowpark & Snowpark ML
Doch nicht nur LLMs können mit Snowflake genutzt werden. Mit Sonwpark ML können beliebte ML-Frameworks wie scikit-learn, LightGBM oder XGBoost verwendet werden, um Modelle nach den eigenen Wünschen zu trainiert.
Dazu bietet Snowflake eine eigene interne Model Registry an, wo trainierte Modelle in unterschiedlichen Versionen abgespeichert werden können. Diese Modelle können dann nicht nur aus Python, sondern auch in einem SQL-Statement aufgerufen und genutzt werden. Eine Übersicht der gespeicherten Modelle lässt sich in der UI unter „AI & ML“ und dann unter „Models“ finden.
Snowpark kann jedoch nicht nur für ML-Projekte genutzt werden, auch für Extract-Transform-Load Prozesse (ETL) ist es ein gutes Hilfsmittel. So wird mit der Snowpark API nicht nur eine Schnittstelle für Python bereitgestellt, sondern auch zu Java und Scala.
Snowflake Marketplace
Zusätzlich zu den genannten Services und Tools, bietet Snowflake auf dem Marketplace die Möglichkeit Anwendungen von Drittanbietern zu erwerben, die sich in der Snowflake Umgebung nutzen lassen.
So gibt es beispielsweise die App LandingAI, welche für Bilderkennung optimiert ist. Mit geringem Aufwand lassen sich mit dieser Anwendung Bilderkennungs-Modelle trainieren.
Mit ML Insights Xplorer (MIX) lässt sich eine Explorative Daten Analysen durchführen, so wie das Tracking der Performance von ML-Modelle. Zudem lässt sich mit dem Modul „What-if-Analyse“ die Auswirkung verschiedener Features auf die Vorhersage eines Modells evaluieren.
Mit H20 Driverless AI steht auch ein Tool für Automated ML (AutoML) bereit, mit welchem per Knopfdruck und ohne Programmierkenntnisse mit der Datenanalyse und dem Training von Modellen begonnen werden kann.
Fazit
Snowflake bietet eine breite Palette an Möglichkeiten die Daten aus der Datenbank mit KI anzureichern. Dabei kann komplett auf die internen Instrumente von Snowflake, wie Snowflake Notebooks oder Cortex gesetzt werden. Entwickler, die lieber in ihrer gewohnten IDE arbeiten, können dies auch problemlos tun, ohne dabei an Funktionalitäten einzubüßen.
Auch Nutzer ohne große Programmierkenntnisse können auf die meisten Features zugreifen und sich in der UI ein eigenes Modell zusammenklicken.
Alles in allem eignet sich Snowflake daher nicht nur als Datenspeicher, sondern auch als Instrument zur Analyse und Verarbeitung der Daten. Als Partnerunternehmen von Snowflake besitzt PRODATO das nötige Know-How, um KI-Lösungen mit Snowflake zu implementieren und auf diese Weise noch mehr aus Ihren Daten herauszuholen. Auch wenn Sie kein Snowflake Kunde sind, steht PRODATO Ihnen mit jahrelanger Expertise zur Verfügung, um die bestmögliche Lösung für Ihre Daten und KI-Anwendungsfälle zu finden und umzusetzen.