ファインチューニング不要のTTS、MOSS-TTSのセットアップ(NVIDIA DGX Spark活用)

本記事では、NVIDIAの最新AIワークステーションであるDGX Spark (Grace-Blackwell)環境に、高性能TTSモデルMOSS-TTSを構築したプロセスを共有します。ファインチューニングなしでも驚くべき音声クローニング性能を発揮するのが特徴です。

moss-tts-on-dgx-spark

システム環境概要



このインストールガイドは、以下の環境を基準に作成されています。

項目 仕様 備考
Hardware NVIDIA DGX Spark (Grace-Blackwell) 低消費電力・低騒音AIワークステーション
GPU GB10 (CUDA Capability 12.1) Blackwellアーキテクチャ
OS Ubuntu 22.04 LTS ベース -
CUDA / Driver CUDA 13.0 Sparkの標準ドライバー環境
Python 3.10+ (venv使用) Condaの代わりに軽量なvenvを選択
VRAM占有 約 23.8 GB 推論待機時および実行時の基準

1. リポジトリのクローン

git clone https://github.com/OpenMOSS/MOSS-TTS.github

2. 仮想環境(venv)の作成とアクティベート



GitHubのガイドではCondaを推奨していますが、今後のDockerパッケージングやsystemdサービス登録の利便性を考慮し、Python仮想環境を選択しました。

python3 -m venv myvenv
source myvenv/bin/activate

3. 基本ビルドツールのアップデート

pip install -U pip setuptools wheel

4. 重要な設定: pyproject.tomlの修正

DGX SparkのCUDA 13.0環境に合わせるため、依存関係のバージョンを直接修正する必要があります。特にtorchとtorchaudioのバージョンを必ず一致させることで、インストール中に発生する競合を防ぐことができます。

  • 修正内容:
  • "torch==2.10.0+cu130"
  • "torchaudio==2.10.0+cu130"
  • "torchcodec==0.10.0+cu130"

5. 依存パッケージのインストール

pip install --extra-index-url https://download.pytorch.org/whl/cu130 -e .

6. ホストFFmpegのインストール

FFmpegがないと推論時にエラーが発生するため、ライブラリとともに事前にインストールしておきます。

sudo apt update && sudo apt install -y ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libswscale-dev
sudo ldconfig

7. モデルのダウンロードと実行時の注意点

  • HuggingFaceからの直接ダウンロードは避ける: HuggingFaceから手動でモデルをダウンロードし、--model_pathで指定すると、実行ファイル(moss_tts_app.py)との変数名の不一致によりエラーが発生する可能性があります。
  • 自動ダウンロードを推奨: デフォルト設定で実行すると、約17GBの重みモデルと7GBのTokenizerが自動的にキャッシュパスにダウンロードされます。
  • 実行スクリプト:
python clis/moss_tts_app.py --device cuda --attn_implementation auto --host 0.0.0.0 --port 7860

注: 実行時にGB10 (cuda capability 12.1)に関する警告が表示されることがありますが、実際の推論性能には影響がないことを確認済みです。初期ロードには約30~60秒かかります。

8. 使用レビュー:「もうファインチューニングは不要だ」

  • クローニング性能: 私の声サンプル一つだけで、日本語、英語、韓国語のいずれにおいても、音色と話し方を完璧に再現します。
  • 速度: 短い文章は7~8秒、長い文章(3~4文)は約30秒前後で生成されます。
  • 言語別の特徴: 英語はほぼ完璧で、日本語の漢字の誤読はひらがな表記で簡単に修正可能です。
  • 電力効率: 推論時でも36W前後の低消費電力を維持し、ファンノイズが全く発生しない点がDGX Sparkの大きな利点です。

9. トラブルシューティング:NVIDIA公式イメージを使用しなかった理由

NVIDIAが提供するnvcr.io/nvidia/pytorch:26.01-py3イメージでは、TTSの動作に必要なtorchaudioおよびtorchcodecがビルドできません。NVIDIAがイメージを作成する際に組み込んだPyTorchのバージョンがNVIDIA製品に合わせて特別にビルドされているようで、このPyTorchとtorchaudioおよびtorchcodecとのバージョン不一致により問題が発生しました。そのため、残念ながらSparkにおいても、現時点では通常のvenv環境が最も安定しています。


🚀 今後の計画

  • FlashAttention 2の適用: インストール後、推論速度がどれだけ短縮されるかテストする予定です。
  • MOSS-VoiceGenerator: リファレンスなしで新しい仮想音声を生成するモデルについても探求する計画です。

関連記事

-NVIDIA DGX Spark - オンプレミスAIインフラの新しい基準