- LLaMA-Omni ist ein auf Llama-3.1-8B-Instruct basierendes Sprach-Text-Modell, das gesprochene Anweisungen entgegennimmt und gleichzeitig Text- und Sprachantworten erzeugt
- Zentrales Ziel ist latenzarme, hochwertige Sprachinteraktion; laut README kann die Latenz auf bis zu 226 ms sinken
- Das Modell wurde mit nur 4 GPUs in weniger als 3 Tagen trainiert und läuft mit
Llama-3.1-8B-Omni,Whisper-large-v3und einem unit-basierten HiFi-GAN-Vocoder - Die Gradio-Demo ist so aufgebaut, dass controller, web server und model worker jeweils separat ausgeführt werden; wegen der instabilen Streaming-Audiowiedergabe in Gradio ist Autoplay nicht aktiviert
- Der Code steht unter Apache-2.0, das Modell ist jedoch ausschließlich für akademische Forschungszwecke bestimmt; kommerzielle Nutzung ist untersagt und erfordert eine separate Anfrage für eine kommerzielle Lizenz
Was LLaMA-Omni macht
- LLaMA-Omni ist ein auf Llama-3.1-8B-Instruct basierendes Sprach-Text-Modell
- Es nimmt gesprochene Anweisungen als Eingabe entgegen und erzeugt gleichzeitig Textantworten und Sprachantworten
- Ziel sind latenzarme Sprachinteraktion und hochwertige Antworten; laut den Highlights im README liegt die Latenz bei bis zu 226 ms
- Das zugehörige Paper ist auf arXiv:2409.06666 veröffentlicht
Veröffentlichte Modelle und Datensätze
- Das Modell ist auf Hugging Face, ModelScope, Wisemodel und Replicate verfügbar
- Der Datensatz ist als Multiturn-Speech-Conversations veröffentlicht
- Im Update vom Mai 2025 wurde das verbesserte
InstructS2S-200Kveröffentlicht; es wurde auf Mehrturn-Dialoge erweitert und die Klangfarben der Eingabestimmen wurden vielfältiger gestaltet
Aktuelle Updates
- Im Mai 2025 wurde LLaMA-Omni 2 für die Hauptkonferenz der ACL 2025 angenommen
- Im April 2025 wurde LLaMA-Omni2 veröffentlicht
- Es handelt sich um eine Serie von Sprach-Text-Modellen mit 0,5B bis 32B Parametern
- Die Antwortqualität und die Qualität der Spracherzeugung wurden verbessert
- Im Januar 2025 wurde LLaMA-Omni bei der ICLR 2025 angenommen
Installation und Ausführungsablauf
- Die Installation erfolgt, indem das Repository geklont und anschließend in einer Python-3.10-conda-Umgebung die Pakete installiert werden
- Nach der Installation von
pip==24.0wirdpip install -e .ausgeführt
- Nach der Installation von
- Als zusätzliche Abhängigkeiten müssen fairseq und flash-attn installiert werden
- Für den Schnellstart sind drei Komponenten erforderlich
- Download des Modells
Llama-3.1-8B-Omni - Download des Modells
Whisper-large-v3 - Download des unit-basierten HiFi-GAN-Vocoders und von
config.json
- Download des Modells
Gradio-Demo und lokale Inferenz
- Die Gradio-Demo besteht aus drei Prozessen
- controller:
omni_speech.serve.controller - Gradio web server:
omni_speech.serve.gradio_web_server - model worker:
omni_speech.serve.model_worker
- controller:
- Nach dem Start der Demo kann man unter
localhost:8000mitLLaMA-3.1-8B-Omniinteragieren - Da die Streaming-Audiowiedergabe in Gradio instabil ist, ist nur Streaming-Audiosynthese implementiert; Autoplay ist nicht aktiviert
- Lokale Inferenz wird ausgeführt, indem Dateien mit gesprochenen Anweisungen im Format
omni_speech/infer/examplesvorbereitet und anschließend mitbash omni_speech/infer/run.sh omni_speech/infer/examplesgestartet werden
Lizenz und Nutzungsbeschränkungen
- Der Code ist unter der Apache-2.0 License veröffentlicht
- Das Modell darf nur für akademische Forschungszwecke genutzt werden; kommerzielle Nutzung ist untersagt
- In akademischen Umgebungen sind Nutzung, Modifikation und Verbreitung möglich, das ursprüngliche Paper muss jedoch zitiert werden
- Für Anfragen zur kommerziellen Nutzung oder zum Erwerb einer kommerziellen Lizenz ist
fengyang@ict.ac.cnzu kontaktieren
Basisprojekte und Zitierung
- Die Codebasis basiert auf LLaVA
- Teile des Codes zum Speech Encoder und Speech Adapter wurden aus SLAM-LLM übernommen
- Wenn es für die Forschung nützlich ist, sollte das Paper
LLaMA-Omni: Seamless Speech Interaction with Large Language Modelszitiert werden - Anfragen können über GitHub Issues oder an
fangqingkai21b@ict.ac.cngestellt werden
1 Kommentare
Meinungen auf Hacker News
Kann dieses Modell auch Geräusche erzeugen, die sich nicht als Text ausdrücken lassen? Zum Beispiel bei einer Aufforderung wie „Mach mal das Geräusch, das ein Huhn macht“
Aber könnte es sowohl das Wort „kikeriki“ aussprechen als auch tatsächlich ein gackerndes/klackerndes Geräusch machen?
Ich bin mir nicht sicher, welchen Vorteil oder welches Potenzial so ein Modell gegenüber einem reinen Textmodell hat, an das Spracherkennung/Sprachsynthese angeflanscht wurde
Geht es im Kern darum, dass ein ausgereifteres Modell Dinge wie Intonation, Rhythmus und Emotion, die bei der Sprachsynthese verloren gehen, richtig interpretieren oder erzeugen kann?
Ein Spracherkennungsmodell kann Wörter falsch verstehen, während ein Audio-LLM dank des breiteren Kontexts möglicherweise die tatsächlichen Wörter versteht. Ein Sprachsynthesemodell muss die Intonation erraten und kann damit völlig danebenliegen, während ein Audio-LLM auf natürliche Weise lernen kann, in welchem Ton etwas gesagt werden sollte. Bei einer Unterbrechung könnte es zum Beispiel einen höheren Ton verwenden
Schon beim Dazwischenreden verlassen sich Spracherkennungs-/Synthesesysteme normalerweise auf Sprachaktivitätserkennung und Heuristiken, um zu entscheiden, wann sie sprechen sollen; deshalb gibt es oft die Regel, erst zu sprechen, nachdem der Nutzer aufgehört hat. Ein Audio-LLM kann natürliche Gespräche lernen, wie man nicht zu viel Gesprächszeit beansprucht und wie man mit mehreren Personen gleichzeitig spricht
Ein Audio-LLM kann Musik oder Geräusche erzeugen oder dir sagen, welches Lied du summst. Es gibt viele neue Möglichkeiten
Ich sage allerdings „kann lernen“, weil dafür gute Trainingsdaten nötig sind. Soweit ich weiß, werden die meisten dieser Modelle derzeit mit normalen Textdatensätzen trainiert, die per Sprachsynthese in Audio umgewandelt wurden; damit sind sie im Grunde nicht besser als normale Spracherkennungs-/Synthesesysteme. Das ist gut, um die Architektur zu belegen, zeigt aber nicht die gesamte Leistungsfähigkeit
Schon die Möglichkeit, schneller oder langsamer zu sprechen, war etwas, was traditionelle Sprachsynthesesysteme nicht konnten. Theoretisch könnte es mir auch sagen, ob meine Aussprache korrekt ist, meine falsche Aussprache wiederholen und mir dann zur Korrektur die richtige vorspielen
Ich weiß nicht, wie gut OpenAIs advanced voice mode das in der Praxis kann, weil ich noch keinen ordentlichen Test dazu gesehen habe, aber ich würde es gern selbst ausprobieren. Wenn andere Sprachmodelle dieses Niveau erreichen, könnten sie als Tools zum Sprachenlernen enorm sein
Ein großer Faktor ist die Latenz durch Batching. Es ist schwierig, einem Agenten richtig ins Wort zu fallen, wodurch echte Gespräche holpriger wirken. Und ja, multimodal versteht besser. Allerdings habe ich keine Analyse zur Emotionserkennung gesehen; mich würde interessieren, ob jemand eine Analyse dieser Fähigkeit von GPT-O gesehen hat
Daneben kann es weitere Vorteile geben, etwa geringere Antwortlatenz, bessere Sprechertrennung oder eine bessere Reaktion auf Pausen im Gespräch
Selbst wenn man „Really?“ oder „Really!“ schreibt, bleibt immer noch Interpretationsspielraum. Damit Sprachinterfaces wirklich erfolgreich werden, braucht es einen Moment wie beim Übergang von der schlechten Suche vor Google zu Google; wenn der Kern davon ist, Intonation, Rhythmus und Emotion zu interpretieren und zu erzeugen, dann ist es ziemlich plausibel, solche Modelle zu bauen
Gibt es unter Modell-Ausführungstools wie Ollama, LM Studio oder llama.cpp irgendetwas, das das unterstützt?
Heißt das also, es ist keine Architektur Spracherkennung → LLM → Sprachsynthese? Wenn ich als Eingabe Chewbacca-Geräusche brülle, erkennt das Modell das als unsinnige Eingabe, oder interpretiert es wie eine schlechte Spracherkennung einfach irgendwelche Wörter hinein?
Bei tonalen Sprachen schien das besonders gut zu funktionieren
Die synthetische Stimme im Demo-Clip klingt Ellen McLain, also der Valve-Sprecherin, erstaunlich ähnlich
https://en.m.wikipedia.org/wiki/Ellen_McLain
Die Geschwindigkeit sieht ziemlich gut aus. Ich habe vor Kurzem mit LMStudio + AnythingLLM einen lokalen Sprachchat ausprobiert; das war noch etwas langsamer, als ich es gerne hätte, und die PiperTTS-Stimme war besser als diese hier
Für 3 Tage Training ist das nicht schlecht. Die Qualität der Sprachausgabe muss noch weiter verfeinert werden, aber es ist interessant zu sehen, was mit mehr Training passieren würde
Ich wünschte, es gäbe Code fürs Training oder Fine-Tuning. Für kommerzielle Nutzung scheint Stimmen-Fine-Tuning eine zentrale Anforderung zu sein
Bin ich der Einzige, der ein GitHub-Repository deutlich weniger vertrauenswürdig findet, wenn im README dieses dumme Sterne-Trenddiagramm steht?
Gibt es eine Demo, die die Leistung zeigt?