亚马逊机器学习服务:深入研究AWS SageMaker
机器学习是一个从数据中发现模式的强大概念。但是,如果您尝试过从零开始构建机器模型,那么您一定知道设计一个可扩展的机器学习工作流是多大的挑战。
使用传统方法构建机器学习模型,标记、训练和微调参数非常耗时。除此之外,训练模型是一个繁琐的过程,需要相当大的计算能力。正因如此,用复杂的模型构建可扩展的工作流,比如强化学习模型,是数据科学家面临的一大挑战。
Amazon试图用AWS SageMaker来解决这些挑战。
Sagemaker是Amazon推出的一项全受管服务,它提供了一组丰富的工具,帮助您轻松地构建、训练、测试和部署模型。Sagemaker可以让您设计一个完整的机器学习工作流,以最小的工作量将智能集成到您的应用程序中。
Sagemaker是一项全受管服务。这意味着没有设置,没有安装,也不需要手动扩展。Sagemaker提供了一个完整的机器学习套件,其中包括IDE,您可以使用它与您的团队进行实时协作。
让我们来看看SageMaker 的各个组件,了解它们如何协同工作,以帮助团队为客户打造和交付更好的解决方案。
SageMakerGround Truth
准备正确的数据集是构建机器学习模型的第一个挑战。这些数据集通常是从不同的来源获得的,可能有着不同的格式。由于算法不能处理原始数据,因此在数据准备阶段经常需要进行手动标记。除了训练模型,预处理数据是工程师花费时间最多的地方。
Sagemaker Ground Truth使用预先训练的机器学习模型自动标记原始数据,大大减少了创建标记数据集所需的时间和精力。随着时间的推移,通过学习手动创建的标签,GroundTruth也逐渐变得更好。
SageMaker Studio
Sagemaker Studio是一个功能丰富的机器学习集成开发环境(IDE)。您可以使用单一的集成接口编写、调试和可视化您的模型。
Sagemaker Studio还提供分步跟踪的功能,您可以使用暂停,重放和克隆步骤。这样,在机器学习工作流中来回移动来分析和迭代单个步骤会很容易。
Sagemaker Studio包含以下同步工作的工具,可以帮助您毫不费力地构建复杂的机器学习架构。
SageMaker AutoPilot
Autopilot是SageMaker中最有用的工具。在设计机器学习模型时,找到正确的算法是另一大挑战。鉴于解决机器学习问题的算法种类繁多,找到最有效的算法往往需要数小时的训练和测试。
Autopilot使用预先训练的机器学习模型来解决这个问题,为您的数据找到正确的算法。通过提供目标列进行预测,Autopilot将探索不同的解决方案,找到最适合您数据集的模型。一旦Autopilot找到了正确的模型,你还可以选择使用自定义的配置来扩展模型。
SageMaker Notebooks
如果您熟悉Jupyter Notebooks, SageMaker Notebooks就是一个可以与他人共享的Jupyter Notebooks。您可以与您的团队协作,使用SageMaker Notebooks实时构建机器学习模型。
Sagemaker Notebooks不受限于初始配置,这意味着您可以使用不同的硬件配置来测试您的机器学习模型。在创建一个新的SageMaker Notebook时,您还可以选择不同的预制模板。
SageMaker Experiments
为了训练模型,您必须在模型中运行数据进行多次迭代,直到获得最好的准确性。这包括尝试不同的算法,微调参数,调整特性等一系列操作。
Sagemaker Experiments可以将每个优化过程作为“实验”存储,并提供可视化界面供您浏览。Sagemaker Experiments 捕获每次迭代的输入参数、配置、结果等,供您浏览和审查它们的性能。
SageMaker Debugger
机器学习模型的准确性只有在训练完成后才能确定。但是训练模型是一个耗时的过程,需要几分钟到几小时不等。如果你不得不改变参数,那么就必须重新训练模型来计算其准确性。
Sagemaker Debugger在训练过程中捕获实时指标。捕获的验证、混淆矩阵和学习梯度等信息,可以帮助您分析整个训练过程,进行优化,以获得更高的准确性,而不用重新训练整个模型。Debugger还会对常见问题发出警告,并提供最佳操作建议。
SageMaker Model Monitor
一旦机器学习模型投入生产,就很难自动监控模型的性能。当模型从用户交互中接收到新的数据时,可能会出现数据偏移,这将改变基值,如均值、方差、平均值等。没有适当的统计分析,很难用传统的方法推断出这些问题。
Sagemaker Model Monitor监视生产中的机器学习模型,并在模型不能按预期那样运行时提醒您。通过配置,Sagemaker Model Monitor可以生成包含常规统计信息和性能指标的报告,并且可以定期存储在S3 bucket中。
SageMaker Neo
像自动驾驶汽车这样的复杂机器学习解决方案是使用一组单独的模型构建的。这些模型必须做出快速、低延迟、高准确的实时预测。这样的模型需要花数年时间来训练、测试和部署。一旦部署后,除非有一个坚实的强化学习架构,否则很难更新edgelocations模型。
这时候SageMaker Neo就可以派上用场了。Neo对模型进行了优化,使其运行速度提高了两倍,而占用的内存不到十分之一,而且在准确性上没有任何损失。
Neo还可以将机器学习模型编译成一个可执行文件,部署到云端或者 Lambda edge上。Neo还支持使用AWSGreengrass对edgelocations(分发节点,是指亚马逊在全球建立的,对源服务器发布的内容进行缓存的节点。终端用户访问时,从最近的节点提供数据)的无线更新。
SageMaker Augmented AI
高度精确的机器学习模型,经过一定程度的人工干预,能更好地保证数据的质量和准确性。Amazon Augmented AI (A2I)使得构建人工审查预测结果的工作流变得容易。
这在处理诸如扫描文档和自然语言文本等低质量数据格式时特别有用。A2I可用于对低可信度预测结果进行人工审查,或持续地对预测进行审核。
AWS Marketplace
AWS Marketplace是一个数字目录,上面提供了数千项由独立软件供应商开发的预配置软件服务。AWSMarketplace提供了从操作系统到数据分析的一系列解决方案。
Aws Marketplace还提供了多种使用 AWS 平台构建、训练和测试的机器学习解决方案。您可以选择Marketplace上可用的现有模型,并将其直接部署到生产环境中。Marketplace解决方案也是可扩展的,在将这些模型部署给客户之前,开发人员能够添加额外的配置层。
总结
如果你是一名机器学习工程师,当你从头开始构建完整的机器学习工作流程时,Sagemaker会帮你大大缩减开销和设置的数量。 Sagemaker 还提供托管现场培训,使用多余的 AWS 现场实例运行您的培训作业。在训练大规模数据集时,这可以帮您节省计算能力方面的成本。
Sagemaker 还能很好地与Tensorflow和 Keras等语言兼容,能够提供一个GPU集群来并行运行计算。毫无疑问,SageMaker 是机器学习工程师工具箱里的一个强大工具。
(*本文为AI科技大本营翻译文章,转载请微信联系 1092722531)
◆
精彩推荐
◆
2020年,由 CSDN 主办的「Python开发者日」活动(Python Day)正式启动。我们将与 PyCon 官方授权的 PyCon中国社区合作,联手顶尖企业、行业与技术专家,通过精彩的技术干货内容、有趣多元化的活动等诸多体验,共同为中国 IT 技术开发者搭建专业、开放的技术交流与成长的家园。未来,我们和中国万千开发者一起分享技术、践行技术,铸就中国原创技术力量。
如果群满100人,无法自动进入,可添加会议小助手微信:婷婷,151 0101 4297(电话同微信)