使用 AWS 专用加速器将机器学习工作负载的能耗降低高达 90% | 亚马逊网络服务

使用 AWS 专用加速器将机器学习工作负载的能耗降低高达 90% | 亚马逊网络服务

机器学习 (ML) 工程师传统上专注于在模型训练和部署成本与性能之间取得平衡。 可持续性(能源效率)日益成为客户的额外目标。 这很重要,因为训练 ML 模型然后使用训练后的模型进行预测(推理)可能是高度耗能的任务。 此外,我们周围越来越多的应用程序已经融入了机器学习,并且每天都在构思新的机器学习应用程序。 一个流行的例子是 OpenAI 的 ChatGPT,它由最先进的大语言模型 (LMM) 提供支持。 以供参考, GPT-3,较早一代的法学硕士 拥有 175 亿个参数,需要在数千个加速处理器的集群上进行数月的不间断训练。 这 碳追踪研究 据估计,使用专用硬件加速器集群从头开始训练 GPT-3 可能会排放高达 85 吨二氧化碳当量。

AWS 可通过多种方式帮助 ML 从业者降低其工作负载对环境的影响。 一种方法是通过提供 围绕构建 AI/ML 工作负载以实现可持续性的规范性指导。 另一种方法是提供托管 ML 培训和编排服务,例如 亚马逊SageMaker Studio,它会在不使用时自动拆除和扩展 ML 资源,并提供大量开箱即用的工具来节省成本和资源。 另一个主要推动因素是 节能、高性能、专用加速器 用于训练和部署 ML 模型。

这篇文章的重点是硬件作为可持续机器学习的杠杆。 我们展示了 AWS 最近进行的性能和功耗实验的结果,这些实验量化了从其他推理和训练优化的加速迁移深度学习工作负载时可以预期的能效优势 亚马逊弹性计算云 (Amazon EC2) 实例 AWS 推理AWS 培训。 Inferentia 和 Trainium 是 AWS 最近添加了专用加速器产品组合 由亚马逊专门设计 安纳普尔纳实验室 用于 ML 推理和训练工作负载。

用于可持续机器学习的 AWS Inferentia 和 AWS Trainium

为了向您提供 AWS Inferentia 和 AWS Trainium 在实际应用程序中的节能潜力的真实数据,我们进行了多项功耗基准实验。 我们在设计这些基准时考虑了以下关键标准:

  • 首先,我们希望确保捕获可归因于测试工作负载的直接能耗,不仅包括机器学习加速器,还包括计算、内存和网络。 因此,在我们的测试设置中,我们测量了该水平的功耗。
  • 其次,在运行训练和推理工作负载时,我们确保所有实例都在各自的物理硬件限制下运行,并且仅在达到该限制后才进行测量,以确保可比性。
  • 最后,我们希望确定本文中报告的节能可以在实际应用中实现。 因此,我们使用常见的受客户启发的 ML 用例进行基准测试和测试。

结果将在以下各节中报告。

推理实验:使用 LayoutLM 进行实时文档理解

与训练相反,推理是一种连续的、无限制的工作负载,没有定义的完成点。 因此,它占 ML 工作负载生命周期资源消耗的很大一部分。 正确推理是在整个机器学习生命周期中实现高性能、低成本和可持续性(更好的能源效率)的关键。 对于推理任务,客户通常有兴趣实现一定的推理率以满足摄取需求。

本文中提出的实验受到实时文档理解用例的启发,这是银行或保险等行业的常见应用(例如,用于索赔或申请表处理)。 具体来说,我们选择 布局LM,用于文档图像处理和信息提取的预训练变压器模型。 我们将目标 SLA 设置为每小时 1,000,000 次推理,该值通常被认为是实时的,然后指定两种能够满足此要求的硬件配置:一种使用 Amazon EC2 Inf1实例,以 AWS Inferentia 为特色,还有一个使用针对推理任务优化的类似加速 EC2 实例。 在整个实验过程中,我们跟踪了几个指标来衡量两种硬件配置的推理性能、成本和能源效率。 结果如下图所示。

使用 AWS 专用加速器将机器学习工作负载的能耗降低高达 90% |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

推理基准的性能、成本和能效结果

AWS Inferentia 的推理吞吐量提高了 6.3 倍。 因此,借助 Inferentia,您可以在更少的实例上运行相同的基于 LayoutLM 的实时文档理解工作负载(6 个 AWS Inferentia 实例与 33 个其他推理优化加速 EC2 实例,相当于减少 82%),使用更少的资源过程中的能源消耗不到十分之一 (-92%),同时每次推理的成本显着降低(每百万次推理 2 美元,而每百万次推理 25 美元,相当于成本降低 91%)。

训练实验:从头开始训练 BERT Large

与推理相反,训练是一个有限的过程,重复次数要少得多。 机器学习工程师通常对高集群性能感兴趣,以减少训练时间,同时控制成本。 能源效率是次要的(但日益增长的)问题。 借助 AWS Trainium,无需权衡决策:机器学习工程师可以从高训练性能中受益,同时还可以优化成本并减少对环境的影响。

为了说明这一点,我们选择 BERT 大号,一种流行的语言模型,用于自然语言理解用例,例如基于聊天机器人的问答和对话响应预测。 从头开始训练一个性能良好的 BERT Large 模型通常需要处理 450 亿个序列。 我们比较了两种集群配置,每种集群配置的固定大小为 16 个实例,并且能够在不到一天的时间内从头开始训练 BERT Large(处理 450 亿个序列)。 第一个使用传统的加速 EC2 实例。 第二个设置使用 Amazon EC2 Trn1 实例 以 AWS Trainium 为特色。 我们再次从训练性能、成本和环境影响(能源效率)方面对这两种配置进行基准测试。 结果如下图所示。

使用 AWS 专用加速器将机器学习工作负载的能耗降低高达 90% |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

培训基准的性能、成本和能源效率结果

在实验中,就每小时处理的序列而言,基于 AWS Trainium 的实例的性能比同类经过训练优化的加速 EC2 实例高出 1.7 倍,从而将总训练时间缩短了 43%(同类加速 EC2.3 实例为 4 小时,而同类加速 EC2 实例则为 29 小时) 。 因此,当使用基于 Trainium 的实例集群时,与同等大小的可比加速 EC2 实例集群相比,从头开始训练 BERT Large 的总能耗大约降低 62%。 同样,这些性能和能效优势还伴随着显着的成本改进:Trainium 实例上 BERT ML 工作负载的训练成本大约降低了 787%(每次完整训练运行 2091 美元,而每次完整训练运行 XNUMX 美元)。

开始使用 AWS 专门构建的 ML 加速器

尽管此处进行的实验均使用自然语言处理 (NLP) 领域的标准模型,但 AWS Inferentia 和 AWS Trainium 在许多其他复杂模型架构(包括法学硕士和最具挑战性的模型架构)方面表现出色。 生成式人工智能 用户正在构建的架构(例如 GPT-3)。 这些加速器对于具有超过 10 亿个参数的模型或稳定扩散等计算机视觉模型尤其有效(请参阅 模型架构适合指南 更多细节)。 事实上,我们的许多客户已经将 Inferentia 和 Trainium 用于各种领域 机器学习用例.

要在基于 AWS Inferentia 和 AWS Trainium 的实例上运行端到端深度学习工作负载,您可以使用 AWS 神经元。 Neuron 是一款端到端软件开发套件 (SDK),其中包括深度学习编译器、运行时和原生集成到 TensorFlow 和 PyTorch 等最流行的 ML 框架中的工具。 您可以使用 Neuron SDK 将现有的 TensorFlow 或 PyTorch 深度学习 ML 工作负载轻松移植到 Inferentia 和 Trainium,并开始使用相同的知名 ML 框架构建新模型。 为了更轻松地设置,请使用我们的其中之一 用于深度学习的亚马逊机器映像 (AMI),它附带了许多必需的包和依赖项。 更简单:您可以使用 Amazon SageMaker Studio,它本身支持 Inferentia 和 Trainium 上的 TensorFlow 和 PyTorch(请参阅 aws-samples GitHub 存储库 例如)。

最后一点:虽然 Inferentia 和 Trainium 是专门为深度学习工作负载而构建的,但许多不太复杂的 ML 算法可以在基于 CPU 的实例上表现良好(例如, XGBoost 和 LightGBM 乃至 一些CNN)。 在这些情况下,迁移到 AWS Graviton3 可以显着减少 ML 工作负载对环境的影响。 在实现相同性能的情况下,基于 AWS Graviton 的实例比同类加速 EC60 实例节省高达 2% 的能源。

结论

人们普遍存在一种误解,认为以可持续且节能的方式运行机器学习工作负载意味着牺牲性能或成本。 借助 AWS 专门构建的机器学习加速器,ML 工程师无需进行这种权衡。 相反,他们可以在高度专业化的深度学习硬件(例如 AWS Inferentia 和 AWS Trainium)上运行深度学习工作负载,这些硬件的性能显着优于同类加速 EC2 实例类型,从而提供更低的成本、更高的性能和更好的能源效率 - 高达90%——全部同时进行。 要开始在 Inferentia 和 Trainium 上运行 ML 工作负载,请查看 AWS Neuron 文档 或旋转其中之一 样本笔记本。 您还可以观看 AWS re:Invent 2022 演讲 可持续性和 AWS 芯片 (SUS206),其中涵盖了本文讨论的许多主题。


作者简介

使用 AWS 专用加速器将机器学习工作负载的能耗降低高达 90% |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。卡斯滕·施罗尔 是 AWS 的解决方案架构师。 他支持客户利用数据和技术来推动其 IT 基础设施的可持续性,并构建数据驱动的解决方案,以实现各自垂直领域的可持续运营。 Karsten 在获得应用机器学习和运营管理博士学位后加入 AWS。 他对应对社会挑战的技术解决方案充满热情,并喜欢深入研究这些解决方案背后的方法和应用程序架构。

使用 AWS 专用加速器将机器学习工作负载的能耗降低高达 90% |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。卡姆兰汗 是 AWS Annapurna Labs 的高级技术产品经理。 他与 AI/ML 客户密切合作,为来自 Amazon Annapurna Labs 的 AWS 专用芯片创新制定路线图。 他的具体重点是加速深度学习芯片,包括 AWS Trainium 和 AWS Inferentia。 Kamran 在半导体行业拥有 18 年的经验。 Kamran 拥有十多年帮助开发人员实现机器学习目标的经验。

时间戳记:

更多来自 AWS机器学习