Press "Enter" to skip to content

将SaaS平台与Amazon SageMaker集成,以实现基于机器学习的应用程序

Amazon SageMaker是一个端到端的机器学习(ML)平台,具有广泛的功能,可以摄入、转换和测量数据中的偏差,并使用最佳计算和服务(如Amazon SageMaker Data Wrangler,Amazon SageMaker Studio,Amazon SageMaker Canvas,Amazon SageMaker Model Registry,Amazon SageMaker Feature Store,Amazon SageMaker Pipelines,Amazon SageMaker Model Monitor和Amazon SageMaker Clarify)进行模型的训练、部署和管理。许多组织选择SageMaker作为他们的ML平台,因为它为开发人员和数据科学家提供了一套通用的工具。一些AWS独立软件供应商(ISV)合作伙伴已经为他们的软件即服务(SaaS)平台的用户构建了与SageMaker及其各种功能的集成,包括训练、部署和模型注册。

在本文中,我们将介绍与SageMaker集成的SaaS平台的好处、可能的集成范围以及开发这些集成的过程。我们还会深入探讨最常见的架构和AWS资源,以促进这些集成。这旨在加快ISV合作伙伴和其他SaaS提供商构建类似集成的上市时间,并鼓励作为SaaS平台用户的客户与SaaS提供商合作进行这些集成。

与SageMaker集成的好处

对于SaaS提供商将其SaaS平台与SageMaker集成,有许多好处:

  • SaaS平台的用户可以充分利用SageMaker中的综合ML平台
  • 用户可以使用SaaS平台内外的数据构建ML模型,并利用这些ML模型
  • 它为用户在SaaS平台和SageMaker之间提供了无缝的体验
  • 用户可以利用Amazon SageMaker JumpStart中提供的基础模型构建生成式AI应用
  • 组织可以在SageMaker上进行标准化
  • SaaS提供商可以专注于其核心功能,并为ML模型开发提供SageMaker
  • 它为SaaS提供商提供了构建联合解决方案并与AWS一起进入市场的基础

SageMaker概述和集成选项

SageMaker在ML生命周期的每个步骤中都提供工具。SaaS平台可以与SageMaker集成,涵盖从数据标记和准备到模型训练、托管、监控和管理具有各种组件的模型的整个ML生命周期,如下图所示。根据需求,ML生命周期的任何部分都可以在客户AWS账户或SaaS AWS账户中运行,并且可以使用AWS身份和访问管理(IAM)策略或第三方基于用户的访问工具在账户之间共享数据和模型。这种集成的灵活性使SageMaker成为客户和SaaS提供商进行标准化的理想平台。

将SaaS平台与Amazon SageMaker集成,以实现基于机器学习的应用程序 四海 第1张

集成过程和架构

在本节中,我们将集成过程分为四个主要阶段,并介绍常见的架构。请注意,除了这些之外,还可能存在其他集成点,但这些较少见。

  • 数据访问 – 如何从SaaS平台访问数据
  • 模型训练 – 如何训练模型
  • 模型部署和工件 – 模型部署的位置和产生的工件
  • 模型推断 – 在SaaS平台中进行推断的方式

以下各节中的图表假设SageMaker在客户AWS账户中运行。如果SageMaker在SaaS AWS账户中运行,则大多数解释的选项也适用。在某些情况下,ISV可能会将其软件部署在客户AWS账户中。这通常是在专用的客户AWS账户中进行的,这意味着仍然需要跨账户访问运行SageMaker的客户AWS账户。

当从SageMaker访问SaaS平台中的数据以及从SaaS平台调用ML模型时,可以通过几种不同的方式实现跨AWS账户的身份验证。推荐的方法是使用IAM角色。另一种方法是使用包含访问密钥ID和秘密访问密钥的AWS访问密钥。

数据访问

在SaaS平台中,可以通过多种方式访问数据。数据可以从SageMaker笔记本、SageMaker数据整理器(Data Wrangler)或SageMaker Canvas中进行访问。最常见的数据访问方式包括:

  • SageMaker数据整理器内置连接器 – SageMaker数据整理器连接器可以将数据从SaaS平台导入,以便为ML模型训练做准备。该连接器由AWS和SaaS提供商共同开发。当前支持的SaaS平台连接器包括Databricks和Snowflake。
  • 针对SaaS平台的Amazon Athena联合查询 – 联合查询使用户可以通过Amazon Athena在SageMaker笔记本中查询平台,使用的是由SaaS提供商开发的自定义连接器。
  • Amazon AppFlow – 借助Amazon AppFlow,您可以使用自定义连接器将数据提取到Amazon Simple Storage Service (Amazon S3),随后可以从SageMaker中访问。SaaS平台的连接器可以由AWS或SaaS提供商开发。开源的自定义连接器SDK可用于使用Python或Java开发私有、共享或公共连接器。
  • SaaS平台SDK – 如果SaaS平台有SDK(软件开发工具包),例如Python SDK,则可以直接从SageMaker笔记本访问数据。
  • 其他选项 – 除了以上选项,还可以根据SaaS提供商是通过API、文件还是代理公开其数据,有其他选项可用。代理可以安装在Amazon Elastic Compute Cloud (Amazon EC2)或AWS Lambda上。或者,可以使用AWS Glue或第三方的提取、转换和加载(ETL)工具进行数据传输。

以下图示了数据访问选项的架构。

将SaaS平台与Amazon SageMaker集成,以实现基于机器学习的应用程序 四海 第2张

模型训练

模型可以由数据科学家在SageMaker Studio中进行训练,也可以由非数据科学家使用Amazon SageMaker Autopilot进行训练,或者由业务分析师在SageMaker Canvas中进行训练。SageMaker Autopilot可以帮助构建ML模型,包括特征工程、算法选择和超参数设置,而且相对容易与SaaS平台直接集成。SageMaker Canvas提供了一个无代码的可视化界面用于训练ML模型。

此外,数据科学家可以使用SageMaker JumpStart中提供的预训练模型,包括来自Alexa、AI21 Labs、Hugging Face和Stability AI等来源的基础模型,并对其进行调整以适应自己的生成AI用例。

或者,模型可以在第三方或合作伙伴提供的工具、服务和基础架构中进行训练,包括本地资源,只要模型的工件可访问和可读。

以下图示了这些选项。

将SaaS平台与Amazon SageMaker集成,以实现基于机器学习的应用程序 四海 第3张

模型部署和工件

在训练和测试模型之后,可以将其部署到客户账户中的SageMaker模型端点,或从SageMaker导出并导入到SaaS平台存储中。模型可以以常见的ML框架支持的标准格式进行存储和导入,例如pickle、joblib和ONNX(Open Neural Network Exchange)。

如果ML模型部署到SageMaker模型端点,可以将附加的模型元数据存储在SageMaker模型注册表、SageMaker模型卡或S3存储桶中的文件中。这些元数据可以包括模型版本、模型输入和输出、模型指标、模型创建日期、推理规范、数据血缘信息等。如果模型包中没有可用的属性,数据可以存储为自定义元数据或S3文件。

创建此类元数据可以帮助SaaS提供商更有效地管理ML模型的端到端生命周期。这些信息可以同步到SaaS平台中的模型日志,并用于跟踪ML模型的更改和更新。随后,可以使用该日志确定是否需要刷新使用该ML模型的下游数据和应用程序。

下图展示了该架构。

将SaaS平台与Amazon SageMaker集成,以实现基于机器学习的应用程序 四海 第4张

模型推理

SageMaker提供了四种ML模型推理选项:实时推理、无服务器推理、异步推理和批量转换。对于前三种选项,模型部署到SageMaker模型端点,SaaS平台使用AWS SDK调用模型。推荐的选项是使用Python SDK。每种选项的推理模式类似,使用predict()或predict_async()方法进行预测。可以通过基于角色的访问实现跨账户访问。

还可以使用Amazon API Gateway封装后端,通过在受保护的私有网络中运行的Lambda函数调用端点。

对于批量转换,首先将SaaS平台的数据批量导出到客户AWS账户的S3存储桶中,然后对该数据进行批量推理。推理的过程是首先创建一个转换任务或对象,然后使用数据的S3位置调用transform()方法。结果以数据集的形式批量导入SaaS平台,并作为批处理流水线作业的一部分与其他数据集进行连接。

推理的另一个选项是直接在SaaS账户的计算集群中进行。这种情况适用于将模型导入到SaaS平台的情况。在这种情况下,SaaS提供商可以从一系列针对ML推理进行优化的EC2实例中进行选择。

下图展示了这些选项。

将SaaS平台与Amazon SageMaker集成,以实现基于机器学习的应用程序 四海 第5张

示例集成

一些ISV已经在他们的SaaS平台和SageMaker之间构建了集成。要了解更多示例集成,请参考以下内容:

  • 通过Snowflake和Amazon SageMaker实现数据中心的人工智能
  • 使用Amazon SageMaker Autopilot和Domo为所有人提供机器学习
  • 如何在AWS和Domino Data Lab中架构端到端的开发、监控和维护模型

结论

在本文中,我们解释了为什么以及如何将SageMaker与SaaS平台集成,并将该过程分为四个部分,涵盖了常见的集成架构。希望构建与SageMaker集成的SaaS提供商可以利用这些架构。如果有任何在本文中未涵盖的其他SageMaker组件的自定义需求,请与您的AWS账户团队联系。一旦集成建立并验证完成,ISV合作伙伴可以加入SageMaker的AWS Service Ready计划并解锁各种福利。

我们还要求作为SaaS平台用户的客户与他们的AWS账户团队注册他们对与Amazon SageMaker集成的兴趣,因为这可以帮助激发和推进SaaS提供商的开发。

Leave a Reply

Your email address will not be published. Required fields are marked *