在流媒体领域,亚马逊音乐通过利用 Amazon SageMaker 与 NVIDIA技术,成功优化了机器学习(ML)模型的训练和推理性能,降低了相关成本。这篇文章深入探讨了其实现过程及成果。
在流媒体行业,用户在
搜索歌曲、播客或播放列表时,都在展现一个故事和情感世界。这些搜索不仅帮助用户发现新内容,还记录着珍贵的体验与回忆。然而,要提供一种出色的用户体验,使用户瞬间找到他们想要的音乐,需要一个智能且响应迅速的平台。亚马逊音乐正是凭借人工智能的力量,努力实现这一目标。优化用户体验的同时,还要管理训练和推理这些 AI 模型的成本,尤其是在高峰时段,这是一项巨大的挑战。
提供了一系列端到端的服务,让亚马逊音乐能够高效地在 AWS云上构建、训练和部署。通过减轻基础设施的负担,SageMaker允许用户专注于机器学习模型的开发,而无需担心基础设施等问题。在共享责任模型中,SageMaker确保提供的服务是可靠、高效且可扩展的,而用户则负责确保 ML 模型的最佳应用。
本文将详细讲述亚马逊音乐如何利用 SageMaker 和 NVIDIA Triton 推理服务器及 TensorRT优化性能与成本的过程。我们将深入探讨这看似简单,却十分复杂的搜索条是如何工作的,确保用户在亚马逊音乐的世界中畅游,几乎没有因拼写错误而造成的延迟,并实时获取相关搜索结果。
亚马逊音乐拥有超过 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 对于大型语言模型训练而言,只是实现其真正潜力的第一步。训练过程中需要进行关键优化步骤,以充分发挥 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 的能力中至关重要。
模型训练达到收敛后,就进入了对亚马逊音乐搜索条推理部署的优化阶段。
在 SageMaker G5 实例与 NVIDIA Triton 推理服务器(开源推理服务软件)及 NVIDIA TensorRT的帮助下,亚马逊音乐将其拼写校正 BART ()模型服务器的推理延迟限制在高峰时的 25 毫秒以内。这一时间还包括负载均衡、预处理、模型推理和后处理所耗费的时间。
NVIDIA Triton 推理服务器提供两种不同类型的后端:一种用于在 GPU 上托管模型,另一种为 Python后端,可以在预处理和后处理步骤中使用自定义代码。下图展示了 。
删除)
亚马逊音乐通过在 CPU 上运行预处理(文本分词)和后处理(分词到文本)步骤,而在 上运行模型执行步骤来构建其 BART 。在预处理和后处理步骤中间有一个 Python 后端,负责与 TensorRT 转换的 BART模型及编码器/解码器网络进行通信。通过精度校准、层与张量融合、内核自动调优、动态张量内存、多流执行和时间融合等手段提升推理性能。
下图展示了拼写校正 BART 模型推理管道的主要模块设计。
 Siddharth Sharma 是亚马逊音乐科学与建模团队的机器学习技术负责人,专注于搜索、检索、排名及自然语言处理相关的建模问题。在此之前,他曾在Meta、沃尔玛实验室、乐天等公司从事大规模机器学习问题的研究工作。
 Tarun Sharma 是亚马逊音乐搜索相关性的软件开发经理,负责提供上下文相关且个性化的搜索结果。
 James Park 是亚马逊网络服务的解决方案架构师,专注于设计、构建和部署技术解决方案。
** Kshitiz Gupta** 是 NVIDIA 的解决方案架构师,致力于教育云客户使用 NVIDIA 提供的 GPU AI技术,加速其机器学习和深度学习应用。
** Jiahong Liu** 是 NVIDIA 云服务提供商团队的解决方案架构师,帮助客户采用机器学习和 AI 解决方案。
删除)TugrulKonuk 是 NVIDIA 的高级解决方案架构师,专注于大规模训练、多模态深度学习及高性能科学计算。
删除)RohilBhargava 是 NVIDIA 的产品营销经理,专注于在特定 CSP 平台上部署 NVIDIA 应用框架和 SDK。
删除)EliuthTriana Isaza** 是 NVIDIA 的开发者关系经理,致力于为亚马逊的 AI MLOps、DevOps、科学家及 AWS技术专家提供支持,加速和优化 Generative AI 基础模型。业余时间热衷于山地自行车、滑雪、网球和扑克游戏。
Leave a Reply