跳到正文
AWS Machine Learning Blog· Nolan Chen·· 7 小时前AI 评分35

在 AWS 上构建超低延迟语音 AI 应用:Cartesia 用 SSM 实现 sub-100ms 语音合成与转写

Building ultra-low-latency voice AI applications on AWS

AI 导读

AWS 合作伙伴 Cartesia 基于专门设计的 State Space Model(SSM)架构,在 AWS 上提供 sub-100ms 的语音合成与语音转写能力,用于构建接近真人对话节奏的语音 AI 应用。

摘要与补充说明

其两个核心模型为 Sonic(文本转语音)和 Ink(语音转文字):Sonic 首个音频字节约 90ms 输出,支持 44 种以上语言、可用 10 秒音频样本克隆音色,并在收到完整文本前就开始生成音频;Ink 原生支持轮次检测与语义断句,实时输出部分转写结果,让下游 LLM 在用户说完前即可开始生成回复,并具备噪声鲁棒性和多说话人处理能力。

正文· AI 翻译

对话式 AI 正在改变人类与技术交互的方式。从虚拟助手、AI 驱动的联络中心,到实时翻译和无障碍工具,语音优先的界面正迅速成为全球数百万用户默认的交互方式。

然而,提供真正自然的语音体验仍然是 AI 基础设施中最艰巨的挑战之一。用户期待类人的响应速度。过高的延迟会打断对话流畅性并侵蚀信任。为了感觉自然,AI 生成的语音必须在与人类轮流发言相同的时间窗口内到达。

本文介绍专注于实时语音 AI 的 AWS 合作伙伴 Cartesia 如何利用专门构建的状态空间模型(SSM)和 AWS 基础设施,在全球范围内提供低于 100 毫秒的文本转语音和语音转文本服务。开发者可以构建与人类对话难以区分的语音体验。

对话式 AI 的兴起与延迟预期

各行业对实时语音 AI 的需求正在快速增长:

  • 联络中心:处理数百万客户交互的 AI 代理需要即时语音生成,以维持自然对话。
  • 远程医疗:远程患者问诊需要低延迟语音,以实现准确、富有同理心的沟通。
  • 游戏与虚拟世界:沉浸式体验需要为非玩家角色(NPC)和玩家交互提供实时语音合成。
  • 无障碍:屏幕阅读器和语音界面必须即时响应,以服务视障用户。
  • 呼入与呼出销售:AI 销售代理必须在没有尴尬停顿的情况下响应,以筛选潜在客户、处理异议并留住潜在客户。

传统的基于 Transformer 的文本转语音(TTS)模型在流式延迟方面表现不佳,因为它们会在产生输出之前处理整个序列。这种架构限制造成了一个根本性矛盾:更高质量往往意味着更高延迟。一类新的模型——状态空间模型——解决了这一权衡。

语音 AI:状态空间模型(SSM)

状态空间模型(SSM)处理序列的方式与 Transformer 有着根本不同,后者是当今大多数 AI 背后的架构。Transformer 使用一种称为注意力的机制,将序列中的每个元素与所有其他元素进行比较。因此,随着序列变长,计算量呈二次方增长。SSM 则将序列视为一个随时间连续演化的系统,逐步处理并携带一个紧凑的内部状态向前推进。这可以转换为计算机能够高效处理的形式,从而在某些长序列上保持低成本。这种效率使 SSM 非常适合实时流式数据,例如实时语音。

SSM 在音频处理方面的关键优势包括:

  • 高质量的长程依赖:结构化 SSM 是一种线性递归形式,但其状态参数化能够在长音频序列上保留信息,避免了限制经典循环神经网络(RNN,如长短期记忆(LSTM)网络)的长程信号衰减。
  • 恒定内存占用:与缓存所有先前 token 的 Transformer 不同,SSM 维护固定大小的隐藏状态。
  • 原生流式支持:递归结构逐 token 处理输入,因此无需架构修改即可支持真正的流式处理。

这些特性使 SSM 特别适合对质量和延迟都不可妥协的实时语音应用。

工作原理:用于实时语音的 SSM

Cartesia 将 SSM 的这些优势应用于两个生产级语音模型:用于语音生成的 Sonic 和用于转录的 Ink。

Introducing Cartesia

Cartesia 是一家实时多模态智能公司,构建了一款基于 State Space Model 架构专门打造的语音 AI 应用。Cartesia 的应用由推动 SSM 进展的研究人员创立,专为在人类感知边缘进行流式推理而设计。

该应用包含两个核心模型:用于文本转语音的 Sonic 和用于语音转文本的 Ink,二者均针对低于 100ms 的首字节延迟进行了优化,同时保持录音室级输出质量。

Sonic(文本转语音)

Sonic 是 Cartesia 的旗舰流式文本转语音模型,以低于 100ms 的延迟提供超逼真的语音合成:

  • 首个音频字节约 90ms:用户几乎即时听到语音响应。
  • 超逼真的语音质量:在超过 44 种语言中呈现自然的韵律、情感和表现力。
  • 用极少数据实现声音克隆:从 10 秒音频样本创建听起来自然的自定义声音。
  • 流式原生架构:在收到完整文本输入之前就开始生成音频。
  • 上下文感知合成:在长段落中保持一致的语调和风格。

Sonic 推荐给希望以最少运维开销实现最快投产时间的团队。调用 API 并实时接收流式音频。

Ink(语音转文本)

Ink 是 Cartesia 的流式语音转文本模型,专为对话式 AI 应用打造:

  • 原生轮次检测:自动识别说话者何时结束其轮次,无需单独的语音活动检测(VAD)或端点检测模型即可缓解尴尬停顿。
  • 上下文感知端点检测:利用语义理解区分句中途停顿和真正的对话边界。
  • 流式转录:在用户说话时实时输出部分转录,使下游大语言模型(LLM)能在轮次结束前开始形成响应。
  • 噪声鲁棒性:在真实部署中常见的嘈杂环境中保持准确性。
  • 多说话人支持:妥善处理重叠语音和说话人切换。

Sonic 和 Ink 共同提供构建感觉像人类的对话代理所需的完整语音 AI 堆栈。

在 AWS 上部署 Cartesia

如果你需要数据主权、延迟控制或合规性,可以将 Cartesia 模型直接部署到你自己的 AWS 账户中。Sonic 通过 AWS Marketplace 以 Amazon SageMaker AI 模型包形式交付,你将其部署到完全运行在你的虚拟私有云(VPC)内的 SageMaker AI 端点。推理数据不会离开你的账户。

本节中的部署模式涵盖 Sonic。Ink 目前可通过 Cartesia API 使用,你可以在 AWS Marketplace 中通过 Cartesia Voice AI Platform 商品购买。Sonic 有两种主要模式可用。

选项 1:Amazon SageMaker AI(AWS Marketplace 模型包)

在 Amazon SageMaker AI 上部署是获得托管、VPC 内 Sonic 端点的最快途径。Sonic 以 AWS Marketplace 模型包的形式提供,因此需要执行一次性的订阅步骤,该步骤会为你的账户授予特定于 AWS 区域的模型包 ARN。然后,你可以从该 ARN 创建 SageMaker AI 端点,既可以通过控制台操作,也可以使用 SageMaker 或 Boto3 SDK 完成。以下步骤遵循 Cartesia 的官方部署 notebook。

先决条件

从 Amazon SageMaker Notebook Instance 或 SageMaker Studio 运行。

AWS Identity and Access Management (IAM) 执行角色需要 AmazonSageMakerFullAccess。

要订阅,你的角色(以及你本人)需要 aws-marketplace:Subscribe、aws-marketplace:Unsubscribe 和 aws-marketplace:ViewSubscriptions。否则,该账户必须已经订阅了该商品列表。

部署之前,请从模型包的 SupportedRealtimeInferenceInstanceTypes field: 中选择受支持的实例类型

  • ml.g6e.xlarge 或更大
  • ml.g7e.2xlarge 或更大
  • ml.g7.2xlarge 或更大
  • ml.p5.48xlarge
  • ml.p5en.48xlarge

如果你所选实例类型的应用值低于你当前的使用量加上计划中的端点实例数量,你可能需要申请提高服务配额。详情请参阅 SageMaker AI 配额。

将 Sonic 3.6 部署到 SageMaker 端点

在 Amazon SageMaker JumpStart 中,你可以订阅其 AWS Marketplace 模型包、创建 SageMaker 模型,并将其托管在实时端点上。以下四个步骤展示了部署路径。

  1. In SageMaker AI, open AWS Marketplace resources, then All products. Search for Sonic 3.6 SageMaker and choose the Cartesia listing.

    AWS Marketplace search results listing the Cartesia Sonic 3.6 SageMaker model package

    图 1:在 AWS Marketplace 中搜索 Cartesia Sonic 3.6 SageMaker 模型包

  2. Choose View purchase options, review the pricing and terms, and subscribe. The subscription grants your AWS account access to the model package. It doesn’t deploy resources.

    The Cartesia Sonic 3.6 SageMaker product listing page in AWS Marketplace

    图 2:AWS Marketplace 中的 Cartesia Sonic 3.6 商品列表

  3. Open Deployments & inference > Deployable models, choose Create model, select Use a model package subscription from AWS Marketplace, and select Sonic 3.6 SageMaker. Choose an execution role, then create the model.

    SageMaker Create model page using the Sonic 3.6 AWS Marketplace subscription

    图 3:从 Sonic 3.6 订阅创建 SageMaker 模型

  4. Create a real-time endpoint from the model with a supported GPU instance, such as ml.g6e.2xlarge. The endpoint first appears with Creating status. Wait for InService before invoking it.

    SageMaker endpoint for the Cartesia Sonic 3.6 model showing InService status

    图 4:Sonic 3.6 的 SageMaker 端点

模型包 ARN 特定于区域。要使用 SageMaker API 验证美国东部(弗吉尼亚北部)的 Sonic 3.6 包,请运行:

export MODEL_PACKAGE_ARN="arn:aws:sagemaker:us-east-1:865070037744:model-package/sonic36-sagemaker-v0-c6e9cacffcdf31178d1bd7c98c587480"

aws sagemaker describe-model-package \
    --model-package-name "$MODEL_PACKAGE_ARN" \
    --region us-east-1 \
    --query '{Status:ModelPackageStatus,ProductId:InferenceSpecification.Containers[0].ProductId,InstanceTypes:InferenceSpecification.SupportedRealtimeInferenceInstanceTypes}'

端点达到 InService 状态后,使用 SageMaker Runtime InvokeEndpointWithResponseStream API 调用它,并在你的应用中处理返回的音频流。

选项 2:在 EC2 GPU 实例上自行管理

有些团队已有 GPU 基础设施、严格的网络要求,或需要将 Cartesia 与其他服务共置。对于这些情况,你可以在 Amazon Elastic Compute Cloud (Amazon EC2) GPU 实例上自行运行模型容器。这样你可以完全控制运行时、扩缩容和网络路径。它使用从 Cartesia 获取的 Cartesia 容器镜像,而不是 AWS Marketplace 模型包。

Eight-step deployment flow for self-managed Cartesia Sonic on Amazon EC2 GPU instances, from obtaining the container image through adding observability and resiliency

图 5:在 Amazon EC2 GPU 实例上自行管理部署 Cartesia Sonic 的流程

获取容器镜像。 向 Cartesia 请求 Sonic 容器镜像和许可条款。将其复制到你自己的私有 Amazon Elastic Container Registry (Amazon ECR) 存储库中,以便你的计算平面可以使用受 IAM 范围限定的凭证拉取它,而不必在大规模场景下访问外部注册表。

选择你的 GPU 实例系列。 Sonic 在 NVIDIA GPU 实例上运行。G6 (L4) 和 G6e (L40S) 系列是实时 TTS 的最佳平衡选择。较早的 G5 (A10G) 也可以使用。根据你的目标并发量匹配 GPU 内存和 vCPU,并且为简化扩缩容,优先为每个模型副本使用单 GPU 实例。

配置计算平面(Amazon Elastic Container Service (Amazon ECS) 或 Amazon Elastic Kubernetes Service (Amazon EKS))。对于 ECS:注册一个 GPU 任务定义(设置容器的 GPU 资源需求,例如类型为 GPU 的 resourceRequirements),并将其作为服务运行在 Application Load Balancer 之后。对于 EKS:使用 EKS GPU 优化 AMI 创建 GPU 节点组(或 Karpenter provisioner),安装 NVIDIA 设备插件,并将容器作为 Deployment 部署,由 Service/Ingress 作为前端。

配置网络以实现低延迟。将推理节点放置在集群置放群组中,以最小化节点间延迟;将副本保留在单个可用区中,以获得最短路径;并使用 VPC 端点进行 ECR/S3 拉取。对于混合或本地调用方,通过 AWS Direct Connect 或私有 Network Load Balancer 终止流量,以避免公共互联网跳转。

高效加载模型权重。将模型权重存储在跨副本挂载的共享低延迟卷(Amazon Elastic File System (Amazon EFS) 或 Amazon FSx for Lustre)上,这样新的 pod/任务启动时无需各自重新下载数 GB 的工件。在容器启动时预热模型,并暴露健康检查,以便负载均衡器仅将流量路由到就绪的副本。

调整批处理和并发。设置容器的最大批大小和并发流限制,以匹配您的流量特征。更高的批大小可提高 GPU 利用率,但会增加首字节延迟,因此请针对您低于 100ms 的目标进行调整。对 streams-per-GPU 进行基准测试,以找到您将用于扩缩的副本容量。

实现自定义自动扩缩。基于反映真实负载的信号(活动音频流数量或 GPU 利用率)进行扩缩,而不是 CPU。在 Amazon ECS 上,使用 AWS Application Auto Scaling 配合自定义 Amazon CloudWatch 指标。在 Amazon EKS 上,使用由 GPU 或流数量指标驱动的 HPA/KEDA,并由 Karpenter(或 Cluster Autoscaler)在副本增长时添加 GPU 节点。

添加可观测性和弹性。将延迟(首字节时间)、流数量和 GPU 指标发送到 CloudWatch。跨节点运行至少两个副本以确保可用性。设置滚动更新或排空策略,以免部署时丢弃进行中的音频流。

当将 Cartesia 集成到现有机器学习 (ML) 系统、满足托管服务无法提供的网络或合规要求,或使用预留或 Spot GPU 容量优化成本时,推荐采用此方法。代价是您需要自行负责 SageMaker 原本会为您处理的预置、扩缩、修补和监控。

了解更多:请参阅 适用于 GPU 工作负载的 Amazon ECS 任务定义、在 Amazon EKS 上管理 NVIDIA GPU 设备,以及 GPU 加速 EC2 实例入门。

选择合适的部署模式

AWS 提供两种运行 Sonic 的方式,各自适合不同的起点。

托管路径使用 AWS Marketplace 中的 Amazon SageMaker AI 模型包,是大多数团队的默认选择:您订阅后,几分钟内即可部署到 VPC 内端点,并让 SageMaker 处理扩缩和运维。

自管理路径,即在 EC2 GPU 实例上自行运行模型容器,专为具有特定约束的团队而设计:已有 GPU 基础设施、严格的网络要求,或需要将 Cartesia 与其他服务同址部署。对于这些团队而言,对运行时、扩缩容和网络路径的完全控制比部署时间更重要。

下表总结了二者的对比。

标准 SageMaker(Marketplace) EC2 GPU(自管理)
部署时间 订阅后数分钟 数小时至数天
计算 实时端点。支持的实例请参见SupportedRealtimeInferenceInstanceTypes。 EC2 GPU 实例
运维控制 由 AWS 托管 完全控制
扩缩容 SageMaker 自动扩缩容 自定义扩缩容策略
成本模型 软件费 + 每实例小时费 + 基础设施 EC2(预留/Spot 节省)
网络 VPC 内端点(网络隔离) 置放群组、Direct Connect
适用场景 快速、托管、VPC 内 自定义基础设施、最大控制权

除了在您自己的账户中部署 Cartesia 之外,这些模型已在 Amazon 服务内部的生产环境中得到验证,而很少有环境比实时联络中心对实时语音的要求更高。Amazon Connect 正是这样的验证场。

生产环境:Amazon Connect

本节展示 Cartesia 的语音模型如何在 Amazon Connect 中以生产规模运行。

什么是 Amazon Connect?

Amazon Connect 是一项基于云的联络中心服务,企业用它来建立和运营处理呼入和呼出语音通话、聊天和消息的客户支持业务。凭借按需付费定价以及与 AWS 服务的深度集成,Amazon Connect 每天在从金融服务到医疗保健的各行各业中支撑着数百万次客户交互。

Cartesia 如何赋能 Amazon Connect 体验

Cartesia 的语音 AI 模型与 Amazon Connect 原生集成,带来新一代联络中心体验:

  • 即时响应:消除会削弱客户对 AI 交互信心的不自然停顿。
  • 实时转录:Ink 提供实时转录,并具备面向坐席辅助工作流的智能轮次检测。
  • 多语言支持:以一致的语音质量和自然的韵律为超过 44 种语言的客户提供服务。
  • 可扩展的基础设施:在高峰时段处理流量激增,而不会降低语音质量或增加延迟。

通过将 Amazon Connect 的全渠道编排与 Cartesia 的实时语音 AI 相结合,您可以自动化复杂的客户交互,同时保持建立信任与忠诚度所需的自然、响应迅速的体验。

开始使用

准备好构建超低延迟的语音 AI 应用了吗?以下是后续步骤:

  • 通过 SageMaker JumpStart 部署 Sonic:在 SageMaker JumpStart 模型中心搜索“Cartesia”,几分钟内即可部署实时端点。
  • 试用 Cartesia API:从Cartesia 入门指南开始。无需搭建基础设施。
  • 探索参考架构:访问Cartesia GitHub 仓库,获取示例 notebook、部署模板和集成示例。
  • 联系团队:通过AWS Marketplace 上的 Cartesia 联系我们。

关于作者

Nolan Chen

Nolan Chen

Nolan 是 AWS 的合作伙伴解决方案架构师,帮助初创公司利用云构建创新解决方案。在加入 AWS 之前,Nolan 专注于数据安全,并帮助客户部署高性能广域网。

Jim Fratantoni

Jim Fratantoni

Jim 是 AWS 的高级前沿 AI 客户经理,专注于帮助 AI 初创公司构建技术集成并与 AWS 联合销售。他热衷于与创始人合作共同开拓市场,推动企业客户成功。

Anita Mo

Anita Mo

Anita 是 Cartesia 的创始产品营销人员,负责领导发布策略、内容和传播工作。她与 Cartesia 的产品、研究和 GTM 团队协作,帮助开发者和企业发现并构建下一代语音 AI 体验。

Daniel Wirjo

Daniel Wirjo

Daniel 是 AWS 的解决方案架构师,专注于 AI 和 SaaS 初创公司。作为曾经的初创公司 CTO,他与创始人和工程负责人合作,帮助他们在 AWS 上构建和成长。工作之余,Daniel 喜欢带着咖啡散步、亲近自然,并学习新想法。

ND Ngoka

ND Ngoka

ND 是 AWS 的高级解决方案架构师,专注于 AI/ML 和存储技术。他引导客户完成复杂的架构决策,帮助他们构建可推动业务成果的弹性、可扩展解决方案。

来源:AWS Machine Learning Blog · aws.amazon.com阅读原文

相关阅读

专题与标签

相关资讯专题