Snowflake 中的模型推理¶
Snowflake 使用两个不同的计算引擎:
仓库(SQL 引擎)
Snowpark Container Service
Snowflake Model Registry 为两个引擎提供统一的接口。用例的最佳环境取决于延迟、数据类型和扩展要求。Snowflake 为推理工作流程提供以下方法:
实时推理 (REST API): 专为低延迟和实时用例而设计。请求通过 HTTP 端点进行处理,非常适合为外部应用程序提供支持。
Snowflake Native Batch Inference (SQL): 专为需要与 Snowflake SQL 生态系统集成的批处理工作负载而设计。例如,批处理工作负载可以与动态表、Snowpark、DBT 和用户任务集成。您可以使用 SQL 函数,将智能直接嵌入到现有数据管道中,而无需移动数据或管理外部基础设施。
基于作业的批量推理: 这种方法专为高吞吐量、分布式处理而设计,其中推理被视为独立的计算暂存区。通过将推理与 SQL 引擎解耦,您可以在价格和性能两方面实现优化。您可以使用批量推理来帮助您处理海量数据集或满足复杂的计算要求。这非常适合直接从 Snowflake 暂存区处理文件(例如图像、视频和音频)。
何时选择¶
使用下表将您的特定工作负载要求与正确的计算模式保持一致。
功能 |
实时推理 (SPCS |
原生批量推理 (SQL) |
基于作业的批处理 (SPCS) |
|---|---|---|---|
主要目标 |
交互式响应:为实时用户提供低延迟、亚秒级反馈。 |
内联智能:将模型无缝嵌入到 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 函数一样对待模型。 |
成本优化:针对独特且计算量大的暂存区,可显著提升效率。 |