OpenAI Whisper
Modellarchitektur
Das Whisper-Modell von OpenAI ist ein fortschrittliches, auf der Transformer-Architektur basierendes neuronales Netzwerk zur automatischen Spracherkennung (ASR, Automatic Speech Recognition). Das Modell zeichnet sich durch seine Fähigkeit aus, gesprochene Sprache in Text zu transkribieren, Übersetzungen zu generieren und verschiedene Akzente, Sprachen und sogar schwierige Audiobedingungen zu verarbeiten. Der folgende Artikel geht detailliert auf die Architektur, das Training, die Datenverarbeitung sowie die Leistung und Optimierung des Whisper-Modells ein.
- Architektur und Aufbau des Whisper-Modells
Whisper basiert auf der Transformer-Architektur, die ursprünglich von Vaswani et al. entwickelt wurde und in der maschinellen Sprachverarbeitung bereits vielfach Anwendung findet. Konkret verwendet Whisper eine „seq2seq“-Architektur, bei der der Encoder den Eingangs-Audiostream in eine latente Repräsentation umwandelt, die dann durch den Decoder schrittweise in Text umgewandelt wird. Das Modell nutzt die folgende Pipeline:
- Audio-Preprocessing: Der Eingangs-Audiostream wird in Form eines Wellenform-Signals eingespeist und durch Fast-Fourier-Transformation (FFT) in ein Spektrogramm umgewandelt, das die zeitlichen und frequenzbasierten Merkmale der Audiodaten abbildet. Das Spektrogramm ist entscheidend, um Audioinformationen für das Modell effizient darstellbar zu machen.
- Encoder: Der Encoder verarbeitet das Spektrogramm durch mehrere Self-Attention-Schichten und Erzeugt latente Repräsentationen. Diese Repräsentationen erfassen wichtige Muster und Merkmale des Eingangsaudios. Der Encoder in Whisper basiert auf einem Multi-Head-Self-Attention-Mechanismus, der es ermöglicht, über mehrere Zeitschritte hinweg Kontextinformationen zu bewahren und parallele Verarbeitungsströme zu erzeugen.
- Decoder: Der Decoder ist ebenfalls ein Transformer-Modell und nutzt „causal attention“, um autoregressiv Tokens zu generieren. Das bedeutet, dass der Decoder die bereits generierten Tokens nutzt, um das nächste Token vorherzusagen. Diese autoregressive Sequenzgenerierung ermöglicht Whisper, Textstücke Stück für Stück zu generieren und auf die linguistischen und syntaktischen Merkmale des Textes zu reagieren.
- Trainingsdaten und Preprocessing
Whisper wurde auf einem extrem umfangreichen Dataset trainiert, das nicht nur verschiedene Sprachen, sondern auch verschiedene Akzente, Umgebungsgeräusche und Aufnahmequalitäten umfasst. Das Training wurde auf Hunderten von tausenden Stunden Audiomaterial durchgeführt, um eine robuste Generalisierung zu ermöglichen.
- Datenaugmentation: Um eine hohe Robustheit zu erreichen, wurde im Training ein breites Spektrum an Datenaugmentationstechniken angewandt. Dazu gehört das Hinzufügen von künstlichem Rauschen, Verstärkung von Akzentuierungen und Tonhöhenveränderungen, um den Effekt von Hintergrundgeräuschen und variierenden Tonlagen zu simulieren.
- Mehrsprachige Daten: Whisper ist auf mehrsprachigen Daten trainiert und nutzt „language tags“, um die sprachlichen Eigenschaften zu identifizieren und zu differenzieren. Das Modell erkennt daher auch in mehrsprachigen Audiodaten präzise die Sprachwechsel und wendet unterschiedliche Sprachmodelle auf die entsprechenden Abschnitte an.
- Tokenisierung: Whisper nutzt eine Byte-Pair-Encoded (BPE) Tokenisierung, die besonders effektiv für Sprachen mit variierenden Zeichensätzen ist. BPE erlaubt es, Wörter in kleinere Einheiten zu zerlegen, was die Vokabulardimension reduziert und gleichzeitig eine hohe Flexibilität bei der Verarbeitung von Text in mehreren Sprachen bietet.
- Technische Herausforderungen bei der Spracherkennung
Das Training und der Betrieb eines Modells wie Whisper bringen technische Herausforderungen mit sich, insbesondere in Bezug auf die Parallelisierung und die Echtzeitfähigkeit:
- Latenz und Echtzeitverarbeitung: Durch die autoregressive Textgenerierung und die Verarbeitung des Audiostreams als kontinuierliche Eingabe ist es entscheidend, Latenzen zu minimieren. Whisper nutzt eine Mischung aus sequentieller und paralleler Verarbeitung, um eine möglichst geringe Verzögerung zu gewährleisten. Zusätzlich wurde eine optimierte Inferenzarchitektur entwickelt, die es ermöglicht, Text fast in Echtzeit zu generieren.
- Speicheranforderungen: Die große Anzahl an Schichten im Transformer führt zu hohen Speicheranforderungen, insbesondere bei längeren Audiodaten. Whisper verwendet daher Techniken wie Layer Normalization und speicheroptimierte Attention-Mechanismen, um den Speicherverbrauch zu reduzieren. Zudem wurde das Modell in verschiedenen Größen trainiert, sodass Nutzer je nach Hardware und Anwendung zwischen kleineren und größeren Modellen wählen können.
- Leistungsbewertung und Optimierung
Die Evaluation von Whisper erfolgt anhand gängiger Metriken in der automatischen Spracherkennung, wie der Word Error Rate (WER) und der Character Error Rate (CER). Whisper wird auf mehreren Benchmark-Datasets wie Librispeech und Common Voice bewertet.
- Word Error Rate (WER): Whisper erzielt eine sehr niedrige WER, was darauf hinweist, dass das Modell äußerst präzise transkribiert. Durch das Training auf unterschiedlichen Sprechgeschwindigkeiten, Akzenten und Hintergrundgeräuschen ist Whisper in der Lage, diese Fehlerquote auf einem niedrigen Niveau zu halten.
- Charakteristische Fehlertypen: Ein interessantes Ergebnis der Evaluation zeigt, dass Whisper bei weniger stark akzentuiertem Englisch und klarer Aussprache am besten abschneidet, während es bei starkem Akzent oder fließendem Sprachwechsel die WER minimal erhöht. Diese Informationen werden genutzt, um das Modell in zukünftigen Iterationen weiter zu verbessern und fehleranfällige Sprachmuster besser zu erfassen.
- Modelloptimierungen und Pruning: Um die Effizienz von Whisper für die Inferenz in ressourcenbegrenzten Umgebungen zu steigern, wird Pruning angewendet. Dabei werden Neuronenverbindungen, die geringe Auswirkungen auf die Modellleistung haben, entfernt, um die Rechenanforderungen zu verringern.
- Modelle und Varianten
Whisper ist in verschiedenen Modellgrößen verfügbar, die unterschiedliche Anforderungen an Speicher und Rechenleistung haben:
Modellgröße | Parameteranzahl | Abzahl Encoder Schichten | Anzahl Decoder Schichten | Anzahl Heads | Englisch-Only Modell | Multilingual Modell | VRAM-Bedarf | Geschwindigkeit (Relativ) |
---|---|---|---|---|---|---|---|---|
Tiny | 39 Millionen | 4 | 4 | 6 | ✓ | ✓ | ~ 1 GB | 32x |
Base | 74 Millionen | 6 | 6 | 8 | ✓ | ✓ | ~ 1 GB | 16x |
Small | 244 Millionen | 12 | 12 | 12 | ✓ | ✓ | ~ 2 GB | 6x |
Distil Whisper large v3 | 756 Millionen | 32 | 2 | 20 | x | ✓ | ~ 5GB | 6,3x |
Medium | 769 Millionen | 24 | 24 | 16 | ✓ | ✓ | ~ 5 GB | 2x |
Whisper Turbo | 809 Millionen | 32 | 4 | 20 | x | ✓ | ~ 6GB | ? |
Large | 1,55 Milliarden | 32 | 32 | 20 | x | ✓ | ~ 10 GB | 1x |
PrimeLine Whisper large v3 german
Der hier genutzte Datensatz wurde aus einer Kombination von öffentlichen Quellen und proprietären Daten zusammengestellt, wobei ein besonderes Augenmerk auf die Diversität und Qualität der Daten gelegt wurde. Es handelt sich ausschließlich um Daten in deutscher Sprache, was die Spezifität und Relevanz für deutschsprachige Anwendungen erhöht. Für das Training des Modells wurde eine Batch-Größe von 1024 verwendet, was auf eine umfangreiche und robuste Verarbeitungskapazität hinweist.
Das Modell basiert auf der dritten großen Version von Whisper, einem fortschrittlichen Spracherkennungssystem, das für seine Effizienz und Genauigkeit bekannt ist. Der Einsatz des originalen Tokenizers gewährleistet, dass die linguistischen Nuancen der deutschen Sprache präzise erfasst werden.
Ein signifikanter Vorteil dieses Modells liegt in seiner verbesserten Leistung bei der Verarbeitung von unsauberen Audioaufnahmen. Dies zeigt sich besonders im Vergleich zum originalen Whisper-Modell, insbesondere bei der Verarbeitung des ALC (Alkoholiker) Korpus, der durch seine Herausforderungen in Bezug auf Klarheit und Verständlichkeit der Aufnahmen gekennzeichnet ist. Das angepasste Modell zeigt deutliche Stärken in solchen Szenarien, was es zu einem wertvollen Werkzeug für Anwendungen macht, die mit suboptimalen Audioeingaben arbeiten müssen.
PrimeLine Whisper Benchmark
Angegeben als Word-Error-Rate (WER), niedriger ist besser
Dataset | OpenAI Whisper V3 Large | Primeline Whisper | Canary |
---|---|---|---|
ALC | 40,9% | 23,8% | 20,9% |
German-TED-Talks | 24,9% | 26,5% | 32,0% |
HEMPEL | 9,8% | 9,5% | 12,0% |
SI100 | 23,1% | 23,5% | 15,7% |
asr_bundestag | 10,3% | 10,4% | 11,1% |
commonvoice | 7,1% | 5,9% | 5,9% |
m-ailabs | 7,2% | 6,1% | 5,0% |
merkel_alone | 10,0% | 10,4% | 12,7% |
mls | 5,2% | 6,0% | 4,4% |
swc | 7,5% | 7,4% | 8,1% |
thorsten | 3,4% | 2,9% | 3,0% |
tuda | 6,0% | 5,7% | 5,8% |
voxforge | 3,3% | 3,6% | 3,5% |
voxpopuli | 17,5% | 10,4% | 9,7% |
Metrik | OpenAI Whisper V3 Large | Primeline Whisper | Canary |
---|---|---|---|
Durchschnitt | 12,6% | 10,9% | 10,7% |
Median | 8,6% | 8,5% | 8,9% |
Min | 3,3% | 2,9% | 3,0% |
Max | 40,9% | 26,5% | 32,0% |
Durchschnitt ohne ALC | 10,4% | 9,9% | 9,9% |
Fazit
PrimeLine Whisper v3 German ist ein speziell auf die deutsche Sprache angepasstes ASR-Modell, das auf OpenAIs Whisper-Architektur basiert und durch gezielte Optimierungen in Genauigkeit und Effizienz überzeugt. Durch den Einsatz deutschsprachiger Trainingsdaten und eine optimierte Modellstruktur wie in der distillierten Version ist es ideal für Echtzeitanwendungen geeignet, die geringe Latenz und hohe Präzision erfordern.