Snowflake Cortex AI:面向生成式 AI 应用的解决方案——Snowflake 生态中的 AI/ML 入门

引言(Introduction)

本章将介绍 Snowflake 生态中的人工智能(AI)与机器学习(ML)。内容涵盖核心 AI 概念、AI 与生成式 AI(Generative AI)的影响与工作原理;同时说明 Snowflake 作为云数据平台的角色,以及在数据科学与机器学习中的优势。

读完本章,你将理解 AI、ML 与生成式 AI 的基本原理及其对各行业的变革;也会了解 Snowflake 的架构及其在数据科学与机器学习工作流中的优势。此外,你将认识 Snowpark ML------一款用于在 Snowflake Data Cloud 内简化 ML 模型创建、训练与部署的 Python 库。

结构(Structure)

本章将覆盖以下主题:

  • AI 革命(The AI Revolution)
  • 生成式 AI 的崛起(The Rise of Generative AI)
  • 作为云数据平台的 Snowflake 概览
  • Snowflake 入门
  • Snowflake Cortex 概览
  • Snowpark ML 概览
  • Snowpark ML 实战

AI 革命(The AI Revolution)

我们生活在一个被 AI 深刻塑造的世界:从流媒体推荐到导航系统,AI 已融入日常。究竟什么是 AI?为何被称为"革命性"?

从本质上看,AI 是让机器完成通常需要人类智能的任务,包括学习、问题求解、决策,以及理解与生成语言。与其说是"机器人接管世界",不如说是构建能分析海量数据、识别模式并进行预测的系统,且在很多方面超越人类能力。

"革命"的意义在于其变革潜力。如同工业革命改变制造业、数字革命改变通信,AI 正在重塑医疗、金融、交通、娱乐等行业。它不仅是对既有流程的自动化,更在于开启过去难以想象的新可能。

虽然 AI 的概念已存在数十年,但算力提升与数据激增推动了其飞速发展:包括机器学习算法的突破、互联网与物联设备产生的数据洪流、深度学习的崛起,以及生成式 AI 的爆发。

AI 在各行业的影响(The Impact of AI across Industries)

举例如下:

  • 医疗:辅助诊断、药物发现、个性化医疗。
  • 金融:反欺诈、算法交易、风险管理。
  • 交通:自动驾驶有望重构出行方式。
  • 制造:机器人与自动化提升效率与生产率。
  • 客服:聊天机器人与虚拟助手提供 24/7 服务。
  • 教育:个性化学习、批改自动化与强化辅导。
  • 零售:个性化推荐、库存管理、需求预测。
  • 农业:精准农业、作物健康监测、产量预测。
  • 能源:能效优化、预测性维护、智能电网。
  • 网络安全:实时威胁检测、强化防御、自动化响应。

生成式 AI 的崛起(The Rise of Generative AI)

在 AI 创新浪潮中,生成式 AI 尤为颠覆。传统 AI 侧重"分析、预测、识别模式",生成式 AI 则更进一步------生成。它可在文本、图像、音频、视频、代码、3D 模型等多模态上产出全新内容。

生成式 AI 的核心是强大的机器学习模型------如大语言模型(LLM)扩散模型(diffusion models) ------在海量多样的数据上训练,学习数据的底层模式、语法与结构。一旦训练完成,模型即可生成与训练材料质量与风格高度一致的原创内容,往往与人类作品难以区分。

你可以把它类比为一位研究了成千上万幅画作的艺术家:吸收技法、风格与配色后,能创作出带有个人表达的新作品。类似地,生成式 AI 将所学知识与计算创造力相结合,产出新颖、有吸引力且高度个性化的结果。

这种规模化生成新内容的能力,正在营销、娱乐、软件开发、设计、教育、医疗等领域打开新空间。它不仅是技术飞跃,更在重构我们在 AI 时代的创作、沟通与问题求解方式。

生成式 AI 的工作原理概览

许多生成式模型基于深度学习,典型架构包括 生成对抗网络(GAN)Transformer

  • GAN:由生成器与判别器两个网络博弈,生成器产出内容,判别器区分真伪。
  • Transformer :擅长处理文本、音频等序列数据,凭借"注意力机制(attention) "在生成时关注输入的不同部分,已成为生成式 AI(尤其文本任务)的基石。

关键构件

  • 神经网络:AI(含生成式 AI)的基础,由多层互联"神经元"处理信息。
  • 生成模型:用于生成与训练数据分布相似的新数据。
  • GAN:生成器与判别器对抗训练。
  • Transformer:基于注意力机制高效建模序列,生成质量与可控性突出。

生成式 AI 的影响与潜力

生成式 AI 的革命性不仅在技术,更在通用性与可迁移性:可适配多行业、多语言与多模态,理解具体上下文并进行个性化生成。其影响可比肩互联网或移动浪潮,正在重塑企业运营、专业决策与人与技术的交互方式。

  • 医疗:加速药物设计、模拟疾病进程、个性化治疗方案。
  • 制造:生成最优产品设计、用合成数据预测设备故障、创建高仿真训练环境。
  • 金融:强化反欺诈、支持高频交易策略、为消费者提供超个性化的理财建议。
  • 娱乐:生成写实角色、动态剧本、沉浸式游戏环境,甚至作曲。
  • 零售:AI 生成推荐、虚拟试穿、智能库存优化。
  • 教育:个性化学习、AI 家教、自适应内容。
  • 科研:自动生成假设、复杂系统仿真、自治化数据分析。

而这仅是起点。随着技术成熟与普及,生成式 AI 将持续增强人类智能、促进创新并自动化创意 。要释放其潜能,企业需要安全、可扩展、深度对接数据生态的基础设施。

这正是 Snowflake Cortex 的价值所在。作为 Snowflake Data Cloud 内原生的 AI/ML 平台,Cortex 使组织能够在不挪动数据、不中断治理与安全 的前提下利用强大的生成式模型:从文档摘要与洞察生成,到智能对话与预测应用,在数据所在之处将生成式 AI 工业化落地,确保治理、性能与易用性。无论是 LLM 原型试验还是生产级 AI,上手与落地都更轻松。

作为云数据平台的 Snowflake 概览

在以数据为中心的当下,传统数据仓库难以应对数据规模(Volume)速度(Velocity)多样性(Variety)Snowflake 不是"又一个数据库",而是完全托管、云原生 的数据平台,专为现代数据分析挑战而生,其独特架构将计算(Compute) 存储(Storage)解耦,带来前所未有的弹性伸缩、灵活性与成本效益

一个类比:传统数仓像把烤箱、炉灶、冰箱固定在一起的一体化厨房;Snowflake 则是模块化厨房------需要烤很多蛋糕(跑复杂查询)时就扩大"烤箱"(计算),只做三明治(轻量探索)时再缩回;数据变多了,就扩容"冰箱"(存储),而不会拖慢"烤箱"性能。

这种存储-计算分离是变革点:两者可独立伸缩、按需付费。需要在海量数据上运行复杂查询?临时放大计算,用完缩回。遇到数据激增?只扩容存储,查询性能不受影响。这种弹性对工作负载与数据量波动的企业至关重要。

除弹性外,Snowflake 还有这些优势:

  • 全托管:平台负责基础设施、补丁、升级与安全,释放团队生产力;
  • 多类型数据支持:结构化、半结构化(如 JSON、XML)乃至非结构化数据统一分析;
  • 数据共享:在组织内外安全共享实时数据,解锁协作与数据变现新模式;
  • 高并发:多用户与多应用可同时访问而互不干扰,分析师、数据科学家与业务用户共享同一事实来源。

图 1.1:作为云数据平台的 Snowflake(Figure 1.1)

归根结底,Snowflake 为现代数据需求提供了云端解法:解耦计算与存储、支持多样数据、促进数据共享,以更高的可用性与易用性释放数据价值,是 AI(尤其生成式 AI)落地的关键使能平台,后文将进一步展开。

在当下监管环境中,健全的数据治理尤为关键。Snowflake 提供一整套功能以确保数据质量、安全与合规:

  • 基于角色的访问控制(RBAC)数据掩码行级别安全,精细化控制"谁能看什么、如何使用";
  • 数据血缘(Data Lineage) 帮助追溯数据来源与变更,利于审计与合规;
  • 与多种治理工具的生态集成,便于融入既有治理框架。

Snowflake 中的数据科学(Data Science in Snowflake)

Snowflake 是一个稳健而强大的数据科学与机器学习平台,提供端到端能力,支持大规模构建智能应用。它既能处理超大规模数据集,又原生支持多种编程语言与工具,非常适合现代数据科学工作流。借助 Snowpark for ML ,数据科学家可以在 Snowflake 内部直接构建、训练并部署复杂的机器学习模型------无需把数据搬出平台 。这确保了在 Snowflake 弹性算力之上,使用熟悉的 Python 生态(如 PandasScikit-learn)进行安全且高性能的模型开发。

在生成式 AI(Generative AI)方面,Snowflake Cortex 提供原生的大语言模型(LLM)能力,使团队能够在受治理的企业数据之上直接构建有上下文感知 的助手、摘要工具、智能文档处理与问答系统。结合 Cortex SearchCortex Analyst ,组织可以在非结构化结构化 数据之上打造强大的生成式 AI 对话式体验。为将洞察"可视化",Streamlit 让你在与 Snowflake 直连的前提下构建直观、交互式的可视化与 AI 应用,帮助团队实时探索结果、驱动决策。存储、处理、机器学习、生成式 AI 与可视化之间的紧密集成,显著加速了在单一统一平台上开发与上线 AI 应用的全流程。

本质上,Snowflake 为你的全部数据需求提供了现代化的云端方案:它具备传统数据仓库难以匹敌的可扩展性、灵活性与易用性。通过计算与存储解耦、支持多样化数据类型、启用数据共享,并提供强大的数据治理与数据科学能力,Snowflake 赋能组织释放数据的全部潜能,做出更优的业务决策。它为未来的数据分析而生,尤其是释放 AI(特别是生成式 AI) 能力的关键平台,后续章节将继续展开。

AI 革命仍处在早期阶段。人人理解 AI 基础正变得愈发重要。因此,本书聚焦如何在 Snowflake Data Cloud 内 harness(驾驭)AI 与生成式 AI 的力量。Snowflake 提供稳健、可扩展的平台以构建与部署 AI 解决方案;它处理海量数据的能力与对多种 AI/ML 工具的支持,是训练与部署生成式 AI 模型的关键。

在接下来的章节里,我们将深入讲解如何利用 Snowflake 释放数据潜能,并在你的组织内推动创新。

开始使用 Snowflake(Getting Started with Snowflake)

要上手 Snowflake,用户可注册免费试用账号,即可访问平台的全套功能,包括数据存储、处理与 ML 能力。步骤如下:

  1. 访问官网 :前往 www.snowflake.com,点击 Start for Free(免费开始)。
  2. 选择云厂商 :Snowflake 运行在 AWS、Azure、Google Cloud 上。请选择你偏好的云商。本书示例新特性以 AWS 为主
  3. 选择区域 :选择 AWS West 区域(大多 LLM 相关特性在此区域可用)。
  4. 填写注册信息:包括姓名、邮箱、公司信息等。
  5. 邮箱验证:提交后查收验证邮件,按指引激活账号。
  6. 环境初始化:首次登录后,Snowflake 会提供向导,帮助你创建数据库(databases)、虚拟仓库(warehouses)以及初始配置。

认识 Snowflake 界面(Understanding the Snowflake Interface)

登录后,你将使用 Snowsight(Snowflake Web 界面)。核心模块包括:

  • Databases :存放并管理结构化数据
  • Warehouses :用于查询与处理数据的虚拟计算资源
  • WorksheetsSQL 编辑器,可编写与执行查询。
  • Notebooks交互式笔记本 ,用于探索性数据分析、开发与 AI 工作流;类似 Jupyter Notebooks ,但原生内置于 Snowflake
  • Streamlit :使用 PythonSnowpark 在 Snowflake 内直接构建与部署交互式数据应用,无需搬移数据。
  • Dashboards :用图表与表格可视化展示查询结果 ,将多种可视化组合为可交互、可分享 的单一界面,并且实时直连 Snowflake 数据。
  • Apps(Snowflake Native Apps) :在 Snowflake 平台内构建与交付的安全、驻留数据的应用(如分析或 ML),让提供方向使用方交付功能而无需迁移数据。
  • Admin Console:安全设置、角色管理、系统使用指标等。
  • Monitoring实时监控查询性能、仓库使用、用户活动与资源消耗,助你优化成本、排障并保障平台健康。
  • AI/ML Studio :Snowsight 内的零/低代码 界面,可在平台内构建、训练、部署 分类、预测、异常检测等 ML 模型;也可微调 LLM 、构建 Cortex SearchCortex Analyst 服务。

向 Snowflake 加载数据(Loading Data into Snowflake)

你可以通过以下方式加载数据:

  • Snowsight(Web UI) :在"Load"功能中浏览或拖拽 CSV、JSON 等文件至目标表。
  • SnowSQL :命令行工具,支持从本地进行批量数据加载
  • 外部云存储 :通过 StageCOPY 命令,从 AWS S3 / Azure Blob Storage / Google Cloud Storage 等外部存储加载数据。

Snowflake Cortex 概览(Snowflake Cortex Overview)

现在你已完成 Snowflake 账号的搭建,我们来探索 Snowflake Cortex ,看看它如何简化并加速你的 AI/ML 计划。本节作为概览,后续章节将深入展开 Cortex 的各项能力。Snowflake CortexSnowflake Data Cloud 内的全托管服务,使用户能够在数据所在之处 直接开展机器学习与人工智能工作,原生集成大语言模型(LLMs)生成式 AI(Generative AI) 。它打通了从数据准备、特征工程到模型训练、部署与监控的全生命周期 ,并覆盖 LLM 与生成式 AI 相关的复杂流程。通过在 Snowflake 内进行模型构建与执行,Cortex 免除了将数据迁出到外部系统的需要,显著提升效率,消除数据孤岛。对需要处理训练/微调 LLM 与生成式模型所需的超大规模数据集的场景而言,这种与数据的紧密耦合尤为有利。

Cortex 为 LLM 与生成式 AI 提供了一套完整的工具与功能:包含对预训练 LLM 的访问,并可在 Snowflake 内基于你的专有数据进行便捷微调,从而更轻松地适配文本生成、摘要、文档智能、搜索代理与问答等任务。面向生成式 AI,Cortex 提供训练与部署模型所需的基础设施与工具,覆盖图像生成、文本合成、代码生成等多种创作类应用,同时充分利用 Snowflake Data Cloud 原生的可扩展性与安全性。Cortex 的目标是让 AI 更加大众化:通过简化复杂的 ML 流程(尤其与 LLM 和生成式 AI 相关的部分),并将其与所需数据无缝集成,使数据科学家、数据工程师与业务分析师都能轻松上手。对于希望利用包括尖端 LLM 与生成式 AI 在内的 AI 技术,从数据中获取洞察、做出数据驱动决策并开辟创新路径的组织而言,Cortex 是关键工具。

Snowflake Cortex AI 的主要目标 是:在 Snowflake Data Cloud简化并加速 AI/ML 模型的构建、部署与管理;通过屏蔽大量传统 ML 工作流中的复杂性,让更多角色(数据科学家、数据工程师、甚至业务分析师)都能触达 AI。具体而言,Cortex 的核心作用包括:

  • 消除数据搬移:无需将数据迁出 Snowflake 到外部系统执行 AI/ML 任务,从而避免数据孤岛、降低延迟并提升安全性;同时可充分利用平台的弹性与治理能力。
  • 简化模型开发:提供预构建模型、支持自定义模型(含主流 ML 框架),并具备自动化训练与部署能力,降低非专家用户的门槛。
  • 加速模型上线:精简部署流程,帮助组织更快迭代并将模型投入生产。
  • 改进模型管理:提供监控与生命周期管理工具,确保模型长期保持准确与有效。
  • AI 大众化:通过流程简化与平台整合,让更多内部角色能利用 AI 从数据中获得洞察并做出更优决策。
  • 支持 LLM 与生成式 AI:提供获取与简化使用前沿 LLM 与生成式模型的能力,在 Snowflake 环境内处理文本生成、摘要、图像处理等任务;借助基于 LLM 的对话式 AI 与文档处理能力,让与数据的交互更简单、直观且强大。

简言之,Snowflake Cortex 旨在让 AI 更易用、高效、并与数据深度融合,帮助组织释放数据的全部价值,推动数据驱动的创新。

Snowpark ML 简介:在 Snowflake 中赋能数据驱动的机器学习

尽管本书主要讲解 Snowflake Cortex AI 的能力,这一节将简要概述 Snowpark ML 及其在 Snowflake 生态中的持续价值。Cortex 提供强大的预构建 AI/ML 与广泛的生成式 AI 能力,而 Snowpark ML 作为基础层,在 Cortex 体系下仍为特定场景提供灵活性、可定制性与更深的集成 。本章将简要介绍 SnowparkSnowpark ML 的基本概念。

Snowpark:让计算更靠近你的数据

Snowpark 标志着你在 Snowflake 中与数据交互方式的转变:它允许你用熟悉的编程语言(Python、Java、Scala )在 Snowflake 环境内直接执行代码。也就是说,你可以在不抽取/不搬移数据 的前提下完成复杂的数据转换、聚合与自定义逻辑------这正是 Snowpark 的核心优势:将计算带到数据身边,从而在性能、安全与治理上获得新层级的能力。

Snowpark 的能力要点

  • 强安全边界:Snowpark 代码在 Snowflake 的安全边界内执行,数据受严格安全策略保护,最大程度降低未授权访问与泄露风险,适用于敏感数据场景。
  • 多语言支持:可按需选择 Python、Java 或 Scala,并通过语言特定 API 与 Snowflake 生态无缝衔接。
  • 生态扩展性 :可使用丰富的库与包;在 Python 中可利用 PandasNumPy 及专项领域库,处理仅凭 SQL 难以覆盖的复杂问题。
  • 稳健的数据管道:直接在 Snowflake 内用 Snowpark 构建复杂的数据管道与转换,简化架构、降低传统 ETL 复杂度,并提升可维护性与适应性。
  • 弹性算力:与 Snowflake 弹性计算引擎深度整合,面对海量数据与重计算任务可自动扩展,无需你管理底层基础设施。
  • 统一生态:与表、视图、存储过程等原生组件顺畅集成,在既有 Snowflake 框架下用熟悉的编程范式与数据协作。

Snowpark 的工作方式

  1. 建立连接 :从你的客户端应用(如 Python 脚本)通过 Snowpark session 连接到 Snowflake。
  2. 提交代码:用所选语言编写数据处理逻辑并提交至 Snowflake 执行。
  3. 在 Snowflake 内执行:Snowflake 计算引擎接收代码,将其智能转换为优化后的查询,并直接在数据云中的数据上处理。
  4. 返回结果:处理结果返回到你的客户端应用。

Snowpark ML 的 Python API 在编写与执行 位置上提供灵活性:你既可以在 Snowflake NotebooksSnowsight Worksheets 内直接工作,也可以在本地偏好的 Python IDE 中开发,并连接至 Snowflake 利用 Snowpark ML 的算力与能力。

数据云中的机器学习(Machine Learning in the Data Cloud)

Snowpark ML 构建在 Snowpark 之上,把机器学习能力直接带入 Snowflake 环境。它是一款 Python 库,旨在简化在数据云(Data Cloud)中、基于驻留于 Snowflake 的数据来创建、训练与部署机器学习模型。

图 1.2:Snowpark ML------关键特性(Key Features)

为了构建机器学习模型,Snowpark 提供 ML Modeling APIs 。这些 API 支持高效的数据加载、特征工程与模型训练,并可利用 CPU 或 GPU 的分布式处理 实现可扩展性。

在特征管理方面,Snowflake ML 提供 Feature Store (特征库)。这一集中式库帮助你组织、存储与共享特征 ,确保跨项目的一致性与复用。

借助 Snowflake 的 ML Modeling API ,你可以在 Snowflake 内部 、使用 scikit-learn、LightGBM、XGBoost 等主流 Python 框架直接构建机器学习模型。也就是说,从数据预处理、特征工程到模型训练,全程都无需离开 Snowflake 环境。

在模型部署与管理方面,Snowflake ML 提供 Model Registry (模型登记库)。它支持存储、版本化与跟踪你的模型,简化部署流程,并促进数据科学团队之间的协作。

Snowpark ML 的优势:

  • 消除数据搬移瓶颈:Snowpark ML 直接在 Snowflake 内对数据进行操作,无需繁琐的数据抽取与传输,显著降低延迟、简化流程并强化数据安全。
  • 可扩展的训练引擎 :利用 Snowflake 的弹性计算引擎,快速高效地在任意规模数据集上训练模型------不再为训练耗时数天而等待。
  • 一站式 ML 全生命周期 :在 Snowflake 内部一地完成数据准备、特征工程、模型训练、部署乃至监控。
  • 对数据科学家友好的接口 :Snowpark ML 的 API 贴近 scikit-learn 等流行库,便于数据科学家沿用既有经验快速上手。
  • 无缝的模型部署与管理 :已训练模型可作为 Snowflake 对象 保存,并通过 UDF(用户自定义函数)存储过程(stored procedures)Snowpark Container Services 在 Snowflake 内无缝部署,支持实时打分或批量预测。
  • 强力的数据安全:Snowpark ML 继承了 Snowflake 内建的安全能力,确保整个 ML 流水线中敏感数据始终受到保护。

Snowpark ML 实战(Snowpark ML in Action)

如上所述,Snowpark ML 让端到端的机器学习工作流直接 在 Snowflake 内完成,无需外部环境。通过结合 Snowpark 强大的数据处理能力与 Snowpark ML 原生的模型训练/部署能力,组织可以将 ML 无缝集成 进其数据管道。下面概述关键步骤,确保在 Snowflake 内实现高效、可扩展且安全的机器学习:

  • 数据准备 :使用 Snowpark 在 Snowflake 内加载、预处理、变换并进行特征工程 。复杂数据整形常会用到 Pandas(在 Snowpark 执行环境中运行)。
  • 模型训练 :利用 Snowpark ML 的 estimators(估计器) 在准备好的数据上训练模型。训练在 Snowflake 内进行,充分利用其分布式计算能力。
  • 模型登记库(Model Registry) :在 Snowflake 内创建集中式库,用于管理与组织已训练的机器学习模型。

图 1.3:Snowpark ML 实战(in Action)

使用 Snowflake Notebooks

Snowflake Notebooks 提供在 Snowflake 内直接编写 SQL 与 Python 代码的交互式协作环境。它支持:

  • 在统一界面中编写、执行与可视化 SQL / Python 脚本;
  • SnowparkSnowflake Cortex 等 AI/ML 工具无缝集成
  • 实时协作,多位用户可同时在同一 Notebook 上工作;
  • 版本与可复现性,便于跟踪变更、维护结构化工作流。

借助 Snowflake Notebooks,用户可以在 Snowflake 环境内高效原型、试验与部署 AI/ML 模型,无需外部 Jupyter Notebooks 或第三方工具。

使用 Snowpark ML 构建一个预测模型(示例:贷款审批)

为理解端到端流程,我们构建一个贷款审批概率 预测模型。数据集包含银行存量客户的基础信息及其财务属性(如收入、账户存续期等),用于预测其贷款是否可能获批 。在本书后续内容中,我们将基于该示例,演示 Snowpark ML 的预处理、建模与模型登记等能力。

前置条件(Prerequisites):

  1. 为本练习创建专用数据库:

    ini 复制代码
    CREATE DATABASE SNOWPARK_ML_DEMO;
  2. Dataset 文件夹导入 loan_data.csvSNOWPARK_ML_DEMO.PUBLIC.LOAN_DATA(在 Snowsight 中定位该数据库,使用 Create -> Table -> from file ;加载时勾选 "First Line contains header" )。

  3. 新建 Notebook:

    Snowsight -> Projects -> Notebooks 菜单中,选择 Import .ipynb ,导入 Scripts 文件夹提供的 "Predictive Model with Snowpark ML.ipynb" 。数据库选择 SNOWPARK_ML_DEMO ,并指定任一 warehouse,点击 Create

  4. 下面按 Notebook 中的步骤执行。

步骤 1:导入所需库(Importing Required Libraries)

在右上角 PackagesFind Packages 安装以下两包:

  • snowflake-ml-python
  • snowflake-snowpark-python
    在第一个单元格导入数据处理、机器学习与 Snowpark 相关库;同时用 warnings 抑制不必要的警告,提升可读性。
markdown 复制代码
**图 1.4:导入所需库**

步骤 2:导入 Snowflake ML Registry(模型登记库)

加载用于在 Snowflake 中存储、管理与检索已训练模型的 Registry 模块。

图 1.5:导入 Registry

步骤 3:获取活动的 Snowflake 会话(Active Session)

建立一个活动的 Snowflake 会话,以便执行 Snowpark 操作。

图 1.6:获取会话

步骤 4:将贷款数据加载为 DataFrame

LOAN_DATA 表读取数据,载入 Snowpark DataFrame ;使用 show() 展示数据样例。

图 1.7:加载数据

步骤 5:区分类别与连续型变量

分别定义类别特征连续特征列,便于后续预处理。

图 1.8:区分类别/连续变量

步骤 6:缺失值填补(Imputation)

对类别列使用 SimpleImputer众数填补缺失值。

图 1.9:缺失值处理

步骤 7:类别变量编码(Label Encoding)

将类别取值转为数值表示(标签编码)。

图 1.10:标签编码

步骤 8:删除无用列

移除 NAME 列(与本次建模无关)。

图 1.11:删除无关列

步骤 9:数据集划分

80% 训练 / 20% 测试划分,并设置固定随机种子确保可复现。

图 1.12:训练/测试集划分

步骤 10:初始化并训练随机森林分类器

创建 Random Forest Classifier,指定输入特征、目标标签与输出列;在训练集上拟合模型。

图 1.13:训练随机森林

步骤 11:设置模型登记库(Model Registry)

在 Snowflake 中使用模型前,需要先将其登记Model Registry。该安全的集中式仓库可管理任意来源/类型的模型及其元数据,并简化推理流程。以下命令初始化登记库,为记录模型做准备。

图 1.14:初始化 Registry

步骤 12:登记模型(Logging the Model)

将已训练模型以 V1 版本登记到 Snowflake 的模型登记库。

图 1.15:登记模型

步骤 13:列出已登记模型

查看登记库中保存的所有模型(此处仅有我们刚创建的一个)。

图 1.16:列出模型

步骤 14:列出模型版本

检索并展示 LOAN 模型的各版本(当前仅 V1;在真实环境中通常会有多个历史版本)。

图 1.17:列出版本

步骤 15:设置默认模型版本

V1 设为部署与预测的默认版本。

图 1.18:设为默认版本

步骤 16:推理(Inference)

使用已登记模型对测试集进行贷款审批预测。

图 1.19:在测试集上预测

步骤 17:验证模型准确率

评估模型的准确率;可观察到模型表现较高

图 1.20:验证准确率

步骤 18:将测试结果写回 Snowflake 表

将预测结果直接写入 Snowflake 表,以便后续分析。

图 1.21:将测试结果存表

本示例以清晰的"逐步操作 "展示了 Snowpark ML 的实际应用------从数据准备、模型构建、评估、登记与版本管理到推理,全流程都在熟悉的 Snowflake 环境中完成。

结语(Conclusion)

Snowpark ML 通过把计算直接带到 Snowflake 内部的数据之上,彻底改变了机器学习模型的开发与部署方式。它消除了数据搬移的需求,从而降低延迟提升数据安全 、并简化 整条 ML 工作流。借助 Snowpark 的分布式处理能力与 Snowflake 的可扩展架构,组织能够在任意规模与复杂度 的数据上高效 完成模型训练与部署。凭借对端到端 ML 流程的精简与贯通,Snowpark ML 让数据团队以前所未有的效率与可扩展性来构建、部署并运营化机器学习模型。

在奠定了 Snowpark ML 的基础、并明确其在自定义 AI/ML 方案中的角色之后,我们已准备好更深入地走进 Snowflake 更广泛的 AI 生态。如前所述,Snowflake Cortex 提供了一系列预构建 的 AI/ML 服务,用以补充与增强 Snowpark ML。自下一章起,我们将详细探索 Cortex ,了解它如何进一步简化你的 AI 规划 、并加速数据科学工作流。

相关推荐
稻草人22223 小时前
打造个人Dify?手写AI工作流让AI乖乖听话 - 基础架构篇
架构
canonical_entropy4 小时前
告别经验主义:DDD的数学基础与工程实现
后端·架构·领域驱动设计
码界奇点4 小时前
2025时序数据库选型指南从架构基因到AI赋能的深度解析
人工智能·ai·架构·时序数据库
Light604 小时前
《领码 SPARK 融合平台》投资研究报告(最终完整版)
分布式·架构·spark·零信任·安全运营
鸿儒之观5 小时前
dinky提交flink任务报 java.lang.OutOfMemoryError: Direct buffer memory
大数据·flink
YangYang9YangYan5 小时前
理财经理的职业进阶:核心技能与成长路径解析
大数据·金融·数据分析
shinelord明5 小时前
【大数据开发实践】Kafka REST Proxy~无缝集成 Kafka
大数据·分布式·架构·kafka
创码小奇客6 小时前
前端小白从零到一:架构师视角下的学习路线与实战指南
前端·javascript·架构
笨蛋少年派6 小时前
操作Hadoop时,慎用sudo
大数据·hadoop·分布式