利用 Amazon EC2 上的 NVIDIA MPS 将 ASR 推理成本降低 75%

当每个请求仅使用 GPU 的一小部分时,大规模提供自动语音识别 (ASR) 模型的成本高昂。了解 Amazon EC2 GPU 实例上的 NVIDIA CUDA 多进程服务 (MPS) 与 NVIDIA Triton 推理服务器如何将 GPU 基础设施削减 75%,同时将亚秒级延迟保持在每个 GPU 每秒 92.1 个请求。

来源:亚马逊云科技 _机器学习

这篇文章是 AWS、NVIDIA 和 Heidi 之间的合作。

当每个请求的 GPU 利用率较低但延迟要求严格时,降低 Amazon Elastic Compute Cloud (Amazon EC2) 上的自动语音识别 (ASR) 推理成本变得至关重要。单个 ASR 推理请求通常仅使用 GPU 计算能力的 15-20%,但 NVIDIA CUDA® 中的默认时间切片行为会强制顺序访问,从而使 80% 的硬件闲置。 Heidi Health 是一家 AI 护理合作伙伴,每周处理 190 个国家/地区超过 240 万次临床咨询。为了在高峰流量下维持亚秒级转录延迟,这种低效率迫使该公司运行 16 个 GPU 实例。

在上一篇文章中,您了解了如何微调 Nemotron 语音模型 NVIDIA Parakeet TDT 0.6B V2 以进行临床语音识别。在这篇文章中,我们关注微调后会发生什么:高效地服务于该模型。我们演示了 NVIDIA CUDA 多进程服务 (MPS) 与 Amazon EC2 GPU 实例上的 NVIDIA Triton Inference Server™ 相结合如何将 GPU 基础设施要求降低 75%(从 16 个实例减少到 4 个)。此设置将每个 GPU 的每秒请求数 (RPS) 维持在亚秒级延迟。

解决方案概述

本节涵盖以下内容:

  • GPU 利用率挑战。
  • 三种可用的共享机制。
  • 使用 ONNX 和 TensorRT™ 进行模型级优化。
  • 请求与 Triton 进行调度。
  • 这些组件如何在 Amazon EC2 上集成。
  • GPU 利用率问题

    Parakeet TDT 0.6B V2 模型上的单个 ASR 推理请求大约使用 NVIDIA L40S GPU 142 个流式多处理器 (SM) 的 15-20%。其余 80% 在每次向前传递期间处于闲置状态。 CUDA 的默认时间切片行为通过为每个进程提供独占的 GPU 访问权限来加剧这种浪费。进程轮流进行,上下文切换增加了它们之间的开销,并且不会发生并发执行。

    了解 GPU 共享:时间切片、MIG 和 MPS

    先决条件