Bei Whisper von OpenAI handelt es sich um eine Automatic-Speech-Recognition KI, ein System, das Sprache erkennen und in Text umwandelt kann. Das System funktioniert auch in deutscher Sprache erstaunlich gut und ist zudem auf lokalen Systemen einsetzbar.
Seit einiger Zeit entwickeln wir eine darauf basierende Lösung, welche für diejenigen Berufsgruppen gedacht ist, die immer noch gerne (oder auch ungern) mit einem Diktiergerät arbeiten und die Diktate anschließend in Textform bringen (lassen) müssen – z.B. Rechtsanwälte, Ärzte, Notare und weitere.
Unsere Lösung vereint den Workflow des elektronischen Diktats (z.B. via Smartphone App) mit der Möglichkeit die Aufzeichnung per E-Mail an ein Speech-To-Text System zu senden und eine Transkription zurück zu bekommen – und das ganze OnPremise in der Kundenumgebung und damit auch in Sachen DSGVO unkritisch. Neben der Verarbeitung von Formatierungsbefehlen bietet unsere Lösung weitere Vorteile gegenüber der reinen Whisper Transkription. Doch darum soll es heute nicht gehen.
Da die Verarbeitungszeit sehr stark von der verwendeten Hardware abhängt (und besonders auf GPUs / Grafikkarten gut funktioniert), wollten wir einen Sweet-Spot hinsichtlich Preis-/Leistung finden und haben Tests auf verschiedenen Systemen durchgeführt (und einige aus dem Internet zusammen getragen).
Wichtig dabei zu beachten ist, dass das größte und beste Whisper Model ca. 10GB RAM bzw. VRAM benötigt (und bei Verarbeitung auf einer GPU / Grafikkarte wird neben den mind. 10GB VRAM auch mind. 10GB RAM benötigt, da das Model sonst nicht in den Speicher der Grafikkarte geladen werden kann). Das bezieht sich auf jede Instanz die auf dem gleichen System parallel betrieben werden soll (d.h. bei zwei parallelen Instanzen auf einer GPU sind mind. 20GB VRAM nötig).
Verwendet wurde das OpenAI Whisper Large-v3 Model (nicht whisper-faster, o.ä. darauf basierende Modelle) in unserer eigenen Lösung, dort aber nur die reine Whisper Verarbeitungszeit gemessen. Es wurden zwei verschiedene Audio Files mit einer Größe von 5,7 MB bzw. 11,25 MB und einer Audiolänge von 245,64s bzw. 368,68s verwendet, die mit einem iPhone aufgezeichnet wurden. Da die Verarbeitungszeit auch bei gleichen Dateien mitunter sehr stark schwankt (unabhängig von der Systemlast), sind die Werte teilweise gemittelt (in der Liste mit avg angegeben, sofern entsprechend viele Durchläufe getätigt wurden).
Die Angabe PpM (Processing seconds per (audio/recording) minute) der folgenden Liste bezieht sich auf die Verarbeitungszeit in Sekunden pro Audiominute, d.h. die Dauer in Sekunden, die benötigt wird, um eine Minute Audio zu verarbeiten.
Systemumgebung: Pytorch 2.2.2, CUDA 12.4, Debian 12.5 (bare metal, wsl, Hyper-V VM)
GPUs
GPU Modell | Umgebung | Min PpM | Max PpM | AVG PpM | Bemerkung |
RTX 4070 Super 12GB | Docker auf Debian 12.5 (bare metal) | 17,60 | 27,91 | 19,11 | beide Dateien, jeweils vier Durchläufe |
RTX 4070 Super 12GB | Podman in Windows WSL2 | 16,85 | 41,38 | 24,10 | beide Dateien, jeweils sieben Durchläufe |
RTX 4060ti 16GB | Podman in Windows WSL2 | 16,26 | 20,76 | 18,01 | beide Dateien, jeweils fünf Durchläufe |
RTX 4090 24GB | n/a | n/a | n/a | 7,12 | Fremdtest https://github.com/openai/whisper/discussions/918 |
RTX 3090 24GB | n/a | 11,49 | 22,22 | n/a | Fremdtest https://youtu.be/lgP1LNnaUaQ?t=880 https://github.com/openai/whisper/discussions/918 |
RTX 3060 12GB | n/a | n/a | n/a | 34,48 | Fremdtest https://youtu.be/lgP1LNnaUaQ?t=880 |
CPUs
CPU Modell | Umgebung | Min PpM | Max PpM | AVG PpM | Bemerkung |
Ryzen 7 5700G @ 3.80 GHz, 8 Cores | Podman in Windows WSL2 | 157,89 | 214,29 | 176,47 | beide Dateien, jeweils drei Durchläufe |
i7-6700K @ 4.00 GHz, 4 Cores | Podman in Windows WSL2 | 171,43 | 285,71 | n/a | beide Dateien, jeweils zwei Durchläufe |
i5-4460 @ 3,2 GHz, 4 Cores (kein HT) | Docker auf Debian 12.5 (bare metal) | 142,86 | 240 | n/a | beide Dateien, jeweils ein Durchlauf |
Xeon Gold 5415+ @ 2,90 GHz, 4 vCores | Docker auf Debian VM auf Hyper-V Host | 71,43 | 272,73 | 130,43 | 46 Durchläufe, jedesmal eine andere Datei (Produktivsystem eines Kunden) |
Xeon E5-2620 v3 @ 2,40 GHz, 4 vCores | Docker auf Debian VM auf Hyper-V Host | 200 | 240 | n/a | beide Dateien, jeweils ein Durchlauf |
Wie unschwer zu erkennen ist, ist die Verarbeitung auf CPUs nur mit hohem Zeitaufwand möglich. Bei unserer Lösung ist das dennoch gut nutzbar, zumindest wenn die Diktate nicht eilig sind.
Der Sweet Spot in Sachen Preis-/Leistung dürfte in diesem Vergleich die Nvidia GeForce RTX 4060ti mit 16GB VRAM darstellen. Diese ist schneller als die derzeit rund 200 Euro teurere GeForce RTX 4070 Super mit 12GB VRAM. Die größeren Karten wie die RTX 4080/4090 sind derzeit noch sehr viel teurer – für den Preis bekommt man gleich drei RTX 4060ti und kann aufgrund der Speicheranforderung auch besser parallelisieren, wenn man dies benötigt und ein entsprechendes System aufbaut.