正文 · AI 翻译
语音转文字推理需要大量计算资源。每个音频文件都会触发一套深度学习模型处理流程,包括声学模型、语言模型和后处理阶段;这些模型在 NVIDIA GPU 上运行,以满足延迟要求。大规模运行时,这意味着数千个 GPU 实例持续运行。AssemblyAI 需要一种方式,能够以经济高效的方式大规模运行需要大量 GPU 资源的推理工作负载,同时保障客户所依赖的可用性和延迟。完全使用按需实例的成本会高得难以承受。Spot 实例能显著节省成本,但当其他地方需要容量时,Amazon Elastic Compute Cloud(Amazon EC2)可以提前 2 分钟发出通知并收回实例。AssemblyAI 需要一种架构,能够妥善应对 Spot 实例中断,同时履行服务水平协议(SLA)承诺。此外,医疗、金融和法律等受监管行业的客户必须将音频数据保留在特定地理区域内。AssemblyAI 在欧洲 AWS 区域实施严格的数据驻留配置。AssemblyAI 的服务可通过 AWS Marketplace 获取,提供用于转录、说话人检测、情感分析、章节检测和个人身份信息(PII)脱敏的 API。其模型为科技、媒体、医疗和金融服务等行业的大批量工作负载转录和分析语音。本文将介绍 AssemblyAI 如何为其语音转文字平台大规模运行经过成本优化的 AI 推理。该架构使用 Amazon Elastic Container Service(Amazon ECS)、Amazon Elastic Compute Cloud(Amazon EC2)Spot 实例和 Amazon Simple Queue Service(Amazon SQS)。这些服务共同构成一个灵活的 NVIDIA GPU 实例集群,并结合 ECS 容量提供程序和基于队列的重试机制。其结果是在欧洲 AWS 区域履行 SLA 承诺的同时,显著节省成本。解决方案概述 AssemblyAI 的推理平台运行在 Amazon ECS 上,计算容量由 ECS 容量提供程序管理。该实例集群在多个 NVIDIA GPU 实例系列中混合使用 Amazon EC2 Spot 实例和按需实例,每个 GPU 运行一个推理模型,规模达到数千个实例。该架构建立在 4 个相互配合的支柱之上,以实现经过成本优化且具有韧性的推理:混合使用 Spot 实例和按需实例的 Amazon ECS 容量提供程序;跨 EC2 实例类型(例如 g4dn.xlarge、g4dn.2xlarge、g5.xlarge、g5.4xlarge 和 g6.2xlarge)的多系列 GPU Spot 实例多元化配置;使用 Amazon SQS 实现中断恢复的基于队列的重试架构;在美国西部(俄勒冈)us-west-2 和欧洲(伦敦)eu-west-2 区域部署,以满足数据驻留合规要求。下图展示了该解决方案的部署方式:图 1:AssemblyAI 在 Amazon ECS 上使用 Amazon EC2 Spot GPU 实例及基于 Amazon SQS 的重试机制构建的推理架构。一个 Amazon ECS 集群运行在跨多个可用区的虚拟私有云(VPC)中。该集群托管使用 GPU 的 ECS 任务(图中标为 ECS Task, GPU Spot 1 和 ECS Task GPU Spot 2),这些任务轮询队列并处理推理作业。每个任务从 Amazon Simple Storage Service(Amazon S3)获取音频文件,并将完成的转录结果写入结果存储;AssemblyAI 将其配置为向最终客户交付输出结果。当 Spot 实例收到中断通知时,Amazon EventBridge 会调用 Spot Interruption Handler(一个 AWS Lambda 函数)。该处理程序将正在处理的作业放回 Main Job SQS Queue,以便另一个正常运行的 ECS 任务接手。客户会配置系统,将重试次数耗尽的作业转入 Dead Letter SQS Queue,以供调查。Amazon CloudWatch Metrics 监控实例集群的运行状况和 Spot 中断事件,提供整个系统的可观测性。Amazon ECS 容量提供程序和 Spot 实例多元化配置 为在不影响可靠性的前提下优化推理成本,AssemblyAI 在每个 ECS 集群内的一项容量提供程序策略中配置多个容量提供程序。一个按需容量提供程序作为始终运行的基础容量,另一个 Spot 容量提供程序则覆盖不同的 GPU 实例系列和可用区,以应对需求高峰。每个容量提供程序都与一个 Amazon EC2 Auto Scaling 组关联。Amazon ECS 托管式扩缩容根据容量提供程序的权重和等待运行的推理任务,自动调整 GPU 实例的数量。当任务队列增长时,Spot 容量提供程序从多元化的实例池中请求更多实例。当需求下降时,实例会平稳缩减。Spot 实例的一项最有效的最佳实践是灵活使用多种实例类型,以提高获得所需总体计算容量的机会。AssemblyAI 的基础设施并不依赖单一 GPU 实例系列,而是覆盖 3 个 Amazon EC2 GPU 实例系列:g4dn 实例——采用 NVIDIA T4 GPU,为标准语音识别模型提供经济高效的基础容量;g5 实例——配备 NVIDIA A10G GPU,为要求更高的模型架构提供更高吞吐量;g6 实例——采用 NVIDIA L4 GPU,为包括基于大型语言模型的推理在内的更大型模型提供更高的每美元性能。通过将需求分散到不同的实例系列和规格,AssemblyAI 能够利用范围大得多的可用 Spot 容量。采用价格容量优化分配策略后,Amazon EC2 会从可用容量最高且价格最低的 Spot 容量池中预置实例,从而降低中断的可能性。基于队列的重试机制增强中断恢复能力 在 Spot 实例中断期间保持服务质量是一项核心设计要求。AssemblyAI 使用 Amazon SQS 将作业提交与执行解耦。转录请求到达后,会被放入 Amazon SQS 队列。在 GPU 实例上运行的 Amazon ECS 任务轮询队列、获取作业并执行推理流程。单个作业通常需要 15 秒到数分钟,具体取决于音频长度。当 Spot 实例收到提前 2 分钟发出的中断通知时,重试流程如下:能够在这 2 分钟内完成的正在处理的作业正常结束;需要更多时间的作业被放回 Amazon SQS 队列,立即可供其他工作节点处理;另一个正常运行的 GPU 实例获取该消息并完成推理,该实例可能属于不同的实例类型,或位于不同的可用区。为缩短恢复时间,AssemblyAI 创建了包含模型工件和容器镜像的自定义 Amazon Machine Images(AMI),耗时约 2 分钟。对于最终客户,Spot 实例中断只会使处理时间略有增加,转录仍会成功完成并按预期交付。满足数据驻留要求的区域部署 在多个 AWS 区域运行,使 AssemblyAI 能够支持医疗、金融服务和法律服务等受监管行业的客户;这些客户的音频数据绝不能离开特定地理区域。每个 AWS 区域都运行一套完全独立的推理架构,拥有自己的 Amazon SQS 队列、Amazon ECS 集群、容量提供程序和 GPU 实例集群。这些欧洲区域提供多个 GPU 实例系列(g4dn、g5、g6),且 Spot 价格具有竞争力。这种实例多样性既支持可靠的基于 Spot 实例的推理服务,也满足严格的数据驻留要求。成果 通过在生产环境中运行配备 GPU 的 Amazon EC2 Spot 实例,AssemblyAI 的推理计算成本比按需定价节省了 70%。随着平台的计算需求同比增长近 4 倍,基于 Spot 实例的架构使单位经济效益保持可持续。通过如此大规模的运营,AssemblyAI 发现,跨实例系列和规格进行多元化配置是降低 Spot 中断率最有效的手段。g4dn、g5 和 g6 系列使用彼此独立的容量池,因此当一个系列面临容量压力时,其他系列仍可使用。从一开始就通过基于队列的重试和快速预热来设计容错能力,可以在履行 SLA 承诺的同时,将 Spot 中断转化为常规事件。结论 运行具有类似特征的批处理或近实时 AI 工作负载的团队,即在 GPU 计算资源上运行持续时间短、可独立重试的作业,可以采用这一模式。首先对实例系列进行多元化配置,并构建基于队列的容错机制,从而利用经济高效的 Spot 基础设施,同时保障可用性。要开始在 Amazon ECS 上运行 GPU 任务,请参阅《适用于 GPU 工作负载的 Amazon ECS》。要评估工作负载的 Spot 容量可用性,请了解如何使用加速计算资源的 Spot 放置分数以及 Amazon EC2 Spot 实例最佳实践。AssemblyAI 的语音转文字 API 可通过 AWS Marketplace 获取。要进一步了解其平台,请访问 assemblyai.com。关于作者 Belair Albahagwi Belair 是 AWS 的技术客户经理——独立软件供应商(ISV)方向,专注于容器和无服务器计算。他帮助企业客户优化在 Amazon ECS 和 EKS 上的工作负载。闲暇时,Belair 喜欢旅行和户外活动。Sandeep Kampa Sandeep 是 AWS 的解决方案架构师——独立软件供应商(ISV)方向,与 AI/ML ISV 客户合作,在 AWS 上设计可扩展且经济高效的解决方案。他专注于帮助客户大规模部署生成式 AI 和机器学习工作负载。工作之余,Sandeep 喜欢了解 AI 研究的最新进展。Mimi Chiang Mimi 是 AssemblyAI 的软件工程师,负责构建和维护支持大规模语音转文字推理的基础设施。她专注于 GPU 调度、容器编排和成本优化。工作之余,Mimi 喜欢好好享受周末。