OpenAI Whisper Geschwindigkeitsvergleich

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.

KI generiertes Bild eines Kopfes aus dem Audio-Wave-Formen in Richtung einer Grafikkarte strömen

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 ModellUmgebungMin PpMMax PpMAVG PpMBemerkung
RTX 4070 Super 12GBDocker auf Debian 12.5 (bare metal)17,6027,9119,11beide Dateien, jeweils vier Durchläufe
RTX 4070 Super 12GBPodman in Windows WSL216,8541,3824,10beide Dateien, jeweils sieben Durchläufe
RTX 4060ti 16GBPodman in Windows WSL216,2620,7618,01beide Dateien, jeweils fünf Durchläufe
RTX 4090 24GBn/an/an/a7,12Fremdtest
https://github.com/openai/whisper/discussions/918
RTX 3090 24GBn/a11,4922,22n/aFremdtest
https://youtu.be/lgP1LNnaUaQ?t=880
https://github.com/openai/whisper/discussions/918
RTX 3060 12GBn/an/an/a34,48Fremdtest
https://youtu.be/lgP1LNnaUaQ?t=880

CPUs

CPU ModellUmgebungMin PpMMax PpMAVG PpMBemerkung
Ryzen 7 5700G @ 3.80 GHz, 8 CoresPodman in Windows WSL2157,89214,29176,47beide Dateien, jeweils drei Durchläufe
i7-6700K @ 4.00 GHz, 4 CoresPodman in Windows WSL2171,43285,71n/abeide Dateien, jeweils zwei Durchläufe
i5-4460 @ 3,2 GHz, 4 Cores (kein HT)Docker auf Debian 12.5 (bare metal)142,86240n/abeide Dateien, jeweils ein Durchlauf
Xeon Gold 5415+ @ 2,90 GHz, 4 vCoresDocker auf Debian VM auf Hyper-V Host71,43272,73130,4346 Durchläufe, jedesmal eine andere Datei (Produktivsystem eines Kunden)
Xeon E5-2620 v3 @ 2,40 GHz, 4 vCoresDocker auf Debian VM auf Hyper-V Host200240n/abeide 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.

Schreibe einen Kommentar

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