亚马逊AWS官方博客

新的 AWS IoT 设备管理

AWS IoTAWS Greengrass 为您提供适用于您的 IoT 设备和应用程序的坚实基础和编程环境。

IoT 的性质意味着大规模设备部署通常包含在数百或数千个位置部署的数百万或甚至数千万台设备。在这样的规模下,不可能单独处理每台设备。您需要能够以批量、统一的方式设置、监控、更新以及最终停用设备,同时还保留适应不同的部署配置、设备型号等的灵活性。

新的 AWS IoT 设备管理
今天,我们将发布 AWS IoT 设备管理以帮助解决这一难题。它将帮助您完成设备生命周期中从生产到停用的每个阶段。以下是您将获得的内容:

装载 – 从原始生产状态的设备开始,您可以控制预置工作流程。您可以使用 IoT 设备管理模板,通过单击几下鼠标来快速装载整个设备组。这些模板可能包含有关设备证书和访问策略的信息。

组织 – 为了处理大量设备,AWS IoT 设备管理扩展了现有 IoT 设备注册表,并允许您创建设备组的层次模型以及基于层次设置策略。您可以深入到层次结构中查找各个设备。您还可以根据属性 (如设备类型或固件版本) 查询设备组。

监控 – 来自设备的遥测用于收集实时连接、身份验证和状态指标,这些指标将发布到 Amazon CloudWatch。您可以检查这些指标并找到异常值以便进一步调查。利用 IoT 设备管理,您可以为每个设备组配置日志级别,还可以发布注册表和任务的更改事件以用于监控目的。

远程管理AWS IoT 设备管理让您可以远程管理设备。您可以为这些设备推送新的软件和固件、重置工厂默认值、重启以及按照所需的速度设置批量更新。

探索 AWS IoT 设备管理
AWS IoT 设备管理控制台演示并指出如何访问该服务的每项功能:

我已经有大量设备 (压力计):

这些仪表是使用新的模板驱动的批量注册功能创建的。以下是我创建模板的方式:

这些仪表将分为不同的组 (在此示例中按美国的州划分):

以下是位于科罗拉多州的仪表:

AWS IoT 组策略允许您控制所有组成员对特定 IoT 资源和操作的访问。这些策略的构建方式与 IAM 策略非常相似,而且可在控制台中进行创建:

任务用于选择性地更新设备。以下是我创建一个任务的方式:

正如上述任务类型所示,任务可一次或连续运行。以下是我选择要更新的设备的方式:

我可以创建利用 Lambda 函数的自定义授权方:

在这篇文章中,我向您介绍了 AWS IoT 设备管理 的一个中型子集。请自行查阅以获取更多信息!

Jeff

 

推出 Amazon FreeRTOS – 使几十亿台设备能够安全地从云中受益

最近,我在 ReadWrite.com 上读到一篇标题为“IoT 设备的数量在成倍增长,2021 年将增长 200%”,虽然这篇文章提到了此增长给消费者和行业带来的好处,但文中的两个观点让我难以释怀。第一个是关于“研究人员警告说,IoT 技术的扩散将会带来大量新的挑战。对于最终用户和提供商来说,大规模的 IoT 部署特别麻烦。”的特定陈述。这句话不仅说得中肯,而且真正提出了在构建解决方案和部署这个令人兴奋的新技术领域时可能面临的一些挑战。文中让我感到担忧的第二个观点是安全问题数目可能会增加。

这篇文章让我开始思考,我们如何通过将低成本的、高效的微控制器与可轻松连接到云的安全操作系统结合使用来创建这些出色的 IoT 解决方案。幸运的是,我在一款由 AWS 提供的令人兴奋的、基于开放源的新产品中找到了答案,我很高兴今天能够向大家宣布这个消息。让我们欢迎 Amazon FreeRTOS 进入技术阶段。

Amazon FreeRTOS 是一个 IoT 微控制器操作系统,此操作系统简化了基于微控制器的边缘设备的开发、安全性、部署和维护。Amazon FreeRTOS 使用库扩展了 FreeRTOS 内核 (一种常用的实时操作系统),这些库支持本地和云连接、安全和无线更新 (即将推出)。

您会询问这款令人兴奋的新产品将带来哪些好处。好处如下:

  • 轻松创建适用于低功率互联设备的解决方案:提供常见的操作系统 (OS) 和库,以便轻松地为设备开发常见 IoT 功能。例如,无线 (OTA) 更新 (即将推出) 和设备配置。
  • 保护数据和设备连接:设备仅使用代码签名服务运行可信软件,Amazon FreeRTOS 使用 TLS 提供与 AWS 的安全连接以及在设备上安全存储密钥和敏感数据的功能。
  • 广泛的生态系统:包含广泛的硬件和技术生态系统,使您能够选择各种合格的芯片集 (包括 Texas Instruments、Microchip、NXP Semiconductors 和 STMicroelectronics)。
  • 云或本地连接:设备可直接连接到 AWS 云,也可以通过 AWS Greengrass 连接到 AWS 云。

最酷的地方是可轻松开始使用。

利用 Amazon FreeRTOS 控制台,您可以选择和下载解决方案所需的软件。

提供了一个资格程序,该程序可帮助确保您选择的微控制器将跨多个硬件选项一致运行。

最后,Amazon FreeRTOS 内核是一个开放源 FreeRTOS 操作系统,可在 GitHub 上免费下载它。

让我至少为您演示几张 Amazon FreeRTOS 控制台的快照再离开。

Amazon FreeRTOS 控制台内,我可选择一种要使用的预定义软件配置。

如果需要自定义程度更高的软件配置,Amazon FreeRTOS 可让您通过添加或删除库来自定义供您使用的解决方案。

总结

感谢您了解新的 Amazon FreeRTOS 产品。要了解更多信息,请转至 Amazon FreeRTOS 产品页或阅读 AWS 文档中提供的有关此令人兴奋的面向 IoT 设备的操作系统的信息。

迫不及待地想看到新的 IoT 系统被启用和投入使用。祝编码愉快。

Tara

正在准备阶段 – AWS IoT Device Defender – 保护您的 IoT 队列

在 IoT (物联网) 方面,规模有了一个全新的含义。去年,我有幸参观了一家大型工厂,厂内每平方米有一台环境传感器。这些环境传感器每秒将测量几次温度、湿度和空气纯度,并充当污染物的预警系统。我听说客户有兴趣部署数百万或数千万台支持 IoT 的消费设备。

按地理分布的方式部署强大耐用的设备后,管理安全挑战是至关重要的。不过,有限的本地计算能力和内存有时会限制使用加密和其他形式的数据保护的能力。

为了应对这些挑战并让我们的客户自信地大规模部署 IoT 设备,我们正在开发 IoT Device Defender。虽然细节可能在发布前有所改变,但 AWS IoT Device Defender 旨在提供以下好处:

持续审核AWS IoT Device Defender 监控与您的设备相关的策略以确保所需安全设置就绪。它将查找与最佳实践的偏离并支持自定义审核规则,以便您可检查特定于您的部署的条件。例如,您可检查受一台受损设备是否订阅了来自另一台设备的传感器数据。您可按计划运行审核或按需运行审核。

实时检测和提醒AWS IoT Device Defender 将查找可能来自受损设备的异常行为并快速告知您此情况。它通过监控类似设备的行为、寻找未经授权的访问尝试、连接模式的更改以及流量模式 (入站或出站) 的变化来做到这一点。

快速调查和缓解 – 如果您收到发生异常情况的提醒,AWS IoT Device Defender 将为您提供工具 (包括上下文信息) 来帮助您调查和缓解问题。设备信息、设备统计数据、诊断日志和以前的提醒都触手可及。您可选择重启设备、撤销其权限、将其重置为出厂默认值或推动安全修复。

保持关注
很快我将提供更多信息 (和实践文章),敬请保持关注!

Jeff

介绍 AWS IoT Analytics:比以往任何时候都快地大规模交付 IoT Analytics

我非常喜欢的一个技术领域是物联网 (IoT)。甚至还是在我很小的时候,我就常常惹怒我的父母,因为我会将他们买的玩具拆开,想看看工具的工作原理以及我是否能够设法将玩具重新组装在一起。似乎我注定最终要从事充满艰难而且不断变化的技术领域的工作。因此,毫不奇怪,我现在真的非常喜欢学习和摆弄 IoT 设备和技术。这融合了我对开发和软件工程的喜爱以及我对电路、控制器以及电气工程学科的其他方面的好奇心;即使我算不上是一个电气工程师。

尽管有通过部署 IoT 设备和解决方案收集的各种信息,但老实说,我从未真正考虑过需要分析、搜索和处理这些数据,直到我遇到了一种异常情况,对于发生的异常,通过大量传感器数据进行搜索和查询的能力变得至关重要。当然,我清楚分析对于企业的重要性,它们有助于做出准确的决策和预测以推动组织的发展。但是我一开始并没有想到,使分析成为我的 IoT 解决方案的不可或缺的一部分是如此重要。是的,我及时吸取了教训,因为此 re:Invent 服务的发布使任何人均可以更轻松地处理和分析 IoT 信息和设备数据。

你好,AWS IoT AnalyticsAWS IoT AnalyticsAWS IoT 的一项完全托管服务,可提供对从您的 IoT 设备中收集的数据的高级数据分析。利用 AWS IoT Analytics 服务,您可以处理消息、收集和存储大量设备数据以及查询数据。此外,新的 AWS IoT Analytics 服务功能集成了用于可视化数据的 Amazon Quicksight,并通过与 Jupyter Notebooks 的集成引入了机器学习的功能。

AWS IoT Analytics 的优势

  • 通过提供对预构建的分析功能的访问,帮助预测分析数据。
  • 提供将来自服务的分析输出可视化的功能
  • 提供清理数据的工具
  • 可帮助识别收集的数据的模式

了解情况:IoT Analytics 概念

  • 通道:存档未经处理的原始消息并收集来自 MQTT 主题的数据。
  • 管道:使用来自通道的消息并允许消息处理。
    • 活动:针对您的消息执行转换,包括筛选属性和调用 Lambda 函数高级处理。
  • 数据存储:用作经过处理的消息的可查询存储库。提供对来自不同设备或位置的消息或按消息属性进行筛选的消息进行多个数据存储的功能。
  • 数据集:来自数据存储的数据检索视图,可由定期计划生成。

AWS IoT Analytics 入门

首先,我将创建一个用于接收传入消息的通道。此通道可用于提取通过 MQTT 发送到通道的数据或直接来自规则引擎的消息。要创建通道,我将选择 Channels 菜单选项,然后单击 Create a channel 按钮。

我将我的通道命名为 TaraIoTAnalyticsID 并向 Channel 提供值为 TemperatureMQTT topic filter。为了完成通道的创建,我将单击 Create Channel 按钮。

现在我已创建我的通道,需要创建一个数据存储来接收和存储从我的 IoT 设备的通道上收到的消息。请记住,您可以针对多个复杂的解决方案需求设置多个数据存储,但在我的示例中我将仅创建一个数据存储。我将从菜单面板中选择 Data Stores,然后单击 Create a data store

我将我的数据存储命名为 TaraDataStoreID,在单击 Create the data store 按钮后,我已成功将数据存储设置为存放来自我的通道的消息。

现在我已有通道数据存储,我将需要使用一个管道来连接两者。我将创建一个仅用于连接我的通道和数据存储的简单管道,但您可以创建功能更强大的管道以便通过添加管道活动 (如 Lambda 活动) 处理和筛选消息。

要创建管道,我将选择 Pipelines 菜单选项,然后单击 Create a pipeline 按钮。

我将不会为此管道添加属性。因此,我将单击 Next 按钮。

正如我们所讨论的,我可以将其他管道活动添加到我的管道来处理和转换消息,但我仅会保留我的首个管道,然后点击 Next 按钮。

对于我来说,创建管道的最后一步是选择之前所创建的数据存储,然后单击 Create Pipeline

对于我来说,利用 AWS IoT Analytics 服务的所有剩余操作是创建用于将数据发送到 AWS IoT Analytics 通道的 IoT 规则。嗯,这就是为 IoT 设备设置分析的一个超级简单的过程。

在对我的数据运行了查询之后,如果我想要创建一个数据集来通过 Amazon Quicksight 实现可视化或与 Jupyter Notebooks 集成以执行更高级的分析功能,我可以选择 Analyze 菜单选项来显示用于创建数据集和访问 Juypter Notebook 实例的屏幕。

总结

如您所见,为 AWS IoT 设置高级数据分析是非常简单的过程。利用 AWS IoT Analytics,您能够收集、可视化、处理、查询和存储从您的 AWS IoT 互联设备生成的大量数据。此外,您还可以采用多种不同的方式访问 AWS IoT Analytics 服务;AWS 命令行界面 (AWS CLI)、AWS IoT API、特定语言的 AWS 软件开发工具包以及 AWS IoT 设备软件开发工具包。

现在您可以使用 AWS IoT Analytics 来深入了解您的 IoT 数据的分析。要了解有关 AWS IoT 和 AWS IoT Analytics 的更多信息,请访问 AWS IoT Analytics 产品页面和/或 AWS IoT 文档。

Tara

宣布推出 ONNX 1.0

今天,Amazon Web Services (AWS)、Facebook 和 Microsoft 很高兴宣布:开放神经网络交换 (ONNX) 格式已可用于生产环境。

ONNX 是深度学习模型的开放标准格式,实现深度学习框架 (如 Apache MXNet、Caffe2、Microsoft Cognitive 工具包和 PyTorch) 之间的互操作性。ONNX 1.0 使用户能够在框架之间移动深度学习模型,从而使其更容易投入生产。例如,开发人员可以使用 PyTorch 等框架构建复杂的计算机视觉模型,并使用 Microsoft Cognitive 工具包或 Apache MXNet 运行它们以进行推理。

自 9 月份 ONNX 首次发布以来,社区支持和参与的增长和发展势头都十分喜人。包括高通、华为和英特尔在内的众多硬件合作伙伴宣布,他们的硬件平台支持 ONNX 格式,使用户更容易在不同的硬件平台上运行模型。我们非常感谢那些为新功能提供代码和支持的贡献者社区。

我们将继续与 ONNX 合作伙伴和社区合作,共同发展 ONNX,确保开发人员获得最新的研究成果,以便将先进的模型集成到生产应用程序中。

相关公告


作者简介

Sukwon Kim 是 AWS Deep Learning 的高级产品经理。他负责开发让客户能够更轻松地使用深度学习引擎的产品,工作重点是开源 Apache MXNet 引擎。在业余时间,他喜欢徒步旅行和旅游。

AWS 中国 (宁夏) 区域现已开放

今天,我们推出全球第 17 个、中国第二个区域。由宁夏西云数据科技有限公司 (NWCD) 运营的 AWS 中国 (宁夏) 区域现已正式推出,为客户提供了在中国 AWS 上运行应用程序和存储数据的另一种选择。

详细信息
由 NWCD 运营的全新中国 (宁夏) 区域在推出之际支持以下服务:Auto ScalingAWS ConfigAWS CloudFormationAWS CloudTrailAmazon CloudWatchCloudWatch EventsAmazon CloudWatch LogsAWS CodeDeployAWS Direct ConnectAmazon DynamoDBAmazon Elastic Compute Cloud (EC2)Amazon Elastic Block Store (EBS)Amazon EC2 Systems ManagerAWS Elastic BeanstalkAmazon ElastiCacheAmazon Elasticsearch ServiceElastic Load BalancingAmazon EMRAmazon GlacierAWS Identity and Access Management (IAM)Amazon Kinesis StreamsAmazon RedshiftAmazon Relational Database Service (RDS)Amazon Simple Storage Service (S3)Amazon Simple Notification Service (SNS)Amazon Simple Queue Service (SQS)AWS Support APIAWS Trusted AdvisorAmazon Simple Workflow Service (SWF)Amazon Virtual Private CloudVM Import。有关这些服务的更多信息,请访问 AWS 中国产品页面。

该区域支持所有大小的 C4D2M4T2R4I3X1 实例。

查看 AWS 全球基础设施页面,了解有关当前和未来 AWS 区域的更多信息。

运营合作伙伴
为了遵守中国的法律和监管要求,AWS 与 NWCD 建立了战略性技术合作关系,以运营 AWS 中国 (宁夏) 区域并从该区域提供服务。NWCD 成立于 2015 年,是一家经过许可的数据中心和云服务提供商,总部位于中国宁夏。NWCD 加入 AWS 中国 (北京) 区域的运营商 Sinnet 的行列,成为 AWS 在中国的运营合作伙伴。通过这些关系,AWS 为 NWCD 和 Sinnet 提供其业界领先的技术、指导和专业知识,而 NWCD 和 Sinnet 则为本地客户运营和提供 AWS 云服务。尽管在这两个 AWS 中国区域提供的云服务与其他 AWS 区域提供的服务相同,但 AWS 中国区域的不同之处在于,它们与所有其他 AWS 区域隔离,并由 AWS 中国合作伙伴独立于所有其他 AWS 区域单独运营。使用 AWS 中国区域的客户与 Sinnet 和 NWCD 签订客户协议,而不是与 AWS 签订客户协议。

立即使用
由 NWCD 运营的 AWS 中国 (宁夏) 区域开始营业,您可以立即开始使用!从今天开始,中国的开发人员、初创公司、企业以及政府、教育和非营利组织可以利用 AWS 来运行他们的应用程序,并将他们的数据存储到由 NWCD 运营的全新 AWS 中国 (宁夏) 区域。已经在使用由 Sinnet 运营的 AWS 中国 (北京) 区域的客户可以直接从 AWS 管理控制台选择 AWS 中国 (宁夏) 区域,而新客户可以在 www.amazonaws.cn 申请账户以开始使用这两个 AWS 中国区域。

Jeff

推出适用于 Apache MXNet 的模型服务器

本周早些时候,AWS 宣布推出适用于 Apache MXNet 的模型服务器,这是构建于 Apache MXNet 上的开源组件,用于处理深度学习模型。Apache MXNet 是一种可快速进行训练和推理的可扩展框架,具有易于使用、简明扼要的机器学习 API。工程师们现在可以利用适用于 Apache MXNet 的模型服务器,轻松、快速地对 MXNet 模型进行大规模处理。

什么是适用于 Apache MXNet 的模型服务器?

适用于 Apache MXNet 的模型服务器 (MMS) 是一种开源组件,旨在简化深度学习推理模型的大规模部署任务。部署推理模型并不是无关紧要的任务。它需要收集各种模型构件、设置处理堆栈、初始化并配置深度学习框架、公开终端节点、发送实时指标,以及运行自定义预处理和后处理代码,而这只是众多工程任务中的几项。虽然每项任务都不是特别复杂,但与部署模型相关的所有工作足以使部署过程变得缓慢而繁琐。

MMS 是 AWS 贡献的一款适用于 Apache MXNet 的开源工程工具集,可以极大地简化部署深度学习模型的过程。如果您使用 MMS 部署模型,可以使用以下主要功能:

  • 将所有模型构件打包并导出为单一“模型存档”文件 (其中封装了处理 MXNet 模型的所有必要内容) 的工具作业。
  • 自动设置处理堆栈,其中包括 HTTP 推理终端节点、基于 MXNet 的引擎,所有组件均根据处理的具体模型进行自动配置。
  • 预配置的 Docker 镜像,利用 NGINX、MXNet 和 MMS 进行设置,以实现可扩展的模型处理。
  • 能够自定义推理执行管道中的每个步骤,从模型初始化到预处理和推理,再到对模型输出的后处理。
  • 用于监控推理服务和终端节点的实时运行指标,涵盖延迟、资源利用率和错误。
  • 支持 OpenAPI 规范,可实现轻松集成和自动生成热门堆栈的客户端代码,例如 Java、JavaScript、C# 等等。

可通过 PyPi 程序包使用 MMS,或直接通过模型服务器 GitHub 存储库使用 MMS,它可在 Mac 和 Linux 上运行。对于可扩展的生产使用案例,我们建议使用 MMS GitHub 存储库中提供的预配置 Docker 镜像

下图演示了示例参考架构:

模型处理快速启动

MMS 很容易入门,我们将在以下示例中进行展示。此示例利用了经过预训练的 SqueezeNet v1.1 目标物检测模型,该模型在 MMS Model Zoo 中公开提供。

要开始使用,您需要具有 Python,这是使用 MMS 的唯一先决条件。如果您未安装 Python,请根据 Python 网站上的说明,安装 Python 2.7 或 3.6。

接下来,使用 PyPi 在您所选的机器上安装 MMS。MMS 支持 Mac 和 Linux 操作系统。

$ pip install mxnet-model-server

只需要运行 MMS 并向其提供模型存档 URL 或本地文件,即可完成模型的处理:

$ mxnet-model-server --models squeezenet=https://s3.amazonaws.com/model-server/models/squeezenet_v1.1/squeezenet_v1.1.model

执行此命令后,MMS 处理将启动:下载并解压缩模型存档,使用模型构件配置服务,并开始在 /squeezenet/predict 终端节点的 localhost、端口 8080 上侦听传入请求 (可配置主机和端口)。

为了测试您新建的服务,让我们通过 HTTP 发送一个推理请求,要求模型对一个图像进行分类:

$ curl -O https://s3.amazonaws.com/model-server/inputs/kitten.jpg
$ curl http://127.0.0.1:8080/squeezenet/predict -F "input0=@kitten.jpg"

您将会看到与以下内容类似的一条响应,模型识别出图像中的目标物是一只“埃及猫”,概率为 85%。成功啦!

{
  "prediction": [
    [
      {
        "class": "n02124075 Egyptian cat",
        "probability": 0.8515276312828064
      },
… (other lower probability predictions) …
}

要深入了解模型处理,请查看服务器文档

导出用于处理的模型

MMS 可处理以 MMS 模型存档格式打包的模型。它包括命令行界面 mxnet-model-export ,用于打包模型构件并导出为单一模型存档文件。导出的模型存档封装了处理模型所需的所有构件和元数据,MMS 在初始化处理终端节点时会用到它。进行处理无需其他模型元数据或资源。

下图阐明了导出过程:

如图所示,打包模型存档所需的必要构件是模型的神经网络架构和参数 (层、运算符和权重),以及服务输入和输出数据类型和张量形状定义。但是,在真实的使用案例中使用模型需要的可不只是神经网络。例如,在为模型提供图像前,许多视觉模型需要对输入图像进行预处理和转换。另一个示例是分类模型,通常需要进行后处理,以便对分类结果进行排序和截断。为了应对这些需求,并将模型完全封装到模型存档中,MMS 可以将自定义处理代码以及所有辅助文件打包到存档中,并在运行时提供这些文件。利用这一强大机制,您可以生成封装了整个处理管道的模型存档:从预处理输入到自定义推理,并在网络输出通过网络返回客户端之前应用类别标签标识符。

要了解有关模型存档导出的更多信息,请查看 MMS 导出文档

了解更多信息并做出贡献

MMS 的设计宗旨是易于使用、灵活和可扩展。除了此篇博文中提到的内容,它还提供其他功能,包括处理终端节点的配置、实时指标和日志、预配置容器映像等。

要了解有关 MMS 的更多信息,我们建议您首先参阅我们的 Single Shot MultiBox Detector (SSD) 教程,您可以通过它了解到如何导出并处理 SSD 模型。在存储库的文档文件夹中提供了更多示例和其他文档。

我们欢迎您以提问、提出请求的方式参与社区讨论并做出贡献,帮助我们进一步开发和扩展 MMS。请访问 awslabs/mxnet-model-server 存储库,开始使用!


补充阅读

了解有关 AWS 和 MXNet 的更多信息!


作者简介

Hagay Lupesko 是 AWS 深度学习的工程经理。他专注于构建让开发人员和科学家能够创造智能应用程序的深度学习工具。在业余时间,他喜欢阅读、徒步旅行以及与家人共享天伦之乐。

Ruofei Yu 是 AWS 深度学习的软件工程师。他专注于为软件工程师和科学家构建创新的深度学习工具。在业余时间,他喜欢与朋友和家人共度美好时光。

Yao Wang 是 AWS 深度学习的软件工程师。他专注于为软件工程师和科学家构建创新的深度学习工具。在业余时间,他喜欢徒步旅行、阅读和听音乐。

re:Invent 回顾—通过 Windows 促进企业创新的公告

我的同事 Sandy Carter 上周在 AWS re:Invent 大会上发表了“企业创新报告”(Enterprise Innovation State of the Union) 演讲。她写了下面这篇客座文章,回顾她在舞台上发布的消息。

Jeff


“我希望我的公司进行创新,但我不确信我们能否成功执行。”在我职业生涯的不同阶段,听到过太多次高管人员流露出的这种恐惧。事实上,Price Waterhouse Coopers 公司发布的最新研究结果表明,虽然 93% 的高管依靠创新来推动增长,但对超过一半的人而言,将创新理念以可扩展的方式迅速推向市场仍是一项挑战。

许多客户都在为如何推动企业创新而苦苦挣扎,我很高兴上周能与一些成功打破这种模式,推动企业创新的高管在 AWS re:Invent 上同台演讲。在此,我要特别感谢 Johnson & Johnson 的 Parag Karnik、Hess Corporation 的 Bill Rothe、Just Eat 的 Dave Williams 以及 Pitney Bowes 的 Olga Lagunova 分享他们关于创新、创意和坚定执行的故事。

在过去一周 AWS 的许多新公告中,让我感到特别兴奋的是我在 re:Invent 上宣布的以下新发布的 AWS 产品和计划,它们可以推动我们企业客户的创新:

AI:EC2 Windows 上全新的深度学习 Amazon 系统映像 (AMI)
正如我在 re:Invent 上分享的,Infor 等客户已在 AWS 上成功利用人工智能工具为其客户交付量身定制的、行业特定的应用程序。我们希望帮助更多的 Windows 开发人员利用基于机器学习的工具和常用的深度学习框架,例如 Apache MXNetTensorFlowCaffe2,快速轻松地开始使用 AI。为了实现这一点,我在 re:Invent 上宣布,AWS 现在推出了一款适用于 Microsoft Windows 的全新深度学习 AMI。该 AMI 经过量身定制,旨在促进深度学习模型的大规模训练,快速轻松地为机器学习应用程序设置基于 Windows Server 的计算资源。

IoT:SQL 和 IoT 数据的可视化与分析
预测显示到 2020 年将会有 310 亿台 IoT 设备投入使用。AWS 希望每个 Windows 客户都能利用从其设备中获得的数据。例如,Pitney Bowes 现在有超过 13 万台 IoT 设备将数据流式传输到 AWS。利用机器学习,Pitney Bowes 丰富了数据并对数据进行分析,以增强其客户体验,提高效率并创建新的数据产品。现在可以利用 AWS IoT Analytics 对 IoT 数据运行分析并获得见解,以帮助您为 IoT 应用程序和机器学习使用案例做出更好、更准确的决定。AWS IoT Analytics 可以通过上下文元数据自动丰富 IoT 设备数据,如 SQL Server 事务数据。

AWS 上针对 .NET 开发人员的新功能
除了因向 AWS 上的 Windows 开发人员提供一流的体验而推出的所有增强功能之外,我们还宣布在 AWS LambdaAWS CodeBuild 中提供 .NET Core 2.0 支持,到明年年初将实现更广泛的使用。.NET Core 2.0 具有许多新功能,如 Razor 页,能够更好地与 .NET 框架兼容,并且 API 数量是以前版本的两倍以上。通过此次发布,您将能够在 Lambda 和 CodeBuild 上利用 .NET Core 所有最新功能,构建以 DevOps 为中心的现代化无服务器解决方案。

适用于 Windows 应用程序的简化备份
我们最近通过 Microsoft 卷影拷贝服务 (VSS) 推出了应用程序一致性快照。这让您可以借助 Amazon Elastic Block Store (EBS) 为运行的 Windows 实例拍摄 VSS快照,而无需创建自定义脚本或关闭实例。这会消除与备份 Windows 应用程序相关的开销。

BYOL 的许可证优化
AWS 为您提供了各种最能满足您的工作负载需求的实例类型和系列。如果您正在使用按 vCPU 数量许可的软件,则希望能够进一步调整 vCPU 数目以优化许可证支出。我宣布了我们即将推出优化 EC2 的 CPU 的功能,让您可以在两个方面更好地控制 EC2 实例:

  1. 您可以在启动新实例时指定 vCPU 的自定义数量,以节省基于 vCPU 的许可成本。例如,SQL Server 许可支出。
  2. 您可以针对使用单线程 CPU 运行良好的工作负载禁用超线程技术,如某些高性能计算 (HPC) 应用程序。

使用这些功能,自带许可证 (BYOL) 的客户将能够优化其许可证使用并节省许可证成本。

针对 Hyper-V 虚拟机的服务器迁移服务
正如 Hess Corporation 的 Bill Rothe 在 re:Invent 上分享的一样,Hess 已成功将各种工作负载迁移到了云中,包括 SQL Server、SharePoint、SAP HANA 等等。AWS Server Migration Service (SMS) 现在支持 Hyper-V 虚拟机 (VM) 迁移,以进一步支持此类企业迁移。使用 AWS Server Migration Service,您可以更轻松地协调从本地 Hyper-V 环境到 AWS 的大规模服务器迁移。借助 AWS Server Migration Service,您可以自动化、调度和跟踪活动服务器卷的增量复制。复制的卷会在传输过程中进行加密,并另存为新的 Amazon 系统映像 (AMI),可以作为 AWS 上的 EC2 实例启动。

面向 AWS 最终客户的 Microsoft Premier 支持
我很高兴地宣布,微软和 AWS 开发了支持集成的新领域,以帮助确保出色的客户体验。Microsoft Premier Support 旨在帮助 AWS 协助最终客户。AWS Support 工程师可以代表运行 Microsoft 工作负载的 AWS 客户直接向 Microsoft 支持部门上报。

最佳实践工具:HIPAA 合规性与数字创新研讨会
11 月份,我们更新了以 HIPAA 为主题的白皮书,概述了如何使用 AWS 创建符合 HIPAA 标准的应用程序。明年第一季度,我们将发布 HIPAA 实施指南,它是对 HIPAA 快速入门的详细阐述,使您能够遵循严格的安全性、合规性和风险管理控制措施,来处理常见的医疗保健使用案例。我还很高兴地在我的 re:Invent 讲座中向我们的一个客户授予参加“数字创新研讨会”的机会,我期待看到更多的客户利用这个研讨会。

AWS:持续创新云
我们在客户中看到的一个共同点是,AWS 的持续创新使得他们能够不断进行革新。持续创新意味着您每一天都能获得更新、更好的产品/服务。有时它以全新的服务和功能的形式存在,有时它在您不知不觉的情况下发生着,让您的环境变得越来越好。我邀请您详细了解如何通过最近推出的 AWS 服务AWS 最佳实践加速您的创新旅程。如果您要迁移 Windows 工作负载,请联系您的 AWS 销售代表或 AWS Microsoft 工作负载能力合作伙伴,了解如何利用我们的 re:Think for Windows 计划提供的抵扣金额,开始进行迁移。

– AWS 副总裁 Sandy Carter

Amazon SageMaker – 加快机器学习进程

机器学习是许多初创公司和企业的关键技术。尽管经历了数十年的投入和改进,开发、训练和维护机器学习模型的过程仍然繁琐且欠缺通用性。将机器学习技术集成到应用程序中的过程往往需要一个专家团队进行为期数月的调整和修补,而且设置还不一致。企业和开发人员需要一个端到端、开发到生产的机器学习管道。

Amazon SageMaker 简介

Amazon SageMaker 是一种完全托管的端到端机器学习服务,数据科研人员、开发人员和机器学习专家可以快速、大规模地构建、训练和托管机器学习模型。这极大地推进了您所有的机器学习工作,让您能够将机器学习技术迅速融入生产应用程序。

Amazon SageMaker 包含三个主要组件:

  • 编写:零设置托管式 Jupyter 笔记本 IDE,可进行数据探索、清理和预处理。您可以在一般实例类型或 GPU 驱动实例上运行上述功能。
  • 模型训练:分布式模型构建、训练和验证服务。您可以使用内置的通用监督式和非监督式学习算法和框架,也可以借助 Docker 容器创建自己的训练。训练可以扩展到数十个实例以支持更快的模型构建。从 S3 读取训练数据,并将模型构件存放到 S3。模型构件是数据相关的模型参数,而不是允许您从模型进行推理的代码。这种问题隔离策略简化了将经过 Amazon SageMaker 培训的模型部署到物联网设备等其他平台的过程。
  • 模型托管:一种模型托管服务,可通过 HTTPS 终端节点调用模型获取实时推理。这些终端节点能够扩展以支持流量,允许您同时对多个模型进行 A/B 测试。同样,您可以使用内置软件开发工具包构建这些终端节点,也可以利用 Docker 镜像提供自定义配置。

这些组件中的每一个都可以独立使用,这使得使用 Amazon SageMaker 填补现有管道中的空白变得极其简单。也就是说,在端到端管道中使用此服务时,您可以获得一些非常强大的功能。

使用 SageMaker

我打算构建、训练和部署一个基于 Apache MXNet 的图像分类器。我将使用 Gluon 语言、CIFAR-10 数据集和 ResNet V2 模型架构。

使用 Jupyter 笔记本编写


创建笔记本实例时,它会启动一个 ML 计算实例,其中包含深度学习应用中常见的 Anaconda 包和库、一个 5 GB ML 存储卷和几个演示各种算法的示例笔记本。我可以选择配置 VPC 支持来在我的 VPC 中创建一个 ENI,以方便、安全地访问我的资源。

待实例完成预配置后,我就可以打开笔记本开始编写代码了!

模型训练

对于任何类型的 Amazon SageMaker 常见框架训练,您都可以实现类似下面的简单训练接口。为简洁起见,这里省略了实际的模型训练代码:

def train(
    channel_input_dirs, hyperparameters, output_data_dir,
    model_dir, num_gpus, hosts, current_host):
    pass

def save(model):
    pass

我打算在 Amazon SageMaker 基础设施上的 4 个 ml.p2.xlarge 实例上创建一个分布式训练作业。我已经下载了本地所需的全部数据。

import sagemaker
from sagemaker.mxnet import MXNet
m = MXNet("cifar10.py", role=role, 
          train_instance_count=4, train_instance_type="ml.p2.xlarge",
          hyperparameters={'batch_size': 128, 'epochs': 50, 
                           'learning_rate': 0.1, 'momentum': 0.9})

现在,我们构建好了模型训练作业,可以通过下面的调用为其提供数据: m.fit("s3://randall-likes-sagemaker/data/gluon-cifar10")

导航到作业控制台,可以看到系统正在运行此作业!

托管和实时推理

现在,我的模型已完成训练,可以开始生成预测了!我使用跟以前相同的代码创建和启动一个终端节点。


predictor = m.deploy(initial_instance_count=1, instance_type='ml.c4.xlarge')

调用终端节点的操作十分简单,直接运行: predictor.predict(img_input)!

这就是一个代码不足 100 行的端到端机器学习管道。

下面我们再演练一个示例,了解一下如何只使用 Amazon SageMaker 的模型托管组件。

使用自定义 Docker 容器

Amazon SageMaker 为 Docker 容器定义了一个简单的规范,让您能够轻松编写自定义训练算法或自定义推理容器。

我有一个基于此处所述架构的现有模型,我打算托管此模型进行实时推理。

我创建了一个简单的 Dockerfile 和 flask 应用程序来提供推理。

由于加载模型和生成预测的代码因实际应用而异,此处省略了这些代码。从本质上说,我构建了一个方法来从输入 URL 下载图像,然后将此图像数据传递给 MXNet 模型进行预测。

from flask import Flask, request, jsonify
import predict
app = Flask(__name__)

@app.route('/ping')
def ping():
    return ("", 200)

@app.route('/invocations', methods=["POST"])
def invoke():
    data = request.get_json(force=True)
    return jsonify(predict.download_and_predict(data['url']))

if __name__ == '__main__':
    app.run(port=8080)
FROM mxnet/python:latest
WORKDIR /app
COPY *.py /app/
COPY models /app/models
RUN pip install -U numpy flask scikit-image
ENTRYPOINT ["python", "app.py"]
EXPOSE 8080

我将这个图像推送到 ECR,然后导航到 Amazon SageMaker 中的模型控制台来创建一个新模型。

创建新模型后,我还预配置了一个终端节点。

现在我可以从 AWS Lambda 或任何其他应用程序调用此终端节点了!我设置了一个 Twitter 账户来展示这个模型。您可以通过 Twitter 向 @WhereML 推送一张图片,看看它能否猜出位置!


import boto3
import json
sagemaker = boto3.client('sagemaker-runtime')
data = {'url': 'https://pbs.twimg.com/media/DPwe4kMUMAAWCd_.jpg'}
result = sagemaker.invoke_endpoint(
    EndpointName='predict',
	Body=json.dumps(data)
)

定价

作为 AWS 免费套餐的一部分,您可以免费开始使用 Amazon SageMaker。在前两个月,您每月可以免费使用:250 小时的 t2.medium 笔记本用量、50 小时的 m4.xlarge 用量和 125 小时的 m4.xlarge 用量。超出免费套餐部分的定价因地区而异,但基于以下要素计费:实例用量 (秒)、存储 (GB) 和传入/传出服务的数据量 (GB)。

Jeff 告诉我,在今年的 re:Invent 大会举办之前,不要撰写“太过重磅”的文章。显然,我没把持住。在 re:Invent 2017 发布的众多美妙产品中,Amazon SageMaker 是我最喜欢的服务。我已经迫不及待想要知道我们的客户能够利用这个令人兴奋的工具套件完成哪些“壮举”了。

Randall

Amazon Rekognition Video 发布:基于深度学习技术的视频识别功能

在去年这个时候举办的 re:Invent 2016 大会上,Jeff 宣布推出 Amazon Rekognition 服务。我非常高兴能参与此项服务的开发工作,以构建图像识别解决方案。您可能已经知道,Amazon Rekognition Image 是一种利用深度学习技术提供可扩展的图像识别和分析功能的云服务。Amazon Rekognition Image 让您能够在应用程序和系统中构建和集成对象及场景检测、实时面部识别、名人识别、图片审阅和文本识别功能。

Amazon Rekognition Image 服务使用深度学习神经网络模型创建,基于与 Prime Photos 相同的技术 (此项技术使 Prime Photos 具备了每天分析数十亿张图像的强大能力)。发布之初,Rekognition 的关注点在于提供可扩展、自动化的图像分析、搜索和分类功能。今天,我很高兴地向大家宣布,此服务增加了一些新功能。

你好,Amazon Rekognition Video

大家好,这是我的新朋友,Amazon Rekognition Video。对,你们猜得没错,我一开始写的是《疤面煞星》里的台词:“来跟我的小朋友问个好”。但我最终没有这样写,而是走了一条“新路”,所以大家必须给我的创新精神点个赞。好了,言归正传,我们来讨论一下这项令人兴奋的新人工智能服务功能 – Amazon Rekognition Video

Amazon Rekognition Video 是一种新的视频分析服务功能,可为 S3 存储的视频以及实时视频流提供可扩展的计算机视觉分析能力。借助 Rekognition video,您可以准确检测、跟踪、识别、提取和审阅视频中的数千个对象、面部和内容。对于这项新功能,我认为更棒的是,它不仅能够提供有关视频中对象的准确信息,而且还是同类中第一个能够使用完整的视频内影像、时间和动作上下文执行活动检测和人员跟踪的视频分析服务。因此,借助其基于深度学习的功能,您可获得有关视频中正在执行什么活动的更完整的见解。例如,此服务功能可以识别视频中的人、车、树,以及推断出视频中的男子正在跑向汽车。这很酷,对吧!您可以想象一下,这项功能可为客户带来多么广阔的应用场景。

使用异步 Amazon Rekognition Video API 进行视频分析的过程如下:

  1. 对 .mp4 或 .mov 视频调用 Rekognition Video Start 操作 API。请注意,视频必须使用 H.264 编解码器编码。Start 操作 API 包括:
    • StartPersonTracking
    • StartFaceDetection
    • StartLabelDetection
    • StartCelebrityRecognition
    • StartContentModeration
  2. Amazon Rekognition Video 处理视频并将 Start 操作 API 请求的完成状态发布到 Amazon SNS 主题。
  3. 您通过订阅 Amazon SQS 队列或您为 SNS 主题指定的 AWS Lambda 函数获取 API 完成结果通知。
  4. 使用 SNS 通知中提供的 JobID 调用与处理视频的 Start 操作 API 关联的 Get 操作 API。此外,Start API 响应中也包含 JobID。Get 操作 API 包括:
    • GetPersonTracking
    • GetFaceDetection
    • GetLabelDetection
    • GetCelebrityRecognition
    • GetContentModeration
  5. 通过 Get 操作 API 返回的 JSON 和下组结果的分页标记 (如果适用) 获取视频分析结果。

您可以通过 AWS CLI、AWS 软件开发工具包和/或 REST API 使用 Amazon Rekognition Video 的视频分析功能。我坚信,在学习一项新服务时,没有比亲身实践和体验更好的学习方法了。那么,我们来试试吧!

首先,我将两个 .mp4 文件格式的音乐视频上传到存储我的播放列表歌曲的 S3 存储桶。两个音乐视频分别是 Foo Fighters 的 Run 和 DJ Khaled 的 Wild Thoughts。对,您想的没错,我对音乐的品味就是这么广博和多样!

接下来,我为 Rekognition Video 通知创建一个 SNS 主题,并创建一个接收 SNS 主题通知的 SQS 队列。


将我的 SQS 队列 RekognitionVideoQueue 订阅到我的 SNS 主题 SNS-RekogntionVideo-Topic


然后,使用 AWS CLI 对我的视频 DJ_Khaled-Wild_Thoughts.mp4 调用 start-face-detection API 操作,并从 API 响应中获取 JobId

系统通知 RekognitionVideoQueue SQS 队列收到来自 SNS 主题的消息,消息中的 StatusSUCCEEDED。此时,我可以使用 JobId 调用 get-face-detection API 操作获取视频分析结果。


我也可以调用 start-label-detectionget-label-detection API 操作来对另一个视频 Foo_Fighters-Run.mp4 进行视频分析,以获取视频帧中检测到的对象的相关信息。

总结

利用 Rekognition Video 和使用手机、摄像机、物联网视频传感器拍摄的视频,可以使用实时流视频处理创建可扩展、高精度的视频分析解决方案。这项新的深度学习视频功能可自动执行检测视频中对象、人脸和活动所需的一切任务,通过与其他 AWS 服务集成,您能够构建适合不同工作负载的强大媒体应用程序。

有关 Amazon RekognitionRekognition Video 新功能的更多信息,请查阅产品页面上的“入门”部分或 AWS 文档中的 Rekognition 开发人员指南。

Tara