亚马逊音乐如何使用 SageMaker

优化机器学习训练与推理性能及成本的方法——以亚马逊音乐为例

关键要点

在流媒体领域,亚马逊音乐通过利用 Amazon SageMaker 与 NVIDIA技术,成功优化了机器学习(ML)模型的训练和推理性能,降低了相关成本。这篇文章深入探讨了其实现过程及成果。


在流媒体行业,用户在

搜索歌曲、播客或播放列表时,都在展现一个故事和情感世界。这些搜索不仅帮助用户发现新内容,还记录着珍贵的体验与回忆。然而,要提供一种出色的用户体验,使用户瞬间找到他们想要的音乐,需要一个智能且响应迅速的平台。亚马逊音乐正是凭借人工智能的力量,努力实现这一目标。优化用户体验的同时,还要管理训练和推理这些 AI 模型的成本,尤其是在高峰时段,这是一项巨大的挑战。

提供了一系列端到端的服务,让亚马逊音乐能够高效地在 AWS云上构建、训练和部署。通过减轻基础设施的负担,SageMaker允许用户专注于机器学习模型的开发,而无需担心基础设施等问题。在共享责任模型中,SageMaker确保提供的服务是可靠、高效且可扩展的,而用户则负责确保 ML 模型的最佳应用。

本文将详细讲述亚马逊音乐如何利用 SageMaker 和 NVIDIA Triton 推理服务器及 TensorRT优化性能与成本的过程。我们将深入探讨这看似简单,却十分复杂的搜索条是如何工作的,确保用户在亚马逊音乐的世界中畅游,几乎没有因拼写错误而造成的延迟,并实时获取相关搜索结果。

Amazon SageMaker 与 NVIDIA:快速、准确的向量搜索与拼写校正能力

亚马逊音乐拥有超过 1亿首歌曲和数百万个播客节目,但找到合适的歌曲或播客并不简单,尤其是当用户不清楚确切的标题、艺术家或专辑名称时,或是搜索内容过于宽泛,例如“新闻播客”。

为了改进搜索与检索过程,亚马逊音乐采取了双管齐下的策略。第一个步骤是引入向量搜索(即基于嵌入的检索),这是一种能够利用内容语义帮助用户找到最相关内容的机器学习技术。第二个步骤是引入基于 Transformer的拼写校正模型。这对音乐搜索特别有用,因为用户不一定知道歌曲标题或艺术家名的确切拼写。拼写校正可以帮助用户即使在搜索查询中出现拼写错误时也能找到他们想要的音乐。

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

亚马逊音乐与 NVIDIA 联手,利用 SageMaker 实现快速、准确的拼写校正能力和实时的语义搜索建议。解决方案包括使用支持 NVIDIA A10GTensor Core GPU 的 G5 实例的 SageMaker 主机,基于 SageMaker 支持的 NVIDIA Triton推理服务器容器,以及 模型格式。通过将拼写校正模型的推理延迟降低到高峰时期的 25 毫秒,并将搜索查询嵌入生成的平均延迟缩短 63%,成本降低 73%(与基于 CPU的推理相比),亚马逊音乐显著提升了搜索条的性能。

此外,在训练 AI 模型以提供准确结果时,亚马逊音乐还实现了其 BART 序列到序列拼写校正 Transformer 模型训练时间的 12 倍提升,优化了 GPU 的利用率,为其节省了时间和成本。

亚马逊音乐与 NVIDIA 的合作以客户搜索体验为重心,构建了具有良好优化的拼写校正和向量搜索功能的搜索条。接下来部分将详细介绍这些优化如何实现。

使用 NVIDIA Tensor Core GPU 优化训练

获得 NVIDIA Tensor Core GPU 对于大型语言模型训练而言,只是实现其真正潜力的第一步。训练过程中需要进行关键优化步骤,以充分发挥 GPU的利用率。GPU 的未充分利用必然导致资源浪费、训练周期延长以及运营成本上升。

亚马逊音乐在 SageMaker ml.p3.24xlarge 实例(8 个 NVIDIA V100 Tensor Core GPU)上训练拼写校正 BART () Transformer模型的早期阶段,GPU 的利用率约为 35%。为最大化 NVIDIA GPU 加速训练的好处,AWS 和 NVIDIA解决方案架构师支持亚马逊音乐识别需要优化的领域,特别是批量大小和精度参数。这两个重要参数影响深度学习模型训练的效率、速度和准确性。

经过优化后,V100 GPU 的利用率提升至约 89%,大幅减少了亚马逊音乐的训练时间,从 3 天缩短为 5-6 小时。通过将批量大小从 32 更改为 256,并采用的技术,亚马逊音乐能够节省时间和成本。

下表展示了通过优化后 GPU 利用率增加 54 个百分点的情况:

优化前利用率优化后利用率
35%89%

下图展示了训练时间的加速情况:

删除)

增加批量大小使得 NVIDIA GPU 能够同时处理更多的数据,利用多个 TensorCore,从而加快训练速度。然而,需保持内存的微妙平衡,因为较大的批量大小需要更多内存。增大批量大小和应用混合精度在解锁 NVIDIA TensorCore GPU 的能力中至关重要。

模型训练达到收敛后,就进入了对亚马逊音乐搜索条推理部署的优化阶段。

拼写校正:BART 模型推理

在 SageMaker G5 实例与 NVIDIA Triton 推理服务器(开源推理服务软件)及 NVIDIA TensorRT的帮助下,亚马逊音乐将其拼写校正 BART ()模型服务器的推理延迟限制在高峰时的 25 毫秒以内。这一时间还包括负载均衡、预处理、模型推理和后处理所耗费的时间。

NVIDIA Triton 推理服务器提供两种不同类型的后端:一种用于在 GPU 上托管模型,另一种为 Python后端,可以在预处理和后处理步骤中使用自定义代码。下图展示了 。

删除)

亚马逊音乐通过在 CPU 上运行预处理(文本分词)和后处理(分词到文本)步骤,而在 上运行模型执行步骤来构建其 BART 。在预处理和后处理步骤中间有一个 Python 后端,负责与 TensorRT 转换的 BART模型及编码器/解码器网络进行通信。通过精度校准、层与张量融合、内核自动调优、动态张量内存、多流执行和时间融合等手段提升推理性能。

下图展示了拼写校正 BART 模型推理管道的主要模块设计。

![拼写校正 BART删除)

向量搜索:查询嵌入生成的句子 BERT 模型推理

下图展示了使用 NVIDIA AI 推理平台相比于基于 CPU 的基线,延迟提高了 60%(提供 p90 800–900 TPS)。

删除)

下图显示了使用 NVIDIA AI 推理论平台相比基于 CPU 的解决方案,成本降低了 70%。

删除)

下图展示了一种高性能深度学习推理的 SDK,它包括深度学习推理优化工具和运行时,能够为推理应用提供低延迟和高吞吐量。

删除)

为了实现这些结果,亚马逊音乐在使用 的过程中进行了多种 Triton 部署参数的实验,该工具旨在帮助用户找到最佳的 NVIDIA Triton 模型配置,以实现高效的推理。Triton提供动态批处理和并发模型执行等功能,以优化模型推理,并支持更灵活的特性。动态批处理将推理请求聚集在一起,顺畅地组合成小组,以最大化吞吐量,同时确保用户的实时响应。并发模型执行进一步提升了推理性能,通过在同一个 GPU 上托管多个模型副本来实现。最后,利用 ,亚马逊音乐能够细致调整动态批处理和模型并发推理托管参数,以找到最佳设置,最大化推理性能。

结论

在 SageMaker 上优化基于 Triton 推理服务器和 TensorRT 的配置,使亚马逊音乐在训练和推理管道中取得了出色的结果。SageMaker平台是一个端到端的开放平台,旨在进行生产 AI,提供快速的价值传递,并具备支持所有主要 AI 用例的灵活性,无论是在硬件还是软件方面。通过优化 V100GPU 在训练过程中的利用率,并通过从 CPU 切换到使用 NVIDIA A10G Tensor Core GPU 的 G5 实例,以及使用优化的 NVIDIA 软件如 Triton 推理服务器和 TensorRT,亚马逊音乐等公司能够同时节省时间和成本,同时提高训练和推理的性能,这直接转化为更好的用户体验和更低的运营成本。

SageMaker 处理机器学习训练和托管中的非差异化重负担,使亚马逊音乐能够在硬件和软件上提供可靠、高效的机器学习操作。

我们鼓励您检查通过 SageMaker 优化的工作负载,始终评估硬件和软件选择,寻找改善性能和降低成本的机会。

欲了解更多关于 AWS 中 NVIDIA AI 的信息,请参考以下链接:


关于作者

![](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2023/11/21/siddharth-

删除) Siddharth Sharma 是亚马逊音乐科学与建模团队的机器学习技术负责人,专注于搜索、检索、排名及自然语言处理相关的建模问题。在此之前,他曾在Meta、沃尔玛实验室、乐天等公司从事大规模机器学习问题的研究工作。

![](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2023/11/21/tarun-

删除) Tarun Sharma 是亚马逊音乐搜索相关性的软件开发经理,负责提供上下文相关且个性化的搜索结果。

![](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2022/08/18/james-

删除) James Park 是亚马逊网络服务的解决方案架构师,专注于设计、构建和部署技术解决方案。

**![](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2022/08/18/Kshitiz-

删除) Kshitiz Gupta** 是 NVIDIA 的解决方案架构师,致力于教育云客户使用 NVIDIA 提供的 GPU AI技术,加速其机器学习和深度学习应用。

**![](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2022/08/18/Jiahong-

删除) Jiahong Liu** 是 NVIDIA 云服务提供商团队的解决方案架构师,帮助客户采用机器学习和 AI 解决方案。

删除)TugrulKonuk 是 NVIDIA 的高级解决方案架构师,专注于大规模训练、多模态深度学习及高性能科学计算。

删除)RohilBhargava 是 NVIDIA 的产品营销经理,专注于在特定 CSP 平台上部署 NVIDIA 应用框架和 SDK。

删除)EliuthTriana Isaza** 是 NVIDIA 的开发者关系经理,致力于为亚马逊的 AI MLOps、DevOps、科学家及 AWS技术专家提供支持,加速和优化 Generative AI 基础模型。业余时间热衷于山地自行车、滑雪、网球和扑克游戏。

Leave a Reply

Required fields are marked *