Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 | 亚马逊网络服务

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 | 亚马逊网络服务

在动态的流媒体世界中 亚马逊音乐,每次搜索歌曲、播客或播放列表时都会有一个故事、一种心情或大量情感等待揭开。 这些搜索是通向新发现、珍贵经历和持久记忆的大门。 搜索栏不仅仅用于查找歌曲;还用于查找歌曲。 这是关于数百万活跃用户开始他们的个人旅程,进入亚马逊音乐所提供的丰富而多样化的世界。

要提供卓越的客户体验以立即找到用户搜索的音乐,需要一个既智能又响应迅速的平台。 亚马逊音乐利用人工智能的力量来实现这一目标。 然而,在高峰流量期间,在优化客户体验的同时,管理支持搜索栏功能(例如实时拼写检查和矢量搜索)的人工智能模型的训练和推理成本是很困难的。

亚马逊SageMaker 提供了一组端到端的服务,使 Amazon Music 能够轻松地在 AWS 云上构建、训练和部署。 通过处理无差别的繁重工作,SageMaker 让您能够专注于机器学习 (ML) 模型,而不必担心基础设施等问题。 作为共享责任模型的一部分,SageMaker 确保他们提供的服务可靠、高性能且可扩展,同时您确保 ML 模型的应用程序充分利用 SageMaker 提供的功能。

在这篇文章中,我们将介绍 Amazon Music 使用 SageMaker、NVIDIA Triton 推理服务器和 TensorRT 来优化性能和成本的历程。 我们深入探讨了这个看似简单但复杂的搜索栏的工作原理,确保您不间断地进入亚马逊音乐的世界,并具有几乎为零的令人沮丧的打字错误延迟和相关的实时搜索结果。

Amazon SageMaker 和 NVIDIA:提供快速、准确的矢量搜索和拼写检查功能

Amazon Music 提供庞大的音乐库,包含超过 100 亿首歌曲和数百万个播客剧集。 然而,找到合适的歌曲或播客可能具有挑战性,特别是如果您不知道确切的标题、艺术家或专辑名称,或者搜索的查询非常广泛,例如“新闻播客”。

亚马逊音乐采取了双管齐下的方法来改进搜索和检索过程。 第一步是引入矢量搜索(也称为基于嵌入的检索),这是一种机器学习技术,可以帮助用户通过使用内容的语义找到他们正在寻找的最相关的内容。 第二步涉及在搜索堆栈中引入基于 Transformer 的拼写纠正模型。 这在搜索音乐时特别有用,因为用户可能并不总是知道歌曲标题或艺术家姓名的确切拼写。 拼写更正可以帮助用户找到他们正在寻找的音乐,即使他们在搜索查询中犯了拼写错误。

在搜索和检索管道中引入 Transformer 模型(矢量搜索所需的查询嵌入生成和拼写纠正中的生成 Seq2Seq Transformer 模型)可能会导致整体延迟显着增加,从而对客户体验产生负面影响。 因此,优化向量搜索和拼写校正模型的实时推理延迟成为我们的首要任务。

Amazon Music 和 NVIDIA 携手合作,利用 SageMaker 实现快速准确的拼写检查功能以及基于矢量搜索的技术的实时语义搜索建议,为搜索栏带来最佳的客户体验。 该解决方案包括使用由 G5 实例提供支持的 SageMaker 托管,该实例使用 NVIDIA A10G Tensor Core GPU、SageMaker 支持的 NVIDIA Triton 推理服务器容器以及 英伟达 TensorRT 模型格式。 与基于 CPU 的推理相比,通过将拼写检查模型的推理延迟降低至高峰流量时的 25 毫秒,并将搜索查询嵌入生成延迟平均降低 63%,成本降低 73%,Amazon Music 提高了搜索栏的性能。

此外,在训练 AI 模型以提供准确结果时,Amazon Music 的 BART 序列到序列拼写校正器转换器模型的训练时间缩短了 12 倍,通过优化 GPU 利用率,节省了时间和金钱。

Amazon Music 与 NVIDIA 合作,优先考虑客户搜索体验,并打造一个具有经过充分优化的拼写检查和矢量搜索功能的搜索栏。 在以下部分中,我们将详细分享如何协调这些优化。

使用 NVIDIA Tensor Core GPU 优化训练

获得 NVIDIA Tensor Core GPU 进行大型语言模型训练并不足以发挥其真正潜力。 为了充分最大化 GPU 的利用率,训练过程中必须执行一些关键的优化步骤。 然而,GPU 未充分利用无疑会导致资源利用效率低下、训练时间延长以及运营成本增加。

在训练拼写纠正器 BART 的初始阶段(巴特基地)SageMaker ml.p3.24xlarge 实例(8 个 NVIDIA V100 Tensor Core GPU)上的变压器模型,Amazon Music 的 GPU 利用率约为 35%。 为了最大限度地发挥 NVIDIA GPU 加速训练的优势,AWS 和 NVIDIA 解决方案架构师支持 Amazon Music 确定优化领域,特别是在批量大小和精度参数方面。 这两个关键参数影响训练深度学习模型的效率、速度和准确性。

由此产生的优化带来了新的改进的 V100 GPU 利用率,稳定在 89% 左右,将 Amazon Music 的训练时间从 3 天大幅减少到 5-6 小时。 通过将批量大小从 32 切换到 256 并使用优化技术,例如运行 自动混合精度训练 Amazon Music 不仅仅使用 FP32 精度,还能够节省时间和金钱。

下图展示了优化后 GPU 利用率提高了 54%。

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

下图说明了训练时间的加速。

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

批量大小的增加使 NVIDIA GPU 能够在多个 Tensor Core 上同时处理更多的数据,从而加快训练时间。 然而,与内存保持微妙的平衡很重要,因为较大的批处理大小需要更多的内存。 增加批量大小和采用混合精度对于释放 NVIDIA Tensor Core GPU 的强大功能至关重要。

在模型经过收敛训练后,是时候优化 Amazon Music 搜索栏上的推理部署了。

拼写更正:BART 模型推理

借助 SageMaker G5 实例和 NVIDIA Triton 推理服务器(一种开源推理服务软件)以及 NVIDIA TensorRT(一种用于高性能深度学习推理的 SDK,其中包括推理优化器和运行时),Amazon Music 限制了其拼写检查 BART (巴特基地)模型服务器推理延迟在高峰流量时仅为 25 毫秒。 这包括负载平衡、预处理、模型推理和后处理时间等开销。

NVIDIA Triton 推理服务器提供两种不同类型的后端:一种用于在 GPU 上托管模型,另一种是 Python 后端,您可以在其中引入自己的自定义代码以用于预处理和后处理步骤。 下图说明了 模型集成方案.

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

亚马逊音乐建立了 BART 推理管道 通过在 CPU 上运行预处理(文本标记化)和后处理(标记到文本)步骤,而模型执行步骤在 NVIDIA A10G 张量核心 GPU。 Python 后端位于预处理和后处理步骤的中间,负责与 TensorRT 转换的 BART 模型以及编码器/解码器网络进行通信。 张量RT 通过精确校准、层和张量融合、内核自动调整、动态张量内存、多流执行和时间融合来提高推理性能。

下图说明了构成拼写校正器 BART 模型推理管道的关键模块的高级设计。

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

向量搜索:Query embedding 生成句子 BERT 模型推理

下图显示,与基于 CPU 的基准相比,使用 NVIDIA AI 推理平台时延迟(服务 p60 90-800 TPS)延迟提高了 900%。

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

下图显示,与基于 CPU 的基准相比,使用 NVIDIA AI 推理平台时成本降低了 70%。

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

下图展示了一个用于高性能深度学习推理的 SDK。 它包括深度学习推理优化器和运行时,可为推理应用程序提供低延迟和高吞吐量。

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

为了实现这些结果,Amazon Music 使用以下方法尝试了几种不同的 Triton 部署参数: Triton 模型分析仪,该工具可帮助找到最佳的 NVIDIA Triton 模型配置以部署高效推理。 为了优化模型推理,Triton 提供了动态批处理和并发模型执行等功能,并为其他灵活性功能提供了框架支持。 动态批处理收集推理请求,将它们无缝地分组到队列中,以最大限度地提高吞吐量,同时确保 Amazon Music 用户的实时响应。 并发模型执行能力通过在同一 GPU 上托管模型的多个副本来进一步增强推理性能。 最后,通过利用 Triton 模型分析仪,Amazon Music 能够仔细微调动态批处理和模型并发推理托管参数,以找到使用模拟流量最大化推理性能的最佳设置。

结论

通过在 SageMaker 上使用 Triton Inference Server 和 TensorRT 优化配置,Amazon Music 在训练和推理管道方面都取得了出色的成果。 SageMaker 平台是用于生产型 AI 的端到端开放平台,可快速实现价值并提供多功能性,以支持跨硬件和软件的所有主要 AI 使用案例。 通过优化 V100 GPU 的训练利用率,以及使用 NVIDIA A5G Tensor Core GPU 从 CPU 切换到 G10 实例,以及使用 Triton Inference Server 和 TensorRT 等优化的 NVIDIA 软件,Amazon Music 等公司可以节省时间和金钱,同时提高以下两个方面的性能:训练和推理,直接转化为更好的客户体验和更低的运营成本。

SageMaker 处理 ML 训练和托管的无差别繁重工作,使 Amazon Music 能够跨硬件和软件提供可靠、可扩展的 ML 操作。

我们鼓励您始终评估您的硬件和软件选择,以检查您的工作负载是否使用 SageMaker 进行了优化,看看是否有方法可以以更低的成本实现更好的性能。

要了解有关 AWS 中的 NVIDIA AI 的更多信息,请参阅以下内容:


关于作者

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。悉达思·夏尔马 是 Amazon Music 科学与建模团队的机器学习技术主管。 他专门研究搜索、检索、排名和 NLP 相关建模问题。 Siddharth 在处理对延迟敏感的大规模机器学习问题方面拥有丰富的背景,例如广告定位、多模式检索、搜索查询理解等。在 Amazon Music 工作之前,Siddharth 曾在 Meta、Walmart Labs、Rakuten 等公司工作以电子商务为中心的机器学习问题。 Siddharth 的职业生涯早期曾在湾区的广告技术初创公司工作。

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。塔伦·夏尔马 是领导亚马逊音乐搜索相关性的软件开发经理。 他的科学家和机器学习工程师团队负责向 Amazon Music 客户提供上下文相关的个性化搜索结果。

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。詹姆斯公园 是 Amazon Web Services 的解决方案架构师。 他与 Amazon.com 合作,在 AWS 上设计、构建和部署技术解决方案,并且对人工智能和机器学习特别感兴趣。 在业余时间,他喜欢探索新文化、新体验,并紧跟最新的技术趋势。您可以在 LinkedIn.

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。克什蒂兹·古普塔 是 NVIDIA 的解决方案架构师。 他喜欢向云客户介绍 NVIDIA 必须提供的 GPU AI 技术,并帮助他们加速机器学习和深度学习应用程序。 工作之余,他喜欢跑步、远足和观赏野生动物。

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。刘家宏 是 NVIDIA 云服务提供商团队的解决方案架构师。 他帮助客户采用机器学习和人工智能解决方案,利用 NVIDIA 加速计算来解决他们的训练和推理挑战。 闲暇时间,他喜欢折纸、DIY项目和打篮球。

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。图鲁尔·科努克 是 NVIDIA 的高级解决方案架构师,专注于大规模训练、多模态深度学习和高性能科学计算。 在加入 NVIDIA 之前,他在能源行业工作,专注于开发计算成像算法。 作为博士学位的一部分,他致力于基于物理的大规模数值模拟深度学习。 闲暇时,他喜欢阅读、弹吉他和弹钢琴。

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。罗希尔·巴尔加瓦 是 NVIDIA 的产品营销经理,专注于在特定 CSP 平台上部署 NVIDIA 应用程序框架和 SDK。

Amazon Music 如何结合使用 SageMaker 和 NVIDIA 来优化 ML 训练和推理性能及成本 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。埃利乌斯·特里亚纳·伊萨萨 是 NVIDIA 的开发人员关系经理,帮助 Amazon 的 AI MLOps、DevOps、科学家和 AWS 技术专家掌握 NVIDIA 计算堆栈,以加速和优化生成式 AI 基础模型,涵盖数据管理、GPU 训练、模型推理和 AWS GPU 实例上的生产部署。 此外,Eliuth 还是一位充满热情的山地自行车手、滑雪者、网球和扑克玩家。

时间戳记:

更多来自 AWS机器学习