亚马逊机器学习服务 Amazon SageMaker 又添九项新功能
来源:雷锋网
机器学习是人工智能的重要分支,机器学习从诞生之日起发展到今天已经走过了 20 多年的时间。如今,人工智能和机器学习已经成为新一代信息技术的典型代表,一个好的算法模型的产生,离不开机器学习。
作为机器学习领域的倡导者和领先企业,AWS 曾于 2017 年 11 月推出 Amazon SageMaker 机器学习平台服务。 据了解,Amazon SageMaker 是一项完全托管的服务,可以帮助机器学习开发者和数据科学家快速构建、训练和部署模型。Amazon SageMaker 完全消除了机器学习过程中各个步骤的繁重工作,让开发高质量模型变得更加轻松。
它推出短短三年时间,已经成为机器学习领域最受欢迎的服务之一,使用客户达上万家, 包括 3M、ADP、阿斯利康、Avis、拜耳、Bundesliga、Capital One、Cerner、Chick-fil-A、Convoy、达美乐比萨、富达 投资 、GE 医疗、Georgia-Pacific、赫斯特、iFood、iHeartMedia、摩根大通、Intuit、联想、Lyft、国家橄榄球联盟、Nerdwallet、T-Mobile、汤森路透、Vanguard 等等。尽管如此,AWS 仍会每年新增一些新的功能和工具,不断延展服务的宽度和深度。
在 Gartner 发布的 2020 年云上 AI 开发者服务魔力象限中,AWS 被评为领导者, Amazon SageMaker 是其中不可或缺的一部分。
在 12 月 9 日的 re:Invent 大会上,AWS 人工智能副总裁 Swami Sivasubramanian 发表了机器学习主题演讲,并宣布 AWS 为其机器学习服务 Amazon SageMaker 推出九项新的功能。
这九项新功能可以使开发人员更容易自动化、规模化的构建端到端的机器学习工作流。
以下是 Swami 的演讲内容和新功能介绍,雷锋网进行了不改变原意的整理:
今天的发布汇集了多项强大的新功能,包括更易用的数据预处理、专用的特征存储、自动化工作流、更多的训练数据可见性以减少数据倾斜和更好的预测解释、大型模型的分布式训练速度可最多提升两倍,以及监控边缘设备上的模型。
机器学习日益成为主流,但它仍在快速发展。随着机器学习受到广泛关注,机器学习模型的创建似乎应该很简单,但事实并非如此。为了创建一个模型,开发人员需要先准备数据,而数据准备是重度依赖人工手动工作的。然后,他们将数据可视化以进行数据探索,选择合适的算法和框架,训练模型,调整和优化模型训练参数,部署模型,并监控其性能。这个过程需要不断重复,才能确保模型在一段时间内的表现符合预期。
在过去,只有最熟练的开发人员才能开展机器学习相关的工作。然而,Amazon SageMaker 的出现,改变了这一现状。
AWS 在过去一年已经交付了 50 多项 Amazon SageMaker 的新功能。在此基础上,今天的发布使得开发人员和数据科学家更容易准备、构建、训练、部署和管理机器学习模型。
Amazon SageMaker Data Wrangler 为机器学习数据准备提供了快速、简便的工具
机器学习的数据准备是一个复杂的过程。这种复杂在于:用于训练机器学习模型的数据字段(也称为特征)通常来自不同的来源,并且格式多样。这意味着开发人员必须花费相当多的时间提取和规范这些数据。客户也可能希望将特征组合成复合特征,以向机器学习模型提供更多有用的输入。
例如,客户可能希望创建一个复合特征来描述一组经常消费的客户,结合以前购买的项目、消费金额和购买频率等特征,为他们提供会员奖励。将数据转化为特征的工作称为特征工程,在构建机器学习模型流程中要消耗开发人员大量的时间。Amazon SageMaker Data Wrangler 从根本上简化了数据准备和特征工程的工作。通过 Amazon SageMaker Data Wrangler,客户可以从各种数据存储中选择他们想要的数据,并一键导入。
Amazon SageMaker Data Wrangler 包含超过 300 个内置的数据转换器,可以帮助客户在无需编写任何代码的情况下,对特征进行规范化、转换和组合。客户可以通过在 Amazon SageMaker Studio(首个用于机器学习的端到端集成开发环境)中查看这些转换,快速预览和检查这些转换是否符合预期。特征设计出来之后,Amazon SageMaker Data Wrangler 会把它们保存在 Amazon SageMaker Feature Store 中,以供重复使用。
Amazon SageMaker Feature Store 存储和管理机器学习特征
Amazon SageMaker Feature Store 提供了一个新的存储库,可以轻松地存储、更新、检索和共享用于训练和推理的机器学习特征。当前,客户可以将他们的特征保存到 Amazon Simple Storage Service(Amazon S3)。如果只是简简单单把一组特征用于一个模型,这种做法是可行的。但实际情况是,大多数特征并不是只用于一个模型,而是被多个开发人员和数据科学家重复用于多个模型中。当创建了新的特征时,开发人员也希望能够重复使用这些特征。这样就导致需要管理多个 Amazon S3 对象,并将变得越来越难以管理。
开发人员和数据科学家试图使用电子表格、笔记和电子邮件来解决这个问题。他们甚至要尝试开发一个应用程序来跟踪管理特征,但这个工作量很大,而且容易出错。此外,开发人员和数据科学家不仅需要使用这些相同的特征和所有可用的数据来训练多个模型,这个过程可能耗时长达几个小时,而且还需要在推理时使用这些特征,这需要在几毫秒内返回预测结果,并且往往只使用相关特征的一个子集。例如,开发人员可能希望创建一个预测播放列表中下一首最佳歌曲的模型。要做到这一点,开发人员要在数千首歌曲上训练模型,然后在推理过程中向模型提供最后播放的三首歌曲,以预测下一首歌曲。训练和推理是非常不同的使用场景。
在训练过程中,模型可以离线、批量地访问特征,对于推理,模型需要实时的访问特征子集。由于机器学习模型使用一样的特征源,并且需要保持数据的一致性,然而这两种不同的访问模式,使得开发者不容易保持特征的一致性和更新的及时性。Amazon SageMaker Feature Store 解决了这一问题,它提供了一个专门构建的特征库,供开发人员访问和共享特征,使开发人员和数据科学家团队容易协调特征的命名、组织、查找和共享。Amazon SageMaker Feature Store 集成在 Amazon SageMaker Studio 中,它可以为推理提供单毫秒级的低延迟访问。Amazon SageMaker Feature Store 使得开发人员可以简单方便地组织和更新用于训练的大批量特征,以及用于推理的小批量特征子集。这样,就为机器学习模型提供了一致的特征视图,降低生成模型的难度,并提供高精度的预测。
Amazon SageMaker Pipelines 实现工作流管理和自动化
Amazon SageMaker Pipelines 是第一个专门为机器学习构建的、易于使用的 CI/CD(持续集成和持续交付)服务。客户在特征工程中可以发现,机器学习包含的多个步骤都可以受益于编排和自动化。这与传统的编程并无二致。在传统编程中,客户有 CI/CD 等工具帮助他们更快地开发和部署应用程序。然而,目前的机器学习中很少使用 CI/CD 工具,因为要么没有这样的工具,要么难以设置、配置和管理。
借助 Amazon SageMaker Pipelines,开发人员可以定义端到端机器学习工作流的每一步。这些工作流包括数据加载步骤、用 Amazon SageMaker Data Wrangler 做转换、在 Amazon SageMaker Feature Store 保存特征、训练配置及算法设置、调试步骤,以及优化步骤。通过 Amazon SageMaker Pipelines,开发人员可以轻松地从 Amazon SageMaker Studio 使用相同的设置重复运行端到端工作流,,每次都能获得完全相同的模型,或者,他们可以定期使用新数据重新运行工作流,更新模型。每次运行工作流时,Amazon SageMaker Pipelines 都会记录 Amazon SageMaker Experiments(Amazon SageMaker 的一项功能,用于组织和跟踪机器学习实验和模型版本)中的每个步骤。这有助于开发人员可视化并进行机器学习模型的迭代、训练参数和结果比较。
借助 Amazon SageMaker Pipelines,工作流可以在团队之间共享和重复使用,既可以重新创建模型,也可以作为一个通过新的特征、算法或优化改进模型的起点。
使用 Amazon SageMaker Clarify 进行偏差检测和模型解释
Amazon SageMaker Clarify 在整个机器学习工作流中提供偏差检测,使开发人员能够在其模型中实现更大的公平性和更高的透明度。一旦开发人员为训练和推理准备了数据,就需要尽量确保数据没有统计偏差,并且模型预测是透明的,以便可以解释模型特征是如何预测的。
如今,开发人员有时会尝试使用开源工具检测数据中的统计偏差,但这些工具需要大量的人工编程的工作,而且经常容易出错。借助 Amazon SageMaker Clarify,开发人员现在可以更轻松地检测整个机器学习工作流中的统计偏差,并为其机器学习模型所做的预测提供解释。Amazon SageMaker Clarify 已集成到 Amazon SageMaker Data Wrangler,它运行了一系列基于特征数据的算法,用以识别数据准备过程中的偏差,并且清晰描述可能的偏差来源及其严重程度。这样,开发人员就可以采取措施来减小偏差。
Amazon SageMaker Clarify 还与 Amazon SageMaker Experiments 集成,使开发人员更容易地检查训练好的模型是否存在统计偏差。它还详细说明了输入到模型中的每个特征是如何影响预测的。最后,Amazon SageMaker Clarify 与 Amazon SageMaker Model Monitor(Amazon SageMaker 的一项功能,可持续监控正式使用中的机器学习模型的质量)集成,一旦模型特征的重要性发生偏移,导致模型预测质量发生改变,它就会提醒开发人员。
用 Deep Profiling forAmazon SageMaker Debugger 做模型训练剖析
Deep Profiling for Amazon SageMaker Debugger 能够自动监控系统资源利用率,为训练瓶颈提供告警,以方便开发者更快地训练模型。当前,开发人员没有一个标准的监控系统利用率的方法(例如 GPU、CPU、网络吞吐量和内存 I/O)以识别和排除训练作业中的瓶颈。因此,开发人员无法以最快的速度、最高的成本效益来训练模型。
Amazon SageMaker Debugger 通过最新的 Deep Profiling 功能解决了这一问题,该功能为开发人员提供了在 Amazon SageMaker Studio 中可视化剖析和监控系统资源利用率的能力。这让开发人员更容易寻根问底,减少训练机器学习模型的时间和成本。借助这些新功能,Amazon SageMaker Debugger 扩大了监控系统资源利用率的范围,在 Amazon SageMaker Studio 中或通过 AWS CloudWatch 发送训练期间的问题告警,将使用情况关联到训练作业中的不同阶段,或者训练期间的特定时间点(如训练作业开始后第 28 分钟)。
Amazon SageMaker Debugger 还可以根据告警触发行动(例如,当检测到 GPU 使用情况不正常时,即停止训练作业)。Amazon SageMaker Debugger Deep Profiling 可以用于 PyTorch、Apache MXNet 和 TensorFlow 的训练任务,自动收集必要的系统和训练指标,无需在训练脚本中更改任何代码。这允许开发人员在 Amazon SageMaker Studio 中可视化其训练期间的系统资源使用情况。
用 Distributed Training on Amazon SageMaker 缩短训练时间
Distributed Training on Amazon SageMaker 使得训练大型复杂深度学习模型的速度比当前的方法快两倍。当前,高级的机器学习使用场景,例如智能助手的自然语言处理、自动驾驶车辆的对象检测和分类,以及大规模内容审核的图像分类,需要越来越大的数据集和更多的 GPU ( 图形处理单元 ) 内存进行训练。然而,其中一些模型太大,无法容纳在单个 GPU 提供的内存中。客户可以尝试在多个 GPU 间拆分模型,但寻找拆分模型的最佳方式和调整训练代码往往需要数周的繁琐实验。
为了克服这些挑战,Distributed Training on Amazon SageMaker 提供了两种分布式训练功能,使开发人员能够在不增加成本的情况下,将大型模型的训练速度提高两倍。Distributed Training 与 Amazon SageMake 的数据并行引擎一起,通过在多个 GPU 间自动分割数据,将训练作业从一个 GPU 扩展到数百个或数千个 GPU,将训练时间缩短多达 40%。
之所以能够缩短训练时间,是因为 Amazon SageMaker 的数据并行引擎使用了专门的算法来管理 GPU,充分利用 AWS 基础设施,实现最佳同步,具有近乎线性的扩展效率。Distributed Training 与 Amazon SageMaker 模型并行引擎一起,可以自动剖析和识别分割模型的最佳方式,在多个 GPU 上高效分割具有数十亿参数的大型复杂模型。它们通过使用图分区算法来完成这样工作,优化了平衡计算,最大限度地减少 GPU 之间的通信,从而最少化代码重构,减少 GPU 内存限制造成的错误。
使用 Amazon SageMaker Edge Manager 管理边缘设备模型
Amazon SageMaker Edge Manager 可以帮助开发人员优化、保护、监控和维护部署在边缘设备集群上的机器学习模型。目前,客户使用 Amazon SageMaker Neo 为边缘设备优化模型,这使得模型的运行速度可以提高到多达两倍,且内存占用率不到十分之一,准确性也没有损失。然而,在边缘设备上部署后,客户仍然需要管理和监控模型,以确保它们仍然以高精度运行。
Amazon SageMaker Edge Manager 可以优化模型,使其在目标设备上运行得更快,并为边缘设备管理模型,以便客户可以在边缘设备集群中准备、运行、监控和更新机器学习模型。客户可以使用 Amazon SageMaker Edge Manager 对其模型进行加密签名,从边缘设备上传预测数据到 Amazon SageMaker 以进行监控和分析,并在 Amazon SageMaker 控制台中查看报表,来跟踪和可视化模型的运行状况。Amazon SageMaker Edge Manager 扩展了以前只能在云端使用的功能,它可以从边缘设备中采样数据,将其发送到 Amazon SageMaker Model Monitor 进行分析,当模型的准确性随着时间的推移而下降时,重新训练模型以便开发人员不断提高模型的质量。
通过 Amazon SageMaker JumpStart 开启机器学习之旅
Amazon SageMaker JumpStart 为开发人员提供了一个易于使用、可搜索的界面,用于查找同类最佳解决方案、算法和 notebook 示例。当前,缺乏机器学习经验的客户很难开始机器学习部署,而高级的开发人员发现很难将机器学习应用到所有应用场景。通过 Amazon SageMaker JumpStart,客户现在可以快速找到针对其机器学习场景的相关信息。新接触机器学习的开发人员可以从多个完整的端到端机器学习解决方案中进行选择(例如欺诈检测、客户流失预测或时序预测),并且可以直接部署到 Amazon SageMaker Studio 环境中。有经验的用户则可以从一百多个机器学习模型中选择,快速开始模型构建和训练。
Swami 表示:" 成千上万的开发人员和数据科学家已经使用我们业界领先的机器学习服务 Amazon SageMaker,消除了他们在构建、训练和部署定制化机器学习模型时的障碍。拥有 Amazon SageMaker 这样一个广泛采用的服务,最大的好处就是受益于很多客户的建议,为我们的下一套产品的交付提供了动力。"
今天,我们宣布为 Amazon SageMaker 提供一套工具,使开发人员更容易构建端到端机器学习流程,准备、构建、训练、解释、检查、监控、调试和运行定制化机器学习模型,提供更高的可视性、可解释性和大规模的自动化。
面对如此众多新发布,AWS 的 Amazon SageMaker 使用客户是如何评价的?
3M
3M 公司在全球 70 个国家运营,并在 200 个国家开展销售业务,公司创造的技术和产品,正在推动着每一家公司的发展,改善每一个家庭的日常生活。
"3M 的成功源于我们具有企业家精神的研究人员和我们对科学的持续关注。我们推进产品科学化的一种方式是在 AWS 上使用机器学习技术。"3M 企业系统研究实验室技术总监 David Frazee 说," 利用机器学习,3M 正在改进砂纸这样久经考验的产品,并推动其它一些领域包括医疗保健在内的创新。随着我们计划将机器学习扩展到 3M 的更多领域,我们的数据和模型快速增长,每年翻倍。
我们对 Amazon SageMaker 的新功能充满热情,因为它们将帮助我们扩大规模。Amazon SageMaker Data Wrangler 使得为模型训练来准备数据变得更容易,Amazon SageMaker Feature Store 使得我们不需要重复创建相同的模型特征。最后,Amazon SageMaker Pipelines 可以帮助我们将数据准备、模型构建和模型部署,变成自动化的端到端工作流,加速模型上生产的时间。我们的研究人员期待着在 3M 公司利用这些工具,提高科学创新速度。"
德勤
德勤正在帮助全球各地的组织转型。德勤不断演进其工作方式和看待市场挑战的方式,不断为客户和社区提供可衡量、可持续的成果。
德勤 AI 生态系统和平台负责人 Frank Farrall 表示:"Amazon SageMaker Data Wrangler 提供了丰富的数据转换工具,满足了我们数据准备的需求,缩短了新产品上市的时间。反过来,我们的客户也受益于我们规模化部署的速度,使我们能够在几天内、而不是几个月内,提供可衡量、可持续的结果,满足客户需求。
联想
是全球最大的个人电脑制造商。联想设计和制造的设备包括记事本电脑、平板电脑、智能 手机 和各种智能物联网设备。
" 在联想,我们不仅仅是一家硬件供应商,还致力于成为客户值得信赖的合作伙伴,改变客户使用设备的体验,实现客户的业务目标。联想 Device Intelligence 就是我们使用 Amazon SageMaker 来增强机器学习能力的一个很好的例证。" 联想个人电脑和智能设备部门云与软件副总裁 Igor Bergman 说。" 通过联想 Device Intelligence,IT 管理员可以主动诊断个人电脑问题,提前预测潜在的系统故障,减少宕机时间,提高员工的工作效率。结合 Amazon SageMaker Neo,我们已经实质性的提高了设备预测模型的效果,从而促使我们在未来几周内进一步采用 Amazon SageMaker Edge Manager。Amazon SageMaker Edge Manager 将有助于消除模型部署后进行优化、监控和持续改进所需的人工工作。
基于此,预计我们的模型将比其它同类机器学习平台运行得更快,消耗的内存更少。随着我们将人工智能扩展到联想整个服务组合中的新应用,我们将继续采用高性能的机器学习管道,在云端和数百万边缘设备上灵活扩展。这正是我们选择 Amazon SageMaker 平台的原因。凭借其丰富的从边缘到云端和 CI/CD 工作流的能力,我们可以有效地将我们的机器学习模型带入任何设备工作流,从而大大提高生产力。"