Snowpark ML: Machine Learning-Toolkit für Snowflake

Snowpark ML ist ein Satz von Tools, einschließlich SDKs und der zugrunde liegenden Infrastruktur, für das Erstellen und den Einsatz von Modellen des maschinellen Lernens. Mit Snowpark ML können Sie Daten vorverarbeiten sowie ML-Modelle trainieren, verwalten und bereitstellen – alles in Snowflake. Sie profitieren in jeder Phase des Machine Learning-Workflows von der bewährten Leistung, Skalierbarkeit, Stabilität und Governance von Snowflake.

Snowpark ML nutzt Snowpark Python, sodass Sie Snowpark-DataFrames verwenden können, um Ihre Trainings- oder Testdaten zu speichern und Vorhersageergebnisse zu erhalten.

Sie können Snowpark ML verwenden, wenn Sie Snowpark Python-Clientanwendungen in einer kompatiblen IDE Ihrer Wahl schreiben.

Die Hauptkomponenten von Snowpark ML

Snowpark ML bietet APIs zur Unterstützung jeder Phase eines durchgängigen Entwicklungs- und Bereitstellungsprozesses für maschinelles Lernen und umfasst zwei Hauptkomponenten: Snowpark ML Development und Snowpark ML Ops.

Snowpark ML Development

Snowpark ML enthält eine Sammlung von Python-APIs, mit der Sie effizient Modelle in Snowflake entwickeln können.

  • Das Modellierungspaket (snowflake.ml.modeling), das APIs für die Datenvorverarbeitung, das Feature-Engineering und das Modelltraining bereitstellt. Das Paket enthält auch ein Vorverarbeitungsmodul mit APIs, das die von einem Snowpark-optimierte Warehouses bereitgestellten Computeressourcen nutzt, um skalierbare Datentransformationen zu ermöglichen. Diese APIs basieren auf bekannten ML-Bibliotheken wie scikit-learn, xgboost und lightgbm.

  • Ein kommender Satz von Framework-Konnektoren, der eine optimierte, sichere und leistungsfähige Datenbereitstellung für Pytorch- und Tensorflow-Frameworks in deren nativen Datenladeformaten ermöglicht. Für einen frühzeitigen Zugriff auf die Dokumentation wenden Sie sich an Ihren Snowflake-Ansprechpartner.

Snowpark ML Ops

Snowpark ML Ops ist eine in Kürze erscheinende Feature-Suite, die die Snowpark ML Development-API ergänzt, indem sie Möglichkeiten zur Modellverwaltung und zur integrierten Bereitstellung in Snowflake bietet. Für einen frühzeitigen Zugriff auf die Dokumentation zu diesen Features wenden Sie sich an Ihren Snowflake-Ansprechpartner.

  • Die FileSet-API bietet eine Python fsspec-konforme API für die Materialisierung von Daten in einem Snowflake-internen Stagingbereich über eine Abfrage oder aus einem Snowpark-DataFrame und zudem eine Reihe von praktischen Methoden für die Verwendung dieser Daten.

  • Die Modell-Registry ist eine Python-API für die Verwaltung von Modellen in Snowflake und deren Bereitstellung in Snowflake-Warehouses als vektorisierte benutzerdefinierte Funktionen (UDFs).

Erste Schritte mit Snowpark ML

Alle Features von Snowpark ML sind in einer einzigen Bibliothek verfügbar. Sie können das Toolkit mit einer Datei installieren, die wir über einen lokalen Conda-Kanal oder über PyPi bereitstellen. Auch wenn künftig ein offizieller Conda-Kanal zur Verfügung stehen wird, ist der beste Weg, die neueste Version zu erhalten, jedoch weiterhin, das Paket direkt von uns herunterzuladen.

Einrichten von Snowpark Python

Snowpark ML nutzt Snowpark Python. Unter Einrichten Ihrer Entwicklungsumgebung für Snowpark Python finden Sie eine Anleitung zum Installieren und Einrichten von Snowpark Python.

Installieren von Snowpark ML über einen lokalen Conda-Kanal

Erstellen Sie zunächst einen lokalen Conda-Kanal. Conda empfängt dann Dateien von diesem Kanal und installiert sie in Ihrer Conda-Umgebung. Sie müssen diese Schritte nur einmal ausführen.

  1. Installieren Sie conda-build.

    conda install conda-build
    
    Copy
  2. Erstellen Sie auf Ihrem Computer ein Verzeichnis, in dem Sie die Dateien des Kanals speichern. Sie können jeden beliebigen Namen verwenden.

    mkdir -p ~/conda-snowpark-ml
    
    Copy
  3. Laden Sie die neueste Version von Snowpark ML von unserem Google Drive herunter. Jedes Release befindet sich in einem eigenen Ordner. Öffnen Sie den Ordner, der die gewünschte Version enthält, und laden Sie dann die Datei .tar.bz2 in diesen Ordner herunter. Speichern Sie sie in dem Kanalordner, den Sie in einem früheren Schritt erstellt haben (z. B. ~/conda-snowpark-ml).

  4. Erstellen Sie den Kanal mit conda index.

    conda index ~/conda-snowpark-ml
    
    Copy

    Wenn eine neue Version von Snowpark ML veröffentlicht wird, laden Sie diese in denselben Ordner herunter und geben dann denselben Befehl conda index ein, um sie im Kanal bereitzustellen.

Nachdem Sie einen lokalen Conda-Kanal erstellt haben, können Sie Snowpark ML in Ihrem Projekt installieren. Führen Sie die folgenden Schritte aus:

  1. Aktivieren Sie die Conda-Umgebung, die Sie verwenden möchten (im Beispiel: ml-env).

    conda activate ml-env
    
    Copy
  2. Installieren Sie das Paket über den lokalen Kanal. Da das Snowflake ML-Paket von anderen Paketen von Snowflake abhängig ist, geben Sie auch den Snowflake-Conda-Kanal an.

    conda install -c file://path/to/conda-snowpark-ml -c https://repo.anaconda.com/pkgs/snowflake/ \
    https://repo.anaconda.com/pkgs/snowflake/ snowflake-ml-python
    
    Copy

    Dieser Befehl muss in einer einzigen Zeile eingegeben werden.

    Beachten Sie, dass Sie den tatsächlichen Pfad zum Kanalordner angeben müssen, den Sie zuvor erstellt haben. Dies kann sich von dem Pfad unterscheiden, den Sie bei früheren Schritten verwendet haben, bei denen Sie ~ für die Verknüpfung zu Ihrem Basisverzeichnis verwenden konnten.

Installieren von Snowpark ML über PyPI

Sie können das Snowpark ML-Paket auch über Python Package Index (PyPI) mit dem Standard-Python-Paketmanager pip installieren.

Warnung

Verwenden Sie dieses Installationsverfahren nicht, wenn Sie eine Conda-Umgebung verwenden.

  1. Aktivieren Sie Ihre virtuelle Python-Umgebung, falls Sie eine solche verwenden.

    source .venv/bin/activate
    
    Copy
  2. Installieren Sie das Snowpark ML-Paket.

    python -m pip install snowflake-ml-python
    
    Copy

Hinweise zu Kosten

Wenn Sie Modelle in Snowflake trainieren und verwenden, führen Sie den Code in einem virtuellen Warehouse aus, wodurch Computekosten anfallen. Diese Kosten variieren je nach Typ des Modells und der Menge der für das Training und die Vorhersage verwendeten Daten.

Allgemeine Informationen zu den Snowflake-Computekosten finden Sie unter Erläuterungen zu den Computekosten.

Weiterführende Informationen

In den folgenden Ressourcen finden Sie Informationen zu Snowpark ML Modeling.

Wenden Sie sich an Ihren Snowflake-Vertreter, um frühzeitigen Zugang zur Dokumentation der kommenden Features zu erhalten.

API-Referenz

Mit der Funktion help von Python können Sie in einer interaktiven Python-Sitzung eine ausführliche API-Dokumentation jeder Klasse erhalten. Beispiel:

from snowflake.ml.modeling.preprocessing import OneHotEncoder

help(OneHotEncoder)
Copy

Eine vorläufige API-Referenz ist auf unserem Google Drive als ZIP-Archiv verfügbar. Laden Sie die API-Referenzdatei herunter, entpacken Sie diese, und öffnen Sie die Datei index.html in dem entstandenen Ordner.