一般性问题

问:什么是 Amazon SageMaker?

Amazon SageMaker 是一项完全托管的服务,可以帮助数据科学家和开发人员快速轻松地构建、训练和部署机器学习模型。

问:Amazon SageMaker 有什么作用?

Amazon SageMaker 可以帮助开发人员和数据科学家构建机器学习模型,以便在预测性智能应用程序中使用。

问:如何开始使用 Amazon SageMaker?

要开始使用 Amazon SageMaker,您需要登录 Amazon SageMaker 控制台,使用示例笔记本启动笔记本实例,修改该实例并将其连接到您的数据源,根据示例构建/训练/验证模型,然后通过简单的输入将生成的模型部署到生产环境中。

问:Amazon SageMaker 在哪些区域提供?

有关支持的 Amazon SageMaker AWS 区域的列表,请访问 AWS 区域表了解所有 AWS 全球基础设施。有关更多信息,请参阅 AWS 一般参考中的区域和终端节点

问:我是否可以获取从我的账户发起的 Amazon SageMaker API 调用历史记录来进行安全分析和运行故障排除? 

可以。要获取从您的账户发起的 Amazon SageMaker API 调用的历史记录,您只需在 AWS 管理控制台中打开 AWS CloudTrail 即可。*不会*记录并提供 Amazon SageMaker Runtime 中的以下调用:InvokeEndpoint。

问:Amazon SageMaker 的服务可用性水平如何?

Amazon SageMaker 旨在提供高可用性。没有维护时段或计划停机时间。Amazon SageMaker API 在 Amazon 稳定可靠且具有高可用性的数据中心中运行,相关的服务堆栈会在每个 AWS 地区中的三处数据中心进行复制配置,以实现容错,防止服务器故障或可用区中断等事故导致的损失。

问:Amazon SageMaker 有哪些安全防护保障?

Amazon SageMaker 可以确保机器学习模型项目和其他系统项目在传输中和静态下全部经过加密。对 Amazon SageMaker API 和控制台发出的请求全部通过安全 (SSL) 连接进行。您可以为 Amazon SageMaker 分配 AWS Identity and Access Management 角色,使它能够代表您访问资源以进行训练和部署。您可以将加密的 S3 存储桶用于模型项目和数据,并为 Amazon SageMaker 笔记本、训练作业和终端节点分配 KMS 密钥来加密挂载的 ML 存储卷。

问:Amazon SageMaker 如何保护我的代码安全?

Amazon SageMaker 将代码存储在 ML 存储卷上,通过安全组保证安全,并可以选择在静态时加密。

问:Amazon SageMaker 是如何收费的?

您需要为用于托管笔记本、训练模型、执行预测和记录输出日志的 ML 计算、存储和数据处理资源付费。借助 Amazon SageMaker,您可以选择用于托管笔记本、训练和模型托管的实例的数量和类型。您只需按您的实际用量付费;既没有最低费用,也无需预付费。

问:如果我有自己的笔记本电脑、训练或托管环境,会怎么样?

Amazon SageMaker 提供完整的端到端工作流,但是您能够继续将现有工具与 Amazon SageMaker 结合使用。您可以根据业务需求将每个阶段的结果轻松传入和传出 Amazon SageMaker。

托管的 Jupyter 笔记本

问:支持哪些类型的笔记本?

目前支持 Jupyter 笔记本。

问:当我停止工作区后,你们如何保存笔记本文件?

您可以在附加的 ML 存储卷上保存您的笔记本文件。当笔记本实例关闭时,ML 存储卷将断开,而当笔记本实例重新启动时,存储卷将重新连接。内存中存储的项目将不会保存。

问:如何增加笔记本的可用资源?

在附加的 ML 存储卷上保存您的文件和数据后,您可以修改笔记本实例,并通过 Amazon SageMaker 控制台选择更大的配置文件。笔记本实例将通过可用性更佳的资源,以相同的笔记本文件和已安装的库重新启动。

问:如何使用 Amazon SageMaker 笔记本来训练模型?

启动示例笔记本后,您可以自定义笔记本以使之适合您的数据源和架构,并执行 AWS API 创建训练任务。训练作业的进度或完成度可通过 Amazon SageMaker 控制台或 AWS API 获取。

模型训练

问:什么是托管的 Spot 训练?

借助 Amazon SageMaker 的托管型 Spot 训练功能,您可以使用 Amazon EC2 Spot 实例来训练您的机器学习模型,同时降低最高 90% 的训练模型成本。

问:我如何使用托管型 Spot 训练?

您可以在提交训练作业时启用托管型 Spot 训练选项,同时您还可以指定希望等待 Spot 容量多长时间。然后,Amazon SageMaker 将使用 Amazon EC2 Spot 实例运行您的作业并管理 Spot 容量。您可以在训练作业运行及等待容量时全面了解其状态。

问:我应该在何时使用托管型 Spot 训练?

当您能灵活运行您的训练且您想最大限度降低训练作业成本时,托管型 Spot 训练适用。托管型 Spot 训练可帮助您将训练机器学习模型的成本最高降低 90%。

问:托管型 Spot 训练的工作原理是什么?

托管型 Spot 训练使用 Amazon EC2 Spot 实例进行训练,并且当 AWS 需要容量时可以先获得这些实例。因此,当容量可用时,托管型 Spot 训练作业可以以小的增量运行。当出现中断时,不需要从头开始重启训练作业,因为 Amazon SageMaker 可以使用最新的模型检查点恢复训练作业。Amazon SageMaker 的内置框架和内置计算机视觉算法支持定期检查点,并且您可以启用带有自定义模型的检查点。

问:我是否需要使用托管型 Spot 训练定期检查?

对于长期运行的训练作业,我们建议将定期检查点作为一般最佳实践。这将阻止您的托管型 Spot 训练作业在先取得容量时重新启动。当您启用检查点时,Amazon SageMaker 会从最近的检查点恢复您的托管型 Spot 训练作业。 

问:如何计算使用托管型 Spot 训练作业节省的成本?

当托管的 Spot 训练作业完成后,您可以在 AWS 管理控制台中查看节省情况,并且还能通过训练作业运行持续时间与计费持续时间之间的百分比差异来计算成本节省。

无论您的托管型 Spot 训练作业中断了多少次,都只会根据下载的数据量向您收取一次费用。

问:我可以将哪些实例用于托管型 Spot 训练?

可以将托管型 Spot 训练用于 Amazon SageMaker 中支持的所有实例。

问:哪些 AWS 区域支持托管型 Spot 训练?

目前提供 Amazon SageMaker 的所有 AWS 区域都支持托管型 Spot 训练。

问:对于可用于训练的数据集,有没有大小限制?

Amazon SageMaker 训练模型可以使用的数据集没有固定的大小限制。

问:我可以将哪些数据源轻松提取到 Amazon SageMaker 中?

您可以在创建训练作业时指定训练数据的 Amazon S3 位置。

问:Amazon SageMaker 使用哪些算法来生成模型?

Amazon SageMaker 包括一些内置算法,例如线性回归算法、逻辑回归算法、k-means 集群算法、主成分分析算法、因式分解机算法、神经主题建模算法、潜在狄利克雷分配算法、梯度提高树算法、序列到序列算法、预测时间序列 word2vec 和镜像分类算法等。Amazon SageMaker 还提供经过优化的 Apache MXNet、Tensorflow、Chainer 和 PyTorch 容器。此外,Amazon SageMaker 还支持通过符合成文规格的 Docker 镜像提供的自定义训练算法。

问:什么是自动模型优化?

大多数 Machine Learning 算法都提供了各种各样的参数,这些参数控制了底层算法的运算方式。这些参数通常被称为超参数,它们的值会影响经过训练的模型的质量。自动模型优化是寻找能够生成最优模型的算法的超参数集的过程。

问:自动模型优化可用来优化哪些模型?

只要在科学上可行,您可以在 Amazon SageMaker 中基于任何算法运行自动模型优化,包括内置的 SageMaker 算法、深度神经网络算法或您通过 Docker 镜像引入 Amazon SageMaker 的任意算法。

问:可以在 Amazon SageMaker 之外使用自动模型优化吗?

目前不提供。只有在 Amazon SageMaker 内部使用它,才能获得最佳的模型优化性能和体验。

问:什么是底层优化算法?

目前,我们用于优化超参数的算法是对贝叶斯算法的自定义实现。其目的是在优化过程中优化客户指定的目标参数。具体来说,它检查已完成训练作业的目标参数,然后利用这一信息推断下一个训练作业的超参数组合。

问:系统是否针对需要优化的具体超参数提供建议?

不提供。某些超参数对模型性能的影响取决于各种各样的因素,很难肯定地说一个超参数比其他超参数更重要,因此需要对它进行优化。对于 Amazon SageMaker 的内置算法,我们会提示每个超参数是否可进行优化。

问:每个超参数优化作业用时多久?

超参数优化任务的用时长短取决于多种因素,包括数据的大小、底层算法和超参数的值。此外,客户可以选择同时执行的训练任务的数量和训练任务的总数量。所有这些选择都会影响超参数优化作业的用时。 

问:能否像优化模型一样既快速又准确地同时优化多个目标?

目前不提供。目前,您必须指定一个目标参数来优化或更改您的算法代码,以生成一个新指标(该指标是两个或更多有用指标之间的加强平均值),并在优化过程中对该目标指标进行优化。

问:自动模型优化是如何收费的?

超参数优化任务本身不收费。您需要按照模型训练定价为超参数优化作业启动的训练作业付费。

问:什么是强化学习?

强化学习是一项机器学习技术,可帮助代理运用从其自己的行为和经验中得到的反馈,通过反复试验在交互式环境中学习。

问:我是否可以在 Amazon SageMaker 中训练强化学习模型?

可以,除了监督学习和无监督学习训练模型之外,您还可以在 Amazon SageMaker 中训练强化学习模型。

问:强化学习与监督学习有何不同?

虽然监督学习与强化学习均使用输入和输出之间的映射,但强化学习使用延迟反馈,它对奖励信号进行了化化,以确保通过一系列操作实现长期目标,而不像监督学习那样,提供给代理的反馈是一组用于执行任务的正确操作。

问:何时应该使用强化学习?

监督学习技术的目标是根据训练数据中的模式找到正确的答案,无监督学习技术的目标是发现数据点之间的相同之处和不同之处。相比之下,强化学习技术的目标是学习如何实现预期结果,即使不清楚如何实现该结果。因此,RL 更适合实现智能应用,其中代理可以自主决策;如机器人、无人驾驶车辆、暖通空调、工业控制等等。

问:可以使用哪些类型的环境来训练强化学习模型?

Amazon SageMaker RL 支持许多不同的环境来训练强化学习模型。您可以使用 AWS 服务(如 AWS RoboMaker)、开源环境或自定义环境(使用 Open AI Gym 接口开发),或者使用商业模拟环境(如 MATLAB 和 Simulink)。

问:我是否需要编写自己的 RL 代理算法来训练强化学习模型?

不需要,Amazon SageMaker RL 包含 RL 工具包(如 Coach 和 Ray RLLib),这些工具包提供 RL 代理算法的实现,如 DQN、PPO、A3C 等等。

问:我能否自带 RL 库和算法实现并在 Amazon SaGeMeer-RL 中运行?

是的,您可以将您自己的 RL 库和算法实现引入 Docker 容器并在 Amazon SageMaker RL 中运行这些实现。

问:我是否可以使用 Amazon SageMaker RL 执行分布式部署?

可以。您甚至可以选择一个异构集群,其中训练可以在 GPU 实例上运行,而模拟可以在多个 CPU 实例上运行。

问:什么是 Amazon SageMaker Neo?

Amazon SageMaker Neo 是一项新功能,使机器学习模型训练一次即可在云和边缘站点中的任何位置运行。SageMaker Neo 自动优化使用常用的深度学习框架构建的模型,这些框架可用于部署在多个硬件平台上。优化的模型运行速度最多可提高两倍,并且所消耗的资源不到典型机器学习模型的十分之一。

问:如何开始使用 Amazon SageMaker Neo?

要开始使用 Amazon SageMaker Neo,您需要登录 Amazon SageMaker 控制台,选择受训模型,根据示例编译模型,然后将生成的模型部署到目标硬件平台上。

问:Amazon SageMaker Neo 有哪些主要组件?

Amazon SageMaker Neo 包含两个主要组件:编译器和运行库。首先,Neo 编译器读取由不同框架导出的模型。​然后,它将框架特定的功能和操作转换为与框架无关的中间表示形式。接着,它会执行一系列优化。​最后,编译器会为优化的操作生成二进制代码,并将其写入一个共享对象库。此外,编译器还会将模型定义和参数保存到各个文件中。在执行期间,Neo 运行时会加载编译器生成的构件(模型定义、参数和共享对象库)以运行模型。

问:我是否需要使用 SageMaker 训练我的模型,才能使用 NEO 转换模型?

不需要。您可以在其他位置训练模型,然后使用 Neo 为 SageMaker ML 实例或 Greengrass 支持的设备优化这些模型。 

问:SageMaker Neo 支持哪些模型?

目前,SageMaker Neo 支持最常用的深度学习模型(此类模型支持计算机视觉应用程序),以及当今 Amazon SageMaker 中最常用的决策树模型。Neo 优化 MXNet 和 TensorFlow 中训练的 AlexNet、ResNet、VGG、Inception、MobileNet、SqueezeNet 和 DenseNet 模型的性能,以及 XGBoost 中训练的分类和随机砍伐森林 (Random Cut Forest) 模型的性能。

问:SageMaker Neo 支持哪些平台?

目前,Neo 支持 SageMaker ML.C5、ML.C4、ML.M5、ML.M4、ML.P3 和 ML.P2 实例;AWS DeepLens、Raspberry Pi 及 Jetson TX1 和 TX2 设备;基于 Intel® Atom 和 Intel® Xeon CPU、ARM Cortex-A CPU、Nvidia Maxwell 及 Pascal GPU 的 Greengrass 设备。

问:是否需要使用目标硬件上支持的框架的特定版本?

不需要。开发人员可以在不依赖框架的情况下使用 SigMeMeNeo Neo 容器运行模型。

问:使用 SageMaker Neo 的费用是多少?

您需要为使用 SageMaker ML 实例付费,该实例使用 SageMaker Neo 运行推理。

问:SageMaker Neo 在哪些 AWS 区域提供?

目前,SageMaker Neo 已在以下 AWS 区域推出:弗吉尼亚北部、俄勒冈、俄亥俄、爱尔兰、亚太地区(东京)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(首尔)、亚太地区(孟买)、亚太地区(香港)、加拿大(中部)、欧洲(法兰克福)、欧洲(伦敦)、欧洲(巴黎)、欧洲(斯德哥尔摩)、南美洲(圣保罗)和美国西部(加利福尼亚北部)。

问:什么是 Amazon SageMaker 模型跟踪?

利用 Amazon SageMaker 模型跟踪功能,您可以从成千上万的 Amazon SageMaker 模型训练任务中快速查找最相关的模型训练运行并进行评估。SageMaker Search 通过 Amazon SageMaker 的 AWS 管理控制台和 AWS 开发工具包 API 提供。

问:我如何组织和跟踪我的模型训练运行?

借助模型跟踪功能,您可以根据您选择的任何训练任务属性搜索和组织模型训练运行,这些属性包括训练任务创建时间、训练数据集 URI、超参数值或几乎任何训练任务元数据。使用标签来对模型训练任务进行标记是一种灵活的方法,可将相关的训练任务组织和划分在一起。通过搜索标签,您可以快速找到与特定业务项目、研究实验室或数据科学团队相关联的模型训练运行,从而帮助您对模型训练运行进行有意义的分类和编目。

问:我如何使用模型跟踪功能创建训练运行排行榜?

模型训练作业会在 AWS 管理控制台上以表格的格式显示给您,类似于排行榜。这包括所有以排序列显示的超参数和模型训练指标。您可以单击列标题,为您选择的客观性能指标进行排行榜排名。您还可以根据训练损失和验证准确性等性能指标快速对模型训练运行进行比较和排名,从而使用用于选择要部署到生产环境中的“获胜”模型的排行榜。

问:我如何跟踪模型或终端节点沿袭?

在 Amazon SageMaker 的 AWS 管理控制台上,导航到“Endpoints (终端节点)”,并从所有已部署的终端节点列表中选择终端节点。然后,在所选终端节点页面上,向下滚动到“Endpoint Configuration Settings (终端节点配置设置)”以查看已在该终端节点上部署的所有模型版本。就在每个模型版本的旁边,您会看到一个链接,直接指向最先创建了该模型的模型训练作业。

模型部署

问:我能否访问运行 Amazon SageMaker 的基础设施?

不能。Amazon SageMaker 会代您运行计算基础设施,从而执行运行状况检查、应用安全补丁和执行其他例行维护。您也可以通过在自己托管的环境中训练自定义推理代码来部署模型项目。

问:如何在投产后扩展 Amazon SageMaker 模型的大小和性能?

Amazon SageMaker 托管使用 Application Auto Scaling 自动扩展到您的应用程序所需的性能。此外,您可以通过修改终端节点配置,在不停机的情况下手动更改实例的数量和类型。

问:如何监控我的 Amazon SageMaker 生产环境?

Amazon SageMaker 将性能指标发到 Amazon CloudWatch Metrics,这样您可以跟踪指标、设置警报,并自动响应生产流量变化。此外,Amazon SageMaker 还会将日志写入 Amazon Cloudwatch Logs,让您能够监控生产环境并对其进行故障排除。

问:哪种模型能够通过 Amazon SageMaker 进行托管?

Amazon SageMaker 可托管符合推理 Docker 镜像的记录规格的任何模型,其中包括利用 Amazon SageMaker 模型项目和推理代码创建的模型。

问:Amazon SageMaker 支持的并发实时 API 请求的数量是多少?

Amazon SageMaker 旨在将每秒完成的事务量扩展到一个更大值。精确的数量因部署的模型以及部署模型的目标实例的数量和类型而有所不同。

问:什么是批量转换

通过批量转换,您可以针对大批量或小批量数据运行预测。无需将数据集拆分为多个区块,也无需管理实时终端节点。使用一个简单的 API,您可以轻松快速地请求对大量数据记录进行预测并转换数据。

了解更多有关 Amazon SageMaker 定价的信息

访问定价页面
准备好开始使用了吗?
注册
还有更多问题?
联系我们