Il progetto OpenAI, dedicato allo sviluppo di progetti accessibili nell'ambito dell'intelligenza artificiale, ha pubblicato i risultati relativi al sistema di riconoscimento vocale Whisper. Si afferma che per la lingua inglese il sistema offre livelli di affidabilità e precisione nel riconoscimento automatico comparabili a quelli del riconoscimento umano. Il codice della implementazione di riferimento basata sul framework PyTorch è aperto, insieme a un insieme di modelli già addestrati pronti per l'uso. Il codice è disponibile con licenza MIT.
Per addestrare il modello sono stati utilizzati 680.000 ore di dati vocali, raccolti da diverse collezioni che coprono varie lingue e ambiti tematici. Circa 1/3 dei dati vocali utilizzati per l'addestramento proviene da lingue diverse dall'inglese. Il sistema proposto gestisce correttamente situazioni come la pronuncia con accento, la presenza di rumori di fondo e l'uso di gergo tecnico. Oltre alla trascrizione della voce in testo, il sistema può anche tradurre la voce da qualsiasi lingua all'inglese e identificare l'emergere della voce nel flusso sonoro.
I modelli sono stati formati in due rappresentazioni: un modello per la lingua inglese e un modello multilingue che supporta, tra gli altri, le lingue russa, ucraina e bielorussa. Ogni rappresentazione è suddivisa in 5 varianti, che si differenziano per dimensione e numero di parametri coperti nel modello. Maggiore è la dimensione, maggiore è la precisione e la qualità del riconoscimento, ma anche più elevate sono le esigenze di memoria video della GPU e minore è la performance. Ad esempio, la variante minima include 39 milioni di parametri e richiede 1 GB di memoria video, mentre la variante massima include 1550 milioni di parametri e richiede 10 GB di memoria video. La variante minima è 32 volte più veloce di quella massima.

Il sistema utilizza un'architettura di rete neurale "Transformer", che include un codificatore e un decodificatore interconnessi. Il suono viene suddiviso in segmenti di 30 secondi, che vengono trasformati in uno spettrogramma log-Mel e inviati al codificatore. Il risultato del lavoro del codificatore viene passato al decodificatore, che prevede una rappresentazione testuale mescolata con token speciali, consentendo di affrontare all'interno di un'unica modello compiti come la determinazione 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
