Snowflakeにおけるモデル推論¶
Snowflakeは、2つの異なるコンピューティングエンジンを使用します。
ウェアハウス(SQLエンジン)
Snowpark Container Services
Snowflakeモデルレジストリは、両方のエンジンに統一インターフェースを提供します。ユースケースに最適な環境は、レイテンシ、データ型、スケーリングの要件によって異なります。Snowflakeは、推論ワークフローに以下のアプローチを提供します。
リアルタイム推論(REST API): 低レイテンシでリアルタイムのユースケース用に設計されています。HTTPエンドポイントを介してリクエストが容易化され、外部アプリケーションを強化するのに最適です。
Snowflakeネイティブバッチ推論(SQL): Snowflake SQLエコシステムとの統合を必要とするバッチワークロード用に設計されています。たとえば、バッチワークロードは動的テーブル、Snowpark、DBT、およびユーザータスクと統合できます。SQL関数を使用して、データを移動したり、外部インフラストラクチャを管理したりすることなく、インテリジェンスを既存のデータパイプラインに直接埋め込むことができます。
ジョブベースのバッチ推論: このアプローチは、推論がスタンドアロンのコンピューティングステージとして扱われる、高スループットの分散処理のために設計されています。SQLエンジンから推論を切り離すことにより、料金とパフォーマンスの両方を最適化することができます。バッチ推論を使用して、大規模なデータセットを処理したり、複雑な計算要件をナビゲートしたりすることができます。これは、Snowflakeステージから直接、画像、ビデオ、オーディオなどのファイルを処理するのに最適です。
選択するタイミング¶
以下の表を使用して、特定のワークロード要件を正しいコンピューティングパターンに合わせてください。
機能 |
リアルタイム推論(SPCS) |
ネイティブバッチ推論(SQL) |
ジョブベースバッチ(SPCS) |
|---|---|---|---|
プライマリ目標 |
インタラクティブな応答:ライブユーザーのための低レイテンシ、1秒未満のフィードバック。 |
インラインインテリジェンス:SQLデータパイプラインにモデルをシームレスに埋め込む。 |
スタンドアロン処理:非構造化データの大規模で非構造化コンピューティング。 |
最適な用途 |
• 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.
|
データソース |
HTTPペイロード経由で渡される小さな入力。 |
Snowflakeテーブルにあるデータ。 |
Snowflakeステージにあるデータ(ファイル)。 |
スケーラビリティ |
リクエスト量を満たすための水平自動スケーリング。 |
仮想ウェアハウスを介したサーバーレススケーリング。 |
バルクデータの高スループットの分散処理。 |
主な利点 |
ゼロ操作の複雑さ:Snowflakeは、コンテナのオーケストレーション、イングレス、セキュリティパッチを自動的に処理します。 |
ゼロインフラストラクチャ:モデルをネイティブSQL関数のように扱う。 |
コスト最適化:個別の大量コンピューティングステージの大幅な効率。 |