はじめに
TangoFluxは、DeCLaRe Labによって開発された効率的なTTA(text-to-audio)生成モデルです。TangoFluxは、ストリームマッチングとCRPO(Clap-Ranked Preference Optimization)技術を使い、プリファレンスデータを生成し最適化することで、TTAアライメントを強化します。このモデルは、客観的ベンチマークと主観的ベンチマークの両方で優れた性能を発揮し、すべてのコードとモデルは、さらなるTTA生成研究をサポートするためにオープンソースとなっています。
シンガポール工科デザイン大学(SUTD)とNVIDIAは共同で、約1億1500万個のパラメータを持ち、A40 GPU1個で44.1kHzの音声をわずか3.7秒で生成できる高効率なTTA(Text-to-Audio)生成モデル、TangoFluxを発表した。TangoFluxは、約5億1500万個のパラメータを持ち、単一のA40 GPU上で、44.1kHzの音声をわずか3.7秒で最大30秒生成することができます。 TangoFluxは、超高速の生成速度を持つだけでなく、Stable Audioなどのオープンソースのオーディオモデルよりも優れたオーディオ品質を備えています。
TANGoFLuxを他の最先端のオープンソースのテキスト音声生成モデルと比較してみましょう。TANGoFLuxは、最速のモデルよりも約2倍高速に生成するだけでなく、より優れた音声品質(CLAPとFDスコアで測定)を達成し、これらすべてをより少ない学習可能なパラメータで実現します。
TangoFluxは、"Ultra-Fast and Faithful Text-to-Audio Generation via Stream Matching and Clap-Ranked Preference Optimisation "というタイトルで、最大30秒の44.1kHzオーディオを生成するために、テキストキューとデュレーションエンベッディングを条件とする拡散トランスフォーマー(DiT)とマルチモーダル拡散トランスフォーマー(MMDiT)であるFluxTransformerブロックで構成されています。TangoFluxは、VAE(Variable Auto-Encoder)によってエンコードされたオーディオの潜在的な表現の整流されたストリーミング軌道を学習する。TangoFluxの学習パイプラインは、事前学習、微調整、CRPOを用いたプリファレンスの最適化の3つのフェーズから構成される。具体的には、CRPOは繰り返し新しい合成データを生成し、ストリームマッチングのためのプリファレンス最適化のためにDPO損失を用いてプリファレンスのペアを構築する。
機能一覧
- 高速オーディオ生成最大30秒の高音質オーディオを3.7秒で生成。
- ストリーム・マッチング・テクノロジーFluxTransformerとMultimodal Diffusion Transformersを使ったオーディオ生成。
- CRPOの最適化プリファレンスデータの生成と最適化により、オーディオ生成の品質を向上させます。
- 多段階トレーニングプリトレーニング、ファインチューニング、プリファレンス最適化の3つのフェーズからなる。
- オープンソースすべてのコードとモデルは、さらなる研究をサポートするためにオープンソース化されています。
ヘルプの使用
設置プロセス
- 環境設定Python 3.7以上がインストールされ、必要な依存ライブラリーがインストールされていることを確認してください。
- クローン倉庫ターミナルで実行
git clone https://github.com/declare-lab/TangoFlux.git
クローン倉庫 - 依存関係のインストールプロジェクト・ディレクトリに移動して
pip install -r requirements.txt
すべての依存関係をインストールします。
使用プロセス
- モデルトレーニング::
- コンフィギュレーション・アクセラレーター:実行
アクセラレート設定
をクリックし、プロンプトに従ってランタイム環境を設定する。 - トレーニングファイルのパスを設定します。
configs/tangoflux_config.yaml
トレーニングファイルのパスとモデルのハイパーパラメータを - トレーニングスクリプトの実行:以下のコマンドを使用してトレーニングを開始します:
CUDA_VISIBLE_DEVICES=0,1 accelerate launch --config_file='configs/accelerator_config.yaml' src/train.py --checkpointing_steps="best" --.save_every=5 --config='configs/tangoflux_config.yaml'
- DPOトレーニング:「choosened」、「reject」、「caption」、「duration」フィールドを含むようにトレーニングファイルを修正し、以下のコマンドを実行する:
CUDA_VISIBLE_DEVICES=0,1 accelerate launch --config_file='configs/accelerator_config.yaml' src/train_dpo.py --checkpointing_steps="best" ---save_every=5 --config='configs/tangoflux_config.yaml'
- コンフィギュレーション・アクセラレーター:実行
- モデル化された推論::
- モデルのダウンロード:TangoFluxモデルがダウンロードされていることを確認してください。
- 音声の生成:以下のコードを使用して、テキストプロンプトから音声を生成します:
インポート torchaudio from tangoflux import TangoFluxInference from IPython.display import オーディオ model = TangoFluxInference(name='declare-lab/TangoFlux') audio = model.generate("Text prompt for generating audio", duration=10) audio(audio, rate=44100)
詳細な機能操作
- テキスト音声生成テキストプロンプトを入力し、生成される音声の長さ(1~30秒)を設定すると、対応する高品質の音声が生成されます。
- 最適化バイアスCRPO技術によって、よりユーザーの好みに近い音声を生成することができます。
- 多段階トレーニングプリトレーニング、ファインチューニング、プリファレンスの最適化という3つのフェーズで構成され、モデルによって生成される音声の品質と一貫性を保証します。
ほら
- ハードウェア要件最適なパフォーマンスを得るためには、計算能力の高いGPU(A40など)を使用することをお勧めします。
- データ準備モデル生成を改善するために、トレーニングデータの多様性と質を確保する。
これらのステップを踏むことで、ユーザーはTangoFluxによる高品質なテキスト音声変換をすぐに使い始めることができます。詳細なインストール方法と使用方法を説明することで、ユーザーはモデルの学習と推論プロセスを成功させることができます。