Snowflake ML:端到端机器学习¶
Snowflake ML 是一组集成的功能,可在单个平台中基于您治理的数据进行端到端机器学习。
对于 SQL 中的开箱即用 ML 工作流程,即用型 ML 函数 可帮助缩短开发时间并在整个组织中普及 ML。通过这些函数,您可以为业务用例(如预测和异常检测)训练模型,无需编写任何代码。
对于使用 Python 的自定义 ML 工作流程,数据科学家和 ML 工程师可以轻松安全地开发和生产可扩展的功能和模型,无需进行任何数据移动、没有孤岛且无需进行治理权衡。snowflake-ml-python
库提供用于开发和部署 Snowflake ML 管道的 APIs。
为了构建和运行模型,数据科学家和 ML 工程师可以利用一套 Snowflake ML 功能。对于模型开发,Snowflake ML 建模 APIs 使用 CPUs 或 GPUs,通过分布式处理提供可扩展的数据加载、特征工程和模型训练。对于 ML 操作 (ML Ops),Snowflake ML 包括:doc:特征商店 <feature-store/overview>
和 模型注册表,用于集中管理生产环境中的功能和模型。
您可以在 Snowflake 笔记本、Snowsight 工作表 或您选择的本地 Python IDE 中使用 Snowpark ML 库中的 Python APIs。

Snowflake ML 组件有助于简化 ML 生命周期,如下所示。

Snowflake Model Registry¶
Snowflake Model Registry 允许在 Snowflake 中安全部署和管理模型,支持在 Snowflake 内部和外部训练的模型。
Snowflake 特征平台¶
Snowflake 特征平台 是一个集成的解决方案,用于定义、管理、存储和发现从数据中派生的 ML 特征。Snowflake 特征平台支持从批处理和流式处理数据源进行自动增量刷新,因此只需定义一次特征管道,即可使用新数据不断更新。
Snowflake 数据集¶
Snowflake 数据集 提供了一个不可变、版本化的数据快照,适合机器学习模型引入。
Snowflake 笔记本¶
Snowflake 笔记本 为在 Snowflake 中使用 Python 提供了类似于 Jupyter Notebook 的熟悉体验。它们非常适合使用您已经知道使用方式的工具构建自定义 ML 工作流程和模型。在 Snowpark Container Services (SPCS) 上运行的笔记本在 ML 的容器运行时上执行,这是一个专门为机器学习工作流程构建的环境。
ML 的容器运行时¶
Snowflake 提供了一个预配置、可定制的环境,为各种 ML 开发工作负载构建。通过一套全面的预安装 ML 包和框架(可以轻松扩展),数据科学家和 ML 工程师可以直接对 Snowflake 数据利用最好的开源技术。
WIth 以 Snowpark Container Service (SPCS) 计算池的形式轻松访问 GPUs,灵活使用任何开源包,以及分布式数据加载和建模 APIs,ML 的容器运行时非常适合大规模 ML 开发。由于这些笔记本运行在 Snowpark Container Services 上,因此它们提供了一个灵活且可扩展的计算基础设施,并针对性价比进行了优化。
有关更多信息,请参阅 ML 的容器运行时的笔记本 和 ML 的容器运行时。
Snowflake ML 库¶
snowflake-ml-python
Python 包为各种 Snowflake ML 工作流程组件提供 Python APIs,包括 Snowflake 特征平台、Snowflake Model Registry 和数据集版本化数据对象。还包括基于常用的 Python ML 库(如 scikit-learn)的 APIs,用于完全在 Snowflake 云中构建和训练自己的模型。可以在本地 Python 开发环境、Snowsight 工作表或 Snowflake 笔记本中使用 Snowflake ML 功能。
小技巧
有关端到端 Snowflake ML 工作流程的示例,请参阅 机器学习简介 (https://quickstarts.snowflake.com/guide/intro_to_machine_learning_with_snowpark_ml_for_python/#0)。
ML 建模¶
snowflake-ml-python
Python 包还包括 ML 建模 APIs,它支持数据预处理、特征工程,以及使用常用的机器学习框架(如 scikit-learn、xgboost、lightgbm 和 pytorch)在 Snowflake 中进行模型训练。所有处理都是在不需要任何基础设施配置或数据移动的情况下执行的。
当从 ML 的容器运行时 上的笔记本运行时,这些建模 APIs 可以在所有可用的 CPU 核心或 GPUs 上分布式运行,具体取决于使用的计算池。在其他情况下,该流程在 Snowflake 虚拟仓库中执行,其可以在多个节点上以分布式方式执行预处理和超参数优化。
备注
ML 的容器运行时目前处于非公开预览阶段。
其他资源¶
有关 Snowflake ML APIs 的信息,请参阅以下资源。
** 端到端 ML 工作流程 **
快速入门 (https://quickstarts.snowflake.com/guide/intro_to_machine_learning_with_snowpark_ml_for_python)
如需提前获取当前正在开发的其他功能的文档,请联系您的 Snowflake 代表。