Spiegazione

Che cos’è Whisper

Whisper è un modello di riconoscimento vocale pubblicato da OpenAI. La parte importante non è quanto sia preciso. È che puoi averne una copia.

Guide

Un modello, non un servizio

Whisper è un modello: un file grosso, addestrato su una quantità notevole di parlato registrato, che trasforma l’audio in testo. Gestisce molte lingue, ed è stato pubblicato con i pesi disponibili invece di restare chiuso dietro un servizio.

È quest’ultimo dettaglio la ragione per cui conta. Prima di modelli così, un riconoscimento vocale decente era una cosa che si affittava. Mandavi l’audio a un’azienda, loro facevano girare il proprio modello sul proprio hardware, e tu ricevevi indietro del testo. Il modello in sé non era mai una cosa che potevi tenere in mano.

Whisper ha reso possibile scaricare la cosa che fa il lavoro e farla girare sulla propria macchina.

Perché il «puoi farlo girare tu» è stato il cambiamento grosso

Ne discendono due conseguenze, e tutte e due spiegano perché una tastiera possa fare questo lavoro da sola.

Il tuo audio non è più obbligato a viaggiare. Se il modello sta sul tuo apparecchio, non c’è nessun caricamento, nessun server che riceve la tua voce e nessuna copia da un’altra parte. Non è un’informativa né una promessa. È la descrizione di quello che il programma fa.

Continua a funzionare senza connessione. Non si chiede niente a nessuno, quindi un aereo, una galleria o una SIM straniera smettono di essere un problema.

Nessuna delle due riguarda la precisione. Riguardano il posto dove avviene il calcolo, e si è scoperto che è quella la proprietà a cui la gente teneva, una volta avuta la possibilità di scegliere.

Esiste in più taglie, e lo scambio è tutto lì

Whisper non è un file solo. Esiste in diverse dimensioni, dalle piccole che girano quasi ovunque alle grandi che si aspettano hardware serio.

I modelli più grandi in genere reggono meglio gli accenti, il rumore di fondo, chi parla in fretta e i nomi insoliti. In cambio vogliono più memoria, ci mettono di più a produrre un risultato e occupano più spazio.

Quel singolo scambio spiega quasi ogni differenza fra le app costruite sopra Whisper. Uno strumento da computer con a disposizione una scheda grafica può far girare qualcosa di grande. Un’app per telefono no, quindi ne sceglie uno più piccolo e ne accetta le conseguenze. Chi cita per un telefono i numeri di precisione da computer sta confrontando due modelli diversi.

Whisper su un telefono

Farlo girare su un apparecchio tascabile non è semplicemente questione di copiare il file.

Un telefono ha qualche gigabyte di memoria condiviso con ogni app che tieni aperta, nessun raffreddamento attivo e una batteria che sta cercando di proteggere. Un lavoro che un portatile chiude senza accorgersene fa scaldare e rallentare un telefono.

Quasi tutte le realizzazioni per telefono, quindi, si appoggiano a riscritture ottimizzate invece che al codice di ricerca originale. La più conosciuta è whisper.cpp, una versione scritta per girare in modo efficiente su processori ordinari, ed è quella che rende praticabile la trascrizione sul dispositivo su hardware privo di una scheda grafica degna di nota.

Il risultato pratico su un telefono è: un modello più piccolo di quello che tutti lodano in rete, una breve attesa dopo che hai smesso di parlare, al massimo qualche centinaio di megabyte di spazio occupato, e meno lingue coperte bene di quante ne offrirebbe un servizio che gira dalla parte del server.

Cosa vuol dire davvero «pesi aperti»

L’espressione viene usata con leggerezza, mentre è tutta la ragione per cui niente di questo sarebbe possibile.

Un modello addestrato, alla fine, è una collezione molto grande di numeri. Quei numeri sono il risultato del processo di addestramento e sono loro a fare il riconoscimento. Pubblicarli vuol dire che chiunque può scaricare quella collezione e farla girare per conto proprio.

È una cosa diversa dall’open source in senso stretto. Open source di solito vuol dire che puoi leggere il codice che costruisce una cosa. Pesi aperti vuol dire che ricevi l’oggetto finito. Puoi farlo girare, misurarlo, costruirci sopra dei prodotti e metterlo su un telefono, ma non puoi vedere facilmente come sia arrivato ad avere le opinioni che ha, perché sono emerse dall’addestramento invece che da righe scritte da qualcuno.

Per chi usa il prodotto, un modello con i pesi disponibili può essere incorporato in un’app che non contatta mai un server, ed è questo a rendere possibile la dettatura offline su un apparecchio tascabile. Senza quello, ogni app di dettatura sarebbe per forza il cliente del servizio di qualcuno.

Perché non risolve la punteggiatura come ti aspetti

Chi arriva da programmi di dettatura più vecchi resta sorpreso da questo.

I sistemi tradizionali si aspettavano che tu pronunciassi la punteggiatura. «Virgola». «A capo». I modelli moderni in genere la deducono, dal ritmo del tuo parlato e dalla forma della frase, cosa che risulta molto più naturale ed è ogni tanto sbagliata in modi in cui dirla ad alta voce non lo era mai.

Nessuno dei due modi è migliore in ogni situazione. La punteggiatura dedotta si addice ai messaggi e alle risposte rapide, dove dire «punto» ad alta voce è più fatica di quanto la punteggiatura valga. I comandi pronunciati si addicono ai documenti lunghi e strutturati, dove vuoi il controllo e stai già dettando in modo deliberato.

Meglio sapere quale dei due faccia un’app prima di giudicarla per una virgola sbagliata.

Cosa non fa

Il nome viene attaccato a cose che non è.

Non è un assistente. Non risponde alle domande, non riassume e non scrive testi al posto tuo. Trascrive: suono dentro, parole fuori.

Non è un registratore né un servizio di trascrizione. Quelli sono prodotti costruiti attorno a un modello, e ci aggiungono sopra archiviazione, account, ricerca e condivisione.

E non è automaticamente riservato. Un modello con i pesi scaricabili può girare su un server con la stessa facilità con cui gira sul tuo apparecchio. Parecchi servizi nel cloud usano modelli aperti. La proprietà che riguarda la riservatezza viene da dove gira, non da quale modello sia, ed è per questo che un «powered by Whisper» su una pagina di prodotto, da solo, non ti dice niente.

Come si vede tutto questo nelle app che puoi installare

Siccome i pesi sono disponibili, parecchi progetti piccoli ci hanno costruito sopra, e di conseguenza esistono diverse app Android davvero buone che girano sul dispositivo. Alcune sono open source e gratuite, diverse gestiscono soltanto l’inglese, e ognuna sceglie il proprio punto sulla linea che va dalla dimensione alla velocità.

LocalType è costruito sullo stesso principio: il modello è un file sul tuo telefono e il riconoscimento avviene lì, senza nessuna strada verso il cloud dentro l’app. Porta tre taglie perché il compromesso lo scelga tu, da 60, 190 e 539 MB, copre diciotto lingue con un modello multilingue solo, e capisce quale stai parlando dalla registrazione invece che da un menu. Per dare un numero allo scambio: su un apparecchio di prova con 4 GB di memoria, la taglia di mezzo ha trasformato in testo 6,9 secondi di parlato in 4,1 secondi.

I limiti nominati più su valgono per lui per intero. I suoi modelli sono più piccoli di qualunque cosa farebbe girare un server, la precisione è disuguale fra quelle diciotto lingue perché è disuguale il materiale di addestramento, e una stanza rumorosa resta una stanza rumorosa.

Se devi portarti via una cosa sola

La domanda interessante su qualunque app di dettatura non è quale modello usi. È dove quel modello stia girando.

Lo stesso modello su un server: il tuo audio viene trasmesso, serve una connessione, e la capacità è limitata dal loro hardware invece che dal tuo. Lo stesso modello sul tuo telefono: non viene trasmesso niente, funziona in modalità aereo, e la capacità è limitata da quello che il tuo apparecchio riesce a contenere.

Tutto il resto è dettaglio.

LocalType per Android

La voce che diventa testo, in privato sul tuo telefono. Il riconoscimento vocale funziona sul telefono stesso.

Disponibile su Google Play