亚马逊AWS官方博客

Amazon SageMaker 现已推出 DeepAR 算法,用于实现更精确的时间序列预测

今天,我们推出了 Amazon SageMaker 的最新内置算法 Amazon SageMaker DeepAR。DeepAR 是一种适用于时间序列预测的监督学习算法,该算法使用递归神经网络 (RNN) 生成点预测和概率预测。我们很高兴能为开发人员提供这种可扩展的高精度预测算法,协助 Amazon 制定任务关键型决策。正如其他 Amazon SageMaker 内置算法一样,DeepAR 算法同样无需建立和维护基础设施进行训练和推理即可使用。 预测无处不在 预测是跨众多行业应用机器学习的切入点。无论是通过更好的产品需求预测优化供应链,通过预测 Web 服务器流量更有效地分配计算资源,还是通过为医院配置人员以满足患者需要进而挽救生命,几乎进行精确预测投资的所有领域都会很快得到回报。 在 Amazon,我们利用预测协助制定各个应用领域的业务决策。其中一些应用领域包括预测我们订单履行中心的产品和劳动力需求 (尤其是在“会员日”、“黑色星期五”和“网络星期一”这类重要日期),或者确保我们可以灵活扩展所有 AWS 客户的 AWS 计算和存储容量。Amazon 的科学家们开发了诸如 DeepAR 这样的算法,以高度准确地解决 Amazon 同等规模的这类实际商业应用的问题。 DeepAR 算法的亮点 与自回归移动平均模型 (ARIMA) 或指数平滑法 (ES) (许多开源和商用软件包中都采用这两种技术进行预测) 等传统预测技术相比,DeepAR 预测算法可以提供更高的预测精度。而且,DeepAR 算法还支持其他功能和场景,特别适合实际应用。 冷启动预测 当我们想要为一个历史数据很少或无任何历史数据的时间序列生成预测时,会出现冷启动情况。这种情况在实践中常有发生,比如在引入新产品或推出新的 AWS 区域服务时。ARIMA 或 ES 等传统方法完全依赖于单个时间序列的历史数据,因此在冷启动情况下通常不太准确。我们以服装类商品 (例如运动鞋) 预测为例。 基于神经网络的算法 (例如 DeepAR) 可以根据其他类型运动鞋首次发布时的销售模式,学习新款运动鞋销售的典型行为。 通过学习训练数据中多个相关时间序列的关系,DeepAR 可以提供比现有算法更精确的预测。 概率预测 […]

Read More

在 Amazon EMR 中构建由 Spark 支持的 Amazon SageMaker Notebook

在 2017 年 AWS re:Invent 上介绍的 Amazon SageMaker 可以为数据科学和机器学习工作流程提供完全托管服务。Amazon SageMaker 的其中一个重要组成部分是功能强大的 Jupyter Notebook 接口,该接口可用来构建模型。通过将 Notebook 实例连接到 Amazon EMR 上运行的 Apache Spark 集群,可以增强 Amazon SageMaker 的功能。Amazon EMR 是一个用于处理大量数据的托管框架。通过将二者结合,可以基于大量数据构建模型。 Spark 是一个可以快速处理大数据的开源集群计算框架,并且包含适用于机器学习工作负载的 MLlib。为了方便在 Amazon SageMaker Notebook 与 Spark EMR 集群之间建立连接,需要使用 Livy。Livy 是一个开源 REST 接口,无需 Spark 客户端便可从任何位置与 Spark 集群交互。 本博文将向您介绍如何运行 Spark EMR 集群,如何配置必要的安全组以便在 Amazon SageMaker 与 EMR 之间进行通信,以及如何打开 Amazon […]

Read More

如何利用 AWS Lambda 和 Tensorflow 部署深度学习模型

深度学习已经彻底变革了我们处理和加工真实数据的方式。深度学习的应用程序有多种类型,包括用于整理用户照片存档、推荐书籍、检测欺诈行为以及感知自动驾驶车辆周边环境的应用程序。 在这篇文章中,我们将向您逐步演示如何通过 AWS Lambda 使用自定义的训练模型,从而大规模利用简化的无服务器计算方法。在此过程中,我们将介绍一些核心 AWS 服务,您可以使用这些服务以无服务器的方式运行推理。 我们还将了解图像分类:现在已有多种表现非常出色的开源模型可供使用。通过图像分类,我们可以使用深度学习中两种最常用的网络类型:卷积神经网络和全连接神经网络 (也称为 Vanilla 神经网络)。 我们将向您演示在 AWS 中的什么位置放置训练模型,以及以何种方式打包您的代码,以便 AWS Lambda 通过推理命令执行这些代码。 在这篇博客文章中,我们将讨论以下 AWS 服务:AWS Lambda、Amazon Simple Storage Service (S3)、AWS CloudFormation、Amazon CloudWatch 和 AWS Identity and Access Management (IAM)。使用的语言和深度学习框架包括 Python 和 TensorFlow。此处介绍的流程也适用于任何其他深度学习框架,例如 MXNet、Caffe、PyTorch、CNTK 及其他框架。 整体架构 AWS 架构 从流程的角度而言,深度学习系统的开发和部署与开发和部署传统解决方案应该没有不同。 下图描述了一种可能的开发生命周期: 如您从图中可见,通常的软件开发流程经过多个阶段,从开发环境中的概念成形和建模,直到生产环境中的最终模型部署。在大部分情况下,开发阶段会有多次快速迭代,需要不断对环境进行更改。通常,这会影响在软件/模型开发期间所用资源的性质和质量。对于敏捷开发而言,能够快速构建/重建/停用环境至关重要。所构建软件的快速改变随之而来的应该是基础设施调整。敏捷开发和加速创新的先决条件之一是能够通过代码管理基础设施 (称为 IaC:基础设施即代码)。 软件设计管理、构建和部署的自动化是持续集成和持续交付 (CI/CD) 的一部分。虽然本文不会深入介绍精心编排的 CI/CD 管道的细节,不过,对于任何开发运营团队来说,如果希望构建可重复的流程,以实现开发/部署敏捷性和流程自动化,就应该记住这一点。 AWS 在社区中推出了众多服务和实践,可简化开发任务。一个环境,只要使用自动化代码构建,那么只需数分钟就可以轻松地采用和复制,例如,可以根据开发环境所用的模板构建暂存和生产系统。 此外,AWS […]

Read More

首批 AWS 机器学习能力合作伙伴简介

在由云驱动的所有创新中,人工智能 (AI) 和机器学习 (ML) 领域或许是最令人兴奋的。比如,IDC 预测到 2020 年,AI 系统的市场收益将达到 460 亿美元。这一数字远高于 2017 年的 125 亿美元,并以 54.4% 的复合年增长率 (CAGR) 增长。另外,根据 AngelList 的统计,专注于人工智能的初创公司超过 3000 家。 AI/ML 正被应用到每个能想象到的使用案例中,包括确保我们免遭欺诈,帮助我们更轻松地发现娱乐内容,改善客户体验,以及预测工业设备何时需要维护。或许最重要的是,AI/ML 现在正被应用到医疗保健行业。在该行业中,计算机视觉算法将自动进行影像学诊断,而使用临床数据可以更好地预测患者健康状况,针对各个患者的治疗情况量身定制精准医疗方案,并且 ML 很有可能会发现新的救命药。 尽管人们对 AI 的增长预期持积极态度,但仍有一些人怀疑它是否能够真正超越研究范畴并带来真正的业务价值。但是,在当今 AWS 的基础之上,许多客户已在大规模应用 AI/ML 并解决众多领域中存在的各种问题。 诸如 Arterys 之类的 AWS 客户正在应用计算机视觉进行医学影像诊断。其他客户正在通过以下方式使用 AI/ML:通过 Stitch Fix 获得时尚推荐,通过 Expedia 制定旅行计划,通过 Redfin 进行不动产评估,通过 Zendesk 为客户提供支持,通过 9fin 进行财务文档分析,以及通过 Signal Media 获得商业智能。我们还看到,公司正在使用基于深度学习 […]

Read More

现已推出:新的数字培训,可帮助您了解 AWS 上的机器学习和人工智能

AWS 培训和认证最近发布了免费的数字培训课程,这将使您更容易地培养云技能并了解机器学习 (ML) 和人工智能 (AI)。这包括深度学习简介和 Amazon SageMaker 简介。 您可以在 aws.training 免费且无限制地访问由 AWS 专家打造的超过 100 个全新数字培训课程。很容易访问我们的 ML 和 AI 数字培训。仅需在我们的查找培训页面上选择“人工智能”类别进行浏览即可。您还可以使用关键字筛选器在培训中搜索特定服务。 推荐的培训 刚入门或想了解新服务?查看以下数字培训课程: AWS 机器学习服务概述(5 分钟) 本课程介绍了 Amazon 机器学习和人工智能工具,它们能够跨框架和基础架构、机器学习平台和 API 驱动服务实现功能。 机器学习简介(10 分钟) 本课程向您介绍机器学习的概念和数据扮演的角色。我们将会探讨使用案例,讨论构建智能应用程序的创新方法,并述评可用于机器学习的 AWS 框架和服务。 人工智能简介(10 分钟) 在本课程中,我们将讨论 AI 是什么以及它为何重要,并简要了解机器学习和深度学习 (DL,它是 AI 的子集),并描述 Amazon 在其产品中使用 AI 的方式。 深度学习简介(10 分钟) 在本课程中,我们将讨论可用于 DL 的 AWS 服务,并演练一个通过 DL 进行创新的 AWS […]

Read More

AWS Direct Connect 最新动态 – 2017 年末新增了十个地点

2018 年快乐!我期盼重返日常工作,与我们的团队通力合作,了解他们即将发布的内容,然后写博文向您传达相关信息。目前的博文还是关于 2017 年末发布的一些内容和公告。 今天,首先为大家介绍一下最近刚刚开始提供 AWS Direct Connect 服务的城市。世界各地的 AWS 客户都使用 Direct Connect 创建从本地到 AWS 的专用网络连接,以便降低网络成本、提高吞吐量,并打造更加一致的网络体验。 12 月份,我们的 Direct Connect 服务列表新增了十个地点,这十个地点全都提供 1 Gbps 和 10 Gbps 连接,以及合作伙伴为速度低于 1 Gbps 的地区提供的选项。以下是新增的地点,以及数据中心和相关的 AWS 地区: 印度班加罗尔 – NetMagic DC2 – 亚太地区(孟买)。 南非开普敦 – Teraco Ct1 – 欧盟(爱尔兰)。 南非约翰内斯堡 – Teraco JB1 – 欧盟(爱尔兰)。 英国伦敦 – Telehouse North Two […]

Read More

新一代负载均衡器服务NLB概述

在去年9月份,AWS发布了托管的网络负载均衡器服务Network Load Balancer,NLB是继Classic Load Balancer,Application Load Balancer之后,AWS发布的第三款负载均衡器服务,本文将着重介绍NLB的工作原理,特点以及在使用配置上的注意事项,帮助读者更好地在自己的业务场景中运用NLB服务。 NLB能够在极低的延迟下,支持每秒数千万的请求,在API上兼容现有的ALB应用负载均衡器,下面是NLB的一些主要功能和特点: 静态IP地址 每个NLB在每个可用区中提供单个静态IP地址,用户端发往该IP地址的流量会被负载分发到同可用区内的多个后端实例上,用户可以为NLB在每个可用区中分配固定的弹性IP,如此设计使得NLB能够被纳入企业现有的防火墙安全策略中,并且能够避免DNS缓存带来的问题。 同可用区内分发流量 客户端的流量到达NLB在某个可用区提供的IP后,NLB会向相同可用区内的后端实例分发流量,通过避免跨可用区的流量分发能够获得更好的延迟性能。 源地址保留 NLB在转发流量的同时,并不会修改数据包的源IP地址,后端实例无需支持诸如X-Forward-For,proxy协议,就能够直接从数据包的包头获取客户端的IP,从而很方便地分析客户端的地理位置等信息。 长连接支持 NLB内置的容错机制能够保证长连接应用的稳定运行,从而更好的贴合诸如IoT,游戏,消息应用等业务场景。 故障切换 利用Route 53的健康检查,NLB支持在一个区域内及跨区域和本地站点实现故障切换。 下面我们来看一下如何在AWS控制台创建NLB,可以看到,客户在创建负载均衡器页面中,目前可以有三种负载均衡器可选,我们选择NLB。 NLB和其他AWS提供的负载均衡器一样,支持创建面向internet及internal两种场景,除此之外,用户需要配置NLB监听的端口及所处的子网,如果创建面向internet的NLB,需要注意将NLB放到公有子网中。 考虑NLB本身的冗余,建议至少选择2个可用区,同时用户可以根据需要为NLB在每个可用区绑定弹性IP。 后续的配置与ALB的配置十分类似,用户需要配置目标组,目标组监听的协议、端口以及健康检查等相关配置,目前无论ALB还是NLB都支持将EC2实例及某个IP作为目标,前者实现VPC内部的负载均衡,后者通过IP可以为本地站点的实例提供负载均衡。 这里选择实例类型的目标类型,之后需要选择注册的实例。 需要注意的是,为了能够接受外部客户端的访问以及健康检查流量,建议后端实例的安全组做如下设置,如果用户觉得健康检查源地址设置VPC CIDR过于宽泛的话,建议可以设置为NLB的私有IP,NLB的私有IP可以在ENI界面通过NLB名字搜索到相关NLB的ENI来获取。 除了安全组设置上的考虑,对于面向internet的NLB来说,后端实例收到的流量的源IP地址是处于公网的客户端IP,对于接收internet流量的这部分后端实例,建议放到公有子网中,即默认路由指向IGW,如果用户不希望后端实例能够被外界直接访问,可以在将后端实例放入公有子网的同时,选择不分配公网IP,从而保证外界只能通过NLB来访问到后端实例。 选择完后端实例后,就可以完成NLB的创建。 NLB对外提供的是一个域名,客户端通过访问该域名将流量发给NLB,用户可以通过设置DNS CNAME记录来方便客户端通过自定义的域名来访问用户的后端系统。 以上介绍了面向internet的NLB的配置方法,对于面向internal的NLB,用户可以做类似的配置,这里不做过多的介绍,只是如果NLB后端对接的是容器业务,并且网络模式是bridge模式,需要做额外的考虑。 这里先给出结论再解释相关的原理,对于两个需要通过NLB互访的内部容器应用,建议将这两个应用的容器调度到不同的EC2节点上,对于AWS ECS,用户可以通过为两个应用创建不同的ECS Cluster或者在一个ECS Cluster内通过亲和性调度算法实现。 为什么需要做上述的设置呢?下面解释下如果将这两个应用调度到相同的ECS Cluster上会出现什么问题。 在上面这个场景中,App1和App2使用容器部署在EC2中,App1需要通过NLB来访问App2,如果网络模式使用bridge,App1的流量在发出所在EC2实例的时候,源IP地址会从App1的容器IP转换成EC2的IP,如果NLB通过负载分发算法将流量发往处于相同EC2上的App2容器,NLB会将目的IP转换成相同的EC2的IP地址,流量到达EC2后,EC2会将目的IP转换成App2的容器IP,问题在于App2回包的时候,当流量到达EC2 OS层,OS通过查询路由表发现目的地址是自己,会在OS层面直接处理流量,而不会将流量返回给NLB,导致App1访问App2失败。 这个问题是由于NLB的工作原理导致的,NLB在接收到流量后,保持源IP地址不变,通过负载均衡算法选择后端实例,并将目的IP转换成后端实例的IP地址进行流量分发,我们需要在设计上避免上述问题,将App1和App2的容器调度到不同的EC2实例上,从而在根本上避免App1访问App2的流量的发起和终止在同一台EC2实例上。 以上我们的介绍了NLB的主要特点,配置方法及常见的配置注意事项,读者如果感兴趣的话,可以通过下面的链接来进一步学习NLB的相关内容: https://aws.amazon.com/documentation/elastic-load-balancing/ https://aws.amazon.com/elasticloadbalancing/faqs/ 作者介绍 余骏,AWS解决方案架构师,负责基于AWS的云计算方案架构的咨询和设计,同时致力于AWS云服务在国内的应用和推广。在加入AWS之前,在思科中国担任系统工程师,负责方案咨询和架构设计,在企业私有云和基础网络方面有丰富经验。  

Read More

AWS 培训和认证更新 – 免费数字培训 + 认证云从业人员考试

我们最近对“AWS 培训和认证”进行了一些更新,以便您更轻松地构建云技能,并学习我们通过 AWS re:Invent 发布的许多新服务。 免费 AWS 数字培训 您现在可以在 aws.training 找到超过 100 种新的数字培训课程,所有课程均不设访问限制,且免费提供。 这些课程由 AWS 专家设计,可以帮助您掌握数十种 AWS 服务和解决方案的基础知识。您可以根据自己的节奏安排 AWS 学习。您还可以访问一些有关机器学习和存储的进阶培训。 以下是一些全新的数字培训主题: 机器学习简介 Amazon GuardDuty 简介 Amazon SageMaker 简介 AWS IoT 设备管理简介 AWS Fargate 简介 AWS Greengrass 简介 您可以浏览这些主题,注册感兴趣的主题,观看内容,还可以通过您的成绩单跟踪进度。 AWS 认证云从业人员 您可以通过我们最新的 AWS 认证云从业人员认证考试,验证您对 AWS 云的整体理解,并获得业界认可的证书。它涵盖四个领域:云的概念、安全性、技术,以及计费和定价。我们建议您在 AWS 云方面拥有至少六个月的经验 (或等效培训),任何角色都可以,包括技术、管理、销售、采购或财务。 为了帮助您准备此次考试,您可以参加我们的 AWS 云从业人员基础知识课程,这是新开设的一门 AWS 数字培训课程。此课程将向您概括介绍云的概念、AWS 服务、安全性、架构、定价和支持。除了可以帮助您验证对 AWS […]

Read More

AWS Lambda 配合 Jenkins 实现自动化持续部署

AWS Lambda是AWS无服务器框架中的重要组成部分,而开发、测试和部署Lambda函数需要经过一个较为枯燥的过程:在集成开发环境(IDE)中编写函数,然后将其打包,并上传到AWS使用控制台进行测试。事实上,您可以在本地进行编写测试,并将其上传到自己的代码库,然后使用CICD(Continuous Integration/Continuous Development)工具来进行集成部署。 本文中将介绍如何使用Jenkins在AWS上进行Lambda开发部署。更多有关AWS Lambda 介绍可参考链接https://amazonaws-china.com/lambda/ 架构图 通过git命令提交代码 通过部署在EC2中的Jenkins拉取Github上的代码 将代码部署到Lambda,完成代码部署 上传一张图片到S3 触发S3的ObjectCreate事件,调用Lambda生成缩略图 将生成的缩略图储存到指定位置 创建Lambda 从控制台进入Lambda,选择从头开始创作 输入Lambda名称 选择从模板创建新角色 点击创建函数 记录已创建Lambda函数的 ARN,位于Lambda函数右上角 修改处理程序为CreateThumbnail.handler 创建S3存储桶 从控制台进入S3创建存储桶,输入自定义桶名,这边需要创建两个存储桶,一个是源数据桶,另一个是目标数据桶 源存储桶 目标桶 进入源存储桶,并选中属性标签 选中高级设置中的事件,按照以下顺序依次操作并保存 添加通知 输入名称 配置事件类型,及Lambda函数 修改Lambda角色 在之前的Lambda函数创建的过程中,自动创建了一个Lambda角色,但是这个角色只有最基本的创建CloudWatch Logs的权限,还需要对创建的S3存储桶有相应的进行读写的权限。 首先获取S3存储桶ARN,选中存储桶,点击复制存储桶ARN 从控制台进入IAM,选中角色,找到在Lambda里创建的新角色,点击附加策略 在搜索栏中输入S3,选中AmazonS3FullAccess并附加(在此案例中) Jenkins 环境 – Java 8 下载并解压Java 8 wget http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz tar -zxvf jdk-8u151-linux-x64.tar.gz 创建Java目录,并将Java移动至此目录 sudo mkdir -p /usr/local/java/jdk1.8 sudo mv […]

Read More

成本优化利器——Amazon EC2 Spot实例详细介绍

1.  前言 AWS EC2实例类型从实例类型上可以划分成通用型,计算优化型,内存优化型,存储优化型,GPU加速计算等实例类型。从实例的购买模式来看,又可以分为按需实例、预留实例、专用实例、Spot实例等类型。今天我来给大家介绍一下Spot实例这样一个非常有特色的实例类型。本文将会着重介绍Spot实例的基本概念,新的定价模型和计费方法,如何启动Spot实例,以及Spot实例的中断处理,Stop和Resume,Hibernate。希望通过这篇文章,您可以对Spot实例有个全面的了解。 2.  什么是Spot实例(Spot Instance) Amazon EC2 Spot 实例,是 AWS服务中的可用空闲计算容量。与按需实例的价格相比,这类实例可提供超低折扣。EC2 Spot 可帮助您优化 AWS服务的成本,可在预算相同的情况下将应用程序的吞吐量提高到10倍。您只需在启动 EC2 实例时选择“Spot”,即可节省按需实例价格的 90%; 按需实例和 Spot 实例的唯一区别在于,当 EC2 需要更多容量时,它会发出两分钟的通知继而中断 Spot 实例。您可以将 EC2 Spot 用于各种容错且灵活的应用程序,如测试和开发环境、无状态 Web 服务器、图像渲染、视频转码,以运行分析、机器学习和高性能计算 (HPC) 工作负载。EC2 Spot 还可与其他 AWS 产品紧密集成,包括 EMR、Auto Scaling、Elastic Container Service (ECS)、CloudFormation等,让您可以灵活选择如何启动和维护 Spot 实例上运行的应用程序。 Spot实例是购买和使用 Amazon EC2 实例的新方式。Spot实例的现货价格根据供需情况定期变化。直接使用类似购买按需实例的方式启动Spot实例,价格将根据供需关系确定(不超过按需实例价格);用户也可以设置一个最高价,当设置的最高价高于当前现货价格的期间内运行此类实例。Spot实例是按需实例和预留实例的补充,为获得计算容量提供了另一种选择。以下是Spot实例的一些基本概念: Spot实例池 – 一组未使用的 EC2 实例,具有相同的实例类型、操作系统、可用区。 现货价格 – Spot […]

Read More