Vai al contenuto principale

Perché un solo motore non basta: più motori aiutano solo se sbagliano in modo diverso

· Zeyu Si

In questa pagina

Abbiamo fatto un confronto su un'intervista aziendale di 42 minuti. Una trascrizione usciva direttamente da ElevenLabs. L'altra passava per la nostra pipeline completa. Le due erano identiche al 91%.

Il restante 9% era esattamente la parte che interessa di più ai ricercatori.

"Quasi giusto" è la parte pericolosa

Abbiamo scelto 19 termini chiave dall'intervista: nomi di marchi, numeri di modello, nomi di luoghi, gergo di settore. Nella trascrizione uscita direttamente dal motore, 10 erano sbagliati, 4 in parte sbagliati e 5 giusti. Un nome di marchio compariva sei volte e non è mai stato scritto correttamente nemmeno una volta. Ogni volta diventava una parola comune dal suono simile e dal significato completamente diverso.

Per essere onesti con ElevenLabs, quel giorno è andato bene. Niente è crollato, niente è stato saltato e ha attribuito correttamente i parlanti circa il 98% delle volte. Giudicandolo nel complesso, sarebbe difficile trovargli un difetto.

Il problema è proprio questo. Un lettore che vede una frase fluida non ha motivo di dubitare del sostantivo che sta nel mezzo. E gli altri tre motori che avevamo a disposizione hanno sbagliato quegli stessi termini. Quindi il punto non è che un motore sia scarso. È che qualsiasi motore da solo sentirà male i termini di settore che non ha mai incontrato.

La nostra "ottimizzazione" era solo rimescolare il mazzo

Prima di mandare l'audio a un motore, lo dividiamo in sezioni e ne normalizziamo il formato. Pensavamo che questo migliorasse l'accuratezza.

Ha corretto 22 cose e ne ha rotte 25. Più o meno un lancio di moneta.

Alla fine abbiamo capito perché. Questo motore è molto sensibile al punto dell'audio da cui comincia ad ascoltare. Lo stesso numero di modello usciva come "X6" quando la sezione iniziava a zero secondi, e come "X-six" scritto per esteso quando iniziava a 1:30. Nemmeno la trascrizione non elaborata era coerente: "X-six" per i primi 32 minuti, "X6" dopo.

Per arrivarci sono serviti tre esperimenti controllati, ognuno dei quali escludeva una spiegazione ovvia: non era la lunghezza del file, non era il formato audio e non era l'impostazione della lingua. Se ci fossimo fermati alla prima risposta plausibile, avremmo scritto la causa sbagliata nella nostra stessa documentazione.

Ciò che ha davvero migliorato la trascrizione sono stati i motori che si controllano a vicenda

Altri tre motori trascrivono lo stesso audio, e li confrontiamo tutti insieme, con un glossario dei termini. Delle 25 cose che la nostra suddivisione aveva rotto, 14 sono state recuperate, cioè il 56%.

Il numero di modello si è sistemato allo stesso modo. Un altro motore scriveva "X6" ogni singola volta, quindi ogni volta che il motore principale scivolava, la trascrizione finale aveva comunque la forma giusta a cui attingere.

Dove i motori non riescono a decidere, non decidiamo al posto del lettore. Segnaliamo il punto come incerto, così qualcuno può ascoltare quel secondo. Questa intervista aveva 7 segnalazioni.

Più motori non vuol dire automaticamente meglio

È allettante concludere che più motori significhino risultati migliori. Lo abbiamo testato. Non è così.

Abbiamo provato otto motori cinesi open source in esecuzione locale e li abbiamo fatti votare. Il risultato è stato peggiore del miglior motore singolo da solo. La maggior parte degli otto veniva dalla stessa azienda ed era addestrata su dati in larga parte sovrapposti, quindi tendevano a sbagliare sulle stesse parole. Il voto non ha corretto quegli errori. Li ha cementati.

Passare a quattro motori costruiti su quattro approcci tecnici diversi ha cambiato le cose. Tra due qualsiasi di loro, solo dal 32.6% al 45.8% degli errori cadeva nello stesso punto, e insieme battevano nettamente qualunque motore da solo.

Per questo, quando scegliamo i motori di supporto per una lingua, non chiediamo solo quanto sia accurato ciascuno. Chiediamo se sbaglia in punti diversi dal motore principale. Il coreano è un esempio. Un motore sembrava andare bene da solo, ma i suoi errori peggiori erano quasi identici a quelli degli altri due: tutti e tre sbagliavano le stesse parole nello stesso modo. Lo abbiamo sostituito con Soniox, i cui errori si sovrapponevano meno.

Un'altra cosa ci ha resi prudenti. Quando AssemblyAI ha rilasciato una nuova versione, il tasso di errore pubblicato per l'audio in più lingue è sceso dal 9.07% della generazione precedente al 7.69%. Lo abbiamo verificato parola per parola in sei delle nostre lingue. Ognuna è risultata peggiore o non migliore: la nuova versione aggiungeva parole che nessuno aveva detto. Una frase inglese si è ritrovata con un "Bruh". Un "50,000 lire" italiano è diventato "50 million". A giudicare dal tasso di errore, quasi tutte e sei sembravano miglioramenti, perché una parola in più sposta appena quella metrica. La documentazione ufficiale lo spiegava: la nuova versione usa un decoder in stile modello linguistico di grandi dimensioni. Siamo tornati a una versione precedente.

La pagella di un fornitore misura le condizioni scelte dal fornitore. Non è la vostra intervista.

Dove perdiamo ancora

Dopo aver sostenuto la causa dei motori multipli, ecco cosa abbiamo sbagliato.

La trascrizione finale aveva ancora 10 errori, tutti su parole di uso comune. In uno, l'intervistato ha detto "mia moglie" e la trascrizione diceva "mia sorella".

Dato lo stesso input tre volte, la nostra fase di confronto ha recuperato 0, 3 e 3 errori. Anche quella fase contiene casualità.

Abbiamo provato a cambiare le regole di confronto e abbiamo fatto un test A/B. Non è servito, quindi siamo tornati indietro. Scavando più a fondo, il problema non stava affatto nelle regole ma un passo prima, nell'allineamento. La parola corretta era presente in alcune delle trascrizioni di supporto, ma poiché i confini delle sezioni non coincidevano, non è mai arrivata al confronto. Se la risposta giusta non è nell'input, nessuna regola può sceglierla.

Non l'abbiamo ancora risolto del tutto. Lo includiamo perché è la stessa lezione di tutto quello che precede: i motori multipli valgono solo quanto le prove che si riescono davvero a mettere in campo.

Di Zeyu Si