亚马逊AWS官方博客

Matrix Analytics 在 AWS 上使用深度学习来改善早期癌症检测

Matrix Analytics 致力于帮助拯救生命。这家位于科罗拉多州的创业公司使用 Amazon Web Services (AWS) 上的深度学习,跟踪诊断患有肺结节的患者的疾病发展情况。虽然肺结节通常为良性,但是密切监视并采取后续治疗,对于确诊结节是否会转变以及何时转变为恶性肿瘤非常关键。 公司创始人 Aki Alzubaidi 博士最初就职于 Glenwood Springs 医院,他发现有些患者由于未进行检查而情况恶化。用于跟踪患者的系统非常繁琐且杂乱,使得许多患者未能接受推荐的后续治疗,造成了本可避免的不良后果。 预测癌症风险和管理医疗 该公司的旗舰软件应用程序 LungDirect 使用双管齐下的方法进行早期癌症介入治疗:预测恶性肿瘤风险和自动化后续治疗。 首先,采用深度学习算法构建的先进计算机成像功能根据下列因素评估肺结节的恶性肿瘤风险:结节大小、形状、密度、体积以及患者个人情况,例如烟龄、年龄、性别和种族。“我们希望能够获取所有的临床信息,例如放射科测试、实验室测试或个人临床病理因素,然后获得病情发展的可能性,在实用工具上提供结果并管理接下来的步骤,这就是我们采用深度学习的目标,”Alzubaidi 博士说到。 为了发现可能隐藏在数据之下的不同非线性关系类别,采用了五种不同的机器学习模型类别。使用一组计算机成像算法,直接从图像中自动提取四种不同的特征类别。 开发一种工具,来“不可思议地自动”读取患者扫描图像来预测和诊断癌症,这不是一件易事。不过,Matrix Analytics 非常快地开发出了验证概念的原型。然后,该公司实施深度学习模型并与现有文献中的基准进行比较。

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

新增 – 适用于 AWS 服务的 AWS PrivateLink:在您的 VPC 中的 Kinesis、Service Catalog、EC2 Systems Manager、Amazon EC2 API 和 ELB API

这篇客座文章是由 Amazon Virtual Private Cloud 高级工程师 Colm MacCárthaigh 撰写的。 自 2015 年推出 VPC 终端节点以来,创建终端节点已成为从 Amazon Virtual Private Cloud (VPC) 中安全地访问 S3 和 DynamoDB 的一种常见方法,而无需使用 Internet 网关、NAT 网关或防火墙代理。在使用 VPC 终端节点时,VPC 和 AWS 服务之间的路由是由 AWS 网络处理的,并且可以使用 IAM 策略控制对服务资源的访问。 今天,我们宣布推出 AWS PrivateLink,这是最新一代的 VPC 终端节点,旨在使客户以高度可用且可扩展的方式访问 AWS 服务,同时将所有流量保持在 AWS 网络内。现在,可以在您的 VPC 中使用 Kinesis、Service Catalog、Amazon EC2、EC2 Systems Manager (SSM) 和 Elastic […]

Read More

新增 Amazon S3 加密和安全功能

早在 2006 年,当我宣布 S3 时,我写道:“此外,每个块都受 ACL (访问控制列表) 的保护,从而允许开发人员根据需要保持数据私有、共享以供读取或共享以供读写。” 起点是那个具有私有存储桶和用于授予访问权限的 ACL 的初始模型,此后我们添加了对存储桶策略、服务器访问日志记录、版本控制、API 日志记录、跨区域复制以及多个客户端和服务器端加密选项的支持,所有这些都是为了给您提供所需的工具,保护您的数据,同时允许您根据需要与客户和合作伙伴共享数据。我们还加入了人工智能和机器学习作为演绎元素,并推出了 Amazon Macie,这一工具可帮助您发现、分类和保护海量的内容。 今天,我们将要向 S3 中添加五个新的加密和安全功能: 默认加密 – 现在,您可以强制存储桶中的所有对象都必须以加密形式保存,而不必构造一个拒绝未加密对象的存储桶策略。 权限检查 – S3 控制台现在在每个可公开访问的 S3 存储桶旁边显示一个显眼的指示器。 跨区域复制 ACL 覆盖 – 当您跨 AWS 账户复制对象时,您现在可以指定对象获取一个新的 ACL,以便对目标账户进行完全访问。 涉及 KMS 的跨区域复制 – 您现在可以复制使用由 AWS Key Management Service (KMS) 管理的密钥进行加密的对象。 详细清单报告 – S3 清单报告现在包括每个对象的加密状态。该报告本身也可以加密。 让我们了解一下每个功能… 默认加密 您的 S3 对象有三个服务器端加密选项:SSE-S3 (使用由 […]

Read More

现已推出 – Amazon EC2 的计算密集型 C5 实例

我很高兴地宣布,新的计算密集型 C5 实例今天在三个 AWS 区域推出,有六种大小规格! 这些实例专用于计算密集型应用程序,例如批处理、分布式分析、高性能计算 (HPC)、广告服务、高度可扩展的多人游戏和视频编码。新实例提供了比 C4 实例高 25% 的价格/性能改进,对于某些工作负载可超过 50%。它们还有额外的每 vCPU 内存,而且 (对于可以利用新 AVX-512 指令的代码) 对于向量和浮点工作负载有两倍的性能。 多年来,我们一直在不停地工作,为客户提供可能的最佳网络、存储和计算性能,长期专注于将许多类型的工作分流到由 AWS 设计和建造的专用硬件上。C5 实例类型包含了我们的最新一代硬件分流,另外还在添加一个与我们的硬件密不可分地一起运行的新管理程序方面又迈出了一大步。新的管理程序允许我们让您访问主机硬件提供的所有处理能力,同时也使性能更加一致,并进一步提高了安全性的门槛。我们将在 AWS re:Invent 分享很多关于它的技术细节。 新实例 C5 实例有六种大小: 实例名称 vCPU RAM EBS 带宽 网络带宽 c5.large 2 4 GiB 最高 2.25 Gbps 最高 10 Gbps c5.xlarge 4 8 GiB 最高 2.25 Gbps 最高 10 Gbps c5.2xlarge […]

Read More

EC2 可转换预留实例更新 – 新的 1 年 CRI,合并和拆分

我们在大约一年前推出了 EC2 的可转换预留实例。可转换 RI 为您提供了大幅折扣 (与按需相比通常为 54%),并允许您更改与 RI 相关联的实例系列和其他参数 (如果需要更改)。 今天,我们推出具有 1 年期的可转换 RI,这是对现有的 3 年期的补充。我们还允许您交换部分 RI 以及执行批量交换,从而使可转换预留实例模型更加灵活。 新的 1 年期可转换 RI 具有 1 年期的可转换预留实例现已推出。这将给您更多选项和更多灵活性;您现在可以根据需要购买 1 年期和 3 年期可转换预留实例 (CRI) 的组合。有财政约束的初创公司将会发现这一选项颇具吸引力,而其他可能无法做出运行超过一年的承诺的企业也会觉得有吸引力。 合并和拆分可转换 RI 假设您开始在 M4 实例上运行 Web 和应用程序服务器并使用可转换 RI 来节约资金。稍后,在有了优化实践后,您可以将应用程序服务器迁移到 C4 实例。随着今天的推出,您可以用您的部分 M4 可转换 RI 来交换 C4 可转换 RI。您还可以合并两个或更多 CRI (可能用于较小的实例),获得一个 CRI 以用于较大的实例。 可转换预留实例的交换模型基于拆分、交换和合并。比方说,我拥有一个 3 […]

Read More

AWS 价目表 API 更新 – 新增查询和元数据函数

原始 AWS 价目表 API (如新增 – AWS 价目表 API中所述) 使您可以通过结构化 URL 访问 JSON 和 CSV 形式的价格。虽然这对某些类型的成本管理工具很有效,但文件的大小和复杂性使得它们难以下载,而且难以解析。今天,我们将要通过添加新函数来更新 API,使您可以执行精细价格查询,从而仅返回您需要的价格。这将使您能够在移动应用程序和基于浏览器的应用程序中使用这些价格。 新增函数 下面是新增函数: DescribeServices – 返回用于定义服务中的产品的属性键集合。例如,为 EC2 返回的键将包括 physicalProcessor、memory、operatingSystem、location 和 tenancy。 GetAttributeValues – 返回给定属性键的所有允许值。例如,operatingSystem 键的值包括 Windows、RHEL、Linux 和 SUSE;location 键的值包括 US East (N. Virginia) 和 Asia Pacific (Mumbai)。 GetProducts – 返回与基于服务名称和属性值的筛选条件表达式匹配的所有产品及其公开价格。 您可以从 AWS 开发工具包中访问这些函数。为了试用它们,我使用了 Python 和适用于 Python 的 AWS 开发工具包。我首先导入开发工具包并创建客户端: […]

Read More

Amazon S3 深度实践系列之二:如何实现 S3 数据跨区域高效可靠传输

背景 在Amazon S3 深度实践系列之一:S3 CLI深度解析及性能测试一文中,我们深度剖析了AWS CLI S3相关命令的实际工作原理及单机下载S3数据的基本性能测试情况。在实际工作场景中,很多客户会在AWS多个区域的S3桶里面存储大量数据,而且会遇到将数据批量从一个区域一次转移到另外一个区域的情形;因此,在本篇中,作者和大家一起来探讨下出现这样的需求我们如何进行架构设计及高效实现。 架构设计 存储在S3中的对象随着时间的推移,对象数量逐渐增加,而且总体的数据量也不断膨胀,如果碰到需要将数据从某一个区域的S3存储桶完全复制到另外一个S3存储桶里面,我们会遇到哪些挑战呢? 网络传输带宽的限制 存储桶里面所有对象的分析和列表 源存储桶和目标存储桶权限的设定 传输失败识别和重试的挑战 如何利用并发来加速传输及降低成本 如何判断目标存储桶中的对象和源存储桶中的对象差异及完整性 在通用架构设计环节,我们将复杂的问题分解成一系列的子问题进行分析,并讨论在不同场景下的具体实现时要考虑的因素。如下图所示,我们将该任务分解成独立的五个环节,从图上我们也可以看出来,如何实现大规模数据或任务的并发执行是每个环节能否高效完成的一个很关键的技术要求;而且,只有在步骤三执行数据传输任务时,才会涉及到具体场景中的技术限制,因此我们在执行数据传输任务章节来讨论,同区域不同存储桶之间,AWS海外不同区域存储桶之间,以及AWS海外和国内不同存储桶之间的具体技术考量点。 S3对象“清单” 了解源和目标存储桶里的S3 对象是非常重要的准备工作,该章节我们讨论,如何获得S3存储桶的所有对象列表,包含对象的基本的信息,比如最新版本的对象大小,ETag等等。 Amazon S3本身提供了存储桶管理功能之清单生成功能,该功能是一个异步的AWS后台定期执行,可以实现每天生成一个存储桶清单保存成Excel格式。 同时我们也看到很多用户提问,如何实现一个自定义的清单功能,满足大家对于对象变化比较频繁的存储桶对象的实时统计场景以及更多高级自定义的业务逻辑。 接下来我们来看看这两种方法的具体实现逻辑。 利用S3 CLI实现高效的清单功能 作者利用AWS S3 CLI实现高效的清单功能基于以下两个事实前提: s3api 的 list-objects-v2虽然文档中说明最多返回1000个对象,但实测可以获得所有对象列表 同样利用s3api 的 list-objects-v2的delimiter和prefix参数,我们可以实现类似文件夹目录逐级扫描功能 基于以上两个事实,我们实现桶清单的主要逻辑如下图所示: 输入参数主要是:bucket,region和IAM 配置的profile名字,profile默认为default;另外depth控制扫描的“目录”层级 当depth为零时,我们直接尝试利用list-objects-v2一次性获取存储桶中所有对象列表并生成一个json格式的文件(但当桶里面对象太多时,该操作会超时) 当depth为零即单线程无法直接生成存储桶清单时,我们就尝试如下迭代逻辑: 生成存储桶当前“目录”里面的所有对象和该目录中所有“子目录”列表 遍历上一步的“子目录”列表,迭代生成该目录下的对象列表和“子目录”列表 如果遍历的深度等于输入参数depth=n,或者“子目录”列表为空,那么停止遍历子目录,直接生成该层级“目录”里面所有的对象列表 以下是几个关键点实现的代码说明,首先,生成某个“目录”前缀下所有对象列表的AWS S3 CLI命令参考,如下命令将在操作系统后台执行并生成存储桶jason中“目录”前缀“qwikLabs/”下的所有对象列表(包括所有嵌套“子目录”中的所有对象): $ nohup aws s3api list-objects-v2 –bucket “jason” –prefix “qwikLabs/” –profile […]

Read More

如何使用Amazon EC2 Systems Manager自动创建数据一致的EBS快照(Part 2)

作者:王宇 上一期我们讨论了如何在不关机的前提下实现AWS上实例的数据一致性快照问题,传送门:《如何使用Amazon EC2 Systems Manager自动创建数据一致的EBS快照(Part 1)》 在本文的介绍中,我们将共同探索如何利用Amazon EC2 Systems Manager(SSM)和Microsoft VSS (Volume Shadow Copy Service)来创建数据一致的EBS快照。 SSM + VSS数据一致快照的原理 VSS (Volume Shadow Copy Service)是一个Windows操作系统内置的服务,用来协调与VSS兼容的应用程序(如SQL Server、Exchange Server等)的备份工作,如冻结或释放这些应用程序的I/O操作等。 VSS服务能够启动和监督副本拷贝的创建。“副本拷贝”是指一个逻辑卷在某一个时间点上的数据一致快照。比如:“C:”是一个逻辑卷,它与EBS快照不同。创建副本拷贝的步骤包括: 请求方向VSS发出创建副本拷贝的请求。 VSS provider创建并维护副本拷贝。 VSS写入器(writer)保证数据的一致性。写入器负责在VSS provider创建副本拷贝之前固化临时数据并冻结I/O操作,并在VSS provider完成创建后释放I/O操作。通常情况下,会为每一个与VSS兼容的应用程序分配一个独立的写入器(writer)。 我们可以使用Run Command在windows实例中运行一个PowerShell脚本: $EbsSnapshotPsFileName = “C:/tmp/ebsSnapshot.ps1” $EbsSnapshotPs = New-Item -Type File $EbsSnapshotPsFileName -Force Add-Content $EbsSnapshotPs ‘$InstanceID = Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/instance-id’ Add-Content $EbsSnapshotPs ‘$AZ = […]

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