Allgemeine Einführung
TangoFlux ist ein von DeCLaRe Lab entwickeltes effizientes Modell zur Erzeugung von Text-zu-Audio (TTA). Das Modell ist in der Lage, bis zu 30 Sekunden 44,1kHz-Stereo-Audio in nur 3,7 s zu erzeugen. TangoFlux nutzt Stream-Matching- und Clap-Ranked Preference Optimization (CRPO)-Techniken, um den TTA-Abgleich durch die Erzeugung und Optimierung von Präferenzdaten zu verbessern. Das Modell schneidet sowohl in objektiven als auch in subjektiven Benchmarks gut ab, und der gesamte Code und die Modelle sind quelloffen, um weitere Forschungen zur TTA-Generierung zu unterstützen.
Erfahrung: https://huggingface.co/spaces/declare-lab/TangoFlux
Die Singapore University of Technology and Design (SUTD) und NVIDIA haben gemeinsam TangoFlux angekündigt, ein hocheffizientes Text-to-Audio (TTA)-Generierungsmodell mit ca. 115 Millionen Parametern, das auf einem einzelnen A40-Grafikprozessor in nur 3,7 Sekunden bis zu 44,1kHz Audio generieren kann. Mit ca. 515 Millionen Parametern ist das Modell in der Lage, bis zu 30 Sekunden 44,1-kHz-Audio in nur 3,7 Sekunden auf einem einzigen A40-Grafikprozessor zu erzeugen. TangoFlux hat nicht nur eine ultraschnelle Generierungsgeschwindigkeit, sondern auch eine bessere Audioqualität als Open-Source-Audiomodelle wie Stable Audio.
Vergleichen Sie TANGoFLux mit anderen hochmodernen Open-Source-Modellen für die Text-Audio-Generierung: TANGoFLux generiert nicht nur etwa doppelt so schnell wie die schnellsten Modelle, sondern erreicht auch eine bessere Audioqualität (gemessen an CLAP- und FD-Scores), und das alles mit weniger trainierbaren Parametern.
TangoFlux mit dem Titel "Ultra-schnelle und getreue Text-zu-Audio-Generierung über Stream Matching und Clap-Ranked Preference Optimisation" besteht aus FluxTransformer-Blöcken, die Diffusion Transformers (DiTs) und Multi-Modal Diffusion Transformers (MMDiTs), die auf Text-Cues und Duration Embeddings konditioniert sind, um bis zu 30 Sekunden 44,1kHz Audio zu generieren. Es handelt sich um den Diffusionstransformator (DiT) und den Multimodalen Diffusionstransformator (MMDiT), die auf textuelle Hinweise und Dauereinbettungen konditioniert sind, um 44,1kHz-Audio mit einer Länge von bis zu 30 Sekunden zu erzeugen.TangoFlux lernt rektifizierte Streaming-Trajektorien der latenten Repräsentationen des durch den Variablen Auto-Encoder (VAE) kodierten Audios.Die TangoFlux-Trainings-Pipeline besteht aus drei Phasen: Pre-Training, Feinabstimmung und Optimierung der Präferenzen mit Hilfe des CRPO. Konkret erzeugt CRPO iterativ neue synthetische Daten und konstruiert Präferenzpaare unter Verwendung von DPO-Verlusten zur Präferenzoptimierung für das Stream-Matching.
Funktionsliste
- Schnelle AudioerzeugungGenerieren Sie bis zu 30 Sekunden hochwertiges Audio in 3,7 Sekunden.
- Stream-Matching-TechnologieAudioerzeugung mit FluxTransformer und multimodalen Diffusionstransformatoren.
- CRPO-OptimierungVerbessern Sie die Qualität der Audiogenerierung durch die Generierung und Optimierung von Präferenzdaten.
- Mehrstufige AusbildungEs besteht aus drei Phasen: Vortraining, Feinabstimmung und Präferenzoptimierung.
- offene QuelleDer gesamte Code und alle Modelle sind als Open Source verfügbar, um weitere Forschung zu unterstützen.
Hilfe verwenden
Einbauverfahren
- Umgebung KonfigurationVergewissern Sie sich, dass Python 3.7 und höher installiert ist und dass die erforderlichen Bibliotheken installiert sind.
- Klon-Lager: In einem Terminal ausführen
git clone https://github.com/declare-lab/TangoFlux.git
Klon-Lagerhaus. - Installation von Abhängigkeiten: Wechseln Sie in das Projektverzeichnis und führen Sie
pip install -r requirements.txt
Installieren Sie alle Abhängigkeiten.
Verwendungsprozess
- Modellschulung::
- Konfigurationsbeschleuniger: Ausführen
accelerate config
und folgen Sie den Aufforderungen zur Konfiguration der Laufzeitumgebung. - Konfigurieren Sie den Pfad der Trainingsdatei: in der
configs/tangoflux_config.yaml
Geben Sie den Pfad der Trainingsdatei und die Hyperparameter des Modells in der Datei - Starten Sie das Trainingsskript: Verwenden Sie den folgenden Befehl, um das Training zu starten:
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 Training: Ändern Sie die Trainingsdatei so, dass sie die Felder "chosen", "reject", "caption" und "duration" enthält, und führen Sie den folgenden Befehl aus:
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'
- Konfigurationsbeschleuniger: Ausführen
- modellhafte Argumentation::
- Modell herunterladen: Stellen Sie sicher, dass Sie das TangoFlux-Modell heruntergeladen haben.
- Audio generieren: Verwenden Sie den folgenden Code, um aus einer Texteingabeaufforderung Audio zu generieren:
import torchaudio from tangoflux import TangoFluxInference from IPython.display import Audio model = TangoFluxInference(name='declare-lab/TangoFlux') audio = model.generate("生成音频的文本提示", duration=10) Audio(audio, rate=44100)
Detaillierte Funktionsweise
- Text-zu-Audio-GenerierungGeben Sie einen Text ein, legen Sie die Dauer des erzeugten Tons fest (1 bis 30 Sekunden), und das Modell wird den entsprechenden hochwertigen Ton erzeugen.
- Tendenz zur OptimierungDurch die CRPO-Technologie ist das Modell in der Lage, einen Ton zu erzeugen, der den Vorlieben des Nutzers besser entspricht.
- Mehrstufige AusbildungEs besteht aus drei Phasen: Vortraining, Feinabstimmung und Optimierung der Präferenzen, um die Qualität und Konsistenz der vom Modell erzeugten Audiodaten zu gewährleisten.
caveat
- Hardware-VoraussetzungEs wird empfohlen, für eine optimale Leistung einen Grafikprozessor mit höherer Rechenleistung (z. B. A40) zu verwenden.
- Vorbereitung der DatenVielfalt und Qualität der Trainingsdaten sicherstellen, um die Modellerstellung zu verbessern.
Mit diesen Schritten können Benutzer schnell mit TangoFlux für eine hochwertige Text-zu-Audio-Konvertierung beginnen. Ausführliche Installations- und Nutzungsanweisungen stellen sicher, dass die Benutzer das Modelltraining und die Inferenz erfolgreich abschließen können.