亚马逊AWS官方博客

Category: Artificial Intelligence*

宣布为 Apache MXNet 推出 ONNX 支持

今天,AWS 宣布推出 ONNX-MXNet,它是一种用于将 Open Neural Network Exchange (ONNX) 深度学习模型导入到 Apache MXNet 的开源 Python 程序包。MXNet 是功能齐全且可扩展的深度学习框架,可以跨 Python、Scala 和 R 等多种热门语言提供 API。通过 MXNet 的 ONNX 格式支持,开发人员可以使用 PyTorch、Microsoft Cognitive Toolkit 或 Caffe2 等其他框架构建和训练模型,然后将这些模型导入 MXNet 中运行,从而使用 MXNet 高度优化且可扩展的引擎进行推理。 我们还很激动地告诉大家,AWS 将在 ONNX 格式方面参与合作。我们将与 Facebook、Microsoft 和深度学习社区合作,进一步开发 ONNX,让深度学习从业人员都可以访问和使用它。 什么是 ONNX? ONNX 是一种用于对深度学习模型进行编码的开源格式。ONNX 定义神经网络计算图的格式以及图中使用的大量运算符的格式。随着越来越多的框架和硬件供应商支持 ONNX,从事深度学习的开发人员可以轻松地在框架间移动,选择最适合当前任务的框架。 快速入门 我们将介绍如何使用 ONNX-MXNet 将 ONNX 模型导入 MXNet,以及如何使用导入的模型进行推理,从 MXNet […]

Read More

AWS Deep Learning Conda AMI 和 Base AMI 入门

今天,AWS 宣布发布两个新版本的 AWS Deep Learning AMI:基于 Conda 的 AMI 和 Base AMI。本文介绍有关如何充分利用新 AMI 的说明和其他资源。 带 Conda 托管环境的新 Deep Learning AMI 这些面向 Amazon Linux 和 Ubuntu 的新 Deep Learning AMI 预安装了 Python 环境,用于使用 Conda 这个热门开源软件包和环境管理工具创建的深度学习。Conda 托管 Python 环境针对常见深度学习框架 (包括 Apache MXNet、TensorFlow、Caffe2、PyTorch、Keras、CNTK 和 Theano) 进行了预先配置。此外,每个 Python 环境都有两个版本 – Python 2 和 Python 3。使用 AWS 管理控制台登录 AWS EC2 […]

Read More

面向机器学习从业人员的新 AWS Deep Learning AMI

我们非常高兴宣布推出两个新版本的 AWS Deep Learning AMI:一个是基于 Conda 的 AMI,它具有单独的 Python 环境,面向通过 Conda 这个热门开源软件包和环境管理工具创建的深度学习框架;另一个是 Base AMI,它带有 GPU 驱动程序和库,可用来部署您自己的自定义深度学习模型。 在学术界和业界,从框架和算法到新的方法和理论,深度学习技术正在快速发展。对于需要快速安全测试算法、针对特定版本框架进行优化、运行测试和设置基准或从头开始合作项目的开发人员而言,这一切显得非常复杂。虚拟环境可为这些工作提供自由和灵活性,这就是我们现在向 AWS Deep Learning AMI 加入虚拟技术的原因。我们还准备了全新的开发人员资源,以帮助您详细了解这些 AMI,帮助您为项目选择合适的 AMI以及深入学习实践教程。 基于 Conda 的新 Deep Learning AMI 基于 Conda 的 AMI 预安装了 Python 环境,适合使用 Conda 创建的深度学习。每个基于 Conda 的 Python 环境都配置为包括常见深度学习框架及其依赖项。将它视为一个完全备份的虚拟环境,随时可以运行您的深度学习代码,例如,用来训练神经网络模型。我们的分步指南提供了有关如何为所选深度学习框架激活环境或使用简单的单行命令在不同环境之间进行切换的说明。 该 AMI 的优势不止于此。该 AMI 上的环境以相互隔离、独立的沙盒形式运行。这意味着,当您在沙盒内运行自己的深度学习代码时,可以全面了解和控制其运行时环境。您可以安装新软件包、升级现有软件包或更改环境变量,完全不用担心影响 AMI 上的其他深度学习环境。  这种级别的执行环境灵活性和精细控制还意味着您现在可以对深度学习模型运行一致和随着时间推移可再现的测试以及设置性能基准。 最后,该 AMI 提供直接集成 Jupyter […]

Read More

使用 Amazon Rekognition 和图形数据库来了解电影明星的社交网络

Amazon Rekognition 是一种让您能够向应用程序中轻松添加图像分析功能的 AWS 服务。由深度学习提供技术支持的此计算机视觉 API 中增加的最新功能为名人识别。这项简单易用的功能能够检测并识别出各领域数以千计的著名、值得注意或广为人知的人士。用户可以利用该工具根据任何特定兴趣对名人的数字图像库编制索引和进行搜索。 我们看到客户存储个人相关数据的一种常见方式是使用图形数据库。在之前的博文中我们曾仔细讨论过,像 Facebook、LinkedIn 和 Twitter 这样的公司已凭借其对庞大关系网络的管理能力,让整个社会的互动方式发生了彻底变革。本博文的目的就是展示将 Rekognition 的名人及人脸识别功能与图形数据库中存储的关系信息进行配对是多么简单。 这些技术的配对让客户只需要一张图片就能够知道图片中的人物与另一位相关人物的关系。用户甚至可以提交两张图片,然后快速确定这两张不同图片中的两个人之间可能存在怎样的相互关系。这种关系映射的一个有趣例子就是著名的 Kevin Bacon 六度分割游戏。然而,此类应用存在巨大商业价值。执法机构可以从两张图片入手,先使用 Rekognition 来识别当事人,然后再通过查询图形数据库来判断两名当事人是否彼此相识。同样地,酒店类公司也可以使用 Rekognition 和图形数据库来快速识别酒店内的任何名人,以及了解有哪些他们可能认识的其他名人在附近住宿。 在本博文中,我们将展示如何将 Rekognition 与图形数据库(我们将使用Neo4j 社区版)和使用 D3.js 库的 Jupyter Notebook 结合使用。 设置 要开始使用这项令人兴奋的组合技术,首先要从 AWS 实验室 Github 存储库获得一份项目副本。该项目结构主要包含两个方面: <project root> – 这是实际的 Jupyter Notebook 及所有依赖项所在的位置。 <project root>/cft – AWS CloudFormation 模板、示例属性,以及创建基础设施的示例命令。 您将需要添加一个新的或现有的 SSH 密钥。AWS CloudFormation 模板会安装 […]

Read More

Amazon Polly 增加 9 个 AWS 区域、Korean 语音支持和新的印度英语语音

Amazon Polly 是一种可将文本转换为逼真语音的 AWS 服务。今天,我们非常激动地宣布 Amazon Polly 的可用区域又增加了九个,现在 Polly 可用区域的总数已增加到 14 个。我们还非常激动地宣布推出韩语支持,并且我们向文本转语音产品组合中新增了印度英语语音。我们很高兴地推出了新的韩语女声 Seoyeon 和新的印度英语女声 Aditi。 Amazon Polly 现已在以下 14 个 AWS 区域推出,致力于为全球所有客户带来最高稳定性和最低延迟:亚太地区 (孟买)、亚太地区 (首尔)、亚太地区 (新加坡)、亚太地区 (悉尼)、亚太地区 (东京)、加拿大 (中部)、欧洲 (法兰克福)、欧洲 (爱尔兰)、欧洲 (伦敦)、南美洲 (圣保罗)、美国东部 (弗吉尼亚北部)、美国东部 (俄亥俄)、美国西部 (加利福尼亚北部) 和美国西部 (俄勒冈)。 自从 Amazon Polly 在 2016 年 re:Invent 大会上推出后,我们收到的其中一个最常见的要求是提供更多语言支持。在客户请求的众多语言中,韩语是请求频率最高的语言之一。为了响应客户的需求,我们非常高兴地宣布推出第一套韩语语音 Seoyeon。

Read More

使用新的声道 SSML 功能修改 Amazon Polly 语音的音品

今天,Amazon Polly 团队很高兴地宣布推出一项新的语音合成标记语言 (SSML) 功能,该功能使得开发人员可以修改任意文本到语音转换 (TTS) 声音的音品。这是一项极具吸引力的功能,适合希望在 Amazon Polly 产品组合中自定义现有语音的客户,使得声音更加贴近在其使用案例中所塑造的特定角色。客户在场景中需要使用多个不同的声音时,该功能尤为有用,因为音品功能使得客户可以轻松地从可用的各个 Amazon Polly 语音自定义多个声音形象。 什么是音品? 音品 描述了人们所感受到的音色或音质,这与音高或音量无关。它经常用于音乐中,例如用于区分铜管乐器和弦乐器,或者用于描述中提琴与小提琴的细微差别。音品是一种可用于区分各种乐器的感知属性,即使这些乐器都在以相同的音量演奏相同的调子。与此类似,在具体的语音场景中,音品是一个声音与另一个声音的区别,即使这些声音具有相同的音高 (即其基本频率) 和音量 (振幅)。 每个人的声音都是独一无二的,这是由于多种因素造成的,包括人的生理机能以及发出声音的方式。每个人的声带、声道的大小和形状甚至整个身体的大小和形状,在决定其正常的语音品质方面都起到了重要的作用。有一些方法,例如个人控制舌头的位置、收紧或松弛肌肉或者施加气压,都可以改变语音的音高、音量和音品。经过专业训练的演员可以学习控制这些动作,甚至能够改变自己的声音来模仿他人的声音。 声道与音高 影响到语音音品的一项重要生理特征是声道,这是从声带顶部直到嘴唇边缘的一个空气腔体。有多块肌肉可以用于改变声道腔体的形状,可以让它变长、变短、变宽或变窄。这些改变的效果是导致放大或过滤掉语音。 音高 是一项听觉属性,影响感受到的声音是高还是低。在发出语音的具体过程中,音高由声带振动的频率决定。相比男性,女性通常具有较短的声带,振动频率较高 (每秒约 180 到 200 个周期)。平均而言,男性具有较长的声带,振动更慢 (每秒约 110 个周期)。与此类似,女性的平均声道长度比男性要短 (分别为约 14 厘米与约 17 厘米)。 声带长度和声道长度具有内在的关联,也就是说,其中一个更长,另一个也倾向于随之更长。利用音品功能,开发人员可以在保留控制音高能力的同时更改声道的大小。 声道和语音合成 使用 vocal-tract-length SSML 标记,您可以通过更改发言者的声道来控制输入语音的音品。这听上去像是更改了发言者的身体大小。当您增加 vocal-tract-length 时,发言者的声音听上去像是他们的个子更大。减小时,听上去像是个子更小。此标记可用于 Amazon Polly 文本到语音转换产品组合中的任何语音。 下面说明了如何修改发言者声道的长度: +n% 或 -n%:按当前语音的相对百分比进行更改,来调整声道长度。例如,+4% 或 -2%。 n%:按当前语音的绝对百分比值来调整声道长度。例如,104% 或 […]

Read More

Apache MXNet 版本 0.12 扩展了 Gluon 功能以支持前沿的研究

上周,Apache MXNet 社区发布了 MXNet 版本 0.12。主要功能是支持 NVIDIA Volta GPU 和 sparse tensor。该版本还包括一些新的 Gluon 编程接口功能。特别是,可以通过这些功能在您的深度学习模型中轻松开展前沿的研究: 变分丢弃;可用于有效地应用丢弃技术以减轻递归神经网络 (RNN) 中的过拟合问题 卷积 RNN、长短期记忆 (LSTM) 和门控循环单元 (GRU) 单元;可用于对具有基于时间的序列和空间维度的数据集进行建模 七个新的损失函数、导出功能和训练器函数增强功能 变分丢弃 (VariationalDropoutCell) 根据最新的研究提供一种新的工具以减轻 RNN 中的过拟合问题。本文参考了“A Theoretically Grounded Application of Recurrent Neural Networks”和“RNNDrop: A Novel Approach for RNNs in ASR”。过拟合是一种建模错误,其中拟合的模型与训练数据集非常接近,以至于在查看新数据或测试数据集时,将会降低其预测精度。丢弃是一种建模技术,它随机地将模型参数归零,以便模型在训练过程中不会过度依赖于任何单个输入或参数。不过,这种技术尚未成功应用于 RNN。迄今为止的研究侧重于仅将丢弃完全随机地应用于输入和输出,即,在 RNN 的所有时间步长中将其归零。变分丢弃消除了这种涵盖所有时间步长的随机性,并在每个时间步长将相同的随机丢弃数组 (或掩码) 应用于 RNN 的输入、输出和隐藏状态。

Read More

利用 Amazon CloudWatch 监控 GPU 利用率

深度学习需要进行大量的矩阵相乘和向量运算,而 GPU (图形处理单元) 可以并行处理这些运算,因为 GPU 拥有数以千计的核心。Amazon Web Services 为您提供的 P2 或 P3 实例非常适用于运行深度学习框架,如 MXNet,该框架强调加速部署大型深度神经网络。 数据科学家和开发人员在微调网络时,希望优化其 GPU 的利用率,以使用最适当的批处理大小。在这篇博文中,我将向您展示如何使用 Amazon CloudWatch 指标监控 GPU 和内存的使用情况。至于 Amazon 系统映像 (AMI),我们建议您的实例使用 Amazon Deep Learning AMI。 要监控和管理已启用 GPU 的实例,目前常见的有益做法是使用 NVIDIA 系统管理接口 (nvidia-smi),这是一个命令行实用程序。用户可以利用 nvidia-smi 查询 NVIDIA GPU 设备的 GPU 利用率、内存消耗情况、风扇使用情况、功耗以及温度信息。 由于 nvidia-smi 的基础是 NVIDIA Management Library (NVML),所以我们可以使用这个基于 C 的 API 库捕捉相同的数据点,并作为自定义指标发送给 Amazon CloudWatch。如需了解有关此库的更多信息,请转至参考手册。在这篇博文中,我们将使用此库的 Python […]

Read More

Apache MXNet 版本添加了对新的 NVIDIA Volta GPU 和 Sparse Tensor 的支持

我们对 Apache MXNet 版本 0.12 的发布感到很兴奋。MXNet 社区的参与者密切合作,为用户带来了新的增强功能。在此版本中,MXNet 添加了两项新的重要功能: 对 NVIDIA Volta GPU 的支持,这使用户能够大大减少神经网络模型的训练和推理时间。 对 Sparse Tensor 的支持,这使用户能够以最有利于存储和计算的方式使用稀疏矩阵训练模型。 对 NVIDIA Volta GPU 架构的支持 MXNet v0.12 版本添加了对 NVIDIA Volta V100 GPU 的支持,这使客户训练卷积神经网络的速度比 Pascal GPU 的速度快 3.5 倍。训练神经网络涉及数万亿次的浮点数 (FP) 乘法与加法运算。这些计算通常已使用单精度 (FP32) 完成以实现较高的准确度。但是,最近的研究表明,用户可以通过使用半精度 (FP16) 数据类型的训练获得与使用 FP32 数据类型的训练相同的准确度。 Volta GPU 架构引入了 Tensor Core。每个 Tensor Core 每个时钟周期可执行 64 次乘法和加法混合运算,约为每个 CUDA 核心在每个时钟周期内执行的 […]

Read More

研究热点:基于 Apache MXNet 的开源 BNN (二值神经网络) 库 – BMXNet

这是一篇由德国波茨坦 Hasso Plattner 研究所的 Haojin Yang、Martin Fritzsche、Christian Bartz 和 Christoph Meinel 发布的客座文章。我们很高兴看到研究工作促进了深度学习在低功耗设备上的实际实施。这项工作在将强大的智能功能拓展到我们日常生活的过程中发挥着举足轻重的作用。 近年来,深度学习技术在学术界和行业里取得了良好的业绩和众多突破。但是,最先进的深度模型计算成本高昂、占用大量存储空间。移动平台、可穿戴设备、自主机器人、IoT 设备等领域的众多应用也对深度学习有着强烈的需求。如何在这样的低功耗设备上有效实施深度模型成了一大难题。 最近提出的二值神经网络 (BNN) 使用位运算代替标准算术运算,大大降低了存储器大小和访问要求。通过显著提高运行时效率和降低能耗,我们得以在低功耗设备上实施最先进的深度学习模型。这项技术与对开发人员友好 (相比 VHDL/Verilog 而言) 的 OpenCL 相结合,也使 FPGA 成为了深度学习的可行选择。 在这篇文章中,我们将为大家介绍一种基于 Apache MXNet 的开源 BNN (二值神经网络) 库 – BMXNet。开发完成的 BNN 层可以无缝应用于其他标准库组件,并且在 GPU 和 CPU 模式下均可工作。BMXNet 由 Hasso Plattner 研究所的多媒体研究小组维护和开发,在 Apache 许可证下发布。https://github.com/hpi-xnor 提供了该程序库以及一些示例项目和预训练二值模型等下载资源。 框架 BMXNet 提供支持输入数据和权重二值化的激活、卷积和全连接层。这些层称作 QActivation、QConvolution 和 QFullyConnected,经过专门设计,可直接替换相应的 MXNet 变体。它们提供了一个附加参数 […]

Read More