六个机器学习开发人员应该了解的Amazon SageMaker功能

六个机器学习开发人员应该了解的Amazon SageMaker功能

开发人员和数据科学家应该熟悉这六个旨在简化机器学习过程的SageMaker工具。发现他们为你的模型提供的东西。

AWS的旗舰AI产品Amazon SageMaker自称是简化机器学习的一种方式,该服务的早期版本可能使某些IT团队感到渴望。

自2017年以来,开发人员,分析师和数据科学家一直在使用SageMaker在云中构建,训练和部署机器学习模型。托管服务使用户可以卸载与机器学习相关的日常任务,但是初始版本缺少一些通常与软件开发相关的工具,包括围绕调试,管理和协作的功能。

在2019年末,AWS通过SageMaker Studio,Experiments,Debugger等扩展了Amazon SageMaker功能时,解决了其中一些缺陷。本文深入研究了这些工具的工作方式,以及它们如何改进将机器学习模型从开发应用于生产所需的步骤。

SageMaker Studio添加了适用于AI的IDE

该集成开发环境(IDE)简化了与构建和部署机器学习模型有关的多个方面。最值得注意的是,它消除了为Jupyter notebook选择和管理基础架构的需求。

SageMaker notebook提供了使用单点登录(SSO)进行身份验证的选项,因此团队可以使用现有的公司登录凭据。开发人员可以与组织中的其他人共享他们的工作,包括notebook代码及其运行环境。SageMaker Studio的GUI也是用户友好的,并提供了这些功能和其他功能的合并视图。

六个机器学习开发人员应该了解的Amazon SageMaker功能

SageMaker Experiments针对测试和开发工作

开发人员需要在任何交付周期中测试和遍历代码版本。对于机器学习模型,此过程特别具有挑战性,因为迭代依赖于特定的算法版本以及数据,模型和参数。

使用SageMaker Experiments,开发人员可以将特定模型的训练任务的不同元素分组并保存。例如,他们可以跟踪不同的模型,参数和数据集,以便可以对数据进行版本控制,复制和比较。

创建实验后,可以使用实验自己的Python SDK自动执行该实验。开发人员可以以编程方式创建迭代并开始一系列试运行,可以在SageMaker Studio中将其可视化。鉴于构建和评估培训模型的迭代性质,实验可以为开发人员节省大量时间。

SageMaker Autopilot推荐并自动进行模型构建

该AWS机器学习工具使实验更进一步。它根据SageMaker选择和配置的变量自动配置和运行迭代。例如,自动驾驶仪可以从一系列算法,数据预处理任务,实例和参数中进行选择,以找到针对机器学习用例的最准确模型。

通常,数据科学家需要手动配置这些方案并显式运行不同的迭代。使用自动驾驶仪,开发人员可以按列格式输入数据,指定要预测的列,然后自动驾驶仪运行迭代以找到最佳模型。需要注意的一个限制是,Autopilot当前仅支持列数据。

SageMaker调试器检测到潜在的错误

借助此机器学习功能,开发人员可以更好地对机器学习模型进行故障排除。调试器存储模型的快照,也称为张量。这些快照捕获了大量模型变量,例如参数,梯度和其他相关信息。

借助Debugger,开发人员可以使用这些快照来配置警报,以帮助他们了解模型何时何地失败。例如,可以将规则配置为检测输出太大还是太小。

调试器还附带了一组预配置的规则。如果检测到异常,则会通知开发人员,并可以通过访问SageMaker Studio的界面并分析其机器学习模型的特定快照来解决问题。IT团队可以使用此信息来隔离在特定时间点和特定条件下发生的问题。开发人员还可以对由检测到的异常触发的CloudWatch事件做出反应,并实施自动修复任务。

使用SageMaker Debugger功能时,开发人员必须通过添加对Debugger SDK的调用来检测其代码,这些调用定期将张量数据发送到Debugger。尽管步骤相对简单,但IT专业人员确实需要熟悉SDK,并在使用Debugger之前更新其项目中的源代码。

SageMaker Model Monitor跟踪预测质量

一旦在生产环境中部署了模型,就必须在应用程序级别跟踪任何潜在的异常情况。Model Monitor是一种托管的AWS机器学习工具,可收集生产环境中的输入和输出,并将它们与模型训练数据进行比较。这可以帮助应用程序所有者发现由生产数据引起的偏差,这些偏差可能会对预测准确性产生负面影响。

开发人员将Model Monitor配置为捕获请求和响应,然后将数据存储在Amazon S3中。然后,他们创建一个基准,该基准将用于将生产结果与培训环境进行比较。

优良作法是从在模型训练过程中使用的数据集创建基线,并已确认可以提供准确的结果。创建基准后,开发人员可以配置和调度作业以监视端点。这些作业使用来自生产环境中部署的模型的请求和响应,并且作业针对基准数据集运行这些方案。

如果生产请求不再产生在培训期间观察到的预期结果,则可以在监视作业的输出中检测到预期结果。可以使用SageMaker Studio GUI或以SDK编程方式访问这些结果。结果还可以作为CloudWatch指标发布,可以在自定义仪表板中可视化,也可以根据需要触发CloudWatch警报。

SageMaker预处理数据进行分析

数据科学家可以使用此AWS机器学习工具清理数据,包括转换和计算字段,调整列数,消除噪声或标准化格式,然后再将其输入培训或评估工作中。在评估数据之后,SageMaker Processing还可以转换数据。

开发人员必须使用SageMaker Processing SDK来配置和运行处理作业。处理任务(可能会占用大量资源)是在托管环境中执行的,可以通过SageMaker notebook或在通过AWS的云容器服务提供的Docker容器中执行。

原文链接:

https://searchcloudcomputing.techtarget.com/tip/6-Amazon-SageMaker-capabilities-developers-should-know-about?