Naia
· Luke

Gemini 3.1 Flash Live Unterstützung + MiniCPM-o 4.5 vLLM Herausforderung — Die Entwicklung von Naia OS' S2S Echtzeit-Sprach-KI

voice-ainaia-osgemini-lives2somni-modelminicpm-ovllmsttttsllmarchitecturelessons-learned

Gemini 3.1 Flash Live veröffentlicht — und was Nextain vorbereitete

Heute wurde Gemini 3.1 Flash Live veröffentlicht. Das Timing passte merkwürdig gut, daher haben wir beschlossen, die Technologie, die wir vorbereitet hatten, wenn auch unvollständig, jetzt zu veröffentlichen. Naia OS unterstützte Gemini Live bereits über Naia-Konten und Google-Provider und hat Gemini 3.1 Flash Live sofort implementiert. Sie können dies im folgenden Video sehen.

Solche Modelle werden tatsächlich S2S oder Omni-Modelle genannt und unterstützen im Vergleich zu herkömmlichen STT-, LLM- und TTS-Pipelines schnellere und natürlichere Konversationen.

Echtzeit-Sprachkonversationsmodelle (S2S, Omni-Modell) ähnlich dem menschlichen Spracherwerbsprozess

GPT-4o Sprachmodus, Gemini Live und MiniCPM-o sind typische Beispiele. Es handelt sich um Modelle, die nicht über Text, sondern über Sprache, in Echtzeit und sogar mit Emotionen kommunizieren. Im Englischen werden sie üblicherweise Speech to Speech (S2S) oder Omni Model genannt. Ich dachte, diese Modelle ähneln dem Menschen viel mehr als die bestehenden unidirektionalen STT-Modelle (Sprache-zu-Text) oder TTS-Modelle (Text-zu-Sprache). Der Grund, warum hörgeschädigte Menschen Schwierigkeiten beim Spracherwerb haben, ist, dass sie ihre eigene Aussprache nicht hören können und daher Schwierigkeiten beim Lernen haben.

Deshalb habe ich entschieden, dass dies die Zukunft der Sprachkonversationsmodelle ist und zum Mainstream werden wird. Ich habe die separaten Einstellungsoptionen für STT/TTS entfernt und sie in ein 'Live-Konversationsmodell' integriert, indem ich die Gemini Live API und gpt-4o-realtime-preview hinzugefügt habe. Da jedoch beide APIs kostenpflichtig sind, habe ich für kostenlose Benutzer 'TTS Only' angegeben und Edge in die Auswahl der Konversationsmodelle aufgenommen. So wurde kürzlich (gestern) Version 0.1.2 veröffentlicht. Die Gemini Live API wurde auch in das Naia-Konto integriert, und bei praktischen Tests war ich mit der Konversationsreaktion in Bezug auf emotionales Feedback und Reaktionsgeschwindigkeit sehr zufrieden.

Missverständnisse über Echtzeit-Sprachkonversationsmodelle, die ich für bloße STT/TTS-Modelle hielt

Doch hier gab es ein großes Missverständnis. Ich hatte die Gemini Live API als ein integriertes STT/TTS-Modell der nächsten Generation verstanden, stellte aber später fest, dass ein bestimmtes LLM-Modell, nämlich Gemini 2.5 Flash, integriert ist und das LLM nicht geändert werden kann.

MiniCPM-o-4.5: Ein Echtzeit-Sprachkonversationsmodell für den lokalen Einsatz

Der Grund, warum ich dieses Missverständnis erkannte, war, dass Naia darauf abzielt, lokale Modelle im vom Benutzer nutzbaren Bereich zu unterstützen. Ich suchte und implementierte ein Echtzeit-Sprachkonversationsmodell, das auf einer RTX-3090-Klasse laufen kann. Zuerst waren Moshi, Qwen3-Omni-30b und MiniCPM-o-4.5 die Kandidaten. Moshi ist ein Pionier in diesem Bereich im Open-Source-Bereich, aber die unterstützten Sprachen sind hauptsächlich Englisch/Französisch und die Community ist nicht aktiv, daher wurde es nicht gewählt. Qwen3-omni-30b bietet zwar die neueste und hervorragende Leistung, aber 24 GB VRAM einer einzelnen RTX 3090 reichen bei weitem nicht aus und es ist nicht validiert, daher wurde es ausgeschlossen. Schließlich wurde MiniCPM-o ausgewählt. Obwohl es derzeit kein Koreanisch unterstützt, konnte ich feststellen, dass mit einer gewissen Kapitalinvestition zusätzliche Sprachen feinabgestimmt werden könnten und da es Referenz-Audio unterstützt, könnte sogar ein vom Benutzer gewünschtes TTS implementiert werden.

Außerdem dachte ich, dass seine geringe Größe es ermöglichen würde, die LLM-Leistung auf einer RTX-3090-Klasse erheblich zu steigern, wenn es zusammen mit Qwen3-omni-30b-a3b mit dem verbleibenden VRAM von 24 GB betrieben wird. Qwen3-omni ist, wie bereits erwähnt, ein Echtzeit-Sprachkonversationsmodell (Omni-Modell), wurde aber nicht übernommen, weil die Sprachausgabe bei Quantisierung gestört wurde und es auf einer Consumer-GPU mit 24 GB nicht betrieben werden konnte. Als LLM sollen quantisierte Modelle jedoch eine gute Leistung zeigen.

Also habe ich MiniCPM-o auf einer lokalen GPU (RunPod RTX 3090) installiert und einen Websocket-Bridge-Server erstellt, um es mit der Naia-App zu verbinden. Dabei stellte ich fest, dass das Modell nicht das wiedergab, was es gehört hatte. Entscheidend war jedoch die Erkenntnis, dass das integrierte Qwen3-8B-Modell die Antworten lieferte und das Omni-Modell End-to-End trainiert und nicht austauschbar ist. Es wäre also passender, MiniCPM-o eigentlich Qwen3-8b-omni zu nennen. Genauer gesagt, soll es Whisper-medium für das Hören, Qwen3-8b als 'Gehirn', CosyVoice2 für die Sprachsynthese und SigLip2 für die Vision verwenden. Diese verschiedenen Modelle werden zusammengefügt und mit multimodalen Daten neu trainiert. Im Wesentlichen handelt es sich um ein Fine-Tuning, aber da der Umfang der multimodalen Daten so enorm ist, können die Kosten dafür zig Milliarden bis Hunderte von Milliarden Won betragen. Vor kurzem gab es in Koreas 'Dokpamo' viel Diskussion darüber, ob es 'from scratch' sei oder nicht, und es scheint zu sagen, dass der eigentliche Berg, der erreicht werden muss, nicht nur 'from scratch' ist.

(→ MiniCPM-o Experimentergebnisse)

MiniCPM-o-4.5: Die Herausforderung des Claude-Codes zur Unterstützung von vllm-omni

Doch da das integrierte Qwen3-8b allein schon GPT-4o-Niveau erreichen soll, konnte ich es nicht einfach ignorieren. Darüber hinaus verfügt es über Sprachreferenzen und die Möglichkeit des LLM-Fine-Tunings, weshalb ich es als ein Modell betrachtete, das Nextain, das souveräne KI anstrebt, unbedingt verfolgen sollte.

Ich habe vLLM geforkt und auf RunPod hochgeladen, aber es stellte sich heraus, dass 48 GB VRAM benötigt wurden. Ich habe es fast zwei Tage lang laufen lassen. Später erfuhr ich, dass es ein separates Projekt namens vllm-omni gibt und dass jemand bereits an MiniCPM-o-4.5 arbeitet. Also haben wir einen Kommentar hinterlassen, dass wir L3-Tests unterstützen würden. (→ vllm-omni #1182) Es gab noch keine Antwort, und während wir warteten, haben wir intern weiterhin Versuche auf Basis von vllm-omni unternommen.

Diesmal bin ich besonders vorsichtig vorgegangen. Zuvor hatte ich einen PR mit Claude-Code in einem anderen Open-Source-Projekt eingereicht, ohne die KI-Analyse vollständig validiert zu haben, und wurde scharf kritisiert. Die Code-Analyse war unvollständig, die Community-Regeln wurden nicht eingehalten, und ich hatte sogar etwas außerhalb des Projektumfangs erstellt, was natürlich war. Deshalb habe ich diesmal den Kontext aus der Upstream-Perspektive des Repositorys gesammelt und einen Prozess der wiederholten adversariellen Überprüfung durchlaufen. Erst dann habe ich den Clean Pass erklärt, bestätigt, dass die Konversation tatsächlich funktioniert, wenn sie an Naia OS angeschlossen ist, und ein Dokument für den Upstream-Beitrag erstellt und überprüft.

Doch RunPod war ausgefallen, und als ich es heute wieder hochfahren wollte, funktionierte es erneut nicht. Die unvollständig dokumentierten Dinge während der Arbeit haben mich behindert. Da die Laufzeit nicht überprüft werden konnte, war eine Reproduktion unmöglich. Ich habe alle vorherigen Sitzungsaufzeichnungen durchsucht, um sie zu finden, und versuchte, sie jetzt wieder zu reproduzieren und die Aufzeichnungen zu korrigieren, aber letztendlich entdeckte ich ein weiteres kritisches Problem und musste es stoppen. Ich hatte ein bestimmtes Muster verwendet, weil es neu war und nicht dem Muster anderer Modelle von vllm-omni entsprach, und als vllm-omni aktualisiert wurde, war alles kaputt. Die Analyseergebnisse führten zu einem weiteren Zwischenbericht über das Versagen der Harness- und Kontextkontrolle, und basierend darauf habe ich erneut die Kontext- und Harness-Korrektur veranlasst und statt des teuren RunPods eine wiederholte Code-Analyse durchgeführt. ㅜㅜ

https://github.com/nextain/vllm-omni/blob/main/.agents/docs/minicpm-o-midterm-review.md

Ich wollte Ihnen heute passend zur Nachricht über den Start von Gemini 3.1 Flash Live ein Video von MiniCPM-o 4.5 in Aktion zeigen. Aber es ist wirklich schwer, alles auf einmal zu schaffen. Es ist jetzt fast halb vier Uhr morgens. Vor allem ist das Ziel dieser Arbeit ein Experiment, um die Realisierung eines AI-nativen Open-Source-Ökosystems zu ermöglichen, bei dem KI ohne 'AI slop' korrekt zu Open Source beitragen kann. Da ich nächste Woche eine Grafikkarte ausleihen werde, denke ich, dass die Situation etwas einfacher wird.

Sobald weitere Arbeiten abgeschlossen sind, werde ich auch mitteilen, ob Audio-Referenzen oder LLM-Fine-Tuning möglich sind.


Referenzen

Popular Posts

CC BY-NC-SA 4.0This post is licensed under CC BY-NC-SA 4.0.

Kommentare

Sie können ohne Anmeldung kommentieren

...