Il progetto OpenAI, impegnato nello sviluppo di progetti open source nel campo dell'intelligenza artificiale, ha pubblicato i risultati relativi al sistema di riconoscimento vocale Whisper. Si afferma che per il parlato in lingua inglese il sistema offre livelli di affidabilità e precisione nel riconoscimento automatico simili a quelli del riconoscimento umano. È stato reso pubblico il codice della sua implementazione di riferimento basata sul framework PyTorch e un insieme di modelli già addestrati, pronti all'uso. Il codice è disponibile con licenza MIT.
Per addestrare il modello sono stati utilizzati 680mila ore di dati vocali, raccolti da diverse collezioni che coprono varie lingue e aree tematiche. 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 del parlato in testo, il sistema può anche tradurre il parlato da qualsiasi lingua all'inglese e rilevare l'emergere del parlato nel flusso audio.
I modelli sono stati creati in due versioni: un modello per la lingua inglese e un modello multilingue che supporta anche il russo, l'ucraino e il bielorusso. A sua volta, ogni versione è suddivisa in 5 varianti, che differiscono per dimensione e numero di parametri coperti dal modello. Maggiore è la dimensione, maggiore è la precisione e la qualità del riconoscimento, ma anche i requisiti per la dimensione della memoria video della GPU aumentano, riducendo la performance. Ad esempio, la variante minima comprende 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 della massima.

Nel sistema viene utilizzata l'architettura della rete neurale "Transformer", che include un codificatore e un decodificatore che interagiscono tra loro. Il suono viene suddiviso in frammenti di 30 secondi, che vengono trasformati in spettrogrammi 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 che consentono di affrontare in un unico modello compiti come l'identificazione 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
