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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用资产(用户指南)

使用 A SageMaker ssets,在机器学习项目上与组织中的其他人无缝协作。借 SageMaker 助 Assets,您和您的合作者可以创建和共享模型和数据表。在 SageMaker 资产中,这些模型和数据表被称为资产

SageMaker 资产是 Amazon SageMaker Studio 中的一项功能。您或您的管理员在亚马逊 DataZone 项目中创建一个 Studio 环境。有关设置 Amazon 的更多信息 DataZone,请参阅设置 SageMaker 资产(管理员指南)

资产是机器学习资产或数据资产。机器学习资源是指向以下内容的元数据:

  • 功能商店功能组

  • SageMaker 模型组

基础模型组和特征组是数据的来源。如果您更新特征组或模型组,则该模型组或特征组的资产将在一天之内更新。

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

  • Amazon Redshift 表

  • AWS Glue 桌子

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

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

您的管理员可能已授予您访问功能组、模型组和表格的权限。如果他们还没有,请查看中的信息设置 SageMaker 资产(管理员指南)以帮助您入门。

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

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

在功能商店中,要素存储在功能组中。功能组是与您正在处理的项目相关的功能集合。例如,如果您正在处理与预测房价相关的项目,则功能组可能包括位置或卧室数量等功能。

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

您可以使用 SageMaker 模型注册表中的 SageMaker 模型组来组织和管理模型的不同版本。您可以比较不同版本的模型,看看哪个版本最适合您的用例。有关 “ SageMaker 模型注册表” 的更多信息,请参阅使用模型注册进行模型注册部署

以下是有关亚马逊 Redshift 的背景信息,以及. AWS Glue

Amazon Redshift 是一项大规模的数据仓库服务,可为大型数据集提供快速的查询性能。有关亚马逊 Redshift 的更多信息,请参阅亚马逊 Redshift Server l ess。

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

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

术语和概念

在开始使用 SageMaker 资源之前,熟悉以下术语和概念会很有帮助:

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

  • 已订阅的资产-要请求访问资产,请提交订阅请求。如果您的请求获得批准,则该资产将显示在您订阅的资产下方。

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

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

步骤 1:访问 SageMaker 资产

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

您可以从 Amazon DataZone 域中的项目访问 SageMaker 资产。项目是你和你的团队成员之间的协作。在项目中,您和项目的其他成员可以访问您和您的其他团队成员在清单目录中创建的资产。您可以将资源发布到已发布的目录中,以便组织中的其他人可以看到这些资源。

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

使用以下步骤访问 SageMaker 资产。

访问 SageMaker 资产
  1. 打开 Amazon DataZone 控制台。

  2. 选择查看域名

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

  4. 在 “分析工具” 下,选择 SageMakerStudio

  5. 选择 “打开 Amazon” SageMaker。

  6. 选择 Assets (资产)

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

第 2 步:共享资产并管理对资产的访问权限

创建机器学习模型、功能组或数据表后,您可以让与您合作开展项目或更广泛的组织的人可以看到这些模型、功能组或数据表。您可以回应访问资产的请求。如果您批准个人的请求,他们可以修改资产的基础数据来源。

共享资源时,有两种选择:

  • 发布到资产目录 — 让组织中的所有人都能看到该资产

  • 发布到清单 — 让所有参与项目的人都能看到该资产

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

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

发布到库存中的资产仅显示在 “自有资产” 下。发布到目录的资产显示在 “自有资产” 和 “资产” 目录下。

发布数据表时,必须创建一个数据源,用于将基础表或 Amazon Redshift AWS Glue 表中的元数据提取到资产中。使用以下过程发布 AWS Glue 或 Amazon Redshift 表。

Publish an AWS Glue table

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

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

发布 AWS Glue 表
  1. 导航至 “资SageMaker 产” 登录页面。

  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 表。

发布亚马逊 Redshift 表格
  1. 导航至 “资SageMaker 产” 登录页面。

  2. 选择 “自有资产”。

  3. 选择 “查看数据源”。

  4. 选择创建数据来源

  5. 在 “名称” 中,为数据源指定一个名称。

  6. 描述中,提供描述。

  7. 在 “类型” 中,选择 Amazon Redshift

    • 选择 Redshift 集群

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

      2. 对于 S ecret,指定包含集群凭据的 AWS Secrets Manager 密钥的名称。

    • 选择 Redshift 无服务器。

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

      2. 对于 S ecret,指定包含工作组凭据的 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 资产
  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 产” 页面。

  2. 选择管理资产资产

  3. 选择 “收到的订阅请求”。

    • (可选)选择批准并提供理由。

    • (可选)选择 “拒绝”。

您可以撤消对先前批准的资产的访问权限。如果您选择撤消访问权限,则用户将失去对资产和标的资产的访问权限。来源。使用以下步骤撤消访问权限。

撤消访问权限
  1. 导航至 “资SageMaker 产” 页面。

  2. 选择管理资产资产

  3. 选择 “收到的订阅请求”。

  4. 选择 “已批准” 选项卡。

  5. 选择资产旁边的 “撤销”。

您也可以取消发布资源,使其仅显示为自有资产。资源目录中不会显示这些资产,但您已批准其订阅请求的个人仍然可以访问它们。

取消发布资源
  1. 导航至 “资SageMaker 产” 页面。

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

  3. 选择 Unpublish (取消发布)

您也可以在取消发布的同一页面上删除资源。删除资产并不会删除数据源。删除资产只会使项目或组织的其他成员看不到该资产。

第 4 步:查找资产并请求访问这些资产

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

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

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

  • Redshift 表

  • Glue 表

  • 模型

  • 特征组

注意

以下商店中的功能组的类型为 Glue 表

  • 离线

  • 离线和在线

提出订阅请求
  1. 导航至 “资SageMaker 产” 页面。

    • 在搜索栏中,指定资产的名称并选择 “搜索”。

    • 对于类型,选择资产类型,然后在资源目录中找到您正在访问的资产。

  2. 选择资产。

  3. 选择订阅

  4. 提供请求的理由。

  5. 选择提交

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

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

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

您获得访问权限的功能组将显示在 Studio 的功能组列表中。

您获得访问权限的模型组将显示在 Studio 的模型组列表中。您可以通过 “ SageMaker 资产” 在模型注册表中打开模型组。使用以下步骤在模型注册表中打开模型组。已订阅的资产

从 “ SageMaker 资产” 中打开模型组
  1. 选择模型组。

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

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

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