构建

构建高度准确的训练数据集

Amazon SageMaker Ground Truth 可帮助客户使用机器学习快速构建高度准确的训练数据集,并将数据标记成本降低多达 70%。成功的机器学习模型的训练方式是,使用经过标记的数据来教会模型如何做出正确的决策。此过程通常需要大量人员花费数月的时间才能完成。SageMaker Ground Truth 提供了一种创新的解决方案,可以降低成本和复杂性,同时通过将机器学习与称为主动学习的人工标记流程相结合来提高数据标记的准确性。 

了解更多

用于编写模型的托管笔记本

Amazon SageMaker 提供完全托管的实例,其运行的是 Jupyter 笔记本,用于进行数据探索和预处理训练。这些笔记本已预先加载了适用于常见深度学习平台的 CUDA 和 cuDNN 驱动程序、Anaconda 软件包以及适用于 TensorFlow、Apache MXNet 、PyTorch 和 Chainer 的库。 

只需单击一下鼠标,即可访问完全托管的机器学习笔记本环境 (使用的是常见 Jupyter 开源笔记本格式)。

通过这些笔记本工作区,您可以使用几乎所有常见库、框架和接口来探索和呈现数据并在可重复使用的工作流中记录自己的发现。在笔记本中,您可以添加之前存储在 Amazon S3 中的数据。此外,您还可以使用 AWS Glue 轻松将数据从 Amazon RDS、Amazon DynamoDB 和 Amazon Redshift 移动到 S3 以进行分析。您可以写入或导入笔记本或使用已预先加载到 Amazon SageMaker 中的预构建笔记本之一。预构建笔记本适用于所有内置的机器学习算法。此外,还提供了笔记本模板来帮助您开始使用常用 ML 应用程序和更高级的 Amazon SageMaker 功能。 

内置的高性能算法

Amazon SageMaker 提供的机器学习算法不仅性能高、可扩展,还针对速度、规模和准确性进行了优化。这些算法可以对 PB 级数据集执行训练,所提供的性能是其他实施方案的 10 倍之高。您可以从监督算法中选择,其中,正确答案会在训练时显示,您也可以在模型出错的位置指示模型。 Amazon SageMaker 提供了一些监督算法(如 XGBoost 和线性/逻辑回归或分类),以解决建议和时间序列预测问题。 Amazon SageMaker 还提供了对非监督式学习(即算法必须自行发现正确答案)的支持,例如 K-Means 集群分析和主成分分析 (PCA),从而解决基于购买行为识别客户群等问题。

Amazon SageMaker 自动为您提供 种最常见的机器学习算法。您只需指定数据源,便可立即开始针对数据细分运行 K 均值集群分析、针对建议运行因式分解机、时间序列预测、线性回归或主成分分析。 

BlazingText Word2Vec BlazingText 采用 Word2Vec 算法进行扩展,并加快来自大量文档的词嵌入的生成速度。
DeepAR 通过使用递归神经网络从很多相关的时间序列中学习模式来生成准确预测结果的一种算法。
因式分解机 一种模型,可通过极少数据预估各个特征之间的所有交互。
梯度提升树 (XGBoost) XGBoost 是“极值梯度提升”的简称,一种经过优化的分布式梯度提升库。
图像分类 (ResNet) 一种常见神经网络,用于开发图像分类系统。
IP 见解 一种检测恶意用户或学习 IP 地址使用模式的算法。
K-Means 集群 一种最简单的 ML 算法。用于在未标记数据中查找群体。
K-Nearest Neighbor (k-NN) 一种基于索引的算法,用于解决基于分类和回归的问题。

潜在狄利克雷分配 (LDA)

一种模型,非常适用于自动发现一组文本文件中的主要话题。
线性学习者(分类) 线性分类使用对象的特性来识别该对象所归属的对应组。
线性学习者(回归) 线性回归用于预测两个变量之间的线性关系。
神经话题建模 (NTM) 一种基于神经网络的方法,用于通过文本和图像数据集学习话题。
Object2Vec 一种神经嵌入算法,用于计算最近的邻居和可视化自然集群。
对象检测 检测图像中的多个物体,对其进行分类并放置边界框。
主成分分析 (PCA) 该算法常用于数据预处理,可将一个表格或矩阵的多个特征整合为较少的典型特征。
随机森林砍伐 用于异常检测的自主机器学习算法。
语义分段
通过向图像的各个像素分配标签来对图像进行分区以识别感兴趣的地方。
Seqence2Sequence 一种通用的文本编解码器,常用于机器翻译、文本摘要等。

这些算法已经过优化,因此它们的性能比传统实施方案所能达到的速度快 10 倍之多。我们实现此目标的一种做法是实施这些算法,这样它们便无需返回查看已遇到的数据。过去,算法通常需要多次返回查看数据集以参考之前的数据。这对于小型数据集还可以接受,但会影响大型数据集的性能,从而大大减慢训练速度。借助单程工程设计,您能够以较低成本高效地对 PB 级数据集进行训练。 

广泛的框架支持

Amazon SageMaker 会自动配置和优化 TensorFlow、Apache MXNet、Chainer、PyTorch、Scikit-learn 和 SparkML,因此您无需进行任何设置便可开始使用这些框架,而且我们将在未来的几个月内添加其他大型框架。当然,您始终可以将所需的任何框架添加到 Amazon SageMaker,方法是将其构建到您存储在 Amazon EC2 Container Registry 中的 Docker 容器。

使用 Amazon SageMaker RL 的强化学习支持

除传统的监督和自主学习外,Amazon SageMaker 还支持强化学习。SageMaker 现在具有内置、完全托管的强化学习算法,包括学术文献中的一些最新和最佳表现的算法。SageMaker 在多个框架(包括 TensorFlow 和 MXNet)以及为强化学习从头设计的更新的框架(如 Intel Coach 和 Ray RL)中都支持 RL。支持多个 2D 和 3D 物理特性模拟环境,包括基于开源 OpenGym 接口的环境。此外,SageMaker RL 将允许您使用 Amazon Sumerian 和 Amazon RoboMaker 中内置的虚拟 3D 环境进行训练。为帮助您入门,SageMaker 还提供了一系列示例笔记本和教程。 

大多数机器学习都属于一种称为监督学习的类别。此方法需要大量标记的训练数据,但您构建的模型能够做出复杂的决策。它是针对计算机视觉、语音和语言模型的常见方法。另一种常见但较少使用的机器学习类别称为自主学习。对于这种学习类别,算法将试图识别未标记数据中的隐藏结构。训练自主模型的标准低得多,但代价的是模型做出的决策不太复杂。自主模型通常用于识别数据中的异常,如温度的异常波动或网络入侵的迹象。

强化学习 (RL) 已成为机器学习的又一种补充方法。RL 采用了一种与众不同的方法来训练模型。它几乎不需要标记的训练数据,但它仍然可以达到(在某些情况下甚至超过)人类的复杂程度。关于 RL,的最好的一点是它可以学习对一系列复杂的行为进行建模以达到预期的结果,而不是简单地做出单个决定。目前 RL 最常见的应用之一是训练自动驾驶车辆以导航到目的地。

了解 RL 如何工作的一个简单方法是设想一个简单的视频游戏,其中有一个角色需要穿越迷宫、收集旗帜和避开敌人。该游戏不是让人去玩,而是让算法控制角色并玩数百万个游戏。要开始玩游戏,只需知道角色可以向上、向下、向左和向右移动,并且得分将得到奖励。然后,该算法将学习如何玩以获得最高分。它将学习增加分数的行为(例如拿起旗帜或利用分数相乘),并最大限度地减少惩罚(例如被敌人击中)。 随着时间的推移,RL 算法可以学习掌控游戏的高级策略,例如首先清除迷宫的下半部分,如何以及何时使用攻击力提升以及如何利用敌人的行为。

RL 可以成为传统的机器学习技术的增力器。例如,RL 与监督学习已结合起来,以在医疗保健中打造个性化治疗方案,优化制造供应链,提高风力涡轮机性能,驾驶自动驾驶汽车,安全地操作机器人,甚至是为学生创建个性化课程和学习计划。

在本地执行测试和构建原型

Amazon SageMaker 中的开源 Apache MXNetTensorflow Docker 容器在 Github 上可用。您可以将这些容器下载到本地环境,使用 Amazon SageMaker Python 软件开发工具包测试脚本,然后再部署到 Amazon SageMaker 训练或托管环境。当您已完成本地测试并准备好部署到生产训练和托管环境时,只需更改一行代码即可。

训练

一键式训练

当您准备好在 Amazon SageMaker 中训练时,只需指定数据在 Amazon S3 中的位置,注明所需的 Amazon SageMaker ML 实例类型和数量,然后在控制台中单击一下即可开始。Amazon SageMaker 设置分布式计算集群、执行训练、将结果输出至 Amazon S3,然后在完成后销毁集群。 

训练模型可通过使用 Amazon SageMaker 轻松创建;您只需指定数据在 S3 中的位置,然后 Amazon SageMaker 将采用您的算法并在训练集群(在集群本身的软件定义的网络中被隔离,按照您的需求进行了配置)上运行该算法。您只需选择实例类型(包括非常适合快速高效的训练的 P3 GPU 实例),Amazon SageMaker 便会在 Auto Scaling 组中创建您的集群;将 EBS 卷附加到每个节点;设置数据管道;并使用 TensorFlow、MXNet、Chainer 或 PyTorch 脚本、Amazon 自己的算法或者由您自己的容器提供的算法开始训练。完成后,它会将结果输出至 S3 并自动销毁集群。

为轻松进行大规模训练,我们优化了 S3 数据流的训练方式。通过 API,您可以指定要将所有数据发送到集群中的每个节点还是让 Amazon SageMaker 根据您的算法需求管理各个节点的数据分布。

通过结合使用内置算法,Amazon SageMaker 所能提供的训练扩展性可大幅减少运行训练的时间和成本。 

Automatic Model Tuning

Amazon SageMaker 可以通过调整数千个不同的算法参数组合来校正您的模型,从而达到模型能够实现的最精准预测。 

当您要校正模型以提高准确度时,您需要执行两项重要操作:修改您为模型提供的数据输入(如采用一个数的对数),以及调整算法的参数。这些参数称为超参数,很难找到正确的值。一般来说,您可以先随便选择一个值,然后在您开始注意到变化产生的影响后进行调整,一直重复便可。这一周期可能很长,具体取决于您的模型拥有多少超参数。

Amazon SageMaker 在训练期间提供 Automatic Model Tuning 选项,从而简化了这一周期。Amazon SageMaker 将使用机器学习技术优化您的机器学习模型。工作原理如下:学习不同类型的数据对模型有何影响,然后在多个模型副本中应用该知识以快速找出最佳的可能结果。作为开发人员或数据科学家,这意味着您确实只需关注自己希望对模型中数据所做的调整,因此训练期间所需关注的问题便大大减少了。

启动 Automatic Model Tuning 时,您只需通过 API 指定训练任务的数量即可,Amazon SageMaker 会替您完成剩下的工作。 

训练一次,即可在任何位置运行

Amazon SageMaker Neo 使机器学习模型训练一次即可在云和边缘站点中的任何位置运行。通常,优化机器学习模型以在多个平台上运行是极其困难的,因为开发人员需要针对每个平台的特定硬件和软件配置手动调整模型。Neo 通过以下方式消除了这方面所需的时间和工作:自动优化 TensorFlow、MXNet、PyTorch、ONNX 和 XGBoost 模型以立即部署在 ARM、Intel 和 Nvidia 处理器上。Neo 很快将实现对 Cadence、Qualcomm 和 Xilinx 硬件的支持。您可以从 SageMaker 控制台访问 SageMaker Neo,只需单击几下,就可以生成针对云实例或边缘设备进行了优化的模型。优化过的模型运行速度最多可快两倍,并且所消耗的资源少于传统模型的存储空间的百分之一。 

了解更多

训练任务搜索

利用 Amazon SageMaker Search,您能够从可能成千上万的 Amazon SageMaker 模型训练任务中查找最相关的模型训练运行并加以评估。SageMaker Search 目前通过 Amazon SageMaker 的 AWS 管理控制台和 AWS 开发工具包 API 提供了试用版。

开发机器学习模型需要不断的实验,尝试新的学习算法和优化超参数,同时观察对模型性能和准确性的影响。这种迭代式练习经常会导致爆发出数百个模型训练实验和模型版本,从而减慢了获胜模型的收敛和发现。此外,信息爆炸使得彻底追溯模型版本的谱系非常困难,例如最初用来创建该模型的数据集、算法和参数的独特组合。

利用 Amazon SageMaker Search,您可以在 Amazon SageMaker 上快速轻松地组织、跟踪和评估您的模型训练作业。您可以对以下内容进行搜索:所使用的学习算法中的所有决定性属性、超参数设置以及用于均匀化您已在模型训练任务上添加的标签的训练数据集。您还可以根据训练损失和验证准确性等性能指标快速对训练运行进行比较和排名,从而创建用于选择要部署到生产环境中的“获胜”模型的排行榜。最后,利用 Amazon SageMaker Search,您可以快速追溯在实时环境中部署的模型的完整谱系,一直到训练或验证模型时使用的数据集。

部署

一键式部署

您可以跨多个可用区在自动扩展的 Amazon ML 实例上一键部署模型以实现高冗余。您只需指定实例类型以及所需的最小和最大数量,Amazon SageMaker 将负责其余工作。它将启动实例、部署您的模型并针对您的应用程序设置安全的 HTTPS 终端节点。您的应用程序只需为该终端节点提供 API 调用,即可实现低延迟/高吞吐量推理。借助此架构,您可以在几分钟内将新模型集成到应用程序,这是因为模型变化不再要求应用程序代码随之变化。 

自动 A/B 测试

Amazon SageMaker 还可以为您管理模型 A/B 测试。您可以配置终端节点以在多达五个不同模型上传输流量,然后设置您希望每个模型处理的推断调用比例。您可以随时更改所有设置、灵活地做实验,然后确定现实中哪个模型能够生成最精准的结果。 

完全托管与自动扩展

Amazon SageMaker 能够代您管理生产计算基础设施以执行运行状况检查、应用安全补丁并进行其他例行维护,以上操作均需通过内置的 Amazon CloudWatch 监控和日志记录功能实现。 

批量转换

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

 

推理管道

Amazon SageMaker 使您可以部署推理管道,从而能传递原始输入数据并对实时和批量推理请求执行预处理、预测和后处理。推理管道可以由可在 Amazon SageMaker 上使用的任何机器学习框架、内置算法或自定义容器组成。您可以使用 Amazon SageMaker 的 SparkML 和 Scikit-learn 框架容器中提供的一套功能转换器构建功能数据处理和功能工程管道,并将这些功能转换器作为推理管道的一部分部署,以重用数据处理代码并更轻松地管理机器学习流程。

 

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

访问定价页面
准备好开始使用了吗?
注册
还有更多问题?
联系我们
页面内容
构建 训练 部署