模型

Qwen3-TTS-12Hz在SageMaker实时部署: 语音克隆

Deploy the publicly available Qwen3-TTS-12Hz-1.7B-Base text-to-speech model from Amazon SageMaker JumpStart to a fully managed, real-time endpoint, and clone a voice from a short r

正文為 SEO 深度以中文為主;上方要點已本地化。可用語言切換與深鏈進行全球導航。

在 Amazon SageMaker JumpStart 上部署 Qwen3-TTS-12Hz-1.7B-Base 模型,可以轻松实现实时语音克隆。模型支持从几秒钟的参考录音快速捕捉说话者声音,并在 24 kHz 采样率下生成自然语音输出,适用于内容本地化、客服虚拟助理、音频书籍和实时语音代理场景。

如果你是媒体团队、开发者或企业客户,需要快速搭建个性化语音系统而不自行训练模型,这套方式特别适用。它利用 JumpStart 的预构建容器实现全托管实时端点,省去底层 GPU 服务器管理,成本按实际调用计算,数据也控制在 AWS 账号内。

部署决策时,建议优先选择 ml.g6.4xlarge 实例(24 GB L4 GPU),因为模型参数较小,单卡即可满足两阶段(Talker + code2wav)推理。相比传统端到端训练,此方法无需大规模数据集,适合快速验证语音克隆效果并调整语言适应。

Qwen3-TTS-12Hz-1.7B-Base 模型简介

Qwen3-TTS 系列是阿里巴巴 Qwen 团队发布的多语言文本到语音模型,覆盖中文、英文、日语、韩语、德语、法语、俄语、葡萄牙语、西班牙语和意大利语等 10 种语言。它采用 12Hz 语音分词器,支持流式生成以实现低延迟交互。

Base 变体特别适合语音克隆:只需几秒钟参考音频及其转录,就能捕捉说话者的音色、音高和节奏,并应用于新文本输出。不同于预定义说话者的 CustomVoice 版本,Base 变体提供灵活的用户参考克隆,支持跨语言克隆(例如中文参考生成英文语音)。模型参数量仅 1.7B,在 SageMaker 上部署后可通过 vLLM-Omni 容器实现实时推理。

根据官方博客,这款模型已正式上线 SageMaker JumpStart,简化了从模型仓库到实时端点的流程。

SageMaker 实时部署架构

部署架构基于 JumpStart 提供的预构建容器,直接将模型加载到 GPU 实例,无需自定义推理处理器。请求流程如下:

  • 客户端发送 HTTP 请求(包含目标文本、参考音频 base64 编码和转录)。
  • SageMaker 路由到 vLLM-Omni 容器运行。
  • Talker 阶段生成语音令牌,code2wav 阶段渲染为波形。
  • 返回 24 kHz WAV 格式音频。

该架构支持全托管端点,自动扩缩容,并通过 CloudWatch 监控 GPU 利用率和延迟。模型权重较小(Talker 约 3.66 GiB,code2wav 约 0.45 GiB),KV cache 占用显著,但设置适当的 GPU 内存利用率即可避免 OOM 错误。

部署步骤

准备环境

确保具备以下资源:

  • AWS 账号并开启 SageMaker AI 和 S3 权限。
  • SageMaker Python SDK 安装。
  • 支持 GPU 的实例配额(ml.g6.4xlarge 足够)。
  • 参考音频(几秒 WAV/M4A)和转录文本。

部署模型

使用 JumpStartModel 构造函数创建并部署:

```python from sagemaker.jumpstart.model import JumpStartModel import boto3

model = JumpStartModel( model_id="huggingface-ttsvoiceclone-qwen3-tts-12hz-1-7b-base", model_version="1.0.1", # 固定版本以保证稳定性 instance_type="ml.g6.4xlarge", role="<sagemaker-execution-role-arn>", env={"SM_VLLM_GPU_MEMORY_UTILIZATION": "0.45"}, # 关键配置 ) predictor = model.deploy( endpoint_name="qwen3-tts-voice-clone", accept_eula=True, ) ```

部署后端点通常需几分钟加载容器并准备就绪。

配置 GPU 内存

模型分两个阶段运行在同一 GPU 上,vLLM 预留内存。根据官方示例,设置 SM_VLLM_GPU_MEMORY_UTILIZATION 为 0.45 可确保 Talker(3.66 GiB)和 code2wav(0.45 GiB)权重及 KV cache 稳定占用。

启动时查看 CloudWatch Logs 确认内存使用:Talker KV cache 预算约 56,928 tokens,足够流式推理。

测试语音克隆

准备参考音频(转换为 24 kHz 单声道 WAV 并 base64 编码),然后调用端点:

```python import base64 import boto3 from sagemaker.runtime import SageMakerRuntimeClient

runtime = boto3.client("sagemaker-runtime")

ref_audio_base64 = "data:audio/wav;base64,..." # 转换后的参考音频 ref_text = "Reference clip transcript."

payload = { "model": "/opt/ml/model", "input": "你的目标文本", "ref_audio": ref_audio_base64, "ref_text": ref_text, "response_format": "wav", }

response = runtime.invoke_endpoint( EndpointName="qwen3-tts-voice-clone", ContentType="application/json", Body=json.dumps(payload), CustomAttributes="route=/v1/audio/speech" # 必须路由到 TTS 处理程序 )

audio = response['Body'].read

保存或播放音频

```

监控与优化

使用 CloudWatch 监控端点:

  • GPU 利用率
  • 请求延迟
  • 模型加载时间

根据负载调整实例类型或启用自动缩放。官方博客提供了完整配置检查表,建议在生产前测试多轮请求以确认流式输出稳定性。

延伸阅读

风险与边界

此部署适用于 AWS 平台,不涉及第三方绕过或非官方修改器。过度优化实例类型或配置可能导致额外费用,建议按实际使用量监控。

免责声明:本文仅供参考,提供事实信息,不构成法律、财务或任何专业建议。实际操作请参阅 AWS 官方文档,以最新可用资源为准。

English summary

Deploy the public Qwen3-TTS-12Hz-1.7B-Base TTS model from Amazon SageMaker JumpStart for fully managed real-time voice cloning endpoints. The process uses the JumpStart Python SDK with a vLLM-Omni container to handle reference audio input and produce 24 kHz output in minutes. Key steps include correct GPU memory utilization (0.45) for the 1.7B model and custom routing for the TTS handler. Ideal for media teams and developers needing quick multilingual voice personalization without retraining. Monitor with CloudWatch for latency and scale automatically. All code examples and configurations are directly from the official AWS blog published September 25, 2026. Test in your AWS account using the provided ml.g6.4xlarge instance recommendation.

适用于 GrokCode 倍率榜。信息仅供参考,不构成购买、投资或法律意见。