Vai al contenuto

Whisper vs. Parakeet: numeri di benchmark reali

Gran parte dei confronti tra motori vocali sul web citano numeri senza fonte. Questa pagina mostra esattamente come è stato ottenuto ogni numero e pubblica lo script che lo ha prodotto — entrambi i motori misurati fianco a fianco, sulla stessa macchina, nelle stesse condizioni.

Metodologia

La tabella qui sotto mostra quanto è veloce e quanto è preciso ciascun motore, misurato sulla stessa macchina (Apple M5), senza arrotondamenti di marketing. La riga Whisper CPU è stata eseguita con 4 thread e quella di Parakeet con 8, quindi le righe CPU non sono un confronto thread per thread. Il Real-Time Factor (RTF) è il tempo di elaborazione diviso per la durata dell'audio: più basso è, più veloce; 1,0× significa esattamente in tempo reale. Il Word Error Rate (WER) è la distanza di edit standard a livello di parola (sostituzioni + cancellazioni + inserimenti) divisa per il numero di parole del riferimento, calcolata come micro-media su tutti gli enunciati del test set (prima si sommano modifiche e parole di riferimento, invece di mediare il WER per enunciato, che darebbe troppo peso alle frasi brevi). Il test set è composto da 20 enunciati (circa 94 secondi in totale) tratti da LibriSpeech dev-clean (CC BY 4.0, Panayotov et al. 2015): parlato letto da audiolibri di pubblico dominio, con trascrizioni di riferimento note. Resta un campione piccolo e pulito: l'audio reale con accenti, rumore di fondo o parlato veloce otterrà risultati peggiori. Considera ogni riga come un minimo, non come una garanzia. whisper.cpp compare due volte di proposito: una con il backend GPU (Metal) attivo e una con la GPU esplicitamente disattivata (-ng/--no-gpu), così la riga solo CPU è un confronto equo, sullo stesso hardware, con la riga CPU di Parakeet. Parakeet può anche usare una GPU: su Apple M5 ha impiegato 7,0 s invece di 38,3 s su CPU per 18 registrazioni tedesche (456 s di audio, modello q8_0), e su un portatile Windows con Intel Iris Xe (Vulkan) 14,1 s invece di 27,1 s per 18 registrazioni tedesche (276 s). Queste prove non sono nella tabella perché misurate su altre registrazioni.

Classe di hardwareMotoreModelloVelocitàPrecisione
Apple Silicon (Metal)whisper.cppsmall (Compact)8.5× più veloce del tempo reale
RTF 0.1173×
96.6% di parole corrette
WER 3.4 %
Misurato
Apple Silicon (CPU)whisper.cppsmall (Compact)3.3× più veloce del tempo reale
RTF 0.3068×
96.6% di parole corrette
WER 3.4 %
Misurato
Apple Silicon (CPU)Parakeet (sherpa-onnx)parakeet-tdt-0.6b-v334.7× più veloce del tempo reale
RTF 0.0288×
98.1% di parole corrette
WER 1.9 %
Misurato

La differenza a colpo d'occhio

whisper.cpp (CPU)3× più veloce del tempo reale
Parakeet (CPU)35× più veloce del tempo reale

Entrambi i motori solo su CPU, stesso computer, nessun vantaggio GPU per nessuno dei due (Whisper con 4 thread, Parakeet con 8).

Come sono stati misurati questi numeri

Questi numeri provengono da un unico computer Apple Silicon, con ciascun motore misurato una volta nelle stesse condizioni. Altro hardware — chip diversi, stato termico, carico di sistema — darà numeri diversi. Gli script qui sotto mostrano esattamente cosa è stato misurato e come, nel caso tu voglia verificare i dettagli.

Vedi lo script di benchmark di whisper.cpp su GitHub · Vedi lo script di benchmark di Parakeet su GitHub