Il progetto OpenAI, che sviluppa progetti accessibili al pubblico nel campo dell'intelligenza artificiale, ha pubblicato sviluppi relativi al sistema di riconoscimento vocale Whisper. Si afferma che, per il parlato in inglese, il sistema fornisce livelli di affidabilità e accuratezza del riconoscimento automatico prossimi a quelli umani. Il codice dell'implementazione di riferimento, basato sul framework PyTorch, e un set di modelli già addestrati e pronti per l'uso sono aperti. Il codice è aperto con licenza MIT.
Il modello è stato addestrato utilizzando 680 ore di dati vocali raccolti da diverse raccolte che coprono diverse lingue e aree disciplinari. Circa 1/3 dei dati vocali utilizzati nell'addestramento proviene da lingue diverse dall'inglese. Il sistema proposto gestisce correttamente situazioni come la pronuncia accentata, la presenza di rumore di fondo e l'uso di gergo tecnico. Oltre a trascrivere il parlato in testo, il sistema può anche tradurre il parlato da qualsiasi lingua all'inglese e rilevare la presenza di parlato nel flusso audio.
I modelli sono formati da due rappresentazioni: un modello per la lingua inglese e un modello multilingue che supporta russo, ucraino e bielorusso. A sua volta, ogni rappresentazione è suddivisa in 5 varianti che differiscono per dimensioni e numero di parametri coperti dal modello. Maggiore è la dimensione, maggiore è l'accuratezza e la qualità del riconoscimento, ma anche maggiori requisiti per la dimensione della memoria video della GPU e prestazioni inferiori. Ad esempio, la variante minima include 39 milioni di parametri e richiede 1 GB di memoria video, mentre quella massima include 1550 milioni di parametri e richiede 10 GB di memoria video. La variante minima è 32 volte più veloce della massima.

Il sistema utilizza l'architettura di rete neurale Transformer, che include un codificatore e un decodificatore interattivi. L'audio viene scomposto in blocchi di 30 secondi, che vengono convertiti in uno spettrogramma log-Mel e trasmessi al codificatore. L'output del codificatore viene inviato al decodificatore, che prevede una rappresentazione testuale combinata con token speciali che consentono a un modello comune di risolvere problemi come il rilevamento della lingua, la gestione della cronologia della pronuncia delle frasi, la trascrizione del parlato in diverse lingue e la traduzione in inglese.
Fonte: opennet.ru
