Schon vor längerer Zeit hat stability.ai mit „Stable Diffusion“ einen Dienst auf dem Markt gebracht, welcher KI generiert Bilder entworfen hat.
Jetzt ist das Unternehmen in den nächsten Markt eingestiegen und erzeugt KI Musik per „Stable Audio“.
Dazu heißt es auf der Webseite:
Stabiles Audio: Schnelle zeitlich konditionierte latente Audiodiffusion
Einführung
Die Einführung von diffusionsbasierten generativen Modellen hat das Feld der generativen KI in den letzten Jahren revolutioniert und zu einer raschen Verbesserung der Qualität und Kontrollierbarkeit von generierten Bildern, Videos und Audios geführt. Diffusionsmodelle, die im latenten Kodierungsraum eines vortrainierten Autoencoders arbeiten und als „latente Diffusionsmodelle“ bezeichnet werden, ermöglichen erhebliche Geschwindigkeitsverbesserungen beim Training und der Inferenz von Diffusionsmodellen.
Eines der Hauptprobleme bei der Erzeugung von Audio mit Hilfe von Diffusionsmodellen besteht darin, dass Diffusionsmodelle in der Regel so trainiert werden, dass sie eine Ausgabe mit fester Größe erzeugen. Ein Audio-Diffusionsmodell kann zum Beispiel auf 30-Sekunden-Audioclips trainiert werden und ist nur in der Lage, Audio in 30-Sekunden-Abschnitten zu erzeugen. Dies ist ein Problem, wenn es auf Audio mit stark variierenden Längen trainiert wird und versucht, diese zu generieren, wie es bei der Generierung vollständiger Songs der Fall ist.
Audio-Diffusionsmodelle werden in der Regel mit zufällig zugeschnittenen Audioabschnitten aus längeren Audiodateien trainiert, die auf die Trainingslänge des Diffusionsmodells zugeschnitten oder aufgefüllt werden. Im Falle von Musik führt dies dazu, dass das Modell dazu neigt, willkürliche Abschnitte eines Liedes zu erzeugen, die in der Mitte einer musikalischen Phrase beginnen oder enden können.
Wir stellen Stable Audio vor, eine latente Diffusionsmodell-Architektur für Audio, die auf Text-Metadaten sowie Dauer und Startzeit der Audiodatei konditioniert ist und die Kontrolle über den Inhalt und die Länge des generierten Audios ermöglicht. Diese zusätzliche zeitliche Konditionierung ermöglicht es uns, Audiodaten mit einer bestimmten Länge bis zur Größe des Trainingsfensters zu erzeugen.
Die Arbeit mit einer stark heruntergerechneten latenten Repräsentation von Audiodaten ermöglicht eine wesentlich schnellere Inferenzzeit im Vergleich zu Rohdaten. Mit den neuesten Fortschritten in der Diffusionsabtastung kann unser Vorzeigemodell Stable Audio 95 Sekunden Stereo-Audio bei einer Abtastrate von 44,1 kHz in weniger als einer Sekunde auf einem NVIDIA A100 Grafikprozessor wiedergeben.
Die Stable-Audio-Modelle sind latente Diffusionsmodelle, die aus mehreren Teilen bestehen, ähnlich wie Stable Diffusion: Ein Variational Autoencoder (VAE), ein Text-Encoder und ein U-Netz-basiertes konditioniertes Diffusionsmodell.
Der VAE komprimiert Stereo-Audio in eine datenkomprimierte, rauschresistente und invertierbare verlustbehaftete latente Kodierung, die eine schnellere Erzeugung und ein schnelleres Training ermöglicht als die Arbeit mit den rohen Audio-Samples selbst. Wir verwenden eine vollständig faltungsbasierte Architektur, die auf der Descript Audio Codec Encoder- und Decoder-Architektur basiert, um Audio-Codierung und -Decodierung beliebiger Länge und High-Fidelity-Ausgaben zu ermöglichen.
Um das Modell auf Text-Prompts zu konditionieren, verwenden wir den eingefrorenen Text-Encoder eines CLAP-Modells, das von Grund auf mit unserem Datensatz trainiert wurde. Durch die Verwendung eines CLAP-Modells können die Textmerkmale einige Informationen über die Beziehungen zwischen Wörtern und Klängen enthalten. Wir verwenden die Textmerkmale aus der vorletzten Schicht des CLAP-Text-Encoders, um eine informative Darstellung des tokenisierten Eingabetextes zu erhalten. Diese Textmerkmale werden dem Diffusions-U-Netz über Cross-Attention-Schichten zur Verfügung gestellt.
Für die zeitliche Einbettung berechnen wir während der Trainingszeit zwei Eigenschaften, wenn wir einen Audioabschnitt aus unseren Trainingsdaten sammeln: die Sekunde, in der der Abschnitt beginnt (als „seconds_start“ bezeichnet) und die Gesamtzahl der Sekunden in der ursprünglichen Audiodatei (als „seconds_total“ bezeichnet). Wenn wir zum Beispiel ein 30-Sekunden-Stück aus einer 80-Sekunden-Audiodatei nehmen, wobei das Stück bei 0:14 beginnt, dann ist „seconds_start“ 14 und „seconds_total“ 80. Diese Sekundenwerte werden in diskrete gelernte Einbettungen pro Sekunde übersetzt und mit den Prompt-Tokens verkettet, bevor sie in die aufmerksamkeitsübergreifenden Schichten des U-Netzes übertragen werden. Während der Inferenz werden dieselben Werte dem Modell als Konditionierung zur Verfügung gestellt, so dass der Benutzer die Gesamtlänge der Audioausgabe festlegen kann.
Das Diffusionsmodell für Stable Audio ist ein U-Netz mit 907M Parametern, das auf dem in Moûsai verwendeten Modell basiert. Es verwendet eine Kombination aus Residualschichten, Selbstaufmerksamkeitsschichten und Kreuzaufmerksamkeitsschichten, um die Eingabe auf der Grundlage von Text- und Zeiteinbettungen zu entrauschen. Dem U-Net wurden speichereffiziente Implementierungen der Aufmerksamkeit hinzugefügt, damit das Modell effizienter auf längere Sequenzlängen skaliert werden kann.
Datensatz
Zum Trainieren unseres Vorzeigemodells Stable Audio haben wir einen Datensatz von über 800.000 Audiodateien mit Musik, Soundeffekten und Stems einzelner Instrumente sowie den entsprechenden Textmetadaten verwendet, die wir im Rahmen einer Vereinbarung mit dem Stock-Music-Anbieter AudioSparx zur Verfügung gestellt haben. Dieser Datensatz umfasst insgesamt mehr als 19 500 Stunden Audio.
Zukünftige Arbeit und offene Modelle
Stable Audio repräsentiert die Spitzenforschung von Harmonai, dem Forschungslabor für generative Audiotechnik von Stability AI. Wir arbeiten weiter an der Verbesserung unserer Modellarchitekturen, Datensätze und Trainingsverfahren, um die Ausgabequalität, Kontrollierbarkeit, Inferenzgeschwindigkeit und Ausgabelänge zu verbessern.
Halten Sie Ausschau nach kommenden Veröffentlichungen von Harmonai, einschließlich Open-Source-Modellen, die auf Stable Audio basieren, und Trainingscode, mit dem Sie Ihre eigenen Audiogenerierungsmodelle trainieren können. (*)
Auf der Seite von Stable Audio findet man sowohl eine Übersicht der Trainigsmodells, als auch generierte Musikbeispiele.
(*) Übersetzung der Pressemitteilung
Quelle: Stable Audio: Fast Timing-Conditioned Latent Audio Diffusion
Bildnachweis: Stable Audio