AWS Machine Learning 基础设施

适用于每种工作负载的高性能、经济高效、可扩展基础设施

AWS 上机器学习的运用频率多于其他任何地方

许多涉足多个行业的客户选择 AWS 而非其他云,来构建、训练和部署其机器学习 (ML) 应用程序。AWS 可为任何 ML 项目或应用程序提供选择最齐全的强大计算、高速联网和可扩展高性能存储选项。

每个 ML 项目各不相同,通过 AWS,您可以定制自己的基础设施以适应自己的性能和预算要求。从使用对您的团队效果最佳的 ML 框架,到选择正确的硬件平台以托管您的 ML 模型,AWS 都能提供齐全的服务选择以满足您的需要。

企业发现了将 ML 用于建议引擎、对象检测、语音助理、欺诈侦测和更多其他功能的新途径。虽然使用 ML 的吸引力一直在增加,但是训练和部署 ML 模型费用昂贵,模型开发时间很长,并且获得正确数量的基础设施以满足变化的业务条件可能充满挑战。AWS ML 基础设施服务具有高性能、经济实惠且高度灵活的特点,因而消除了采用 ML 的壁垒。

AWS ML 基础设施:高性能、经济实惠且高度灵活 (3:20)

从众多的机器学习服务中选择

下图演示了 AWS 所提供的服务的深度和多样性。工作流服务显示在最上层,通过它们可以轻松地管理和扩展底层 ML 基础设施。下一层突出显示的是支持所有领先 ML 框架的 AWS ML 基础设施。 最下层显示的是计算、联网和存储服务示例,它们构成 ML 基础设施的基石。

从众多的机器学习服务中选择 Amazon SageMakerAWS Deep Learning AMIsAWS Deep Learning ContainersAWS BatchAWS ParallelClusterAmazon EKSAmazon ECSAmazon EMRTensorFlowPyTorchMXNetEC2 P4EC2 P3EC2 G4EC2 Inf1Elastic InferenceAWS OutpostsElastic Fabric AdapterAmazon S3Amazon EBSAmazon FSxAmazon EFS

机器学习基础设施服务

传统 ML 开发是一种复杂、昂贵的迭代式流程。首先,您需要准备示例数据训练模型。然后,开发人员需要选择他们将用来构建模型的算法或框架。然后,他们需要训练模型如何做出预测,并进行调谐以使其提供最有可能的预测结果。最后,他们需要将该模型与应用程序集成,并在可扩展的基础设施上部署此应用程序。

  • 准备
  • 构建
  • 训练
  • 部署
  • 准备
  • 数据科学家经常会耗费大量时间来探索和预处理,或者“纠缠”示例数据,然后才能将其用于模型训练。为了预处理数据,您通常要将数据提取到存储库,通过筛选和修改数据使其更容易探索以“净化”数据,然后过滤掉您不需要的部分将数据准备或转变成有意义的数据集,并标注数据。

    挑战 AWS 解决方案 如何实现
    手动数据标注 Amazon Mechanical Turk 提供按需、可扩展的人力资源来完成任务。
    手动数据标注 Amazon SageMaker Ground Truth 使用人工标记的数据训练 Ground Truth 使该服务学会独立标注数据,以完成自动标记。
    管理和扩展数据处理 Amazon SageMaker Processing 将完全托管式体验扩展到数据处理工作负载。连接到现有的存储或文件系统数据源,增加运行作业所需的资源,将输出保存到持久性存储中,并检查日志和指标。
    训练模型所需的大量数据的管理 Amazon EMR 采用经济实惠的方式快速地处理海量数据。
    训练模型所需的大量数据的共享文件存储
    Amazon S3 使用随时可访问的 get/put 访问格式实现数据的长期持久存储的全球可用性。
  • 构建
  • 当您有训练数据可用时,您需要选择学习风格符合需要的机器学习算法。这些算法可以宽泛地分类为有监督学习、无监督学习或强化学习。为了协助您开发模型,提供了不同的机器学习框架(例如,TensorFlow、Pytorch 和 MXNet)以及库和工具以简化开发工作。

    挑战 AWS 解决方案 如何实现
    获得 Jupyter 笔记本 托管式 Jupyter 笔记本 在您选择的 EC2 实例上运行的托管式 Jupyter 笔记本。
    Jupyter 笔记本中的共享和协作 Amazon SageMaker 笔记本 完全托管式 Jupyter 笔记本,您可以在几秒内开始使用并通过单击共享。代码依赖项都是自动捕获,因此您可以轻松与他人协作。同行将获得保存在同一位置的完全相同的笔记本。
    算法创建 Amazon SageMaker 预构建算法 高性能、可扩展的机器学习算法,针对速度和准确性进行了优化,可以在 PB 级数据集上执行训练。
    深度学习框架优化 Amazon SageMaker 这些一流的框架会自动配置和优化以实现高性能。您无需手动设置框架,就可以在内置容器中使用它们。
    开始使用多种 ML 框架 AWS Deep Learning AMI 让用户能够通过热门深度学习框架以及 TensorFlow、PyTorch 和 Apache MXNet 之类的接口快速地启动预安装的 Amazon EC2 实例。
    开始通过容器使用多种 ML 框架   AWS Deep Learning Containers 预先安装了深度学习框架的 Docker 镜像,可以轻松地快速部署自定义机器学习环境。
  • 训练
  • 扩建模型之后,您需要计算、联网和存储资源来训练模型。更快的模型训练使数据科学家和机器学习工程师能够更快地进行迭代、训练更多模型并提高准确性。训练了模型之后,对它进行评估以确定推理的准确性是否可接受。

    实例

    挑战
    AWS 解决方案            如何实现
    对时间敏感的大规模训练 即将推出:由 AWS Trainium 提供支持的 EC2 实例
    AWS Trainium 是由 AWS 定制设计的机器学习 (ML) 芯片,可为在云中训练 ML 模型提供最佳性价比。 除了获得了成本效益最高的 ML 训练,Trainium 还通过最大 TFLOPS 值的计算能力为云中的 ML 带来最高性能,并支持更多样的 ML 应用程序。
    对时间敏感的大规模训练 即将推出:由 Habana Gaudi 提供支持的 EC2 实例
    由 Intel 公司 Habana Labs 的 Gaudi 加速器提供支持的 Amazon EC2 实例专为训练深度学习模型而设计。新 EC2 实例将利用多达 8 颗 Gaudi 加速器,其性价比将比当前基于 GPU 的 EC2 实例提高多达 40%,适用于训练深度学习模型。
    对时间敏感的大规模训练 Amazon EC2 P4 实例 P4d 实例利用 8 个 NVIDIA A100 Tensor Core GPU、400 Gbps 实例联网能力以及 NVIDIA GPUDirect RDMA(远程直接内存存取)对 Elastic Fabric Adapter (EFA) 的支持,在云中实现最高性能的机器学习训练。 P4d 实例部署在称为 EC2 UltraCluster 的超大规模集群中,该集群可在日常工作中为 ML 开发人员、研究人员和数据科学家提供超级计算机级性能。
    对时间敏感的大规模训练 Amazon EC2 P3 实例 P3 实例可使用多达 8 个 NVIDIA® V100 Tensor Core GPU 和高达 100 Gbps 的联网吞吐量为每个实例带来一千万亿次的混合精度性能。
    对成本敏感的小规模训练 Amazon EC2 G4 实例 G4 实例可达到 65 TFLOP 的 FP16 性能,成为小规模训练任务中无可争议的解决方案。

    编排服务

    挑战 AWS 解决方案 如何实现
    多节点训练 Elastic Fabric Adapter EFA 让客户能够使用定制的操作系统 (OS) 旁路硬件接口大规模地运行需要高级别节点间通信的应用程序。
    高度可扩展的容器编排 Amazon Elastic Container Service (ECS) ECS 是一项完全托管的容器编排服务。
    高度可扩展的 Kubernetes 编排 Amazon Elastic Kubernetes Service (EKS) 您可以结合使用 Kubeflow 与 EKS 来为您的机器学习工作流程建模,并高效地运行分布式训练任务。
    大规模训练 AWS Batch Batch 可根据提交的批处理任务的容量和特定资源需求动态预置最佳的计算资源数量和类型。
    针对大规模训练优化性能 AWS ParallelCluster AWS ParallelCluster 自动为大规模 ML 训练项目设置必需的计算资源和共享文件系统。

    存储

    挑战 AWS 解决方案 如何实现
    可扩展存储 Amazon S3 S3 可以作为存储层轻松地完成每秒数事务处理。
    存储访问的吞吐量和延迟 Amazon FSx for Lustre 与 S3 集成的 FSx for Lustre 可为共享文件系统带来高吞吐量以及一致的低延迟。
    中央位置的批量处理 Amazon Elastic File System (EFS) 通过 EFS 从笔记本环境就能轻松地访问大型机器学习数据集或共享代码,无需预置存储或顾虑管理网络文件系统。
    临时工作存储的高 I/O 性能 Amazon Elastic Block Store (EBS) EBS 可实现个位数毫秒级的延迟,以满足高性能存储需要。

    完全托管服务

    挑战 AWS 解决方案 如何实现
    实验管理和跟踪 Amazon SageMaker 实验 采用轻松且可扩展的方式评估和组织训练实验,整理数计千计的训练实验、将实验构件记录在日志中,并快速地可视化模型。
    调试模型 Amazon SageMaker 调试程序 一种可视化界面,用于分析调试数据以及观察关于训练流程中的潜在异常的可视化指标。
    模型调优 Amazon SageMaker 自动模型优化 通过调整数千个不同的算法参数组合来自动优化您的模型,从而达到模型能够实现的最精准预测。
  • 部署
  • 当您完成训练并将模型优化到所需的准确性和精度等级后,将其投入生产以做出预测。推理是实际上占到机器学习成本绝大部分的因素。根据客户的观点,机器学习推理最多可占运行机器学习工作负载的总体运营成本的 90%。

    实例

    挑战 AWS 解决方案 如何实现
    高成本和低性能 Amazon EC2 Inf1 实例 Inf1 实例具有多达 16 个 AWS Inferentia 芯片,这是由 AWS 专门设计和打造的高性能机器学习推理芯片。
    使用 NVIDIA 的 CUDA、CuDNN 或 TensorRT 库的模型推理 Amazon EC2 G4 实例 G4 实例配有 NVIDIA T4 GPU,与 CPU 相比它的低延迟吞吐量性能提高 40 倍。
    利用 Intel AVX-512 矢量神经网络指令 (AVX512 VNNI) 的模型推理 Amazon EC2 C5 实例 C5 实例包括 Intel AVX-512 VNNI,它有助于加速卷积等典型的机器学习操作,并自动改善大量深度学习工作负载的推理性能。
    正确规模的推理加速获得最佳性价比 Amazon Elastic Inference Elastic Inference 允许您将低成本 GPU 驱动型加速附加到 Amazon EC2 实例。
    低延迟推理、本地数据处理或存储要求
    AWS Outposts AWS Outposts 是一项完全托管式服务,可将 AWS 基础设施、AWS 服务、API 和工具扩展到几乎任何数据中心、主机托管空间或本地设施。

    扩展推理

    挑战 AWS 解决方案 如何实现
    基础设施的复杂扩展 AWS Cloudformation CloudFormation 使您可以跨所有地区和账户,使用编程语言或简单的文本文件以自动化的安全方式,为您的应用程序需要的所有资源建模并进行预置。
    不可预测的基础设施可扩展性 AWS Auto Scaling AWS Auto Scaling 可以监控您的应用程序并自动调整容量,从而以尽可能低的成本来保持稳定、可预测的性能。
    不可预测的 EC2 实例使用 Amazon EC2 队列 只需一次 API 调用,即可按照期望的规模、性能和成本,跨 EC2 实例类型和购买模式预置容量。
    确保模型准确性 Amazon SageMaker 模型监控器 持续监控生产环境中机器学习模型的质量,并在模型质量有偏差时提醒您,无需构建附加工具。
    管理推理成本 Amazon SageMaker 多模型终端节点 只需单击一个终端节点即可部署多个模型,并使用单个服务容器提供服务,以通过它们以可扩展且成本高效的方式部署大量模型。
丰田

“P3 实例曾帮助我们将训练机器学习模型的时间从几天缩短到几小时,我们希望利用 P4d 实例,在增加了 GPU 内存并采用更高效的浮点格式后,允许我们以更快的速度训练更复杂的模型。”

Intuit

Intuit 全面采用 AWS,并使用 AWS 更好地为其客户服务。Intuit 使用 Amazon SageMaker 快速且大规模地训练其机器学习模型,从而将部署模型所需的时间缩短了 90%。了解更多。

GE Healthcare

“使用以前的 GPU 集群,需要几天时间来训练复杂的 AI 模型,例如渐进式 GAN,来模拟和查看结果。使用新 P4d 实例后,处理时间从几天缩短到了几小时。我们见证了训练模型的速度提高了两三倍。”

Capital One

Capital One 可以通过机器学习将数据转化为洞察,允许公司代表客户快速创新。Capital One 使用包括 Amazon S3 在内的 AWS 服务来推动其机器学习创新。了解更多。

Zillow

Zillow 使用 Spark 在 Amazon EMR 上运行其 ML 算法,以快速地创建可扩展集群并使用分布式处理能力近实时地处理大型数据集、创建功能、训练数百万个 ML 模型并对其评分。了解更多。

数字演示

性能

提高 2.5 倍

P4d 的深度学习性能与上一代 P3 实例相比,可在云中带来最高的性能。

性能

62 分钟

这是使用包含 2048 个 GPU 的 256 P3dn.24xlarge 实例通过 TensorFlow 训练 BERT 所需时间的记录

成本低廉

降低 40%

Inf1 实例的每次推理成本与 G4 相比的降幅,可在云中获得最低的每次推理成本。

可用性

全球 22 个

地理区域,包含多达 69 个可用区,均可获得众多 AWS 机器学习基础设施服务。

优势

  • 高性能
  • 经济高效
  • 高度灵活
  • 高性能
  • 数据科学家和 ML 工程师的开发效率经常受到他们为了集成新功能、提高预测准确性或调整数据漂移可对其深度学习模型进行训练的频率限制。AWS 提供了高性能计算、联网和存储基础设施,可按随用随付的付费模式广泛获得,让开发团队能够根据需要训练其模型,避免基础设施妨碍其创新。

    计算:将训练时间缩短到分钟,增强您的推理

    AWS 提供了高性能 GPU 实例和业内第一款配备了为 ML 推理定制的芯片的实例。

    Amazon EC2 P4d 实例是云中用于机器学习训练的最高性能的实例,与上一代 P3 实例相比可将训练成本降低多达 60%,包括深度学习性能提高 2.5 倍。P4d 实例还部署在称为 EC2 UltraCluster 的超大规模集群中,该集群包含 4000 多个 NVIDIA A100 GPU、PB 级联网能力以及通过 FSx for Lustre 实现的可扩展、低延迟存储。EC2 UltraCluster 支持日常开发人员、研究人员和数据科学家根据模型使用按需付费,从而获得超级计算级性能,无需任何设置或维护成本。

    Amazon EC2 P4d

    对于在生产中部署经过训练的模型,Amazon EC2 Inf1 实例可在云端提供高性能和最低成本的机器学习推理。这些实例拥有 AWS Inferentia 芯片,这是由 AWS 设计和打造的高性能机器学习推理芯片。每个 Inf1 实例具有 1 到 16 个 AWS Inferentia 芯片,可以将性能扩展到每秒多达 2000 万亿次运算 (TOPS)。

    Amazon EC2 Inf1

    联网:可扩展基础设施适合高效的分布式训练或扩展推理

    训练大模型需要时间,模型越大、越复杂,训练需要使用的时间越长。AWS 可提供多种联网解决方案帮助客户扩展其多节点部署,以缩短训练时间。Elastic Fabric Adapter (EFA) 是 Amazon EC2 实例的网络接口,使客户能够在 AWS 上大规模运行需要高级别节点间通信的应用程序。它的定制操作系统 (OS) 旁路硬件接口增强了实例间通信的性能,这对于高效地扩展至关重要。通过 EFA,使用 NVIDIA Collective Communications Library (NCCL) 的机器学习训练应用程序可扩展到数千个 GPU。 结合高达 400 Gbps 的每个实例网络带宽与 NVIDIA GPUDirect RDMA(远程直接内存访问)在实例之间实现低延迟 GPU 至 GPU 通信,您可以达到昂贵的本地部署 GPU 集群的性能,同时兼有 AWS 云的按需弹性和灵活度。

    Elastic Fabric Adapter (EFA)

    存储:创建数据湖或管理标注数据的理想选择

    所有行业内各种规模的组织,都在使用数据湖将数据从必须管理的成本转变成可用于借助机器学习获得宝贵业务见解或提供增强客户体验的业务资产。Amazon Simple Storage Service (S3) 是最大的高性能对象存储服务,适用于结构化和非结构化数据,也是构建数据湖的首选存储服务。使用 Amazon S3,您可以在安全的环境(数据受到 99.999999999% 的持久性保护)中经济高效地构建和扩展任何规模的数据湖。对于分布式训练,如果您需要更快地访问标注数据,Amazon FSx for Lustre 可带来针对亚毫秒级延迟优化的性能以及可扩展到每秒 GB 级数据的吞吐量。FSx for Lustre 与 Amazon S3,集成,从而可以方便地使用 Lustre 文件系统处理数据集。当连接到 S3 存储桶时,FSx for Lustre 文件系统会以透明方式将 S3 对象呈现为文件,并允许您将更改后的数据写回 S3。

    Amazon Simple Storage Service (S3)
  • 经济高效
  • 组织正在快速地采用深度学习前所未有的应用程序。伴随着模型复杂性的迅速提高,构建、训练和部署机器学习应用程序的成本快速地增长。随着公司从探索和实验机器学习转为大规模地部署其应用程序,AWS 可在整个应用程序开发周期中提供性能和低成本基础设施服务的理想组合。

    行业内最低的 ML 推理成本

    机器学习推理最多可占在生产中运行机器学习应用程序的总体运营成本的 90%。Amazon EC2 Inf1 实例可在云端提供高性能和最低成本的机器学习推理。Inf1 实例的构建目的就是用于支持机器学习推理应用程序。它们具有多达 16 个 AWS Inferentia 芯片,这是由 AWS 专门设计和打造的高性能机器学习推理芯片。每个 AWS Inferentia 芯片都能在低功率下支持高达 128 TOPS(每秒万亿次运行)的性能,从而获得高性能效率。

    Amazon EC2 Inf1

    对于需要 GPU 以在生产中运行其模型的应用程序,Amazon EC2 G4 实例是行业内成本效益最高的 GPU 实例。这些实例拥有 NVIDIA T4 GPU,可采用不同的大小,能够访问一个 GPU 或多个具有不同数量 vCPU 和内存的 GPU,从而使您能够灵活地为应用程序选择正确的实例大小。

    Amazon EC2 G4

    并非所有机器学习全都相同,不同的模型可从不同级别的硬件加速中受益。基于 Intel 的 Amazon EC2 C5 实例提供了 Amazon EC2 系列中每 vCPU 的最低价格,并且非常适合运行高级计算密集型工作负载。这些实例支持英特尔深度学习加速,可在性能与在生产中运行 ML 模型的成本之间达到理想的平衡。

    Amazon EC2 C5

    借助 Amazon Elastic Inference,您可以将低成本 GPU 驱动的加速附上 Amazon EC2 实例、Amazon SageMaker 实例或 Amazon ECS 任务,以将运行深度学习推理的成本降低多达 75%。

    Amazon Elastic Inference

    众多 GPU 实例选择可优化时间与训练成本,并且大规模提供

    根据机器学习应用程序的类型,客户首选优化其开发周期,以减少训练其 ML 模型所需的时间,或降低训练的总拥有成本。在大多数情况中,训练成本不仅包括训练的成本,还包括 ML 工程师和数据科学家可能用来优化其模型的空闲时间的机会成本。

    Amazon EC2 G4 实例带来了行业内成本效益最高的 GPU 平台。这些实例最适合训练不那么复杂的模型,是对训练时间不太敏感的企业或机构的理想选择。通过 G4 实例可访问多达八个 NVIDIA T4 GPU,各自可达到高达 65 TFLOPs 的 FP16 性能。

    Amazon EC2 G4

    Amazon EC2 P4 实例提供一流的单实例和分布式训练性能,允许工程团队大幅削减其模型迭代时间、加快上市速度,并优化其整体工程支出。这些实例与上一代 P3 实例相比可产生多达 60% 的成本下降,并可通过使用 Spot 时折扣高达 90% 的所有 EC2 定价选项部署。由于 GPU 和硬件 ML 加速器的性能每 18 个月至少提高 2 倍,因此按随用随付的模式使用 AWS 基础设施让您能够利用最佳性价比的优势,而不必将宝贵的资本支出固定用于保质期有限的本地集群。

    Amazon EC2 P4

    Amazon EC2 P3 和 P3dn 实例可在云中提供高性能计算,可支持高达 8 个 NVIDIA® V100 Tensor Core GPU,并可为机器学习和 HPC 应用程序提供高达 100 Gbps 的网络吞吐量。这些实例可以实现最高 1 petaflop 的混合精度性能,显著加快机器学习和高性能计算应用程序的速度。P3 和 P3dn 实例有 4 种尺寸,提供最多 8 个 GPU 和 96 个 vCPU,已在全球 18 AWS 区域中推出。

    Amazon EC2 P3 和 P3dn 实例
  • 高度灵活
  • 支持所有主流机器学习框架

    TensorFlow 和 PyTorch 之类的框架可将 ML 模型构建的实现活动中的很多处理细节抽象化,使开发人员专注于其模型的总体逻辑和数据流。超过 70% 构建机器学习应用程序的公司都称,它们的团队混合 使用不同的 ML 框架。AWS ML 基础设施支持所有热门的深度学习框架,允许您的团队挑选正确的框架以匹配其偏好和开发效率。

    TensorFlow
    PyTorch
    mxnet
    Keras
    Gluon
    Horovod

    框架背后的优化

    在 AWS,我们极其注重让客户不仅能够在 AWS 上运行其 ML 工作负载,还会给他们无限的自由度来挑选对其效果最佳的 ML 框架或基础设施服务。为有效地训练模型并将其部署到 AWS 基础设施服务上而进行的软件优化已与大多数热门 ML 框架(TensorFlow、PyTorch 和 MXNet)集成,使客户能够持续使用自己首选的任何一种框架,而不受限于特定框架/或硬件架构。在框架层运行让客户能够始终自由地根据其需要选择最佳解决方案,而不被束缚于特定硬件架构或云提供商。

    AWS Neuron 是用于 AWS Inferentia 芯片的软件开发工具包 (SDK),让开发人员能够使用基于 AWS Inferentia 的 Amazon EC2 Inf1 实例运行高性能、低延迟的推理。AWS Neuron 可与常用的框架原生集成,包括 TensorFlow、PyTorch 和 MXNet。客户可以采用其预训练过的模型,仅从框架内更改几行代码就能加快使用 EC2 Inf1 实例进行推理的速度,而不必编写 AWS Inferentia 芯片特定的自定义代码。

    AWS Neuron

    为了支持高效的多节点/分布式训练,AWS 集成了 Elastic Fabric Adapter (EFA) 与 NVIDIA Collective Communications Library (NCCL),后者是用于在单节点内或跨多个节点的 GPU 之间进行通信的库。与 AWS Neuron 相似,客户可以继续使用自己选择的 ML 框架构建其模型,并利用 AWS 基础设施内部的优化。

    Nvidia

定价选项

机器学习训练和推理工作负载展示出的特征可以是稳定状态(例如,对大量人群的照片每小时批量标记)、尖峰(例如,在推广期开始新训练任务或搜索建议),或同时具有这两种状态。AWS 的定价选项和解决方案可帮助您优化基础设施性能和成本。

定价选项

 

 

A - 对灵活、可容错的工作负载使用竞价型实例,例如寻时间不敏感的 ML 训练任务

B - 对新工作负载或有尖峰状态的工作负载使用按需实例,例如短期 ML 训练任务

C - 对已知/稳定状态的工作负载使用 Savings Plans,例如稳定的推理工作负载

使用案例 AWS 解决方案 如何实现
短期训练任务 按需定价 借助按需实例,您可以根据运行的实例以按小时或按秒的方式为计算容量付费。
开始-停止时间灵活的训练任务 Spot 定价 使用 Amazon EC2 Spot 实例,您可以请求 Amazon EC2 备用计算容量,与按需实例的价格相比,这类实例最多可以节省 90% 的成本。
在不同实例类型中长时间保持稳定的机器学习工作负载 Savings Plans Savings Plans 与按需实例相比可节省大量成本,代价是您需要承诺在一年或三年的期限内使用特定数量的计算能力。