Whisper Streaming: Herausforderungen und Lösungen bei der Spracherkennung

heute möchte ich euch von meinen Erfahrungen mit Whisper Streaming berichten. Für mein Startup Assistent.ai habe ich eine Conversational AI Plattform entwickelt, die Telefonanrufe von Gastronomiekunden verarbeitet, Tischreservierungen durchführt und Fragen zu den Restaurants beantwortet. Neben einer hohen Performance ist die Erkennungsqualität das wichtigste Asset für unser System.

Nach dem Testen verschiedener Spracherkennungssysteme wie Google und Azure, bin ich auf das Whisper Modell gestoßen. Whisper bietet eine beeindruckende Erkennungsqualität, unterstützt jedoch keine Streamingoptionen. Um dies zu umgehen, habe ich den Ansatz des Micro-Batchings verwendet.

Streaming vs. Micro-Batching

Streaming bedeutet, dass Daten kontinuierlich und sofort verarbeitet werden, sobald sie eintreffen. Dies ermöglicht Echtzeit-Ergebnisse. Im Gegensatz dazu sammelt Micro-Batching Daten in kleinen Paketen und verarbeitet sie in kurzen Abständen, was eine geringe Verzögerung zur Folge hat, aber nahe an Echtzeit herankommt.

Die Lösung: Micro-Batching

Beim Micro-Batching werden Audiodaten in kleinen Blöcken gesammelt und verarbeitet. So kann Whisper diese kleinen Datenpakete schnell verarbeiten, was das Gefühl einer Echtzeit-Erkennung vermittelt.

So habe ich es gemacht:

  1. Daten sammeln: Eingehende Audiodaten werden in einem Puffer gespeichert.
  2. Batches erstellen: Sobald genügend Daten gesammelt sind, wird ein Micro-Batch erstellt.
  3. Whisper nutzen: Diese Micro-Batches werden an Whisper zur Erkennung gesendet.
  4. Ergebnisse verarbeiten: Die erkannten Texte werden dann an das Conversational AI System weitergeleitet.
presents-6904620_1280

Streaming verarbeitet Daten kontinuierlich und sofort, sobald sie eintreffen, wodurch Ergebnisse in Echtzeit bereitgestellt werden. Micro-Batching sammelt Daten in sehr kleinen Paketen und verarbeitet sie in kurzen Abständen, was zu einer minimalen Verzögerung führt. Während Streaming echte Echtzeit-Verarbeitung bietet, kombiniert Micro-Batching die Vorteile der Batch-Verarbeitung mit nahezu Echtzeit-Leistung.

Herausforderungen und Ergebnisse

Obwohl die Erkennungsqualität von Whisper beeindruckend ist, gab es im vorproduktiven Testeinsatz Probleme. Whisper neigt dazu, viele Halluzinationen zu erzeugen und transkribiert oft Dinge, die nicht in den Sprachdaten vorhanden sind. Diese ungenauen und teilweise total falsche Transkriptionen machen den produktiven Einsatz schwierig.

Fazit

Die Integration von Whisper in unser System war eine wertvolle Erfahrung, trotz der Herausforderungen. Der Micro-Batching-Ansatz ermöglichte es, die hohe Erkennungsqualität von Whisper zu nutzen, aber die Halluzinationen sind ein großes Hindernis für den produktiven Einsatz. Daher suchen wir nun für jede Sprache individuelle Lösungen, beobachten jedoch die Entwicklungen rund um Whisper weiterhin aufmerksam.

Artikel teilen

This article was written by Thomas Schiffler

Alles was mit IT zu tun hat steht bei mir hoch im Kurs. Hierbei dreht sich vieles um Java, Python oder auch mal PHP. Unser Zuhause ist mit diversen Raspberry PIs ausgestattet mit welchen ich versuche unser Leben durch etwas Automatisierung ein wenig smarter zu gestalten. Hierbei möchte ich die Technik und die dahinter eingesetzten Tools / Frameworks verstehen und nicht einfach nur Anwenden. Ich selbst bezeichne mich als ITler aus Leidenschaft :) Seit 2020 ist das Thema Chatbot / Voicebot / Conversational.ai in meinen Focus gerückt. In diesem Bereich investiere ich gerade viel Zeit.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert