Modellinferenz in Snowflake

Snowflake verwendet zwei verschiedene Compute-Engines:

  • Das Warehouse (SQL-Engine)

  • Snowpark Container Service

Die Snowflake Modell-Registry bietet eine einheitliche Oberfläche für beide Engines. Die optimale Umgebung für Ihre Anwendungsfälle hängt von Ihren Anforderungen an Latenz, Datentyp und Skalierung ab. Snowflake bietet die folgenden Ansätze für Ihre Inferenz-Workflows:

Echtzeit-Inferenz (REST API): Für Echtzeit-Anwendungsfälle mit niedriger Latenz entwickelt. Anfragen werden über HTTP-Endpunkte unterstützt und sind ideal für externe Anwendungen geeignet.

Native Batch-Inferenz von Snowflake (SQL): Auf Batch-Workloads ausgelegt, die eine Integration mit dem SQL-Ökosystem von Snowflake erfordern. Beispielsweise können Batch-Workloads in dynamische Tabellen, Snowpark, DBTund Benutzeraufgaben integriert werden. Sie können eine SQL-Funktion verwenden, Sie können Intelligence direkt in Ihre vorhandenen Datenpipelines einbetten, ohne Daten zu verschieben oder eine externe Infrastruktur verwalten zu müssen.

Jobbasierte Batch-Inferenz: Dieser Ansatz wurde für die verteilte Verarbeitung mit hohem Durchsatz entwickelt, bei der die Inferenz als eigenständige Computephase behandelt wird. Durch die Entkoppelung der Inferenz von der SQL-Engine können Sie sowohl für die Kosten als auch die Leistung optimieren. Sie können Batch-Inferenz verwenden, um große Datasets zu verarbeiten oder komplexe Rechenanforderungen zu erfüllen. Dies ist ideal für die Verarbeitung von Dateien wie Bildern, Videos und Audiodaten direkt aus Snowflake-Stagingbereichen.

Richtiger Zeitpunkt für die Auswahl

Verwenden Sie die folgende Tabelle, um Ihre spezifischen Workload-Anforderungen mit dem korrekten Computemuster abzugleichen.

Feature

Echtzeit-Inferenz (SPCS)

Native Batch-Inferenz (SQL)

Jobbasierter Batch (SPCS)

Primäres Ziel

Interaktive Antworten: Feedback mit niedriger Latenz in Sekundenbruchteilen für Live-Benutzende.

Inline-Intelligence: Nahtlose Einbettung von Modellen in SQL-Datenpipelines.

Eigenständige Verarbeitung: Umfassendes, entkoppeltes Compute für unstrukturierte Daten.

Am besten geeignet für …

• Web/Mobile app backends.
• Real-time user interactions.
• High-concurrency request spikes.
• Upstream pipelines (Dynamic Tables, Snowpark).
• SQL-first users (Analysts/DEs).
• Tools like dbt.
• Processing files (Images, Video, Audio).
• Large-scale historical backfills.
• Multi-modal data processing.

Datenquelle

Kleine Eingaben, über die HTTP-Nutzlast übergeben.

Daten in Snowflake-Tabellen.

Daten in Snowflake-Stagingbereichen (Dateien).

Skalierbarkeit

Automatische horizontale Skalierung, um das Volumen der Anfrage zu erfüllen.

Serverlose Skalierung über virtuelle Warehouses.

Verteilte Verarbeitung von Massendaten mit hohem Durchsatz.

Wichtiger Vorteil:

Zero-Ops-Komplexität: Snowflake übernimmt die Orchestrierung von Containern, Eingang und Patching der Sicherheit automatisch.

Null-Infrastruktur: Behandeln Sie Ihr Modell wie eine native SQL-Funktion.

Kostenoptimierung: Signifikante Effizienz für verschiedene Computephasen mit hohem Volumen.