Lesen Sie dies auf Englisch
GLM-4-Voice ist ein von Zhipu AI eingeführtes End-to-End-Sprachmodell. GLM-4-Voice kann chinesische und englische Stimmen direkt verstehen und erzeugen, Sprachgespräche in Echtzeit führen und die Emotion, Intonation, Geschwindigkeit, den Dialekt und andere Eigenschaften der Stimme entsprechend den Anweisungen des Benutzers ändern.
GLM-4-Voice besteht aus drei Teilen:
GLM-4-Voice-Tokenizer: Durch Hinzufügen von Vektorquantisierung zum Encoder-Teil von Whisper und überwachtem Training an ASR-Daten wird kontinuierliche Spracheingabe in diskrete Token umgewandelt. Im Durchschnitt muss Audio nur durch 12,5 diskrete Token pro Sekunde dargestellt werden.
GLM-4-Voice-Decoder: Ein Sprachdecoder, der Streaming Reasoning unterstützt und auf der Grundlage der Flow Matching-Modellstruktur von CosyVoice trainiert wird, um diskrete Sprachtokens in kontinuierliche Sprachausgabe umzuwandeln. Um mit der Generierung zu beginnen, sind mindestens 10 Sprach-Tokens erforderlich, wodurch die Verzögerung bei der End-to-End-Konversation reduziert wird.
GLM-4-Voice-9B: Basierend auf GLM-4-9B werden Vortraining und Ausrichtung der Stimmmodalitäten durchgeführt, um diskretisierte Stimm-Tokens zu verstehen und zu generieren.
Im Hinblick auf das Vortraining haben wir, um die beiden Schwierigkeiten des IQ des Modells und der synthetischen Ausdruckskraft im Sprachmodus zu überwinden, die Speech2Speech-Aufgabe in „Erstellen einer Textantwort basierend auf dem Audio des Benutzers“ und „Synthetisieren einer Sprache basierend auf“ entkoppelt „Die Textantwort und die Sprache des Benutzers“ Zwei Aufgaben und zwei Vortrainingsziele sind darauf ausgelegt, verschachtelte Sprach-Text-Daten basierend auf Text-Vortrainingsdaten und unbeaufsichtigten Audiodaten zu synthetisieren, um sich an diese beiden Aufgabenformen anzupassen. Basierend auf dem Basismodell von GLM-4-9B wurde GLM-4-Voice-9B mit Millionen Stunden Audio und Hunderten Milliarden Tokens an Audio-Text-Interleaved-Daten vorab trainiert und verfügt über ein starkes Audioverständnis und eine starke Modellierung . Fähigkeit.
Im Hinblick auf die Ausrichtung haben wir zur Unterstützung hochwertiger Sprachdialoge eine Streaming-Denkarchitektur entwickelt: Je nach Stimme des Benutzers kann GLM-4-Voice Inhalte abwechselnd in zwei Modi ausgeben: Text und Sprache in einem Streaming-Format Der Sprachmodus wird durch dargestellt. Der Text wird als Referenz verwendet, um die hohe Qualität des Antwortinhalts sicherzustellen, und entsprechende Sprachänderungen werden entsprechend den Sprachbefehlsanforderungen des Benutzers vorgenommen. Es besteht weiterhin die Möglichkeit, eine End-to-End-Modellierung beizubehalten Der IQ des Sprachmodells ist größtmöglich und weist gleichzeitig eine geringe Latenz auf. Es müssen nur mindestens 20 Token ausgegeben werden, um Sprache zu synthetisieren.
Ein detaillierterer technischer Bericht wird später veröffentlicht.
Modell | Typ | Herunterladen |
---|---|---|
GLM-4-Voice-Tokenizer | Sprach-Tokenizer | ? Huggingface ? ModelScope |
GLM-4-Voice-9B | Chat-Modell | ? Huggingface ? ModelScope |
GLM-4-Voice-Decoder | Sprachdecoder | ? Huggingface ? ModelScope |
Wir stellen eine Web-Demo zur Verfügung, die direkt gestartet werden kann. Benutzer können Sprache oder Text eingeben und das Modell gibt sowohl Sprach- als auch Textantworten aus.
Laden Sie zunächst das Repository herunter
git clone --recurse-submodules https://github.com/THUDM/GLM-4-Voicecd GLM-4-Voice
Installieren Sie dann die Abhängigkeiten. Sie können auch das von uns bereitgestellte Bild zhipuai/glm-4-voice:0.1
verwenden, um diesen Schritt zu überspringen.
pip install -r Anforderungen.txt
Da das Decoder-Modell die Initialisierung durch transformers
nicht unterstützt, muss Checkpoint separat heruntergeladen werden.
# Git-Modell herunterladen, bitte stellen Sie sicher, dass Sie git-lfsgit lfs install installiert haben Git-Klon https://huggingface.co/THUDM/glm-4-voice-decoder
Modelldienst starten
python model_server.py --host localhost --model-path THUDM/glm-4-voice-9b --port 10000 --dtype bfloat16 --device cuda:0
Wenn Sie mit Int4-Präzision booten müssen, führen Sie Folgendes aus:
python model_server.py --host localhost --model-path THUDM/glm-4-voice-9b --port 10000 --dtype int4 --device cuda:0
Dieser Befehl lädt glm-4-voice-9b
automatisch herunter. Wenn die Netzwerkbedingungen nicht gut sind, können Sie den lokalen Pfad auch manuell herunterladen und über --model-path
angeben.
Webservice starten
python web_demo.py --tokenizer-path THUDM/glm-4-voice-tokenizer --model-path THUDM/glm-4-voice-9b --flow-path ./glm-4-voice-decoder
Sie können auf die Webdemo unter http://127.0.0.1:8888 zugreifen.
Dieser Befehl lädt automatisch glm-4-voice-tokenizer
und glm-4-voice-9b
herunter. Bitte beachten Sie, dass glm-4-voice-decoder
manuell heruntergeladen werden muss.
Wenn die Netzwerkbedingungen nicht gut sind, können Sie diese drei Modelle manuell herunterladen und dann den lokalen Pfad über --tokenizer-path
, --flow-path
und --model-path
angeben.
Die Streaming-Audiowiedergabe von Gradio ist instabil. Die Audioqualität wird höher sein, wenn Sie nach Abschluss der Generierung im Dialogfeld darauf klicken.
Wir bieten einige Konversationsbeispiele für GLM-4-Voice, einschließlich der Kontrolle von Emotionen, der Änderung der Sprechgeschwindigkeit, der Generierung von Dialekten usw.
Führe mich mit sanfter Stimme zum Entspannen
Kommentar zu Fußballspielen mit aufgeregter Stimme
Erzählen Sie eine Geistergeschichte mit klagender Stimme
Stellen Sie vor, wie kalt der Winter im nordöstlichen Dialekt ist
Sagen Sie im Chongqing-Dialekt: „Iss Weintrauben, ohne die Traubenschalen auszuspucken.“
Sagen Sie einen Zungenbrecher im Pekinger Dialekt
schneller sprechen
Schneller
Ein Teil des Codes für dieses Projekt stammt von:
CosyVoice
Transformatoren
GLM-4
Die Verwendung von GLM-4-Modellgewichten muss dem Modellprotokoll folgen.
Der Code dieses Open-Source-Repositorys folgt dem Apache 2.0-Protokoll.