当前位置: 首页 > 编程日记 > 正文

亚马逊机器学习服务:深入研究AWS SageMaker

作者 | Manish Manalath

译者 | Shawn

编辑 | Carol

出品 | AI科技大本营(ID: rgznai100)


机器学习是一个从数据中发现模式的强大概念。但是,如果您尝试过从零开始构建机器模型,那么您一定知道设计一个可扩展的机器学习工作流是多大的挑战。

使用传统方法构建机器学习模型,标记、训练和微调参数非常耗时。除此之外,训练模型是一个繁琐的过程,需要相当大的计算能力。正因如此,用复杂的模型构建可扩展的工作流,比如强化学习模型,是数据科学家面临的一大挑战。

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 是机器学习工程师工具箱里的一个强大工具。

原文链接:

https://hackernoon.com/amazon-machine-learning-a-deep-dive-into-aws-sagemaker-9mx3zs8

(*本文为AI科技大本营翻译文章,转载请微信联系 1092722531)

精彩推荐

2020年,由 CSDN 主办的「Python开发者日」活动(Python Day)正式启动。我们将与 PyCon 官方授权的 PyCon中国社区合作,联手顶尖企业、行业与技术专家,通过精彩的技术干货内容、有趣多元化的活动等诸多体验,共同为中国 IT 技术开发者搭建专业、开放的技术交流与成长的家园。未来,我们和中国万千开发者一起分享技术、践行技术,铸就中国原创技术力量。

【Python Day——北京站】现已正式启动,「新春早鸟票」火热开抢!2020年,我们还将在全国多个城市举办巡回活动,敬请期待!

活动咨询,可扫描下方二维码加入官方交流群~

CSDN「Python Day」咨询群 ????

来~一起聊聊Python

如果群满100人,无法自动进入,可添加会议小助手微信:婷婷,151 0101 4297(电话同微信)


推荐阅读

  • 伯克利新无监督强化学习方法:减少混沌所产生的突现行为

  • 机器推理文本+视觉,跨模态预训练新进展

  • 中国搜索 20 年:易守难攻、刚需不减!

  • 悲痛!临近年关,一位 IT 创业者自杀,曾卖房给员工发工资

  • 年终没有奖

  • 以太坊 2.0 前途光明!

  • 你点的每个“在看”,我都认真当成了AI

相关文章:

Java Timer 定时器的使用

一、延时执行首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行。 代码如下:package test;import java.util.Timer;public class TimeTaskTest { public static void main(Str…

Redis源码解析——前言

今天开启Redis源码的阅读之旅。对于一些没有接触过开源代码分析的同学来说,可能这是一件很麻烦的事。但是我总觉得做一件事,不管有多大多难,我们首先要在战略上蔑视它,但是要在战术上重视它。除了一些高大上的技术,我们…

asp.net客户端脚本验证小技巧

通用的客户端脚本验证 Code//验证客户端function checkclient() { var list document.all; for(var i0 ;i<list.length; i) { var h list[i].hint; if(h ! null && h ! "") { if(list[i].isdrop"…

5个可以帮助你提高工作效率的新AI工具

作者 | Kyrylo Lyzanets译者 | 火火酱编辑 | Carol出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09; 毫无意义的新闻、故事和活动会占用你每天多少的工作时间&#xff1f;假如你是一名需要高绩效的高管或专业人士&#xff0c;如果在工作中可以不分心&#xff0c;那你…

Centos6.5更换163源 epel源

想必大家都遇到过&#xff0c;安装新的centos系统&#xff0c;使用yum去安装软件的时候&#xff0c;要么找不到&#xff0c;要么慢的让人发疯。网上其实办法很多&#xff0c;直接更换163源就ok&#xff0c;但是基本所有的文章都是直接wget下163的源&#xff0c;但是不知道为什么…

图模型+Bert香不香?完全基于注意力机制的图表征学习模型Graph-Bert

作者 | Jiawei Zhang、Haopeng Zhang、Congying Xia、Li Sun译者 | 凯隐编辑 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导读】本文提出了一种全新的图神经网络 Graph-Bert&#xff0c;仅仅基于 Attention 机制而不依赖任何类卷积或聚合操作…

闭关纪要17.Google app engine的简单应用

在上面用了十一篇博客的文章详细的介绍了&#xff0c;Step1账户登录系统之后&#xff0c;从现在开始&#xff0c;继续写闭关纪要&#xff0c;因为Step1账户登录系统也是闭关工作的一部分&#xff0c;因此保留序号&#xff0c;这篇纪要在上次的闭关纪要5.WML,UTF-8,BOM,签名及其…

Redis源码解析——内存管理

在《Redis源码解析——源码工程结构》一文中&#xff0c;我们介绍了Redis可能会根据环境或用户指定选择不同的内存管理库。在linux系统中&#xff0c;Redis默认使用jemalloc库。当然用户可以指定使用tcmalloc或者libc的原生内存管理库。本文介绍的内容是在这些库的基础上&#…

poj_2479 动态规划

题目大意 给定一列数&#xff0c;从中选择两个不相交的连续子段&#xff0c;求这两个连续子段和的最大值。 题目分析 典型的M子段和的问题&#xff0c;使用动态规划的方法来解决。 f[i][j] 表示将A[1...i] 划分为j个不相交连续子串&#xff0c;且A[j]属于第i个子串&#xff0c;…

Redis源码解析——字典结构

C语言中有标准的字典库&#xff0c;我们可以通过pair(key,value)的形式存储数据。但是C语言中没有这种的库&#xff0c;于是就需要自己实现。本文讲解的就是Redis源码中的字典库的实现方法。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 一般情况下&#xf…

十步,教你把Python运行速度提升 30%

作者 | Martin Heinz译者 | 陆离编辑 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导读】一直以来&#xff0c;诟病 Python语言的人经常说&#xff0c;他们不想使用的一个原因是 Python 的速度太慢了。不管使用哪一种编程语言&#xff0c;程序…

字符串转换成NSDate类型的 为nil解决方法

方法一 通过下列函数来解决 但是得到的日期会改变 修改方法fix- (NSDate *)timeForString:(NSString *)string {NSMutableString *timeString [[NSMutableString alloc] initWithString:string]; [timeString setString:[timeString stringByReplacingOccurrence…

Redis源码解析——字典基本操作

有了《Redis源码解析——字典结构》的基础&#xff0c;我们便可以对dict的实现进行展开分析。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 创建字典 一般字典创建时&#xff0c;都是没有数据的&#xff0c;但是字典类型需要确定&#xff0c;所以我们看到R…

[转]控制 Cookie 的作用范围

默认时&#xff0c;网站的所有 Cookies 都一起被存储在客户端&#xff0c;并且所有 Cookies 连同网站的任何请求一起被发送到服务器。换句话说&#xff0c;网站中的每个页面都能够为网站获取所有的 Cookies。但是&#xff0c;你能够通过两个方式来设置 Cookies 的作用范围&…

强化学习70年演进:从精确动态规划到基于模型

作者 | Nathan Lambert译者 | 泓礼编辑 | 夕颜出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09;【导读】这是一份帮你了解强化学习算法本质的资源&#xff0c;无需浏览大量文档&#xff0c;没有一条公式&#xff0c;非常适合学生和研究人员阅读。作为强化学习研究人员…

Android ActionBar相关

1.Android 5.0 删除ActionBar下面的阴影 于Android 5.0假设你发现的ActionBar下面出现了阴影&#xff0c;例如&#xff0c;下面的设置&#xff0c;以消除阴影&#xff1a; getActionBar().setElevation(0); Android 5.0之前能够用以下代码消除阴影&#xff1a; <item name&q…

Redis源码解析——字典遍历

之前两篇博文讲解了字典库的基础&#xff0c;本文将讲解其遍历操作。之所以将遍历操作独立成一文来讲&#xff0c;是因为其中的内容和之前的基本操作还是有区别的。特别是高级遍历一节介绍的内容&#xff0c;充满了精妙设计的算法智慧。&#xff08;转载请指明出于breaksoftwar…

开发者在行动!中国防疫开源项目登上GitHub TOP榜

整理 | 唐小引出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;【导读】用开发者们的方式支援这场没有硝烟的战争&#xff01;截止北京时间 1 月 28 日下午 15:47&#xff0c;全国确诊新型冠状病毒的数字已经到达了 4586 例&#xff0c;疑似高达 6973 例&#xff0c…

像童话一样学习OSPF原理

可以把整个网络&#xff08;一个自治系统AS&#xff09;看成一个王国&#xff0c;这个王国可以分成几个 区(area)&#xff0c;现在我们来看看区域内的某一个人(你所在的机器root)是怎样得到一张 世界地图(routing table)的。   首先&#xff0c;你得跟你周围的人&#xff08;…

队列——PowerShell版

继续读啊哈磊《啊哈&#xff01;算法》感悟系列——队列 地铁售票处排队&#xff0c;先来的人先到队首先买完先走&#xff0c;后来的人排在队尾等候后买完后走。 想买票&#xff0c;必须排在队尾&#xff1b;买完票&#xff0c;只能从队首离开。 这种先进先出&#xff08;First…

Redis源码解析——双向链表

相对于之前介绍的字典和SDS字符串库&#xff0c;Redis的双向链表库则是非常标准的、教科书般简单的库。但是作为Redis源码的一部分&#xff0c;我决定还是要讲一讲的。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 基本结构 首先我们看链表元素的结构。因为…

12月第三周安全要闻回顾:浏览器安全不容忽视,SSL弱点影响网站安全

本周&#xff08;081215至081221&#xff09;安全方面的新闻众多&#xff0c;主要集中在***与威胁趋势方面。浏览器安全方向波澜起伏&#xff0c;微软推出了针对上周公开的IE7新漏洞的紧急安全补丁&#xff0c;但目前互联网上针对该漏洞的大规模***仍在继续&#xff0c;******的…

GPT2文本生成有问题?这里有些潜在解决思路

作者 | Leo Gao译者 | 凯隐编辑 | 夕颜出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09; 【导读】在过去的一年中&#xff0c;人们对文本生成模型的兴趣重新燃起&#xff0c;这在很大程度上要归功于GPT2&#xff0c;它主要展示了使用更大模型、更大数据和更大计算量的…

HTML5学习之二:HTML5中的表单2

&#xff08;本内容部分节选自《HTML 5从入门到精通》) 对表单的验证 ———————————————————————————————————————————————————————— •1、required属性 required属性主要目的是确保表单控件中的值已填写。在提交时&…

Redis源码解析——有序整数集

有序整数集是Redis源码中一个以大尾&#xff08;big endian&#xff09;形式存储&#xff0c;由小到大排列且无重复的整型集合。它存储的类型包括16位、32位和64位的整型数。在介绍这个库的实现前&#xff0c;我们还需要先熟悉下大小尾内存存储机制。&#xff08;转载请指明出于…

GitHub标星1.2w+,Chrome最天秀的插件都在这里

作者 | Rocky0429来源 | Python空间&#xff08;ID: Devtogether&#xff09;大家好&#xff0c;我是 Rocky0429&#xff0c;一个沉迷 Chrome 不能自拔的蒟蒻...作为一个在远古时代用过什么 IE、360、猎豹等浏览器的资深器哥&#xff0c;当我第一次了解 Chrome 的时候&#xff…

基础篇 第四节 项目进度计划编辑 之 任务关联性设定

1.任务关联性的类型 ◎完成 —— 开始 FS ◎开始 —— 开始 SS ◎开始 —— 完成 SF 完成 —— 完成 FF 2.设定任务关联性 三种方法&#xff1a; ◎在条形图中直接拖拽 ◎在“前置任务”列中编辑 ◎在“任务信息”中的“前置任务”选项卡中编辑 3.设定“延隔时间” 延隔时间小于…

开坑,写点Polymer 1.0 教程第3篇——组件注册与创建

之前一篇算是带大家大致领略了一下Polymer的风采。这篇我们稍微深入一丢丢&#xff0c;讲下组件的注册和创建。 创建自定义组件的几种方式 这里我们使用Polymer函数注册了一个自定义组件"my-element" // register an element Polymer({is: my-element,created: funct…

Redis源码解析——Zipmap

本文介绍的是Redis中Zipmap的原理和实现。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 基础结构 Zipmap是为了实现保存Pair(String,String)数据的结构&#xff0c;该结构包含一个头信息、一系列字符串对&#xff08;之后把一个“字符串对”称为一个“元素…

IIS7入门之旅:(3)CGI application和FastCGI application的区别

前言&#xff1a; 一如既往地&#xff0c;IIS支持通过提供pluggable module来提供对第3方script的支持,例如php等。在IIS7中&#xff0c;对于CGI的支持有了一个新的变化&#xff0c;就是同时提供了2种CGI支持模块&#xff0c;分别为&#xff1a;CGIModule (cgi.dll)和FastCGIMo…