使用资产(用户指南) - Amazon SageMaker

使用资产(用户指南)

使用 SageMaker Assets,与组织中的其他人员无缝协作开展机器学习项目。通过 SageMaker Assets,您和您的合作者可以创建模型和数据表并相互共享。在 SageMaker Assets 中,这些模型和数据表被称为资产

SageMaker Assets 是 Amazon SageMaker Studio 的一项功能。您或您的管理员在 Amazon DataZone 项目中创建一个 Studio 环境。有关设置 Amazon DataZone 的详细信息,请参阅 设置 SageMaker Assets(管理员指南)

资产是指 ML 资产或数据资产。ML 资产是指向以下内容的元数据:

  • 特征存放区特征组

  • SageMaker 模型组

基础模型组和特征组是数据来源。如果更新了特征组或模型组,模型组或特征组的资产会在当天内更新。

数据资产是指向以下内容的元数据:

  • Amazon Redshift 表

  • AWS Glue 表

对于数据资产,数据来源是从 AWS Glue 表和 Amazon Redshift 表中提取元数据到资产中的机制。例如,数据来源会将 AWS Glue 表中的元数据提取到该表的资产中。

您可以通过发布资产,让组织中的每个人都能看到它。个人可以查看资产中的元数据并申请访问。如果您提供访问权限,他们就能访问基础机器学习数据来源或表。

您的管理员可能已经授予您访问特征组、模型组和表格的权限。如果还没有,请参阅 设置 SageMaker Assets(管理员指南) 中的信息,以帮助您开始工作。

以下各节提供了特征组和模型组的参考信息。

Amazon SageMaker Feature Store 提供了一个集中位置,可帮助您存储和管理您的功能。它是一个高性能的存储库,可用于特征工程。

在特征存放区内,功能存储在一个特征组中。特征组是与您正在进行的项目相关的功能集合。例如,如果您正在做一个与预测房价有关的项目,那么特征组可能包括位置或卧室数量等功能。

有关如何使用特征组简化特征工程流程的更多信息,请参阅 使用特征存放区创建、存储和共享功能

您可以在 SageMaker Model Registry 中使用 SageMaker 模型组来组织和管理不同版本的模型。您可以比较不同版本的模型,看看哪一款最适合您的使用情况。有关 SageMaker Model Registry 的更多信息,请参阅 利用模型注册中心进行模型注册部署

以下是有关 Amazon Redshift 和 AWS Glue 的背景信息。

Amazon Redshift 是一种大型数据存储库服务,可在大型数据集上提供快速查询性能。有关 Amazon Redshift 的更多信息,请参阅 Amazon Redshift Serverless

AWS Glue 是一种提取、转换、加载 (ETL) 服务,可用于简化数据准备过程。有关 AWS Glue 的更多信息,请参阅什么是 AWS Glue?

您可以使用 SQL 编辑器连接 AWS Glue 和 Amazon Redshift 数据库并运行查询。您可以在 SageMaker Assets 中共享在编辑器中创建的任何表格。有关更多信息,请参阅 在 Studio 中使用 SQL 准备数据

术语和概念

在开始使用 SageMaker Assets 之前,最好先熟悉以下术语和概念:

  • 资产 - 指向您要共享的模型或数据表的元数据。您可以申请访问他人拥有的资产,也可以与他人共享您的资产。您和您的队友可以访问资产以及与之相关的基础数据表或模型。

  • 订阅资产 - 要申请访问资产,您需要提交订阅申请。如果您的申请获得批准,该资产就会出现在您订阅的资产下。

  • 自有资产 - 您与队友共享的资产。

  • 资产目录 - 在组织内共享的资产。

步骤 1:访问 SageMaker Assets

访问 SageMaker Assets,查看您的资产并与他人共享。以下信息可帮助您开始使用它。

您可以从 Amazon DataZone 域中的项目访问 SageMaker Assets。项目是您和团队成员之间的合作。在项目中,您和项目的其他成员可以访问您和其他团队成员在清单目录中创建的资产。您可以将资产发布到已发布的目录中,让组织中的其他人也能看到它们。

这些人可以申请访问您的资产。如果您为他们提供访问权限,他们就可以访问最新的数据来源。例如,如果个人订阅了您更新的 AWS Glue 表,他们就可以实时访问更新后的 AWS Glue 表。

使用以下步骤访问 SageMaker Assets。

访问 SageMaker Assets
  1. 打开 Amazon DataZone 管理控制台。

  2. 选择 查看域

  3. 在包含项目的域旁边,选择 打开数据门户

  4. 分析工具下,选择 SageMaker Studio

  5. 选择打开 Amazon SageMaker

  6. 选择 Assets (资产)

已与您共享的资产位于已订阅资产下。您和项目成员创建的资产位于自有资产下。您和组织其他成员发布的资产都在资产目录中。

步骤 2:共享资产并管理资产访问权限

创建机器学习模型、特征组或数据表后,您可以让与您在项目中合作的个人或您的组织更广泛地看到它们。您可以回复访问资产的请求。如果您批准了个人的请求,他们就可以修改资产的基础数据来源。

共享资产时,您有两种选择:

  • 发布到资产目录 - 让组织中的每个人都能看到资产

  • 发布到清单--让项目中的每个人都能看到资产

如果您已将资产发布到资产目录,组织内的个人就可以在资产目录中找到它。他们可以查看资产的元数据,并决定是否要申请访问这些资产。如果您批准了他们的请求,他们就可以访问基础数据来源。

如果发布到清单,您和项目的其他成员就可以访问该资产,而无需任何其他操作。

发布到库存中的资产只显示在自有资产下。发布到目录中的资产显示在自有资产资产目录下。

发布数据表时,必须创建一个数据来源,以便从基础 AWS Glue 表或 Amazon Redshift 表中提取元数据到资产中。使用以下步骤发布 AWS Glue 或 Amazon Redshift 表。

Publish an AWS Glue table

要为 AWS Glue 表发布资产,需要为其创建数据来源并发布。数据来源是从 AWS Glue 表中提取元数据到资产中的机制。

使用以下步骤发布一个 AWS Glue 表。

要发布 AWS Glue 表
  1. 导航至 SageMaker Assets 登录页面。

  2. 选择自有资产

  3. 选择查看数据来源

  4. 选择创建数据来源

  5. 对于名称,请指定数据来源的名称。

  6. 对于描述,请提供说明。

  7. 对于类型,选择 AWS Glue

  8. 对于数据选择,选择包含 AWS Glue 表的数据库。

  9. 对于表选择标准,请指定表的名称。

    注意

    尽管您可以指定多个表,但我们强烈建议您只提供一个表名。

  10. 选择下一步

    • 将资产发布到目录,选择以发布到资产目录。

    • 将资产发布到目录,选择以发布到资产目录。

  11. 选择下一步

  12. 资产详情下,选择按计划运行按需运行,以确定如何将 AWS Glue 表中的元数据提取到资产中。

  13. (可选)如果选择按照时间表运行,请指定将元数据拉入资产的计划。

  14. 选择下一步

  15. 选择创建

  16. (可选)如果尚未创建计划表,请选择运行,将 AWS Glue 表中的元数据导入资产。

Publish an Amazon Redshift table

要为 Amazon Redshift 表发布资产,您需要为其创建一个数据来源并将其发布。数据来源是将元数据从 Amazon Redshift 表拉入资产的机制。

使用以下步骤发布 Amazon Redshift 表。

要发布 Amazon Redshift 表
  1. 导航至 SageMaker Assets 登录页面。

  2. 选择自有资产

  3. 选择查看数据源

  4. 选择创建数据来源

  5. 对于名称,请指定数据源的名称。

  6. 对于描述,请提供说明。

  7. 类型中,选择 Amazon Redshift

    • 选择 Redshift 集群

      1. 对于 Redshift 集群,指定包含表数据库的 Amazon Redshift 集群的名称。

      2. 对于密文,指定包含集群凭证的 AWS Secrets Manager 密文名称。

    • 选择 Redshift 无服务器

      1. 对于 Redshift 作业组,指定包含表数据库的 Amazon Redshift 工作组的名称。

      2. 对于密文,指定包含工作组凭证的 AWS Secrets Manager 密文名称。

  8. 发布源选择中,选择包含 Amazon Redshift 表的数据库。

  9. 对于表选择标准,请指定表的名称。

    注意

    尽管您可以指定多个表,但我们强烈建议您只提供一个表名。

  10. 选择下一步

    • 将资产发布到目录,选择以发布到资产目录。

    • 将资产发布到目录,选择以发布到资产目录。

  11. 选择下一步

  12. 资产详细信息下,选择按计划运行按需运行,以确定如何将 Amazon Redshift 表中的元数据提取到资产中。

  13. (可选)如果选择按照时间表运行,请指定将元数据拉入资产的计划。

  14. 选择下一步

  15. 选择创建

  16. (可选)如果尚未创建计划,请选择运行将 Amazon Redshift 表中的元数据导入资产。

使用以下步骤为特征组或模型软件包组发布资产。

Publish a feature group

使用以下步骤导航到已创建的特征组,并将其发布到自有资产或资产目录中。

将特征组发布到自有资产或资产目录中
  1. 在 Studio 内,选择左侧导航栏上的数据

  2. 选择要发布的特征组。

  3. 选择 Three dots next to the feature group. 图标。

    • 选择发布到资产目录以发布到资产目录。

    • 选择发布到库存,以发布到组的自有资产。

Publish a model group

使用以下步骤导航到已创建的模型组,并将其发布到自有资产或资产目录中。

要将模型组发布到您拥有的资产或资产目录中
  1. 在 Studio 中,选择左侧导航栏中的模型

  2. 选择要发布的模型组。

  3. 选择 Three dots next to the model group. 图标。

    • 选择发布到资产目录以发布到资产目录。

    • 选择发布到库存,以发布到组的自有资产。

使用以下步骤将自有资产中的资产发布到资产目录。

从 SageMaker Assets 页面发布资产
  1. 在 Studio 中,导航至资产

  2. 选择自有资产

  3. 在搜索栏中指定资产名称。

  4. 选择资产。

  5. 选择 发布

您可以使用以下 SageMaker Python SDK 代码发布特征组或模型软件包组。代码假定您已经创建了特征组或模型软件包组。

from sagemaker.asset import AssetManager publisher = AssetPublisher() publisher.publish_to_catalog(name-of-your-feature-group-or-model-package)

步骤 3:管理访问请求

发布资产后,项目外的用户可能希望访问该资产。您可以提供、拒绝或撤销访问请求。您还可以删除资产,使数据的基本来源只对自己开放。

使用以下程序回复订阅请求。

批准订阅申请
  1. 导航至 SageMaker Assets 页面。

  2. 选择管理资产

  3. 选择传入订阅请求

    • (可选)选择批准并说明理由。

    • (可选)选择拒绝

您可以撤销之前批准的资产访问权限。如果选择撤销访问权限,用户将失去对资产和基础资产的访问权限。使用以下程序撤销访问权限。

要取消访问权限
  1. 导航至 SageMaker Assets 页面。

  2. 选择管理资产

  3. 选择传入订阅请求

  4. 选择已批准选项卡。

  5. 选择资产旁边的撤销

您还可以取消发布资产,使其只显示为自有资产。这些资产在资源目录中将不可见,但您已批准其订阅请求的个人仍可访问这些资产。

取消发布资产
  1. 导航至 SageMaker Assets 页面。

  2. 自有资产下,选择要取消发布的资产。

  3. 选择 Unpublish (取消发布)

您还可以从取消发布资产的同一页面删除资产。删除资产不会删除数据来源。删除资产只会让项目或组织的其他成员看不到该资产。

步骤 4:查找资产并申请访问权限

您可以申请访问其他用户已发布到资源目录中的资产。如果他们批准了订阅请求,您就可以访问基础数据来源。

在 SageMaker Assets 页面顶部,您可以指定搜索查询,以查找组织内其他用户已发布的资产。您还可以选择资产类型,查看该类型的所有已发布资产。例如,您可以选择 Glue Table 来查看所有已发布的 AWS Glue 表格。

您还可以直接在资产名称下查看资产类型。以下是资产类型的可用名称:

  • Redshift 表

  • Glue 表

  • 模型

  • 特征组

注意

以下存储空间中的特征组类型为 Glue 表

  • 离线

  • 离线和在线

申请订阅
  1. 导航至 SageMaker Assets 页面。

    • 在搜索栏中指定资产名称,然后选择搜索

    • 对于类型,选择资产类型,并在资源目录中找到要访问的资产。

  2. 选择资产。

  3. 选择订阅

  4. 提供申请理由。

  5. 选择提交

您的订阅请求会出现在管理资产请求下的出站订阅请求中。如果资产的发布者批准了您的请求,该资产就会出现在已订阅资产下。现在,您可以在机器学习工作流程中使用 Amazon Redshift、AWS Glue 表或 ML 数据来源。

步骤 5:在机器学习工作流程中使用共享资产

如果您的资产订阅请求获得批准,您就可以在机器学习工作流程中使用该资产。

您获得访问权限的特征组会出现在 Studio 中的特征组列表中。

您获得访问权限的模型组会出现在 Studio 中的模型组列表中。您可以从 SageMaker Assets 在模型注册表中打开模型组。使用以下步骤打开模型注册表中的模型组。已订阅资产

从 SageMaker Assets 打开模型组
  1. 选择模型组。

  2. 选择在模型注册表中打开

您可以在 SageMaker Canvas 中访问 Data Wrangler 中的 AWS Glue 或 Amazon Redshift 表。SageMaker Canvas 是一款无需代码即可执行探索性数据分析 (EDA) 和训练模型的应用程序。有关 SageMaker Canvas 的更多信息,请参阅 Amazon SageMaker Canvas

您还可以使用 SQL 扩展将 AWS Glue 或 Amazon Redshift 表中的数据导入 Jupyter Notebook。您可以将数据转换为用于机器学习工作流程的 pandas 数据框。有关更多信息,请参阅 在 Studio 中使用 SQL 准备数据