Qwen3-TTSによる低コスト・高性能テキスト読み上げ
BasetenはvLLM-Omniを使ってQwen3-TTSを最適化し、100万文字あたり3~4ドルのコストを実現。クローズドソースの代替品と比較して90%低コストで、高い音声忠実度を維持します。分離型音響トークン生成・復号、CUDAグラフ、話者埋め込みキャッシュ、動的フレーム蓄積、単語タイムスタンプなどの最適化技法を詳述します。
音声は、LLMシステムと対話するための主要なインターフェースになりつつあります。高性能で表現力豊かなテキスト読み上げ機能は、音声エージェント、ディクテーション、コンテンツ生成などの新たな製品体験を切り開きます。Basetenは、vLLM-Omniを用いてQwen3-TTSモデルファミリーの単一レプリカ性能を最適化し、高い音声忠実度を維持しながら、100万文字あたり約3~4ドルという大幅なコスト効率を達成しました。
Qwen3-TTSは、音声エージェント、語学学習、エンタープライズ向けコールインフラといった分野で導入され、音質と速度の両面で非常に好評を得ています。本稿では、クローズドソースの代替品よりも約90%低コストで、高性能なTTSを本番環境で実現するための最適化手法を紹介します。
テキスト読み上げAPIの経済性 管理型TTS APIは通常、文字数に基づいて課金されます。この料金には、サービスコスト(GPU使用を含む)とモデルが複数のリクエストを処理する同時実行性が含まれます。クローズドソースプロバイダーの料金体系は不透明ですが、オープンソースモデルではGPU使用料が直接かかります。同じGPUで同時実行性を高める最適化は、1000文字/100万文字あたりのコストを直接削減します。
100万文字あたり5ドル未満の実現 オープンソースTTSモデルの100万トークンあたりのコストを算出するため、混合長のプロンプト(20~500文字)のコーパスでベンチマークを実行しました。単一レプリカのスループットを高めることで、コストを複数のストリームに分散し、100万文字あたりの価格を下げられます。25の同時ストリームで、システムは最適点に達し、100万文字あたり3.04ドル、p50およびp90のRTFはリアルタイムしきい値を下回りました。
最適化されたQwen3-TTSスタック 低コスト、低レイテンシ、高スループットを実現する主要な最適化は以下の通りです:
- 分離型音響トークン生成と復号:Qwen3-TTSは自己回帰型Talkerとニューラルオーディオコーデックデコーダの2段階で構成されます。vLLM-Omniの分離型ステージ実行により、各ステージが独立したエンジンとして動作し、リクエスト間のパイプライン処理が可能になります。各ステージは独立してバッチ処理を行うため、単一レプリカで同時リクエストを処理する上で最も重要なアーキテクチャ上のテコです。
- ARステージのCUDAグラフとGPU-CPU同期の削減:CUDAグラフ最適化を適用し、一般的なテンソル形状を事前にプロファイリングしてキャプチャすることで、カーネル起動数を削減。また、単一プロセス実行器を採用することでシリアライゼーションを回避し、オーバーヘッドを低減しています。
- 話者埋め込みキャッシュ:ゼロショット音声クローンにおいて、頻繁に再利用される話者埋め込みをインメモリLRUキャッシュに保持し、初回音声出力までの時間を短縮。
- 動的フレーム蓄積:遅延とスループットをバランスするため、初期フレーム数を少なくして初回音声までの時間を最小化し、後続のチャンクではフレーム数を増やして動的バッチ処理を活用。
単語タイムスタンプの追加 音声エージェントの割り込み処理に不可欠な単語レベルのタイムスタンプを実現するため、Qwen3強制アライナを後処理ステップとして統合。同期・非同期両モードでタイムスタンプを出力可能にしました。
さらなる拡張:自作音声へのファインチューニング 教師ありファインチューニングにより、約1時間の参照音声を使って新しい音声をカスタマイズ可能。高品質で声の類似性が向上し、話者埋め込みのプリフィルを回避するため性能もわずかに向上します。Basetenのトレーニングプラットフォームでファインチューニングを実行し、得られたチェックポイントをvLLM-Omniサービススタックにシームレスに統合できます。
最適化されたQwen3-TTSモデルは、モデルライブラリからセルフサービスで利用可能で、ストリーミングと音声クローンのユースケースをサポートしています。