今天,我们非常高兴地推出 Amazon SageMaker Autopilot,它可以在完全控制和可见的情况下,自动创建最佳分类和回归机器学习模型。
1959 年,Arthur Samuel 将机器学习定义为让计算机能够无需明确编程而进行学习。在实践中,这意味着找到一种算法,可以从现有数据集中提取模式,然后使用这些模式来构建可很好地泛化到新数据的预测模型。从那时起,人们发明了许多机器学习算法,为科学家和工程师提供了充足地选择,帮助他们构建了惊人的应用程序。
但是,丰富的算法也带来了一个难题:应该选择哪种算法? 如何可靠地找出哪一种算法在您的特定业务问题上表现最佳? 此外,机器学习算法通常会列出很长的训练参数(也称为超参数),如果您想从模型中获得所有额外的精度,则需要将其设置为“刚好合适”。更糟糕的是,算法还需要以特定方式(也称为特征工程)准备和转换数据,才能实现最佳学习…并且您需要选择最佳实例类型。
如果您认为这听起来像是大量实验,反复试验,那么您绝对说对了。机器学习绝对是硬科学和烹饪食谱的混合,这使非专家很难迅速获得良好的结果。
如果可以依靠完全托管的服务为您解决该问题会怎样? 调用 API 并完成作业? 进入 Amazon SageMaker Autopilot。
**Amazon SageMaker Neo 简介
**通过使用单个 API 调用或在Amazon SageMaker Studio 中单击几下,SageMaker Autopilot 首先检查您的数据集,并运行大量候选项以找出数据预处理步骤、机器学习算法和超参数的最佳组合。然后,它使用这种组合来训练推断管道,您可以轻松地将其部署在实时终端节点上或进行批处理。与 Amazon SageMaker 一样,所有这些操作都在完全托管的基础设施上进行。
最后但同样重要的一点是,SageMaker Autopilot 还会生成 Python 代码,确切显示数据的预处理方式:您不仅可以了解 SageMaker Autopilot 的工作方式,如果您原因,还可以重新使用该代码进行进一步的手动调整。
迄今为止,SageMaker Autopilot 支持:
表格格式的输入数据,以及自动数据清理和预处理
用于线性回归、二进制分类和多级分类的自动算法选择,
自动超参数优化,
分布式训练,
自动实例和集群大小选择。
我将向您展示这有多简单。
**将 AutoML 与 Amazon SageMaker Autopilot 配合使用
**让我们以这个笔记本示例为起点:它建立一个二进制分类模型,预测客户是接受还是拒绝营销报价。请花几分钟阅读:正如您会看到的,业务问题本身很容易理解,数据集既不大也不复杂。但是,需要几个非直观的预处理步骤,还需要挑选算法及其参数…SageMaker Autopilot 可以解决这一难题!
首先,我获取数据集的副本,快速浏览前几行。
然后,我将其上传到 Amazon Simple Storage Service (S3) 中,无需进行任何预处理。
Python
现在,让我们配置 AutoML 作业:
设置数据集的位置,
选择我希望模型预测的目标属性:在本例中,“y”列显示客户是否接受了报价,
设置训练工件的位置。
Python
就这么简单! 当然,随着您了解有关数据和模型的更多信息,SageMaker Autopilot 的许多选项会派上用场,例如:
设置要训练的问题类型:线性回归、二进制分类或多级分类。如果不确定,SageMaker Autopilot 会通过分析目标属性值自动找出类型。
使用特定指标进行模型评估。
定义完成标准:最长运行时间等
有一件事不需要做,那就是调整训练集群的大小,因为 SageMaker Autopilot 使用基于数据大小和算法的启发式方法。太棒了!
不用进行配置,我可以使用 CreateAutoMl
API 启动该作业。
Python
作业分四个步骤运行(您可以使用DescribeAutoMlJob
API 进行查看)。
将数据集分为训练集和验证集,
分析数据,以便建议应在数据集上试用的管道,
特征工程,将转换应用于数据集和单个特征,
管道选择和超参数调整,选择性能最高的管道以及用于训练算法的最佳超参数。
达到最大候选项数量(或其中一种停止条件)后,作业完成。我可以使用 ListCandidatesForAutoMlJob
API 获取有关所有候选项的详细信息,也可以在 AWS 控制台中查看它们。
Python
目前,我只对最佳试验感兴趣:验证准确率为 91.87%。让我们将其部署到 SageMaker 终端节点,就像部署任何模型一样:
Python
几分钟后,终端节点开始运行,我可以使用它进行预测。SageMaker 正常运行!
现在,我敢打赌,您对模型的构建方式以及其他候选项感到好奇。我将向您展示。
使用 Amazon SageMaker Autopilot 实现完全可见和控制
SageMaker Autopilot 将训练工件存储在 S3 中,包括两个自动生成的笔记本!
Python
第一个包含有关数据集的信息。
第二个包含有关 SageMaker Autopilot 作业的完整详细信息:候选项、数据预处理步骤等。所有代码均可用,您可以更改“旋钮”以进行进一步的实验。
如您所见,您可以完全控制和查看模型的构建方式。
现已推出!
我对 Amazon SageMaker Autopilot 感到非常兴奋,因为它使机器学习比以往任何时候都更加简单易用。无论您是刚开始机器学习,还是经验丰富的从业者,SageMaker Autopilot 都可以帮助您使用以下任一途径更快更好地构建模型:
Amazon SageMaker Studio 中的简单无代码路径
使用 SageMaker Autopilot 开发工具包的简单代码路径,
候选项生成笔记本的深入途径。
现在轮到您了。您可以立即在以下区域使用 SageMaker Autopilot:
美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(加利福尼亚北部)、美国西部(俄勒冈)、
加拿大(中部)、南非(圣保罗)、
欧洲(爱尔兰)、欧洲(伦敦)、欧洲(巴黎)、欧洲(法兰克福)、
中东(巴林)、
亚太地区(孟买)、亚太地区(首尔)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)。
请通过 Amazon SageMaker 的 AWS 平台或您常用的 AWS Support 联系方式向我们发送反馈。
本文转载自 AWS 技术博客。
评论