在 SageMaker Canvas 中自带模型 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在 SageMaker Canvas 中自带模型

注意

您可以将使用表格、文本和图像数据训练的模型共享到 Canvas。您无法共享时间序列模型。此外,Canvas 自带模型 (BYOM) 仅支持基于 CPU 的模型(或使用 CPU 实例进行预测的模型)。

业务分析师可以利用数据科学家已经构建的 ML 模型来解决业务问题,而无需在 Amazon SageMaker Canvas 中创建新模型。然而,由于技术要求、工具的僵化以及导入模型的手动流程等原因,在构建模型的环境之外使用这些模型可能比较困难。这往往会迫使用户重建 ML 模型,造成重复工作,增加时间和资源。

SageMaker Canvas 消除了这些限制,因此您可以使用在任何地方训练过的模型在 Canvas 中生成预测。您可以在 SageMaker 模型注册表(ML 模型的元数据存储)中注册 ML 模型,并将其导入 SageMaker Canvas。此外,您还可以使用数据科学家在 Amazon SageMaker Autopilot 或 SageMaker JumpStart 中训练的模型生成预测。然后,Canvas 用户可以根据与他们共享的任何模型进行分析并生成预测。

满足先决条件后,请参阅以下章节,了解如何将自己的模型引入 Canvas 并生成预测的说明。工作流从 Studio 开始,Studio 用户与 Canvas 用户共享模型。然后,Canvas 用户登录他们的 Canvas 应用程序以接收共享模型并使用该模型生成预测。

重要

您只能共享使用表格数据训练的模型。此外,您不能共享时间序列模型。

先决条件

要将模型导入 SageMaker Canvas,请满足以下先决条件:

  • 您必须有一个已加入 Amazon SageMaker 域的 Amazon SageMaker Studio 用户。Studio 用户必须与 Canvas 用户位于同一域中。当 Studio 用户在 Studio 中与 Canvas 用户共享模型时,就会发生模型共享。如果尚未设置 Studio 用户,请参阅 Studio 文档加入 Amazon SageMaker 域

  • 您必须拥有来自 SageMaker Autopilot、SageMaker JumpStart 或 SageMaker 模型注册表的经过训练的模型。对于您在 SageMaker 之外构建的任何模型,都必须先在模型注册表中注册模型,然后再将模型导入 Canvas。有关更多信息,请参阅模型注册表文档

  • 要与之共享模型的 Canvas 用户必须有权访问用于存储数据集和模型构件的 Amazon S3 存储桶。有关管理员如何为 Canvas 用户授予所需权限的说明,请参阅授予用户与 Studio 协作的权限

  • 您还应该拥有要与之协作的 Canvas 用户的用户配置文件名称。Canvas 用户必须与 Studio 用户位于同一个 Amazon SageMaker 域中。您可以通过以下步骤查找用户的配置文件名称:

    1. 通过 https://console.aws.amazon.com/sagemaker/ 打开 SageMaker 控制台。

    2. 在导航面板中,选择

    3. 列表中选择您的域。这将打开域详细信息页面,您可以在其中找到该域的所有用户配置文件

    为下面教程的第一步准备好用户配置文件名称。

如果您的 SageMaker Canvas 应用程序在私有客户 VPC 中运行,则从 Studio 共享的任何 Autopilot 模型都必须使用 Autopilot HPO 模式才能支持在 Canvas 中生成预测。有关 HPO 模式的更多信息,请参阅 Autopilot 文档中的训练模式和算法支持

注意

如果您想获得数据科学家对在 Canvas 中构建的模型的反馈,请参阅与数据科学家合作,其中 Canvas 用户与 Studio 用户共享模型,而 Studio 用户共享反馈或模型更新。

Studio 用户:将模型共享到 SageMaker Canvas

您应该有一个使用表格数据训练过的模型,可随时与 Canvas 用户进行共享。有关如何通过 Studio 中的功能共享模型的信息,请参阅以下章节。

您可以从 Studio 中的 Amazon SageMaker Autopilot 将模型共享到 Canvas。Autopilot 是一项可让您在 SageMaker 中训练和部署模型的功能。

您需要有一个 Studio 用户和一个经过训练的模型,以便随时从 Autopilot 共享。有关如何设置 Studio 的更多信息,请参阅 Studio 文档。有关 Autopilot 的更多信息,请参阅 Autopilot 文档

要将模型从 Autopilot 共享到 Canvas,请按照下列过程操作。

  1. 打开 Amazon SageMaker Studio 应用程序。

  2. 在侧导航窗格中,选择主页图标 ( Home icon in Studio )。

  3. 在 Studio 的侧导航栏中,选择 AutoML 以打开 Autopilot。

  4. Autopilot 页面上,选择要与 Canvas 用户共享的 Autopilot 模型。一次只能共享一个模型。

  5. 在 Autopilot 作业详细信息页面的模型选项卡中,选择要共享的模型版本。

  6. 选择共享

  7. 共享模型对话框中,执行以下操作:

    1. 添加 Canvas 用户字段中,输入 Canvas 用户的配置文件名称。您最多可以输入 23 个 Canvas 用户。如果您指定的用户配置文件没有与之关联的 Canvas 应用程序,则无法输入配置文件名称。

    2. 添加备注字段中,为 Canvas 用户添加收到模型时的描述或备注。

    3. 选择共享以共享模型。

现在,您已经与 Canvas 用户共享了模型。

您可以从 Studio 中的 SageMaker JumpStart 将模型共享到 Canvas。使用 JumpStart,您可以在部署预训练模型之前访问和调整这些模型。

在 JumpStart 中,您需要有一个 Studio 用户和一个成功完成的训练作业。有关如何设置 Studio 的更多信息,请参阅 Studio 文档。有关 JumpStart 的更多信息,请参阅 JumpStart 文档

要将模型从 JumpStart 共享到 Canvas,请按照下列过程操作。

  1. 打开 Amazon SageMaker Studio 应用程序。

  2. 在侧导航窗格中,选择主页图标 ( Home icon in Studio )。

  3. 在打开的侧导航栏中,选择 SageMaker JumpStart

  4. 选择已启动的 JumpStart 资产,打开列出您的 JumpStart 训练作业、模型和端点的页面。

  5. 选择训练作业选项卡以查看您的模型训练作业列表。

  6. 训练作业列表中,选择要与 Canvas 用户共享的训练作业。一次只能共享一个作业。随即打开训练作业详细信息页面。

  7. 在训练作业的标题中,选择共享,然后选择共享到 Canvas

    注意

    您只能向 Canvas 共享表格模型。尝试共享非表格模型会引发Unsupported data type错误。

  8. 共享到 Canvas 对话框中,执行以下操作:

    1. 添加要共享的 Canvas 用户字段中,输入 Canvas 用户的配置文件名称。您最多可以输入 23 个 Canvas 用户。如果您指定的用户配置文件没有与之关联的 Canvas 应用程序,则无法输入配置文件名称。

    2. 添加备注字段中,为 Canvas 用户添加收到模型时的描述或备注。

    3. 选择共享以共享模型。

现在,您已经与 Canvas 用户共享了模型。

您可以从 Studio 中的 SageMaker 模型注册表将模型共享到 Canvas。通过模型注册表,您可以注册从 SageMaker 外部引入的模型,并将这些模型与 ML 管道集成。

您需要在模型注册表中保存一个 Studio 用户和一个模型版本。有关如何设置 Studio 的更多信息,请参阅 Studio 文档。如果模型注册表中没有模型版本,请创建一个模型组并向其注册一个版本。有关模型注册表的更多信息,请参阅模型注册表文档

要将模型版本从模型注册表共享到 Canvas,请按照下列过程操作。

  1. 打开 Amazon SageMaker Studio 应用程序。

  2. 在侧导航窗格中,选择主页图标 ( Home icon in Studio )。

  3. 在打开的侧导航栏中,选择模型

  4. 从下拉列表中选择模型注册表,打开模型注册表页面,显示账户中注册的所有模型组。

  5. 选择拥有要共享的模型版本的模型组。

  6. 在模型组页面的版本下,从列表中选择要与 Canvas 用户共享的模型版本。一次只能共享一个模型版本。

  7. 选择共享

  8. 共享模型对话框中,执行以下操作:

    1. 添加要共享的 Canvas 用户字段中,输入 Canvas 用户的配置文件名称。您最多可以输入 23 个 Canvas 用户。如果您指定的用户配置文件没有与之关联的 Canvas 应用程序,则无法输入配置文件名称。

    2. 对于添加模型详细信息,执行以下操作:

      1. 训练数据集字段中,输入训练数据集的 Amazon S3 路径。

      2. 验证数据集字段中,输入验证数据集的 Amazon S3 路径。

      3. 对于目标列,如果数据集中的第一列是目标列,可选择使用第一列;如果要将目标列设置为数据集中的另一列,可选择指定目标列名称

      4. 对于列标题,选择以下选项之一:

        1. 如果数据集的第一行包含列标题,请选择使用第一行

        2. 如果存储在 Amazon S3 中的文件包含可映射到数据集的标题,请选择在 S3 中为列标题指定不同的数据集。标题文件的列数必须与数据集的列数相同。

        3. 如果还没有列标题,并希望 SageMaker 为数据集生成通用列名,请选择自动生成

      5. 问题类型下拉列表中,选择您的模型类型。

      6. 如果您选择了二元分类多元问题类型,则会出现配置模型输出选项。

        如果您已经在 Amazon S3 中存储了将默认目标列类名映射到所需类名的文件,请打开模型输出名称并输入映射文件的 Amazon S3 路径。如果您没有映射文件,请关闭模型输出名称并手动输入模型输出数量(数据中目标列类的数量)。然后,输入所需的类名以替换默认的类名。

    3. (可选)在添加备注字段中,为 Canvas 用户添加收到模型时的描述或备注。

    4. 选择共享以共享模型版本。

现在,您已经与 Canvas 用户共享了模型。

在 Amazon SageMaker Studio 的共享模型和笔记本页面上,您可以查看自己共享的模型和别人共享的模型。此页面为您提供了一个中心位置,用于查看和管理 Studio 中的所有模型。

您需要有一个 Studio 用户和一个模型,可随时从 Autopilot、JumpStart 或模型注册表共享。有关如何设置 Studio 的更多信息,请参阅 Studio 文档。有关共享模型和笔记本页面的更多信息,请参阅共享模型和笔记本文档

下面的示例将引导您共享 Amazon SageMaker Autopilot 模型,但您也可以使用共享模型和笔记本页面上的共享功能来共享前面章节中任何其他功能的模型,如 Jumpstart 和模型注册表。

要从共享模型和笔记本页面共享 Autopilot 模型,请按以下步骤操作。

  1. 打开 Amazon SageMaker Studio 应用程序。

  2. 在侧导航窗格中,选择主页图标 ( Home icon in Studio )。

  3. 在 Studio 的侧导航栏中,选择模型

  4. 在下拉列表中,选择共享模型以打开共享模型和笔记本页面。

  5. 选择筛选器图标,然后在共享来源下拉列表中,选择 Autopilot

  6. 从列表中选择要与 Canvas 用户共享的 Autopilot 模型。一次只能共享一个模型。或者,您可以选择模型以打开模型详细信息页面。

  7. 在 Autopilot 作业页面或模型详细信息页面中,选择共享

  8. 共享模型对话框中,执行以下操作:

    1. 添加要共享的 Canvas 用户字段中,输入 Canvas 用户的配置文件名称。您最多可以输入 23 个 Canvas 用户。如果您指定的用户配置文件没有与之关联的 Canvas 应用程序,则无法输入配置文件名称。

    2. 添加备注字段中,为 Canvas 用户添加收到模型时的描述或备注。

    3. 选择共享以共享模型。

现在,您已经与 Canvas 用户共享了模型。

共享模型后,您会在 Studio 中收到一个类似于以下屏幕截图的通知弹出窗口。


    Studio 通知您成功共享模型的屏幕截图。

您可以选择查看模型,在 Studio 中打开共享模型和笔记本页面。您也可以随时从共享模型和笔记本页面查看您的共享模型。

在此页面中,您可以在由我共享标签下看到您与 Canvas 用户共享的模型,如以下屏幕截图所示。


    Studio 共享模型和笔记本页面的屏幕截图,您可以在其中查看所有的共享模型。

您共享到 Canvas 的模型在卡片上的文本类似于下面的示例:Shared to: 12 Canvas users

Canvas 用户:在 SageMaker Canvas 中接收共享模型

当 Studio 用户与 Canvas 用户共享模型时,您会在 Canvas 应用程序中收到通知,说明 Studio 用户已与您共享模型。

在 Canvas 应用程序中,该通知类似于以下屏幕截图。


    SageMaker Canvas 应用程序中有关新共享模型的通知消息的屏幕截图。

您可以选择查看更新来查看共享模型,也可以前往 Canvas 应用程序中的模型页面来查看已与您共享的所有模型。

注意

Canvas 用户无法编辑 Studio 用户与他们共享的模型。从 Studio 导入的模型仅用于查看和预测。

由 Studio 用户共享的模型类似于模型页面上的以下卡片。这不同于 Canvas 用户共享模型、Studio 用户与 Canvas 用户共享更新或反馈的与数据科学家合作


    SageMaker Canvas 应用程序中已从 Studio 共享的模型的模型卡片屏幕截图。

从 Studio 导入模型最多可能需要 20 分钟,在此期间,模型显示为正在导入

导入模型后,您可以查看模型指标并使用模型生成预测结果。SageMaker Canvas 使用 Amazon SageMaker 无服务器推理资源为共享模型生成模型分析和预测。您可能会在 Amazon 账户中看到与无服务器推理相关的费用。

以下屏幕截图显示了 Canvas 应用程序中共享模型的分析选项卡,您可以在其中评估模型的准确性和指标。有关更多信息,请参阅 在 Amazon SageMaker Canvas 中评估模型性能


    SageMaker Canvas 应用程序中共享模型的“分析”选项卡的屏幕截图。

以下屏幕截图显示了预测选项卡,您可以在其中使用模型生成预测结果。有关在 Canvas 中生成预测的更多信息,请参阅对数据进行预测


    SageMaker Canvas 应用程序中共享模型的“预测”选项卡的屏幕截图。

分析预测选项卡上,您可以看到共享历史记录面板,其中显示了 Studio 用户与您共享的模型版本和评论。